Panzer  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Functions
panzer_stk::periodic_helpers Namespace Reference

Functions

Teuchos::RCP< std::vector
< std::pair< std::size_t,
std::size_t > > > 
getGlobalPairing (const std::vector< std::size_t > &locallyRequiredIds, const std::vector< std::pair< std::size_t, std::size_t > > &locallyMatchedIds, const STK_Interface &mesh, bool failure)
 
Teuchos::RCP< std::vector
< std::size_t > > 
getLocalSideIds (const STK_Interface &mesh, const std::string &sideName, const std::string type_)
 
std::pair< Teuchos::RCP
< std::vector< std::size_t >
>, Teuchos::RCP< std::vector
< Teuchos::Tuple< double, 3 > > > > 
getLocalSideIdsAndCoords (const STK_Interface &mesh, const std::string &sideName, const std::string type_)
 
std::pair< Teuchos::RCP
< std::vector< std::size_t >
>, Teuchos::RCP< std::vector
< Teuchos::Tuple< double, 3 > > > > 
getSideIdsAndCoords (const STK_Interface &mesh, const std::string &sideName, const std::string type_)
 
template<typename Matcher >
Teuchos::RCP< std::vector
< std::pair< std::size_t,
std::size_t > > > 
matchPeriodicSides (const std::string &left, const std::string &right, const STK_Interface &mesh, const Matcher &matcher, const std::string type_="coord")
 
template<typename Matcher >
Teuchos::RCP< std::vector
< std::pair< std::size_t,
std::size_t > > > 
matchPeriodicSides (const std::string &left, const std::string &right, const STK_Interface &mesh, const Matcher &matcher, const std::vector< std::pair< std::size_t, std::size_t > > &current, const std::string type_="coord")
 
template<typename Matcher >
Teuchos::RCP< std::vector
< std::pair< std::size_t,
std::size_t > > > 
getLocallyMatchedSideIds (const std::vector< std::size_t > &side_ids, const std::vector< Teuchos::Tuple< double, 3 > > &side_coords, const STK_Interface &mesh, const std::string &sideName, const Matcher &matcher, const std::string type_="coord")
 
template<typename Matcher >
Teuchos::RCP< std::vector
< std::pair< size_t, size_t > > > 
matchPeriodicSidesSearch (const std::string &sideA, const std::string &sideB, const STK_Interface &mesh, const Matcher &matcher, const std::string type_)
 
template<typename Matcher >
Teuchos::RCP< std::vector
< std::pair< size_t, size_t > > > 
matchPeriodicSidesSearch (const std::string &sideA, const std::string &sideB, const STK_Interface &mesh, const Matcher &matcher, const std::vector< std::string > &matchedSides, const std::vector< std::pair< size_t, size_t > > &previousMatches, const std::string type_)
 
template<typename Matcher >
void transformLocalSearchVector (SphereIdVector &searchVectorSideA, const Matcher &matcher, const std::vector< double > &centroidSideB)
 

Detailed Description

These functions are utilities to support the implementation of periodic boundary conditions. They should not be used by externally as their interface is likely to change.

Function Documentation

Teuchos::RCP< std::vector< std::pair< std::size_t, std::size_t > > > panzer_stk::periodic_helpers::getGlobalPairing ( const std::vector< std::size_t > &  locallyRequiredIds,
const std::vector< std::pair< std::size_t, std::size_t > > &  locallyMatchedIds,
const STK_Interface &  mesh,
bool  failure 
)

Builds a vector of local ids and their matching global indices. This requires a previously discovered vector of pairs of locally matched ids to distribute. This vector comes from the getLocallyMatchedSideIds.

Parameters
[in]locallyRequiredIdsGlobal IDs required by this processor to find a matched pair. This condition was not satisfied locally.
[in]locallyMatchedIdsGlobal IDs that this processor has matched.

Definition at line 29 of file Panzer_STK_PeriodicBC_Matcher.cpp.

Teuchos::RCP< std::vector< std::size_t > > panzer_stk::periodic_helpers::getLocalSideIds ( const STK_Interface &  mesh,
const std::string &  sideName,
const std::string  type_ 
)

