20 "Computes residual for diffusion operator across an interface for finite volume method.");
22 "The diffusion coefficient on the 1st subdomains");
24 "The diffusion coefficient on the 2nd subdomains");
25 MooseEnum coeff_interp_method(
"average harmonic",
"harmonic");
27 "coeff_interp_method",
29 "Switch that can select face interpolation method for diffusion coefficients.");
30 params.
set<
unsigned short>(
"ghost_layers") = 2;
36 _coeff1(getFunctor<
ADReal>(
"coeff1")),
37 _coeff2(getFunctor<
ADReal>(
"coeff2"))
42 " is only designed to work with the same variable on both sides of an interface.");
43 const auto & interp_method = getParam<MooseEnum>(
"coeff_interp_method");
44 if (interp_method ==
"average")
46 else if (interp_method ==
"harmonic")
DualNumber< Real, DNDerivativeType, true > ADReal
registerMooseObject("MooseApp", FVOneVarDiffusionInterface)
Base class for creating kernels that interface physics between subdomains.
virtual bool elemIsOne() const
Moose::ElemArg elemArg(bool correct_skewness=false) const
ADRealVectorValue _normal
The normal.
static InputParameters validParams()
const FaceInfo * _face_info
The face that this object is currently operating on.
Moose::ElemArg neighborArg(bool correct_skenewss=false) const
const MooseVariableFV< Real > & var1() const
const MooseVariableFV< Real > & var2() const
static InputParameters validParams()
ADReal computeQpResidual() override
Moose::FV::InterpMethod _coeff_interp_method
Decides if a geometric arithmetic or harmonic average is used for the face interpolation of the diffu...
const Moose::Functor< ADReal > & _coeff2
FVOneVarDiffusionInterface(const InputParameters ¶ms)
const Moose::Functor< ADReal > & _coeff1
const std::string & name() const
Get the name of the class.
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 ...
This is a "smart" enum class intended to replace many of the shortcomings in the C++ enum type It sho...
const ADTemplateVariableGradient< OutputType > & adGradSln() const override
AD grad solution getter.
Moose::StateArg determineState() const
Create a functor state argument that corresponds to the implicit state of this object.
@ HarmonicAverage
1/(gc/elem+(1-gc)/neighbor)
@ Average
gc*elem+(1-gc)*neighbor