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");
35 _temp_fluid(getFunctor<
ADReal>(
NS::T_fluid)),
36 _temp_solid(getFunctor<
ADReal>(
NS::T_solid)),
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");
54 const Elem * bulk_elem;
64 bulk_elem = (*_pl)(
p);
67 bulk_elem = elem_on_fluid_side;
69 mooseAssert(bulk_elem,
70 "The element at bulk_distance from the wall was not found in the mesh. "
71 "Increase the number of ghost layers with the 'ghost_layers' parameter.");
73 "The fluid temperature is not defined at bulk_distance from the wall.");
DualNumber< Real, DNDerivativeType, true > ADReal
registerMooseObject("NavierStokesApp", FVConvectionCorrelationInterface)
const bool _use_wall_cell
Whether to use the wall cell for the bulk fluid temperature.
FVConvectionCorrelationInterface(const InputParameters ¶ms)
const Real _bulk_distance
The distance from the wall before evaluating the bulk temperature.
const Moose::Functor< ADReal > & _temp_fluid
The fluid temperature variable.
const bool _var1_is_fluid
Boolean to see if variable1 is the fluid.
ADReal computeQpResidual() override
const Moose::Functor< ADReal > & _temp_solid
The solid/wall temperature variable.
static InputParameters validParams()
const Moose::Functor< ADReal > & _htc
The convective heat transfer coefficient in the local element.
Moose::FaceArg faceArg2(Moose::FV::LimiterType limiter_type=Moose::FV::LimiterType::CentralDifference, bool correct_skewness=false, const Moose::StateArg *state_limiter=nullptr) const
const Elem & elem2() const
const Elem & elem1() const
static InputParameters validParams()
Moose::FaceArg faceArg1(Moose::FV::LimiterType limiter_type=Moose::FV::LimiterType::CentralDifference, bool correct_skewness=false, const Moose::StateArg *state_limiter=nullptr) const
const FaceInfo * _face_info
const MooseVariableFV< Real > & var1() const
const MooseVariableFV< Real > & var2() const
const Point & faceCentroid() const
Moose::ElemArg makeElemArg(const Elem *elem, bool correct_skewnewss=false) const
void mooseError(Args &&... args) const
Moose::StateArg determineState() const
static const std::string T_fluid
static const std::string T_solid