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");
39 Moose::VarKindType::VAR_ANY,
40 Moose::VarFieldType::VAR_FIELD_STANDARD),
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")
52 ? dynamic_cast<const
MooseVariableFV<Real> *>(getFieldVar(
"neighbor_variable", 0))
53 : dynamic_cast<const
MooseVariableFV<Real> *>(getFieldVar(
"variable", 0)))
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()");
registerMooseObject("MooseApp", InterfaceIntegralVariableValuePostprocessor)
void mooseError(Args &&... args)
Emit an error message with the given stringified, concatenated args and terminate the application.
const MooseVariableFieldBase * getFieldVar(const std::string &var_name, unsigned int comp) const
Moose::FaceArg makeCDFace(const FaceInfo &fi, const bool correct_skewness=false) const
Make a functor face argument with a central differencing limiter, e.g.
This data structure is used to store geometric and variable related metadata about each cell face in ...
This postprocessor add generel capabilities to the InterfacePostprocessor to compute an integral over...
static InputParameters validParams()
This postprocessor computes a weighted (by area) integral of the specified variable.
virtual Real computeQpIntegral() override
the contribution of a qp to the integral
bool hasFaceSide(const FaceInfo &fi, const bool fi_elem_side) const override
InterfaceIntegralVariableValuePostprocessor(const InputParameters ¶meters)
const MooseEnum _interface_value_type
the type of interface value we want to compute
const MooseVariableFV< Real > *const _neighbor_fv_variable
the fv variable for the neighbor variable
static InputParameters validParams()
const VariableValue & _u
Holds the solution at current quadrature points.
const VariableValue & _u_neighbor
Holds the solution at current quadrature points on the neighbor side.
const FaceInfo * _fi
A pointer to a face info, useful when working with FV.
bool _has_fv_vars
Whether finite volume variables are involved in the user object.
const InputParameters & parameters() const
Get the parameters of the object.
This is a "smart" enum class intended to replace many of the shortcomings in the C++ enum type It sho...
void addMooseVariableDependency(MooseVariableFieldBase *var)
Call this function to add the passed in MooseVariableFieldBase as a variable that this object depends...
This class provides variable solution values for other classes/objects to bind to when looping over f...
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.
MooseVariableFV< Real > * _fv_variable
Moose::StateArg determineState() const
Create a functor state argument that corresponds to the implicit state of this object.
MOOSE now contains C++17 code, so give a reasonable error message stating what the user can do to add...