24 : _uoi_moose_object(*moose_object),
25 _uoi_feproblem(*_uoi_moose_object.parameters().getCheckedPointerParam<
FEProblemBase *>(
27 _uoi_tid(_uoi_moose_object.parameters().have_parameter<
THREAD_ID>(
"_tid")
38 if (!params.isParamValid(param_name))
41 "\" when getting a UserObjectName.",
42 "\n\nKnown parameters:\n",
48 if (params.isType<UserObjectName>(param_name))
49 name = params.get<UserObjectName>(param_name);
50 else if (params.isType<PostprocessorName>(param_name))
51 name = params.get<PostprocessorName>(param_name);
52 else if (params.isType<VectorPostprocessorName>(param_name))
53 name = params.get<VectorPostprocessorName>(param_name);
54 else if (params.isType<std::string>(param_name))
55 name = params.get<std::string>(param_name);
59 "Parameter of type \"",
60 params.type(param_name),
61 "\" is not an expected type for getting the name of a UserObject.");
80 const bool is_dependency)
const 85 param_name,
"The requested UserObject with the name \"", object_name,
"\" was not found.");
92 const bool is_dependency)
const 96 "The requested UserObject with the name \"", object_name,
"\" was not found.");
std::string name(const ElemQuality q)
UserObjectName getUserObjectName(const std::string ¶m_name) const
const MooseObject & _uoi_moose_object
Moose object using the interface.
T * get(const std::unique_ptr< T > &u)
The MooseUtils::get() specializations are used to support making forwards-compatible code changes fro...
bool hasUserObject(const std::string &name) const
Check if there if a user object of given name.
static InputParameters validParams()
Specialization of SubProblem for solving nonlinear equations plus auxiliary equations.
virtual const std::string & name() const
Get the name of the class.
const FEProblemBase & _uoi_feproblem
Reference to the FEProblemBase instance.
Every object that can be built by the factory should be derived from this class.
const std::string & type() const
Get the type of this class.
const THREAD_ID _uoi_tid
Thread ID.
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 ...
const UserObject & getUserObjectBase(const std::string ¶m_name, bool is_dependency=true) const
Get an user object with a given parameter param_name.
const std::string & userObjectType(const UserObject &uo) const
Gets a UserObject's type; avoids including UserObject.h in the UserObjectInterface.
void mooseError(Args &&... args) const
Emits an error prefixed with object name and type.
const InputParameters & parameters() const
Get the parameters of the object.
const UserObject & getUserObjectBase(const std::string &name, const THREAD_ID tid=0) const
Get the user object by its name.
const UserObject & getUserObjectBaseByName(const UserObjectName &object_name, bool is_dependency=true) const
Get an user object with the name object_name.
virtual void addUserObjectDependencyHelper(const UserObject &) const
Helper for deriving classes to override to add dependencies when a UserObject is requested.
bool hasUserObjectByName(const UserObjectName &object_name) const
bool hasUserObject(const std::string ¶m_name) const
Base class for user-specific data.
const std::string & userObjectName(const UserObject &uo) const
Gets a UserObject's name; avoids including UserObject.h in the UserObjectInterface.
UserObjectInterface(const MooseObject *moose_object)