19 params.
addClassDescription(
"Computes the residual for a convective heat transfer across an " 20 "interface for the finite volume method, " 21 "using a correlation for the heat transfer coefficient.");
24 params.
addRequiredParam<MooseFunctorName>(
"h",
"The convective heat transfer coefficient");
26 "bulk_distance", -1,
"The distance to the bulk for evaluating the fluid bulk temperature");
27 params.
addParam<
bool>(
"wall_cell_is_bulk",
29 "Use the wall cell centroid temperature for the fluid bulk temperature");
37 _htc(getFunctor<
ADReal>(
"h")),
38 _bulk_distance(getParam<
Real>(
"bulk_distance")),
39 _use_wall_cell(getParam<bool>(
"wall_cell_is_bulk")),
40 _pl(
mesh().getPointLocator()),
41 _var1_is_fluid(
"wraps_" + var1().
name() == _temp_fluid.functorName())
45 "The bulk distance should be specified or 'wall_cell_is_bulk' should be set to true for " 46 "the FVTwoVarConvectionCorrelationInterface");
55 const Elem * elem_on_fluid_side =
60 const Elem * bulk_elem;
72 bulk_elem = (*_pl)(p);
75 bulk_elem = elem_on_fluid_side;
77 mooseAssert(bulk_elem,
78 "The element at bulk_distance from the wall was not found in the mesh. " 79 "Increase the number of ghost layers with the 'ghost_layers' parameter.");
81 "The fluid temperature is not defined at bulk_distance from the wall.");
92 return multipler *
_htc(fluid_side, state) *
const bool _use_wall_cell
Whether to use the wall cell for the bulk fluid temperature.
const FaceInfo * _face_info
const MooseVariableFV< Real > & var1() const
registerMooseObject("NavierStokesApp", FVConvectionCorrelationInterface)
const Moose::Functor< ADReal > & _temp_solid
The solid/wall temperature variable.
const Elem & elem() const
static const std::string T_solid
Moose::StateArg determineState() const
const Point & faceCentroid() const
FVConvectionCorrelationInterface(const InputParameters ¶ms)
static InputParameters validParams()
DualNumber< Real, DNDerivativeType, true > ADReal
Moose::ElemArg makeElemArg(const Elem *elem, bool correct_skewnewss=false) const
static InputParameters validParams()
const Elem * neighborPtr() const
static const std::string T_fluid
ADRealVectorValue _normal
const Moose::Functor< ADReal > & _temp_fluid
The fluid temperature variable.
const Moose::Functor< ADReal > & _htc
The convective heat transfer coefficient in the local element.
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
Moose::FaceArg singleSidedFaceArg(const MooseVariableFV< Real > &variable, const FaceInfo *fi=nullptr, Moose::FV::LimiterType limiter_type=Moose::FV::LimiterType::CentralDifference, bool correct_skewness=false, const Moose::StateArg *state_limiter=nullptr) const
void mooseError(Args &&... args) const
ADReal computeQpResidual() override
virtual bool elemIsOne() const
const bool _var1_is_fluid
Boolean to see if variable1 is the fluid.
const MooseVariableFV< Real > & var2() const
const Real _bulk_distance
The distance from the wall before evaluating the bulk temperature.