19 template <
typename UserObjectType>
52 template <
typename SpatialArg>
56 template <
typename UserObjectType>
62 ExecFlagEnum & exec_enum = params.template set<ExecFlagEnum>(
"execute_on",
true);
67 template <
typename UserObjectType>
69 : UserObjectType(params),
Moose::FunctorBase<
Real>(this->
name())
73 template <
typename UserObjectType>
74 template <
typename SpatialArg>
77 const SpatialArg & position,
const Moose::StateArg & libmesh_dbg_var(state))
const 79 mooseAssert(state.state == 0,
"We do not currently support evaluating at old states");
80 return this->spatialValue(position.getPoint());
83 template <
typename UserObjectType>
88 return evaluateTemplate(elem, state);
91 template <
typename UserObjectType>
96 return evaluateTemplate(face, state);
99 template <
typename UserObjectType>
104 return evaluateTemplate(qp, state);
107 template <
typename UserObjectType>
112 return evaluateTemplate(elem_side_qp, state);
115 template <
typename UserObjectType>
120 return evaluateTemplate(elem_point, state);
123 template <
typename UserObjectType>
128 return evaluateTemplate(node, state);
131 template <
typename UserObjectType>
135 if constexpr (std::is_base_of<BlockRestrictable, UserObjectType>::value)
136 return UserObjectType::hasBlocks(sub_id);
std::string name(const ElemQuality q)
virtual bool hasBlocks(SubdomainID) const
Returns whether the functor is defined on this block.
const ExecFlagType EXEC_TRANSFER
A MultiMooseEnum object to hold "execute_on" flags.
Base class template for functor objects.
Real evaluateTemplate(const SpatialArg &position, const Moose::StateArg &state) const
SpatialUserObjectFunctor(const InputParameters ¶ms)
static InputParameters validParams()
void addAvailableFlags(const ExecFlagType &flag, Args... flags)
Add additional execute_on flags to the list of possible flags.
A structure that is used to evaluate Moose functors at an arbitrary physical point contained within a...
InputParameters validParams()
virtual Real evaluate(const ElemArg &elem, const Moose::StateArg &state) const override
Evaluate the functor with a given element.
A structure defining a "face" evaluation calling argument for Moose functors.
virtual bool hasBlocks(SubdomainID sub) const override
Returns whether the functor is defined on this block.
A structure that is used to evaluate Moose functors logically at an element/cell center.
Argument for requesting functor evaluation at a quadrature point location in an element.
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
Base class for creating a user object with the SpatialUserObject and Moose::Functor APIs...
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 bool supportsFaceArg() const override final
Whether this functor supports evaluation with FaceArg.
virtual bool supportsElemSideQpArg() const override final
Whether this functor supports evaluation with ElemSideQpArg.
Argument for requesting functor evaluation at quadrature point locations on an element side...