14 #include "libmesh/fe_base.h" 16 using namespace Moose;
18 template <
typename OutputType>
25 template <
typename OutputType>
30 _time_integrator(_sys.queryTimeIntegrator(_var_num))
34 template <
typename OutputType>
42 template <
typename OutputType>
50 template <
typename OutputType>
58 template <
typename OutputType>
66 return (state.
state == 0) ? *this->_sys.currentSolution()
70 template <
typename OutputType>
74 if (std::is_same<OutputType, Real>::value)
76 else if (std::is_same<OutputType, RealVectorValue>::value)
78 else if (std::is_same<OutputType, RealEigenVector>::value)
84 template <
typename OutputType>
89 if (std::is_same<OutputType, RealEigenVector>::value != is_array)
90 mooseError(
"A variable is marked as an array variable in a base class, but in a derived class " 91 "the output type is not consistent.");
95 template <
typename OutputType>
99 return std::is_same<OutputType, RealVectorValue>::value;
123 mooseError(
"genericDofValues not implemented for array variables");
std::string name(const ElemQuality q)
MooseVariableField(const InputParameters ¶meters)
static InputParameters validParams()
Base class template for functor objects.
Class for stuff related to variables.
void mooseError(Args &&... args)
Emit an error message with the given stringified, concatenated args and terminate the application...
This class provides an interface for common operations on field variables of both FE and FV types wit...
virtual void jacobianSetup() override
const libMesh::NumericVector< libMesh::Number > & getSolution(const Moose::StateArg &state) const
Get the solution corresponding to the provided state.
static InputParameters validParams()
virtual Moose::VarFieldType fieldType() const override
Field type of this variable.
Interface for notifications that the mesh has changed.
virtual void timestepSetup()
Gets called at the beginning of the timestep before this object is asked to do its job...
SolutionIterationType iteration_type
The solution iteration type, e.g. time or nonlinear.
virtual bool isArray() const
virtual bool isVector() const override
State argument for evaluating functors.
MOOSE now contains C++17 code, so give a reasonable error message stating what the user can do to add...
virtual void timestepSetup() override
virtual void jacobianSetup()
Gets called just before the Jacobian is computed and before this object is asked to do its job...
virtual void residualSetup()
Gets called just before the residual is computed and before this object is asked to do its job...
unsigned int state
The state.
virtual void residualSetup() override
virtual bool isArray() const override