27 params.
addParam<PostprocessorName>(
"energy_pp",
"Postprocessor with the inlet energy flow rate");
28 params.
addParam<PostprocessorName>(
"temperature_pp",
"Postprocessor with the inlet temperature");
29 params.
addParam<MooseFunctorName>(
NS::cp,
"specific heat capacity functor");
35 "Fluid specific enthalpy functor. This can be specified to " 36 "avoid using cp * T as the enthalpy");
43 _temperature_pp(isParamValid(
"temperature_pp") ? &getPostprocessorValue(
"temperature_pp")
45 _energy_pp(isParamValid(
"energy_pp") ? &getPostprocessorValue(
"energy_pp") : nullptr),
55 if (!dynamic_cast<INSFVEnergyVariable *>(&
_var))
57 "The variable argument to WCNSFVEnergyFluxBC must be of type INSFVEnergyVariable");
61 mooseWarning(
"If setting the energy flow rate directly, " 62 "no need for inlet velocity (magnitude or direction), mass flow or temperature");
68 mooseError(
"If not providing the energy flow rate, " 69 "the inlet temperature should be provided");
71 mooseError(
"If not providing the inlet energy flow rate, the inlet velocity or mass flow " 72 "should be provided");
74 mooseError(
"If providing the inlet mass flow rate, the flow" 75 " area should be provided as well");
79 "If supplying the energy flow rate, the flow area should be provided as well");
111 "Either mdot_pp or velocity_pp or energy_pp need to be provided OR this function must be " 112 "overridden in derived classes if other input parameter combinations are valid. " 113 "Neither mdot_pp nor velocity_pp are provided.");
117 template <
typename T>
121 const bool inflow)
const 144 mooseError(
"Should not reach here, constructor checks required functor inputs to flux BC");
const PostprocessorValue *const _velocity_pp
Postprocessor with the inlet velocity.
const PostprocessorValue *const _mdot_pp
Postprocessor with the inlet mass flow rate.
const PostprocessorValue *const _temperature_pp
Postprocessor with the inlet temperature.
const bool _direction_specified_by_user
Flag to store if the flow direction is specified by the user.
registerMooseObject("NavierStokesApp", WCNSFVEnergyFluxBC)
const Moose::Functor< ADReal > & _rho
Fluid density functor.
ADRealVectorValue varVelocity(const Moose::StateArg &state) const
returns the velocity vector (vel_x, vel_y, vel_z)
void paramError(const std::string ¶m, Args... args) const
Moose::StateArg determineState() const
ADReal inflowMassFlux(const Moose::StateArg &state) const
computes the inflow massflux
static const std::string fluid
Base class for weakly compressible flux boundary conditions.
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 Moose::Functor< ADReal > & _temperature
Fluid temperature functor.
ADReal enthalpy(const T &loc_arg, const Moose::StateArg &state, const bool inflow) const
Computes the enthalpy using what the user has specified.
DualNumber< Real, DNDerivativeType, true > ADReal
virtual bool isInflow() const override
override because energy_pp is not considered in base class
static InputParameters validParams()
const SinglePhaseFluidProperties *const _fluid
Fluid properties object.
static const std::string cp
static InputParameters validParams()
static const std::string T_fluid
const PostprocessorValue *const _energy_pp
Postprocessor with the inlet energy flow rate.
const PostprocessorValue *const _area_pp
Postprocessor with the inlet area.
ADRealVectorValue _normal
Common class for single phase fluid properties.
ADReal computeQpResidual() override
const Moose::Functor< ADReal > *const _h_fluid
Pointer to the specific enthalpy functor.
static const std::string pressure
void mooseWarning(Args &&... args) const
const Real _scaling_factor
Scaling factor.
const Moose::Functor< ADReal > *const _pressure
Fluid pressure functor.
void mooseError(Args &&... args) const
WCNSFVEnergyFluxBC(const InputParameters ¶ms)
Flux boundary condition for the weakly compressible energy equation.
const Moose::Functor< ADReal > * _cp
Fluid specific heat capacity functor.
static const std::string specific_enthalpy