This returns the locally resident (includes ghosted) global IDs for a particular side.

Definition at line 91 of file Panzer_STK_PeriodicBC_Matcher.cpp.

std::pair< Teuchos::RCP< std::vector< std::size_t > >, Teuchos::RCP< std::vector< Teuchos::Tuple< double, 3 > > > > panzer_stk::periodic_helpers::getLocalSideIdsAndCoords ( const STK_Interface &  mesh,
const std::string &  sideName,
const std::string  type_ = "coord" 
)

This returns the locally owned global IDs and coordinates for a particular side.

Definition at line 144 of file Panzer_STK_PeriodicBC_Matcher.cpp.

std::pair< Teuchos::RCP< std::vector< std::size_t > >, Teuchos::RCP< std::vector< Teuchos::Tuple< double, 3 > > > > panzer_stk::periodic_helpers::getSideIdsAndCoords ( const STK_Interface &  mesh,
const std::string &  sideName,
const std::string  type_ = "coord" 
)

This returns all the global IDs and coordinates for a particular side. By "all" that means across all processors.

Definition at line 217 of file Panzer_STK_PeriodicBC_Matcher.cpp.

template<typename Matcher >
Teuchos::RCP< std::vector< std::pair< std::size_t, std::size_t > > > panzer_stk::periodic_helpers::matchPeriodicSides ( const std::string &  left,
const std::string &  right,
const STK_Interface &  mesh,
const Matcher &  matcher,
const std::string  type_ = "coord" 
)

Construct the vector pair (similar to getLocallyMatchedPair) usign specified side sets, mesh object, and matcher object. This is primarily a utility function.

Definition at line 169 of file Panzer_STK_PeriodicBC_Matcher_impl.hpp.

template<typename Matcher >
Teuchos::RCP< std::vector< std::pair< std::size_t, std::size_t > > > panzer_stk::periodic_helpers::matchPeriodicSides ( const std::string &  left,
const std::string &  right,
const STK_Interface &  mesh,
const Matcher &  matcher,
const std::vector< std::pair< std::size_t, std::size_t > > &  current,
const std::string  type_ = "coord" 
)

Definition at line 27 of file Panzer_STK_PeriodicBC_Matcher_impl.hpp.

template<typename Matcher >
Teuchos::RCP< std::vector< std::pair< std::size_t, std::size_t > > > panzer_stk::periodic_helpers::getLocallyMatchedSideIds ( const std::vector< std::size_t > &  side_ids,
const std::vector< Teuchos::Tuple< double, 3 > > &  side_coords,
const STK_Interface &  mesh,
const std::string &  sideName,
const Matcher &  matcher,
const std::string  type_ = "coord" 
)

Determine a map from the specified side to the set of coordinates and Ids passed in. A vector of pairs that maps from (passed in gids)->(locally owned gids) is returned.

Definition at line 237 of file Panzer_STK_PeriodicBC_Matcher_impl.hpp.

template<typename Matcher >
Teuchos::RCP<std::vector<std::pair<size_t,size_t> > > panzer_stk::periodic_helpers::matchPeriodicSidesSearch ( const std::string &  sideA,
const std::string &  sideB,
const STK_Interface &  mesh,
const Matcher &  matcher,
const std::string  type_ 
)

Definition at line 27 of file Panzer_STK_PeriodicBC_Search_impl.hpp.

template<typename Matcher >
Teuchos::RCP<std::vector<std::pair<size_t,size_t> > > panzer_stk::periodic_helpers::matchPeriodicSidesSearch ( const std::string &  sideA,
const std::string &  sideB,
const STK_Interface &  mesh,
const Matcher &  matcher,
const std::vector< std::string > &  matchedSides,
const std::vector< std::pair< size_t, size_t > > &  previousMatches,
const std::string  type_ 
)

Definition at line 47 of file Panzer_STK_PeriodicBC_Search_impl.hpp.

template<typename Matcher >
void panzer_stk::periodic_helpers::transformLocalSearchVector ( SphereIdVector &  searchVectorSideA,
const Matcher &  matcher,
const std::vector< double > &  centroidSideB 
)

Definition at line 121 of file Panzer_STK_PeriodicBC_Search_impl.hpp.