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")
 

Detailed Description

These functions are utilities to support the implementation of peridic 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 64 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 122 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 175 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 248 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 200 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 60 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 268 of file Panzer_STK_PeriodicBC_Matcher_impl.hpp.