Go to the documentation of this file.
19 #include "libmesh/libmesh_config.h"
21 #ifdef LIBMESH_ENABLE_PERIODIC
23 #include "libmesh/periodic_boundary_base.h"
25 #include "libmesh/auto_ptr.h"
26 #include "libmesh/boundary_info.h"
40 myboundary(o.myboundary),
41 pairedboundary(o.pairedboundary),
42 variables(o.variables)
87 libmesh_error_msg(
"Transformation matrix is not defined");
115 #endif // LIBMESH_ENABLE_PERIODIC
The BoundaryInfo class contains information relevant to boundary conditions including storing faces,...
bool has_transformation_matrix() const
void set_variable(unsigned int var)
The base class for defining periodic boundaries.
The libMesh namespace provides an interface to certain functionality in the library.
std::set< unsigned int > variables
Set of variables for this periodic boundary, empty means all variables possible.
bool is_my_variable(unsigned int var_num) const
const DenseMatrix< Real > & get_transformation_matrix() const
Get the transformation matrix, if it is defined.
void merge(const PeriodicBoundaryBase &pb)
const std::set< unsigned int > & get_variables() const
Get the set of variables for this periodic boundary condition.
PeriodicBoundaryBase()
Constructor.
std::unique_ptr< DenseMatrix< Real > > _transformation_matrix
A DenseMatrix that defines the mapping of variables on this boundary and the counterpart boundary.
void set_transformation_matrix(const DenseMatrix< Real > &matrix)
Set the transformation matrix.