BELFEM 0.9.0
Berkeley Lab Finite Element Framework
Loading...
Searching...
No Matches
belfem::mesh::Periodicity Class Reference

Stores matched periodic boundary entity pairs (nodes, edges, faces). More...

#include <cl_Mesh_Periodicity.hpp>

Public Member Functions

 Periodicity (Mesh *aMesh)
 ~Periodicity ()
Cell< Node * > & master_nodes ()
Cell< Node * > & slave_nodes ()
Cell< Edge * > & master_edges ()
Cell< Edge * > & slave_edges ()
Cell< Face * > & master_faces ()
Cell< Face * > & slave_faces ()
Cell< Facet * > & master_facets ()
Cell< Facet * > & slave_facets ()
Cell< Node * > & master_plane ()
Cell< Node * > & slave_plane ()
void update ()
 Re-runs the factory on this object: resets all pairs, re-collects facets and nodes, restores the node pairs from the backup ( or re-matches them ), then derives edge, facet and face pairs.
void set_entity_dependencies ()
void reset_nodes ()
void reset_edges ()
void reset_faces ()
void reset_facets ()
bool is_flagged (const EntityType aType) const
void backup_node_pairs ()
void restore_node_pairs ()
void clear_node_pair_backup ()
void add_node_pair_to_backup (Node *aNodeA, Node *aNodeB, const real aTolerance=BELFEM_MESH_EPSILON)
const Vector< real > & master_hesse () const
const Vector< real > & slave_hesse () const
bool has_node_pair_backup () const
bool node_pairs_restored () const

Protected Member Functions

void flag (const EntityType aType)
void unflag (const EntityType aType)
Vector< real > & master_hesse ()
Vector< real > & slave_hesse ()
int pair_orientation (Node *aNodeA, Node *aNodeB, const real aTolerance=BELFEM_MESH_EPSILON) const

Detailed Description

Stores matched periodic boundary entity pairs (nodes, edges, faces).

For each entity type, master(i) corresponds to slave(i).

Node pairs are populated by PeriodicityFactory. Edge and face pairs are derived from the node mapping by update().

Constructor & Destructor Documentation

◆ Periodicity()

belfem::mesh::Periodicity::Periodicity ( Mesh * aMesh)

◆ ~Periodicity()

belfem::mesh::Periodicity::~Periodicity ( )

Member Function Documentation

◆ add_node_pair_to_backup()

void belfem::mesh::Periodicity::add_node_pair_to_backup ( Node * aNodeA,
Node * aNodeB,
const real aTolerance = BELFEM_MESH_EPSILON )

◆ backup_node_pairs()

void belfem::mesh::Periodicity::backup_node_pairs ( )

◆ clear_node_pair_backup()

void belfem::mesh::Periodicity::clear_node_pair_backup ( )

◆ flag()

void belfem::mesh::Periodicity::flag ( const EntityType aType)
inlineprotected

◆ has_node_pair_backup()

bool belfem::mesh::Periodicity::has_node_pair_backup ( ) const
inline

◆ is_flagged()

bool belfem::mesh::Periodicity::is_flagged ( const EntityType aType) const
inline

◆ master_edges()

Cell< Edge * > & belfem::mesh::Periodicity::master_edges ( )
inline

◆ master_faces()

Cell< Face * > & belfem::mesh::Periodicity::master_faces ( )
inline

◆ master_facets()

Cell< Facet * > & belfem::mesh::Periodicity::master_facets ( )
inline

◆ master_hesse() [1/2]

Vector< real > & belfem::mesh::Periodicity::master_hesse ( )
inlineprotected

◆ master_hesse() [2/2]

const Vector< real > & belfem::mesh::Periodicity::master_hesse ( ) const
inline

◆ master_nodes()

Cell< Node * > & belfem::mesh::Periodicity::master_nodes ( )
inline

◆ master_plane()

Cell< Node * > & belfem::mesh::Periodicity::master_plane ( )
inline

◆ node_pairs_restored()

bool belfem::mesh::Periodicity::node_pairs_restored ( ) const
inline

◆ pair_orientation()

int belfem::mesh::Periodicity::pair_orientation ( Node * aNodeA,
Node * aNodeB,
const real aTolerance = BELFEM_MESH_EPSILON ) const
inlineprotected

◆ reset_edges()

void belfem::mesh::Periodicity::reset_edges ( )

◆ reset_faces()

void belfem::mesh::Periodicity::reset_faces ( )

◆ reset_facets()

void belfem::mesh::Periodicity::reset_facets ( )

◆ reset_nodes()

void belfem::mesh::Periodicity::reset_nodes ( )

◆ restore_node_pairs()

void belfem::mesh::Periodicity::restore_node_pairs ( )

◆ set_entity_dependencies()

void belfem::mesh::Periodicity::set_entity_dependencies ( )

◆ slave_edges()

Cell< Edge * > & belfem::mesh::Periodicity::slave_edges ( )
inline

◆ slave_faces()

Cell< Face * > & belfem::mesh::Periodicity::slave_faces ( )
inline

◆ slave_facets()

Cell< Facet * > & belfem::mesh::Periodicity::slave_facets ( )
inline

◆ slave_hesse() [1/2]

Vector< real > & belfem::mesh::Periodicity::slave_hesse ( )
inlineprotected

◆ slave_hesse() [2/2]

const Vector< real > & belfem::mesh::Periodicity::slave_hesse ( ) const
inline

◆ slave_nodes()

Cell< Node * > & belfem::mesh::Periodicity::slave_nodes ( )
inline

◆ slave_plane()

Cell< Node * > & belfem::mesh::Periodicity::slave_plane ( )
inline

◆ unflag()

void belfem::mesh::Periodicity::unflag ( const EntityType aType)
inlineprotected

◆ update()

void belfem::mesh::Periodicity::update ( )

Re-runs the factory on this object: resets all pairs, re-collects facets and nodes, restores the node pairs from the backup ( or re-matches them ), then derives edge, facet and face pairs.

Edge and face pairs are only built if the mesh has edges / faces.


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