24 params.
addParam<PostprocessorName>(
"scalar_flux_pp",
25 "Postprocessor with the inlet scalar flow rate");
26 params.
addParam<PostprocessorName>(
"scalar_value_pp",
27 "Postprocessor with the inlet scalar concentration");
28 params.
addRequiredParam<MooseFunctorName>(
"passive_scalar",
"passive scalar functor");
34 _scalar_value_pp(isParamValid(
"scalar_value_pp") ? &getPostprocessorValue(
"scalar_value_pp")
36 _scalar_flux_pp(isParamValid(
"scalar_flux_pp") ? &getPostprocessorValue(
"scalar_flux_pp")
38 _passive_scalar(getFunctor<
ADReal>(
"passive_scalar"))
43 "If setting the scalar flux directly, no need for inlet velocity, mass flow or scalar " 50 mooseError(
"If not providing the scalar flow rate, the inlet scalar concentration should be " 53 mooseError(
"If not providing the scalar flow rate, the inlet velocity or mass flow " 54 "should be provided");
56 mooseError(
"If providing the inlet mass flow rate, the inlet flow " 57 "area should be provided as well");
61 "If supplying the energy flow rate, the flow area should be provided as well");
88 "Either mdot_pp or velocity_pp or scalar_flux_pp need to be provided OR this function " 89 "must be overridden in derived classes if other input parameter combinations are valid. " 90 "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.
ADReal computeQpResidual() override
ADRealVectorValue varVelocity(const Moose::StateArg &state) const
returns the velocity vector (vel_x, vel_y, vel_z)
const Moose::Functor< ADReal > & _passive_scalar
passive scalar functor
Moose::StateArg determineState() const
virtual bool isInflow() const override
override because energy_pp is not considered in base class
const PostprocessorValue *const _scalar_flux_pp
Postprocessor with the inlet scalar flow rate.
Base class for weakly compressible flux boundary conditions.
static InputParameters validParams()
const PostprocessorValue *const _scalar_value_pp
Postprocessor with the inlet scalar concentration.
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
DualNumber< Real, DNDerivativeType, true > ADReal
Flux boundary condition for the weakly compressible scalar advection equation.
void mooseWarning(Args &&... args) const
ADReal inflowSpeed(const Moose::StateArg &state) const
computes the inflow speed
static InputParameters validParams()
const PostprocessorValue *const _area_pp
Postprocessor with the inlet area.
ADRealVectorValue _normal
WCNSFVScalarFluxBC(const InputParameters ¶ms)
void paramError(const std::string ¶m, Args... args) const
registerMooseObject("NavierStokesApp", WCNSFVScalarFluxBC)
const Real _scaling_factor
Scaling factor.
void mooseError(Args &&... args) const