libMesh::PeriodicBoundary Class Reference
#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 AutoPtr < 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 |
Detailed Description
The definition of a periodic boundary.
Definition at line 40 of file periodic_boundary.h.
Member Enumeration Documentation
enum libMesh::PeriodicBoundaryBase::TransformationType [inherited] |
Definition at line 46 of file periodic_boundary_base.h.
Constructor & Destructor Documentation
| libMesh::PeriodicBoundary::PeriodicBoundary | ( | ) |
Constructor
Definition at line 32 of file periodic_boundary.C.
Referenced by clone().
00032 : 00033 PeriodicBoundaryBase(), 00034 translation_vector() 00035 { 00036 }
| 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, swap(), and translation_vector.
00041 : 00042 PeriodicBoundaryBase(o), 00043 translation_vector(o.translation_vector) 00044 { 00045 if (t == INVERSE) 00046 { 00047 std::swap(myboundary, pairedboundary); 00048 translation_vector *= -1.0; 00049 } 00050 }
| libMesh::PeriodicBoundary::PeriodicBoundary | ( | const RealVectorValue & | vector | ) |
Constructor taking a reference to the translation vector.
Definition at line 54 of file periodic_boundary.C.
00054 : 00055 PeriodicBoundaryBase(), 00056 translation_vector(vector) 00057 { 00058 }
Member Function Documentation
| AutoPtr< 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().
00070 { 00071 return AutoPtr<PeriodicBoundaryBase>(new PeriodicBoundary(*this, t)); 00072 }
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.
00063 { 00064 return pt + translation_vector; 00065 }
| 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().
00057 { 00058 variables.insert(pb.variables.begin(), pb.variables.end()); 00059 }
| void libMesh::PeriodicBoundaryBase::set_variable | ( | unsigned int | var | ) | [inherited] |
Definition at line 49 of file periodic_boundary_base.C.
References libMesh::PeriodicBoundaryBase::variables.
00050 { 00051 variables.insert(var); 00052 }
Member Data Documentation
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().
The documentation for this class was generated from the following files:
Site Created By: libMesh Developers
Last modified: February 05 2013 19:55:33 UTC
Hosted By: