20 #include "libmesh/system.h" 28 params.
addParam<
bool>(
"use_displaced_mesh",
30 "Whether or not this object should use the " 31 "displaced mesh for computation. Note that " 32 "in the case this is true but no " 33 "displacements are provided in the Mesh block " 34 "the undisplaced mesh will still be used.");
39 params.set<
bool>(
"_called_legacy_params") =
true;
44 "Whether this Transfer will be 'to' or 'from' a MultiApp, or " 45 "bidirectional, by providing both FROM_MULTIAPP and TO_MULTIAPP.",
46 "Specifying direction+multiapp is deprecated. Specify the to_multi_app and from_multi_app");
47 params.registerBase(
"Transfer");
49 params.addParamNamesToGroup(
"use_displaced_mesh",
"Advanced");
50 params.addParamNamesToGroup(
"_called_legacy_params",
"Advanced");
52 params.declareControllable(
"enable");
61 _subproblem(*getCheckedPointerParam<
SubProblem *>(
"_subproblem")),
62 _fe_problem(*getCheckedPointerParam<
FEProblemBase *>(
"_fe_problem_base")),
63 _sys(*getCheckedPointerParam<
SystemBase *>(
"_sys")),
65 _direction(possibleDirections()),
66 _current_direction(possibleDirections()),
67 _directions(isParamValid(
"direction") ? getParam<
MultiMooseEnum>(
"direction")
68 : possibleDirections())
71 paramError(
"direction",
"At least one direction is required");
92 for (
unsigned int i = 0; i < es.n_systems(); i++)
93 if (es.get_system(i).has_variable(var_name))
94 return &es.get_system(i);
96 ::mooseError(
"Unable to find variable " + var_name +
" in any system.");
99 return &es.get_system(0);
A MultiMooseEnum object to hold "execute_on" flags.
A class for creating restricted objects.
MooseEnum _current_direction
T * get(const std::unique_ptr< T > &u)
The MooseUtils::get() specializations are used to support making forwards-compatible code changes fro...
unsigned int size() const
Return the number of active items in the MultiMooseEnum.
static std::string possibleDirections()
Used to construct InputParameters.
Base class for a system (of equations)
Specialization of SubProblem for solving nonlinear equations plus auxiliary equations.
Every object that can be built by the factory should be derived from this class.
const ExecFlagType EXEC_TIMESTEP_BEGIN
static InputParameters validParams()
void paramError(const std::string ¶m, Args... args) const
Emits an error prefixed with the file and line number of the given param (from the input file) along ...
Transfer(const InputParameters ¶meters)
static const Number OutOfMeshValue
static InputParameters validParams()
Interface for objects interacting with the PerfGraph.
unsigned int get(unsigned int i) const
Indexing operator Operator to retrieve an item from the MultiMooseEnum.
Generic class for solving transient nonlinear problems.
MultiMooseEnum _directions
The directions this Transfer is to be executed on.
void mooseError(Args &&... args) const
Emits an error prefixed with object name and type.
const InputParameters & parameters() const
Get the parameters of the object.
This is a "smart" enum class intended to replace many of the shortcomings in the C++ enum type It sho...
static System * find_sys(EquationSystems &es, const std::string &var_name)
Small helper function for finding the system containing the variable.
static InputParameters validParams()