$extrastylesheet
#include <periodic_boundary.h>

Public Types | |
| enum | TransformationType { FORWARD = 0, INVERSE = 1 } |
Public Member Functions | |
| PeriodicBoundary () | |
| virtual | ~PeriodicBoundary () |
| PeriodicBoundary (const PeriodicBoundary &o, TransformationType t=FORWARD) | |
| PeriodicBoundary (const RealVectorValue &vector) | |
| virtual Point | get_corresponding_pos (const Point &pt) const |
| virtual UniquePtr < PeriodicBoundaryBase > | clone (TransformationType t=FORWARD) const |
| void | set_variable (unsigned int var) |
| void | merge (const PeriodicBoundaryBase &pb) |
| bool | is_my_variable (unsigned int var_num) const |
Public Attributes | |
| boundary_id_type | myboundary |
| boundary_id_type | pairedboundary |
Protected Attributes | |
| RealVectorValue | translation_vector |
| std::set< unsigned int > | variables |
The definition of a periodic boundary.
Definition at line 40 of file periodic_boundary.h.
enum libMesh::PeriodicBoundaryBase::TransformationType [inherited] |
Definition at line 46 of file periodic_boundary_base.h.
Constructor
Definition at line 32 of file periodic_boundary.C.
Referenced by clone().
: PeriodicBoundaryBase(), translation_vector() { }
| virtual libMesh::PeriodicBoundary::~PeriodicBoundary | ( | ) | [inline, virtual] |
| libMesh::PeriodicBoundary::PeriodicBoundary | ( | const PeriodicBoundary & | o, |
| TransformationType | t = FORWARD |
||
| ) |
Copy constructor, with option for the copy to represent an inverse transformation.
Definition at line 41 of file periodic_boundary.C.
References libMesh::PeriodicBoundaryBase::INVERSE, libMesh::PeriodicBoundaryBase::myboundary, libMesh::PeriodicBoundaryBase::pairedboundary, libMesh::swap(), and translation_vector.
: PeriodicBoundaryBase(o), translation_vector(o.translation_vector) { if (t == INVERSE) { std::swap(myboundary, pairedboundary); translation_vector *= -1.0; } }
| libMesh::PeriodicBoundary::PeriodicBoundary | ( | const RealVectorValue & | vector | ) |
Constructor taking a reference to the translation vector.
Definition at line 54 of file periodic_boundary.C.
: PeriodicBoundaryBase(), translation_vector(vector) { }
| UniquePtr< PeriodicBoundaryBase > libMesh::PeriodicBoundary::clone | ( | TransformationType | t = FORWARD | ) | const [virtual] |
If we want the DofMap to be able to make copies of references and store them in the underlying map, this class must be clone'able, i.e. have a kind of virtual construction mechanism.
Implements libMesh::PeriodicBoundaryBase.
Definition at line 69 of file periodic_boundary.C.
References PeriodicBoundary().
{
return UniquePtr<PeriodicBoundaryBase>(new PeriodicBoundary(*this, t));
}
| Point libMesh::PeriodicBoundary::get_corresponding_pos | ( | const Point & | pt | ) | const [virtual] |
This function should be overloaded by derived classes to define how one finds corresponding nodes on the periodic boundary pair.
Implements libMesh::PeriodicBoundaryBase.
Definition at line 62 of file periodic_boundary.C.
References translation_vector.
{
return pt + translation_vector;
}
| bool libMesh::PeriodicBoundaryBase::is_my_variable | ( | unsigned int | var_num | ) | const [inherited] |
Definition at line 63 of file periodic_boundary_base.C.
References libMesh::PeriodicBoundaryBase::variables.
Referenced by libMesh::FEGenericBase< OutputType >::compute_periodic_constraints().
| void libMesh::PeriodicBoundaryBase::merge | ( | const PeriodicBoundaryBase & | pb | ) | [inherited] |
Definition at line 56 of file periodic_boundary_base.C.
References libMesh::PeriodicBoundaryBase::variables.
Referenced by libMesh::DofMap::add_periodic_boundary().
{
variables.insert(pb.variables.begin(), pb.variables.end());
}
| void libMesh::PeriodicBoundaryBase::set_variable | ( | unsigned int | var | ) | [inherited] |
Definition at line 49 of file periodic_boundary_base.C.
References libMesh::PeriodicBoundaryBase::variables.
{
variables.insert(var);
}
The boundary ID of this boundary and its counterpart
Definition at line 53 of file periodic_boundary_base.h.
Referenced by libMesh::DofMap::add_periodic_boundary(), and PeriodicBoundary().
Definition at line 53 of file periodic_boundary_base.h.
Referenced by libMesh::DofMap::add_periodic_boundary(), libMesh::FEGenericBase< OutputType >::compute_periodic_constraints(), libMesh::FEAbstract::compute_periodic_node_constraints(), and PeriodicBoundary().
Definition at line 83 of file periodic_boundary.h.
Referenced by get_corresponding_pos(), and PeriodicBoundary().
std::set<unsigned int> libMesh::PeriodicBoundaryBase::variables [protected, inherited] |
Set of variables for this periodic boundary, empty means all variables possible
Definition at line 101 of file periodic_boundary_base.h.
Referenced by libMesh::PeriodicBoundaryBase::is_my_variable(), libMesh::PeriodicBoundaryBase::merge(), and libMesh::PeriodicBoundaryBase::set_variable().