20 params.
addClassDescription(
"Outflow velocity temperature advection boundary conditions for " 21 "finite volume method allowing for thermal backflow.");
24 params.
addRequiredParam<MooseFunctorName>(
"u",
"The velocity in the x direction.");
25 params.
addParam<MooseFunctorName>(
"v",
"The velocity in the y direction.");
26 params.
addParam<MooseFunctorName>(
"w",
"The velocity in the z direction.");
28 "The backflow temperature entering the domain.");
36 _u(getFunctor<
ADReal>(
"u")),
37 _v(isParamValid(
"v") ? &getFunctor<
ADReal>(
"v") : nullptr),
38 _w(isParamValid(
"w") ? &getFunctor<
ADReal>(
"w") : nullptr),
39 _backflow_T(getFunctor<
ADReal>(
"backflow_T")),
40 _dim(_subproblem.
mesh().dimension())
44 "In two or more dimensions, the v velocity must be supplied using the 'v' parameter");
46 mooseError(
"In threedimensions, the w velocity must be supplied using the 'w' parameter");
57 v(1) = (*_v)(boundary_face, state);
59 v(2) = (*_w)(boundary_face, state);
62 const auto rho_cp_face =
_rho(boundary_face, state) *
_cp(boundary_face, state);
65 return rho_cp_face *
_var(boundary_face, state) * vol_flux;
68 auto backflow_T =
_backflow_T(boundary_face, state);
69 return rho_cp_face * backflow_T * vol_flux;
const Moose::Functor< ADReal > & _u
x-velocity
static InputParameters validParams()
Moose::StateArg determineState() const
static const std::string density
Moose::FaceArg singleSidedFaceArg(const FaceInfo *fi=nullptr, Moose::FV::LimiterType limiter_type=Moose::FV::LimiterType::CentralDifference, bool correct_skewness=false, const Moose::StateArg *state_limiter=nullptr) const
MooseVariableFV< Real > & _var
const unsigned int _dim
the dimension of the simulation
const Moose::Functor< ADReal > & _rho
Density.
DualNumber< Real, DNDerivativeType, true > ADReal
static const std::string cp
ADRealVectorValue _normal
virtual ADReal computeQpResidual() override
const Moose::Functor< ADReal > *const _w
z-velocity
static const std::string v
const Moose::Functor< ADReal > & _backflow_T
Backflow Temperature.
Temperature advection boundary condition allowing for inflow and outflow.
const Moose::Functor< ADReal > *const _v
y-velocity
void mooseError(Args &&... args) const
NSFVOutflowTemperatureBC(const InputParameters ¶meters)
registerMooseObject("NavierStokesApp", NSFVOutflowTemperatureBC)
static InputParameters validParams()
const Moose::Functor< ADReal > & _cp
Specific Heat at Constant Pressure.