The definition of a periodic boundary. 更多...
#include <periodic_boundary.h>
Public 类型 | |
enum | TransformationType { FORWARD =0, INVERSE =1 } |
Public 成员函数 | |
PeriodicBoundary () | |
Constructor. 更多... | |
virtual | ~PeriodicBoundary ()=default |
Destructor. 更多... | |
PeriodicBoundary (const PeriodicBoundary &o, TransformationType t=FORWARD) | |
Copy constructor, with option for the copy to represent an inverse transformation. 更多... | |
PeriodicBoundary (const RealVectorValue &vector) | |
Constructor taking a reference to the translation vector. 更多... | |
virtual Point | get_corresponding_pos (const Point &pt) const override |
This function should be overridden by derived classes to define how one finds corresponding nodes on the periodic boundary pair. 更多... | |
virtual std::unique_ptr < PeriodicBoundaryBase > | clone (TransformationType t=FORWARD) const override |
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. 更多... | |
void | set_variable (unsigned int var) |
void | merge (const PeriodicBoundaryBase &pb) |
bool | is_my_variable (unsigned int var_num) const |
bool | has_transformation_matrix () const |
const DenseMatrix< Real > & | get_transformation_matrix () const |
Get the transformation matrix, if it is defined. 更多... | |
void | set_transformation_matrix (const DenseMatrix< Real > &matrix) |
Set the transformation matrix. 更多... | |
const std::set< unsigned int > & | get_variables () const |
Get the set of variables for this periodic boundary condition. 更多... | |
Public 属性 | |
boundary_id_type | myboundary |
The boundary ID of this boundary and its counterpart. 更多... | |
boundary_id_type | pairedboundary |
Protected 属性 | |
RealVectorValue | translation_vector |
std::set< unsigned int > | variables |
Set of variables for this periodic boundary, empty means all variables possible. 更多... | |
std::unique_ptr< DenseMatrix < Real > > | _transformation_matrix |
A DenseMatrix that defines the mapping of variables on this boundary and the counterpart boundary. 更多... | |
The definition of a periodic boundary.
在文件 periodic_boundary.h 第 44 行定义.
|
inherited |
libMesh::PeriodicBoundary::PeriodicBoundary | ( | ) |
Constructor.
在文件 periodic_boundary.C 第 33 行定义.
|
virtualdefault |
Destructor.
libMesh::PeriodicBoundary::PeriodicBoundary | ( | const PeriodicBoundary & | o, |
TransformationType | t = FORWARD |
||
) |
Copy constructor, with option for the copy to represent an inverse transformation.
在文件 periodic_boundary.C 第 41 行定义.
参考 libMesh::PeriodicBoundaryBase::INVERSE, libMesh::PeriodicBoundaryBase::myboundary, libMesh::PeriodicBoundaryBase::pairedboundary , 以及 translation_vector.
libMesh::PeriodicBoundary::PeriodicBoundary | ( | const RealVectorValue & | vector | ) |
Constructor taking a reference to the translation vector.
在文件 periodic_boundary.C 第 54 行定义.
|
overridevirtual |
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.
实现了 libMesh::PeriodicBoundaryBase.
在文件 periodic_boundary.C 第 69 行定义.
|
overridevirtual |
This function should be overridden by derived classes to define how one finds corresponding nodes on the periodic boundary pair.
实现了 libMesh::PeriodicBoundaryBase.
在文件 periodic_boundary.C 第 62 行定义.
|
inherited |
Get the transformation matrix, if it is defined.
Throw an error if it is not defined.
在文件 periodic_boundary_base.C 第 86 行定义.
参考 libMesh::PeriodicBoundaryBase::_transformation_matrix , 以及 libMesh::PeriodicBoundaryBase::has_transformation_matrix().
|
inherited |
Get the set of variables for this periodic boundary condition.
在文件 periodic_boundary_base.C 第 109 行定义.
参考 libMesh::PeriodicBoundaryBase::variables.
|
inherited |
在文件 periodic_boundary_base.C 第 79 行定义.
参考 libMesh::PeriodicBoundaryBase::_transformation_matrix.
参考自 libMesh::PeriodicBoundaryBase::get_transformation_matrix().
|
inherited |
在文件 periodic_boundary_base.C 第 71 行定义.
参考 libMesh::PeriodicBoundaryBase::variables.
|
inherited |
在文件 periodic_boundary_base.C 第 64 行定义.
参考 libMesh::PeriodicBoundaryBase::variables.
参考自 libMesh::DofMap::add_periodic_boundary().
|
inherited |
Set the transformation matrix.
When calling this method we require the following conditions: 1) matrix
is square with size that matches this->variables.size() 2) the list of variables in this->variables set must all have the same FE type Both of these conditions are asserted in DBG mode.
在文件 periodic_boundary_base.C 第 96 行定义.
参考 libMesh::PeriodicBoundaryBase::_transformation_matrix , 以及 libMesh::PeriodicBoundaryBase::variables.
|
inherited |
在文件 periodic_boundary_base.C 第 57 行定义.
参考 libMesh::PeriodicBoundaryBase::variables.
|
protectedinherited |
A DenseMatrix that defines the mapping of variables on this boundary and the counterpart boundary.
This is necessary for periodic-boundaries with vector-valued quantities (e.g. velocity or displacement) on a sector of a circular domain, for example, since in that case we must map each variable to a corresponding linear combination of all the variables. We store the DenseMatrix via a unique_ptr, and an uninitialized pointer is treated as equivalent to the identity matrix.
在文件 periodic_boundary_base.h 第 146 行定义.
参考自 libMesh::PeriodicBoundaryBase::get_transformation_matrix(), libMesh::PeriodicBoundaryBase::has_transformation_matrix(), libMesh::PeriodicBoundaryBase::PeriodicBoundaryBase() , 以及 libMesh::PeriodicBoundaryBase::set_transformation_matrix().
|
inherited |
The boundary ID of this boundary and its counterpart.
在文件 periodic_boundary_base.h 第 58 行定义.
参考自 libMesh::DofMap::add_periodic_boundary() , 以及 PeriodicBoundary().
|
inherited |
|
protected |
在文件 periodic_boundary.h 第 85 行定义.
参考自 get_corresponding_pos() , 以及 PeriodicBoundary().
|
protectedinherited |
Set of variables for this periodic boundary, empty means all variables possible.
在文件 periodic_boundary_base.h 第 134 行定义.
参考自 libMesh::PeriodicBoundaryBase::get_variables(), libMesh::PeriodicBoundaryBase::is_my_variable(), libMesh::PeriodicBoundaryBase::merge(), libMesh::PeriodicBoundaryBase::set_transformation_matrix() , 以及 libMesh::PeriodicBoundaryBase::set_variable().