18 #include "libmesh/simple_range.h" 21 : _l_parameters(moose_object->parameters()),
22 _l_name(_l_parameters.
get<
std::string>(
"_object_name")),
23 _l_fe_problem(nullptr),
24 _l_app(moose_object->getMooseApp())
26 for (
const auto & var_name :
44 mooseError(
"Unable to find variable ", var_pair.first);
49 *(var_pair.second) = moose_var.
number();
62 mooseError(
"Executioner is nullptr in LazyCoupleable. You cannot call the \"coupled\" method " 63 "until the add_algebraic_rm task");
70 return *(var_pair->second);
virtual bool hasVariable(const std::string &var_name) const override
Whether or not this problem has the variable.
std::map< std::string, std::unique_ptr< unsigned int > > _coupled_var_numbers
Coupled vars whose values we provide.
void mooseError(Args &&... args)
Emit an error message with the given stringified, concatenated args and terminate the application...
unsigned int number() const
Get variable number coming from libMesh.
T * get(const std::unique_ptr< T > &u)
The MooseUtils::get() specializations are used to support making forwards-compatible code changes fro...
const InputParameters & _l_parameters
Specialization of SubProblem for solving nonlinear equations plus auxiliary equations.
virtual const MooseVariableFieldBase & getVariable(const THREAD_ID tid, const std::string &var_name, Moose::VarKindType expected_var_type=Moose::VarKindType::VAR_ANY, Moose::VarFieldType expected_var_field_type=Moose::VarFieldType::VAR_FIELD_ANY) const override
Returns the variable reference for requested variable which must be of the expected_var_type (Nonline...
auto max(const L &left, const R &right)
unsigned int & coupled(const std::string &var_name, unsigned int comp=0)
Returns the index for a coupled variable by name.
Every object that can be built by the factory should be derived from this class.
SimpleRange< IndexType > as_range(const std::pair< IndexType, IndexType > &p)
MooseApp & _l_app
Reference to the MooseApp.
FEProblemBase * _l_fe_problem
Reference to FEProblemBase.
Executioner * getExecutioner() const
Retrieve the Executioner for this App.
LazyCoupleable(const MooseObject *moose_object)
Constructing the object.
void setFEProblemPtr(FEProblemBase *fe_problem)
Sets the FEProblem pointer which can (and is expected) to happen long after this interface is constru...