Panzer Version of the Day
Loading...
Searching...
No Matches
panzer_stk::PeriodicBC_Matcher< Matcher > Class Template Reference

#include <Panzer_STK_PeriodicBC_Matcher.hpp>

Inheritance diagram for panzer_stk::PeriodicBC_Matcher< Matcher >:

Public Member Functions

 PeriodicBC_Matcher (const std::string &left, const std::string &right, const Matcher &matcher, const std::string type="coord")
 Construct from the two sideset names to match and the matcher object defining how coordinates on them are paired.
 PeriodicBC_Matcher (const PeriodicBC_Matcher &src)
 Copy constructor.
Teuchos::RCP< std::vector< std::pair< std::size_t, std::size_t > > > getMatchedPair (const STK_Interface &mesh, const Teuchos::RCP< const std::vector< std::pair< std::size_t, std::size_t > > > &currentState=Teuchos::null) const
std::string getString () const
std::string getType () const
std::string getLeftSidesetName () const
 Returns the sideset name for the left side.
std::string getRightSidesetName () const
 Returns the sideset name for the right side.
const Matcher & getMatcher () const
 Returns the underlying matcher object.
Public Member Functions inherited from panzer_stk::PeriodicBC_MatcherBase
virtual ~PeriodicBC_MatcherBase ()
template<typename T>
const T * getAs () const
 Attempts to cast the underlying matcher to type T. Returns nullptr if cast fails.

Private Member Functions

 PeriodicBC_Matcher ()

Private Attributes

std::string left_
std::string right_
Matcher matcher_
std::string type_

Detailed Description

template<typename Matcher>
class panzer_stk::PeriodicBC_Matcher< Matcher >

Default implementation class for the periodic boundary conditions. This simply takes a Matcher object as the coordinate matching operation. For details on the Matcher see the CoordMatcher struct.

Definition at line 279 of file Panzer_STK_PeriodicBC_Matcher.hpp.

Constructor & Destructor Documentation

◆ PeriodicBC_Matcher() [1/3]

template<typename Matcher>
panzer_stk::PeriodicBC_Matcher< Matcher >::PeriodicBC_Matcher ( const std::string & left,
const std::string & right,
const Matcher & matcher,
const std::string type = "coord" )
inline

Construct from the two sideset names to match and the matcher object defining how coordinates on them are paired.

Definition at line 282 of file Panzer_STK_PeriodicBC_Matcher.hpp.

◆ PeriodicBC_Matcher() [2/3]

template<typename Matcher>
panzer_stk::PeriodicBC_Matcher< Matcher >::PeriodicBC_Matcher ( const PeriodicBC_Matcher< Matcher > & src)
inline

Copy constructor.

Definition at line 285 of file Panzer_STK_PeriodicBC_Matcher.hpp.

◆ PeriodicBC_Matcher() [3/3]

template<typename Matcher>
panzer_stk::PeriodicBC_Matcher< Matcher >::PeriodicBC_Matcher ( )
private

Member Function Documentation

◆ getMatchedPair()

template<typename Matcher>
Teuchos::RCP< std::vector< std::pair< std::size_t, std::size_t > > > panzer_stk::PeriodicBC_Matcher< Matcher >::getMatchedPair ( const STK_Interface & mesh,
const Teuchos::RCP< const std::vector< std::pair< std::size_t, std::size_t > > > & currentState = Teuchos::null ) const
inlinevirtual

Simply returns a vector of pairs that match the IDs owned by this processor to their matching IDs on the periodic boundary.

Returns
A vector of pairs. The first entry in the pair is the global node ID of a node used on this processor. The second is the global node ID (not necessarily on this processor) that replaces it.

Implements panzer_stk::PeriodicBC_MatcherBase.

Definition at line 299 of file Panzer_STK_PeriodicBC_Matcher.hpp.

◆ getString()

template<typename Matcher>
std::string panzer_stk::PeriodicBC_Matcher< Matcher >::getString ( ) const
inlinevirtual

Return a one line string that describes this periodic boundary condition.

Implements panzer_stk::PeriodicBC_MatcherBase.

Definition at line 338 of file Panzer_STK_PeriodicBC_Matcher.hpp.

◆ getType()

template<typename Matcher>
std::string panzer_stk::PeriodicBC_Matcher< Matcher >::getType ( ) const
inlinevirtual

Return a one line string that describes the type of periodic boundary condition.

Implements panzer_stk::PeriodicBC_MatcherBase.

Definition at line 347 of file Panzer_STK_PeriodicBC_Matcher.hpp.

◆ getLeftSidesetName()

template<typename Matcher>
std::string panzer_stk::PeriodicBC_Matcher< Matcher >::getLeftSidesetName ( ) const
inlinevirtual

Returns the sideset name for the left side.

Implements panzer_stk::PeriodicBC_MatcherBase.

Definition at line 350 of file Panzer_STK_PeriodicBC_Matcher.hpp.

◆ getRightSidesetName()

template<typename Matcher>
std::string panzer_stk::PeriodicBC_Matcher< Matcher >::getRightSidesetName ( ) const
inlinevirtual

Returns the sideset name for the right side.

Implements panzer_stk::PeriodicBC_MatcherBase.

Definition at line 353 of file Panzer_STK_PeriodicBC_Matcher.hpp.

◆ getMatcher()

template<typename Matcher>
const Matcher & panzer_stk::PeriodicBC_Matcher< Matcher >::getMatcher ( ) const
inline

Returns the underlying matcher object.

Definition at line 357 of file Panzer_STK_PeriodicBC_Matcher.hpp.

Member Data Documentation

◆ left_

template<typename Matcher>
std::string panzer_stk::PeriodicBC_Matcher< Matcher >::left_
private

Definition at line 363 of file Panzer_STK_PeriodicBC_Matcher.hpp.

◆ right_

template<typename Matcher>
std::string panzer_stk::PeriodicBC_Matcher< Matcher >::right_
private

Definition at line 364 of file Panzer_STK_PeriodicBC_Matcher.hpp.

◆ matcher_

template<typename Matcher>
Matcher panzer_stk::PeriodicBC_Matcher< Matcher >::matcher_
private

Definition at line 366 of file Panzer_STK_PeriodicBC_Matcher.hpp.

◆ type_

template<typename Matcher>
std::string panzer_stk::PeriodicBC_Matcher< Matcher >::type_
private

Definition at line 368 of file Panzer_STK_PeriodicBC_Matcher.hpp.


The documentation for this class was generated from the following file: