26 params.
addParam<PostprocessorName>(
"energy_pp",
"Postprocessor with the inlet energy flow rate");
27 params.
addParam<PostprocessorName>(
"temperature_pp",
"Postprocessor with the inlet temperature");
35 _temperature_pp(isParamValid(
"temperature_pp") ? &getPostprocessorValue(
"temperature_pp")
37 _energy_pp(isParamValid(
"energy_pp") ? &getPostprocessorValue(
"energy_pp") : nullptr),
41 if (!dynamic_cast<INSFVEnergyVariable *>(&
_var))
43 "The variable argument to WCNSFVEnergyFluxBC must be of type INSFVEnergyVariable");
47 mooseWarning(
"If setting the energy flow rate directly, " 48 "no need for inlet velocity (magnitude or direction), mass flow or temperature");
54 mooseError(
"If not providing the energy flow rate, " 55 "the inlet temperature should be provided");
57 mooseError(
"If not providing the inlet energy flow rate, the inlet velocity or mass flow " 58 "should be provided");
60 mooseError(
"If providing the inlet mass flow rate, the flow" 61 " area should be provided as well");
65 "If supplying the energy flow rate, the flow area should be provided as well");
97 "Either mdot_pp or velocity_pp or energy_pp need to be provided OR this function must be " 98 "overridden in derived classes if other input parameter combinations are valid. " 99 "Neither mdot_pp nor velocity_pp are provided.");
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)
const Moose::Functor< ADReal > & _cp
Fluid specific heat capacity functor.
Moose::StateArg determineState() const
ADReal inflowMassFlux(const Moose::StateArg &state) const
computes the inflow massflux
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.
DualNumber< Real, DNDerivativeType, true > ADReal
void mooseWarning(Args &&... args) const
virtual bool isInflow() const override
override because energy_pp is not considered in base class
static InputParameters validParams()
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
ADReal computeQpResidual() override
void paramError(const std::string ¶m, Args... args) const
const Real _scaling_factor
Scaling factor.
void mooseError(Args &&... args) const
WCNSFVEnergyFluxBC(const InputParameters ¶ms)
Flux boundary condition for the weakly compressible energy equation.