14 #include "libmesh/point.h" 15 #include "libmesh/periodic_boundary_base.h" 35 const std::vector<std::string> & fn_names,
36 const std::vector<std::string> & inv_fn_names);
57 const std::vector<std::string> & names);
63 const std::array<const Function *, 3>
_tr;
65 const std::array<const Function *, 3>
_inv_tr;
Base class for function objects.
virtual std::unique_ptr< libMesh::PeriodicBoundaryBase > clone(TransformationType t) const override
const std::array< const Function *, 3 > _tr
Pointers to translation functions in each dimension.
Periodic boundary for calculation periodic BC on domains where the translation is given by Function o...
Specialization of SubProblem for solving nonlinear equations plus auxiliary equations.
const unsigned int _dim
The dimension of the problem (says which of _tr and _inv_tr are active)
static std::array< const Function *, 3 > getFunctions(FEProblemBase &problem, const std::vector< std::string > &names)
virtual libMesh::Point get_corresponding_pos(const libMesh::Point &pt) const override
Get the translation based on point 'pt'.
FunctionPeriodicBoundary(FEProblemBase &subproblem, const std::vector< std::string > &fn_names, const std::vector< std::string > &inv_fn_names)
Initialize the periodic with the functions and inverse functions, one for each dimension needed...
const std::array< const Function *, 3 > _inv_tr
Pointers to inverse translation functions in each dimension.