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.
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.
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 ...
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.