Panzer Version of the Day
Loading...
Searching...
No Matches
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

◆ getGlobalPairing()

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 61 of file Panzer_STK_PeriodicBC_Matcher.cpp.

◆ getLocalSideIds()

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 123 of file Panzer_STK_PeriodicBC_Matcher.cpp.

◆ getLocalSideIdsAndCoords()

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 176 of file Panzer_STK_PeriodicBC_Matcher.cpp.

◆ getSideIdsAndCoords()

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 249 of file Panzer_STK_PeriodicBC_Matcher.cpp.

◆ matchPeriodicSides() [1/2]

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 201 of file Panzer_STK_PeriodicBC_Matcher_impl.hpp.

◆ matchPeriodicSides() [2/2]

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 59 of file Panzer_STK_PeriodicBC_Matcher_impl.hpp.

◆ getLocallyMatchedSideIds()

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 269 of file Panzer_STK_PeriodicBC_Matcher_impl.hpp.

◆ matchPeriodicSidesSearch() [1/2]

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 59 of file Panzer_STK_PeriodicBC_Search_impl.hpp.

◆ matchPeriodicSidesSearch() [2/2]

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 79 of file Panzer_STK_PeriodicBC_Search_impl.hpp.

◆ transformLocalSearchVector()

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

Definition at line 153 of file Panzer_STK_PeriodicBC_Search_impl.hpp.