21 "$(\\vec{J} = -D \\nabla C)$.");
26 "The name of the diffusivity material property that will be used in the flux computation.");
32 _use_normal(getParam<
MooseEnum>(
"component") ==
"normal"),
33 _component(getParam<
MooseEnum>(
"component")),
34 _diffusion_var(dynamic_cast<const
MooseVariableFVReal *>(getFieldVar(
"diffusion_variable", 0))),
35 _diffusion_coef(hasMaterialProperty<
Real>(
"diffusivity")
36 ? &getMaterialProperty<
Real>(
"diffusivity")
38 _ad_diffusion_coef(!_diffusion_coef ? &getADMaterialProperty<
Real>(
"diffusivity") : nullptr),
39 _normals(_assembly.normals())
42 paramError(
"boundary",
"A boundary must be provided if using the normal component!");
const bool _use_normal
Whether the normal component has been selected.
const MaterialProperty< Real > *const _diffusion_coef
Holds the diffusivity from the material system if non-AD.
static const std::string component
Moose::StateArg determineState() const
virtual Real computeValue()
const int _component
Will hold 0, 1, or 2 corresponding to x, y, or z.
DiffusionFluxFVAux(const InputParameters ¶meters)
bool isParamValid(const std::string &name) const
registerMooseObject("SubChannelApp", DiffusionFluxFVAux)
void paramError(const std::string ¶m, Args... args) const
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
const MooseArray< Point > & _normals
normals at quadrature points at the interface
virtual const OutputTools< Real >::VariableGradient & gradient()
const ADMaterialProperty< Real > *const _ad_diffusion_coef
Holds the diffusivity from the material system if AD.
const Elem *const & _current_elem
static InputParameters validParams()
static InputParameters validParams()
const MooseVariableFVReal *const _diffusion_var
Holds the solution functor for which to compute the gradient.
const ADTemplateVariableGradient< Real > & adGradSln() const override
Auxiliary kernel responsible for computing the components of the flux vector in diffusion problems us...