21 "Residual contribution from advection operator for finite volume method.");
27 params.addRelationshipManager(
28 "ElementSideNeighborLayers",
40 const bool need_more_ghosting =
42 if (need_more_ghosting &&
_tid == 0)
46 getCheckedPointerParam<FEProblemBase *>(
"_fe_problem_base")
47 ->setErrorOnJacobianNonzeroReallocation(
false);
51 const MooseEnum not_available_with_steady(
"sou min_mod vanLeer quick venkatakrishnan");
52 const std::string chosen_scheme =
53 static_cast<std::string
>(getParam<MooseEnum>(
"advected_interp_method"));
54 if (not_available_with_steady.
find(chosen_scheme) != not_available_with_steady.
items().end())
56 "The given advected interpolation cannot be used with steady-state runs!");
const std::set< MooseEnumItem > & items() const
Return the complete set of available flags.
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 ...
virtual ADReal computeQpResidual() override
This is the primary function that must be implemented for flux kernel terms.
const FaceInfo * _face_info
This is holds meta-data for geometric information relevant to the current face including elem+neighbo...
Moose::StateArg determineState() const
Create a functor state argument that corresponds to the implicit state of this object.
static void setRMParamsAdvection(const InputParameters &obj_params, InputParameters &rm_params, const unsigned short conditional_extended_layers)
Helper function to set the relationship manager parameters for advection-related kernels.
RealVectorValue _normal
This is the outward unit normal vector for the face the kernel is currently operating on...
DualNumber< Real, DNDerivativeType, true > ADReal
THREAD_ID _tid
The thread ID for this kernel.
static InputParameters validParams()
LimiterType limiterType(InterpMethod interp_method)
Return the limiter type associated with the supplied interpolation method.
InputParameters advectedInterpolationParameter()
registerADMooseObject("MooseApp", FVAdvection)
SubProblem & _subproblem
Reference to this kernel's SubProblem.
virtual bool isTransient() const =0
static InputParameters validParams()
const RealVectorValue _velocity
This is a "smart" enum class intended to replace many of the shortcomings in the C++ enum type It sho...
Moose::FV::InterpMethod _advected_interp_method
The interpolation method to use for the advected quantity.
MooseApp & _app
The MOOSE application this is associated with.
Executioner * getExecutioner() const
Retrieve the Executioner for this App.
FVAdvection(const InputParameters ¶ms)
State argument for evaluating functors.
MooseVariableFV< Real > & _var
FVFluxKernel is used for calculating residual contributions from numerical fluxes from surface integr...
std::set< MooseEnumItem >::const_iterator find(const MooseEnumItem &other) const
Locate an item.
bool setInterpolationMethod(const MooseObject &obj, Moose::FV::InterpMethod &interp_method, const std::string ¶m_name)
Sets one interpolation method.
Moose::FaceArg makeFace(const FaceInfo &fi, const Moose::FV::LimiterType limiter_type, const bool elem_is_upwind, const bool correct_skewness=false, const Moose::StateArg *state_limiter=nullptr) const
Create a functor face argument from provided component arguments.