Panzer Version of the Day
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Private Attributes | List of all members
panzer_stk::WedgeMatcher Class Reference

#include <Panzer_STK_PeriodicBC_MatchConditions.hpp>

Public Types

enum class  MirrorPlane : int { XZ_PLANE =0 , YZ_PLANE =1 }
 

Public Member Functions

 WedgeMatcher (MirrorPlane mp, const std::vector< std::string > &params)
 Construct for the given mirror plane, with tolerance and dimensionality ("2D"/"3D") options parsed from strings.
 
 WedgeMatcher (const WedgeMatcher &cm)=default
 Copy constructor.
 
bool operator() (const Teuchos::Tuple< double, 3 > &a, const Teuchos::Tuple< double, 3 > &b) const
 Returns true if points a and b match across the mirror plane, within tolerance.
 
std::string getString () const
 Returns a human-readable description of this matcher's mirror plane and tolerance.
 
int getIndex () const
 Returns the coordinate direction being compared.
 
WedgeMatcher::MirrorPlane getMirrorPlane () const
 Returns which plane the wedge is mirrored over.
 
bool isThreeD () const
 Returns true if this matcher was constructed for a 3D problem.
 
double getAbsoluteTolerance () const
 Returns the absolute matching tolerance.
 
void transform (double *ptB, const std::vector< double > &centroidA) const
 Mirrors ptB's compared coordinate over the mirror plane, in place.
 

Private Attributes

double error_
 
int index0_
 index to compare - 0 for wy (mirrored over yz), 1 for wx (mirrored over xz)
 
bool is_three_d_
 Set to true if a 3D problem, set to false if 2D.
 

Detailed Description

Match coordinates for a 3D wedge. The wedge must be meshed such that it is mirrored/split over the xz or yz plane. The index is the coordinate index that is compared . If the mirror plane is xz, then index0=1. If the mirror plane is yz, then index0=0. A mirror plane of xz is specified as "wx" in the string parser. A mirror plane of yz is specified as "wy" in the string parser.

Definition at line 321 of file Panzer_STK_PeriodicBC_MatchConditions.hpp.

Member Enumeration Documentation

◆ MirrorPlane

enum class panzer_stk::WedgeMatcher::MirrorPlane : int
strong
Enumerator
XZ_PLANE 
YZ_PLANE 

Definition at line 328 of file Panzer_STK_PeriodicBC_MatchConditions.hpp.

Constructor & Destructor Documentation

◆ WedgeMatcher() [1/2]

panzer_stk::WedgeMatcher::WedgeMatcher ( MirrorPlane  mp,
const std::vector< std::string > &  params 
)
inline

Construct for the given mirror plane, with tolerance and dimensionality ("2D"/"3D") options parsed from strings.

Parameters
mpThe mirror plane, either XZ_PLANE or YZ_PLANE
params[0]the tolerance value as a string
params[1]The dimensionality, either "2D" or "3D"

Definition at line 338 of file Panzer_STK_PeriodicBC_MatchConditions.hpp.

◆ WedgeMatcher() [2/2]

panzer_stk::WedgeMatcher::WedgeMatcher ( const WedgeMatcher cm)
default

Copy constructor.

Member Function Documentation

◆ operator()()

bool panzer_stk::WedgeMatcher::operator() ( const Teuchos::Tuple< double, 3 > &  a,
const Teuchos::Tuple< double, 3 > &  b 
) const
inline

Returns true if points a and b match across the mirror plane, within tolerance.

Definition at line 366 of file Panzer_STK_PeriodicBC_MatchConditions.hpp.

◆ getString()

std::string panzer_stk::WedgeMatcher::getString ( ) const
inline

Returns a human-readable description of this matcher's mirror plane and tolerance.

Definition at line 381 of file Panzer_STK_PeriodicBC_MatchConditions.hpp.

◆ getIndex()

int panzer_stk::WedgeMatcher::getIndex ( ) const
inline

Returns the coordinate direction being compared.

Definition at line 392 of file Panzer_STK_PeriodicBC_MatchConditions.hpp.

◆ getMirrorPlane()

WedgeMatcher::MirrorPlane panzer_stk::WedgeMatcher::getMirrorPlane ( ) const
inline

Returns which plane the wedge is mirrored over.

Definition at line 395 of file Panzer_STK_PeriodicBC_MatchConditions.hpp.

◆ isThreeD()

bool panzer_stk::WedgeMatcher::isThreeD ( ) const
inline

Returns true if this matcher was constructed for a 3D problem.

Definition at line 403 of file Panzer_STK_PeriodicBC_MatchConditions.hpp.

◆ getAbsoluteTolerance()

double panzer_stk::WedgeMatcher::getAbsoluteTolerance ( ) const
inline

Returns the absolute matching tolerance.

Definition at line 406 of file Panzer_STK_PeriodicBC_MatchConditions.hpp.

◆ transform()

void panzer_stk::WedgeMatcher::transform ( double *  ptB,
const std::vector< double > &  centroidA 
) const
inline

Mirrors ptB's compared coordinate over the mirror plane, in place.

Definition at line 409 of file Panzer_STK_PeriodicBC_MatchConditions.hpp.

Member Data Documentation

◆ error_

double panzer_stk::WedgeMatcher::error_
private

Definition at line 322 of file Panzer_STK_PeriodicBC_MatchConditions.hpp.

◆ index0_

int panzer_stk::WedgeMatcher::index0_
private

index to compare - 0 for wy (mirrored over yz), 1 for wx (mirrored over xz)

Definition at line 324 of file Panzer_STK_PeriodicBC_MatchConditions.hpp.

◆ is_three_d_

bool panzer_stk::WedgeMatcher::is_three_d_
private

Set to true if a 3D problem, set to false if 2D.

Definition at line 326 of file Panzer_STK_PeriodicBC_MatchConditions.hpp.


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