21 "The name of the variable on the primary side of the interface");
24 "The name of the variable on the secondary side of the interface. By default " 25 "the primary side variable name is used for the secondary side as well");
29 "Type of value we want to compute");
41 _u(coupledValue(
"variable")),
42 _grad_u(coupledGradient(
"variable")),
43 _u_neighbor(parameters.isParamSetByUser(
"neighbor_variable")
44 ? coupledNeighborValue(
"neighbor_variable")
45 : coupledNeighborValue(
"variable")),
46 _grad_u_neighbor(parameters.isParamSetByUser(
"neighbor_variable")
47 ? coupledNeighborGradient(
"neighbor_variable")
48 : coupledNeighborGradient(
"variable")),
49 _interface_value_type(parameters.
get<
MooseEnum>(
"interface_value_type")),
50 _neighbor_fv_variable(
51 parameters.isParamSetByUser(
"neighbor_variable")
61 mooseError(
"For the InterfaceIntegralVariableValuePostprocessor, variable and " 62 "neighbor_variable should be of a similar variable type.");
70 mooseAssert(
_fi,
"This should never be null. If it is then something went wrong in execute()");
const FaceInfo * _fi
A pointer to a face info, useful when working with FV.
InterfaceIntegralVariableValuePostprocessor(const InputParameters ¶meters)
bool _has_fv_vars
Whether finite volume variables are involved in the user object.
const MooseVariableFV< Real > *const _neighbor_fv_variable
the fv variable for the neighbor variable
static InputParameters validParams()
T * get(const std::unique_ptr< T > &u)
The MooseUtils::get() specializations are used to support making forwards-compatible code changes fro...
Moose::StateArg determineState() const
Create a functor state argument that corresponds to the implicit state of this object.
virtual bool isFV() const
MooseVariableFV< Real > * _fv_variable
This data structure is used to store geometric and variable related metadata about each cell face in ...
bool hasFaceSide(const FaceInfo &fi, const bool fi_elem_side) const override
VarKindType
Framework-wide stuff.
registerMooseObject("MooseApp", InterfaceIntegralVariableValuePostprocessor)
This is a "smart" enum class intended to replace many of the shortcomings in the C++ enum type It sho...
virtual Real computeQpIntegral() override
the contribution of a qp to the integral
This postprocessor add generel capabilities to the InterfacePostprocessor to compute an integral over...
void addMooseVariableDependency(MooseVariableFieldBase *var)
Call this function to add the passed in MooseVariableFieldBase as a variable that this object depends...
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
const MooseEnum _interface_value_type
the type of interface value we want to compute
ADReal getBoundaryFaceValue(const FaceInfo &fi, const StateArg &state, bool correct_skewness=false) const
Retrieve the solution value at a boundary face.
Interface for objects that need to get values of MooseVariables.
MooseVariableField< Real > & mooseVariableField()
Return the MooseVariableField object that this interface acts on.
void mooseError(Args &&... args) const
Emits an error prefixed with object name and type.
const VariableValue & _u
Holds the solution at current quadrature points.
const InputParameters & parameters() const
Get the parameters of the object.
MOOSE now contains C++17 code, so give a reasonable error message stating what the user can do to add...
This postprocessor computes a weighted (by area) integral of the specified variable.
This class provides variable solution values for other classes/objects to bind to when looping over f...
Moose::FaceArg makeCDFace(const FaceInfo &fi, const bool correct_skewness=false) const
Make a functor face argument with a central differencing limiter, e.g.
const VariableValue & _u_neighbor
Holds the solution at current quadrature points on the neighbor side.
static InputParameters validParams()
const MooseVariableFieldBase * getFieldVar(const std::string &var_name, unsigned int comp) const