https://mooseframework.inl.gov
Loading...
Searching...
No Matches
Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | Private Types | Private Member Functions | Private Attributes | List of all members
IncompressibleMomentumSPBaseTempl< is_ad > Class Template Referenceabstract

#include <IncompressibleMomentumSPBase.h>

Inheritance diagram for IncompressibleMomentumSPBaseTempl< is_ad >:
[legend]

Public Member Functions

 IncompressibleMomentumSPBaseTempl (const InputParameters &parameters)
 
virtual bool isADObject () const override
 
const Moose::Functor< Real > * defaultFunctor (const std::string &name)
 
const Moose::Functor< ADReal > * defaultFunctor (const std::string &name)
 

Static Public Member Functions

static InputParameters validParams ()
 
static std::string deduceFunctorName (const std::string &name, const InputParameters &params)
 

Protected Member Functions

virtual GenericReal< is_ad > computeQpResidual () override
 
virtual Real computeQpJacobian () override
 
virtual Real computeQpJacobianMDot ()
 
virtual Real computeQpJacobianDP ()
 
virtual GenericReal< is_ad > computeFrictionFactor (const GenericReal< is_ad > &mu, const GenericReal< is_ad > &G, const GenericReal< is_ad > &Dh, const unsigned int j)
 
virtual GenericReal< is_ad > massFlowRate () const =0
 
virtual GenericReal< is_ad > pressureDrop () const =0
 
Real computeQpJacobian ()
 
std::string deduceFunctorName (const std::string &name) const
 
const Moose::Functor< T > & getFunctor (const std::string &name)
 
const Moose::Functor< T > & getFunctor (const std::string &name, THREAD_ID tid)
 
const Moose::Functor< T > & getFunctor (const std::string &name, SubProblem &subproblem)
 
const Moose::Functor< T > & getFunctor (const std::string &name, SubProblem &subproblem, THREAD_ID tid)
 
bool isFunctor (const std::string &name) const
 
bool isFunctor (const std::string &name, const SubProblem &subproblem) const
 
Moose::ElemArg makeElemArg (const Elem *elem, bool correct_skewnewss=false) const
 
void checkFunctorSupportsSideIntegration (const std::string &name, bool qp_integration)
 
const Moose::Functor< T > & getFunctorByName (const std::string &name)
 

Protected Attributes

const size_t _n_temps
 Number of coupled temperature variables.
 
std::vector< const VariableValue * > _T
 Coupled temperature variables.
 
const bool _is_implicit
 Property state integration flag.
 
const Moose::Functor< GenericReal< is_ad > > & _Pref
 System reference pressure.
 
const SinglePhaseFluidProperties & _fp
 Fluid properties object.
 
const size_t _n_segments
 Number of geometrically/thermally unique segments.
 
std::vector< const Moose::Functor< GenericReal< is_ad > > * > _areas
 Flow area of each segment.
 
std::vector< const Moose::Functor< GenericReal< is_ad > > * > _perimeters
 Wetted perimeter of each segment.
 
std::vector< const Moose::Functor< GenericReal< is_ad > > * > _lengths
 Length of each segment.
 
std::vector< const Moose::Functor< GenericReal< is_ad > > * > _alphas
 Angle with respect to the horizontal of each segment.
 
std::vector< const Moose::Functor< GenericReal< is_ad > > * > _forms_losses
 Forms loss coefficients of each segment.
 
std::vector< const Moose::Functor< GenericReal< is_ad > > * > _dPps
 Pump pressure gains of each segment.
 
std::vector< const Moose::Functor< GenericReal< is_ad > > * > _roughnesses
 Wall roughness of each segment.
 
const Moose::Functor< GenericReal< is_ad > > & _gravity
 Gravitational acceleration in the vertical downward direction.
 

Private Types

using Base = typename std::conditional< is_ad, ADScalarKernel, ScalarKernel >::type
 

Private Member Functions

const Moose::Functor< T > * defaultFunctor (const std::string &name)
 
const Moose::Functor< Real > * defaultFunctor (const std::string &name)
 
const Moose::Functor< ADReal > * defaultFunctor (const std::string &name)
 
const Moose::Functor< T > & getFunctorByName (const std::string &name, SubProblem &subproblem, THREAD_ID tid)
 

Private Attributes

const InputParameters & _fi_params
 
const std::string _fi_name
 
SubProblem *const _fi_subproblem
 
const THREAD_ID _fi_tid
 
std::vector< std::unique_ptr< Moose::Functor< Real > > > _default_real_functors
 
std::vector< std::unique_ptr< Moose::Functor< ADReal > > > _default_ad_real_functors
 

Detailed Description

template<bool is_ad>
class IncompressibleMomentumSPBaseTempl< is_ad >

Definition at line 19 of file IncompressibleMomentumSPBase.h.

Member Typedef Documentation

◆ Base

template<bool is_ad>
using IncompressibleMomentumSPBaseTempl< is_ad >::Base = typename std::conditional<is_ad, ADScalarKernel, ScalarKernel>::type
private

Definition at line 23 of file IncompressibleMomentumSPBase.h.

Constructor & Destructor Documentation

◆ IncompressibleMomentumSPBaseTempl()

template<bool is_ad>
IncompressibleMomentumSPBaseTempl< is_ad >::IncompressibleMomentumSPBaseTempl ( const InputParameters &  parameters)

Definition at line 70 of file IncompressibleMomentumSPBase.C.

72 : Base(parameters),
73 FunctorInterface(this),
75 _T(_n_temps),
76 _is_implicit(this->template getParam<bool>("is_implicit")),
77 _Pref(this->template getFunctor<GenericReal<is_ad>>("reference_pressure")),
78 _fp(this->template getUserObject<SinglePhaseFluidProperties>("fp")),
79 _n_segments(this->template getParam<std::vector<MooseFunctorName>>("areas").size()),
80 _areas(this->template getParam<std::vector<MooseFunctorName>>("areas").size()),
81 _perimeters(this->template getParam<std::vector<MooseFunctorName>>("perimeters").size()),
82 _lengths(this->template getParam<std::vector<MooseFunctorName>>("lengths").size()),
83 _alphas(this->template getParam<std::vector<MooseFunctorName>>("alphas").size()),
84 _forms_losses(this->template getParam<std::vector<MooseFunctorName>>("forms_losses").size()),
85 _dPps(this->template getParam<std::vector<MooseFunctorName>>("pump_pressures").size()),
86 _roughnesses(this->template getParam<std::vector<MooseFunctorName>>("roughnesses").size()),
87 _gravity(this->template getFunctor<GenericReal<is_ad>>("g"))
88{
89 const auto & area_names = MooseBase::getParam<std::vector<MooseFunctorName>>("areas");
90 const auto & perimeter_names = MooseBase::getParam<std::vector<MooseFunctorName>>("perimeters");
91 const auto & length_names = MooseBase::getParam<std::vector<MooseFunctorName>>("lengths");
92 const auto & alpha_names = MooseBase::getParam<std::vector<MooseFunctorName>>("alphas");
93 const auto & forms_loss_names =
94 MooseBase::getParam<std::vector<MooseFunctorName>>("forms_losses");
95 const auto & dPp_names = MooseBase::getParam<std::vector<MooseFunctorName>>("pump_pressures");
96 const auto & roughness_names = MooseBase::getParam<std::vector<MooseFunctorName>>("roughnesses");
97 if (_n_segments != area_names.size() || _n_segments != perimeter_names.size() ||
98 _n_segments != length_names.size() || _n_segments != alpha_names.size() ||
99 _n_segments != forms_loss_names.size() || _n_segments != dPp_names.size() ||
100 _n_segments != roughness_names.size() || _n_segments != _n_temps)
101 {
103 "Must provide consistent number of segments for each parameter! Including temperatures!");
104 }
105 for (const auto j : make_range(_n_segments))
106 {
107 _T[j] = &(ScalarCoupleable::coupledScalarValue("temperatures", j));
108 _areas[j] = &(this->template getFunctor<GenericReal<is_ad>>(area_names[j]));
109 _perimeters[j] = &(this->template getFunctor<GenericReal<is_ad>>(perimeter_names[j]));
110 _lengths[j] = &(this->template getFunctor<GenericReal<is_ad>>(length_names[j]));
111 _alphas[j] = &(this->template getFunctor<GenericReal<is_ad>>(alpha_names[j]));
112 _forms_losses[j] = &(this->template getFunctor<GenericReal<is_ad>>(forms_loss_names[j]));
113 _dPps[j] = &(this->template getFunctor<GenericReal<is_ad>>(dPp_names[j]));
114 _roughnesses[j] = &(this->template getFunctor<GenericReal<is_ad>>(roughness_names[j]));
115 }
116}
void mooseError(Args &&... args)
Moose::GenericType< Real, is_ad > GenericReal
const Moose::Functor< T > & getFunctor(const std::string &name)
typename std::conditional< is_ad, ADScalarKernel, ScalarKernel >::type Base
std::vector< const Moose::Functor< GenericReal< is_ad > > * > _forms_losses
Forms loss coefficients of each segment.
std::vector< const Moose::Functor< GenericReal< is_ad > > * > _alphas
Angle with respect to the horizontal of each segment.
const size_t _n_temps
Number of coupled temperature variables.
std::vector< const Moose::Functor< GenericReal< is_ad > > * > _roughnesses
Wall roughness of each segment.
std::vector< const VariableValue * > _T
Coupled temperature variables.
const Moose::Functor< GenericReal< is_ad > > & _Pref
System reference pressure.
const bool _is_implicit
Property state integration flag.
std::vector< const Moose::Functor< GenericReal< is_ad > > * > _dPps
Pump pressure gains of each segment.
std::vector< const Moose::Functor< GenericReal< is_ad > > * > _lengths
Length of each segment.
const Moose::Functor< GenericReal< is_ad > > & _gravity
Gravitational acceleration in the vertical downward direction.
std::vector< const Moose::Functor< GenericReal< is_ad > > * > _perimeters
Wetted perimeter of each segment.
const size_t _n_segments
Number of geometrically/thermally unique segments.
std::vector< const Moose::Functor< GenericReal< is_ad > > * > _areas
Flow area of each segment.
const SinglePhaseFluidProperties & _fp
Fluid properties object.
const VariableValue & coupledScalarValue(const std::string &var_name, unsigned int comp=0) const
unsigned int coupledScalarComponents(const std::string &var_name) const
IntRange< T > make_range(T beg, T end)

Member Function Documentation

◆ computeFrictionFactor()

template<bool is_ad>
GenericReal< is_ad > IncompressibleMomentumSPBaseTempl< is_ad >::computeFrictionFactor ( const GenericReal< is_ad > &  mu,
const GenericReal< is_ad > &  G,
const GenericReal< is_ad > &  Dh,
const unsigned int  j 
)
protectedvirtual

Definition at line 253 of file IncompressibleMomentumSPBase.C.

257{
258 const Moose::ElemArg qp = Moose::ElemArg();
259 const auto state = _is_implicit ? Moose::currentState() : Moose::oldState();
260 const auto Re = abs(G) * Dh / mu;
261 const auto f_lam = 64.0 / Re;
262 const auto f_turb =
263 0.25 / pow((log10((*(_roughnesses[j]))(qp, state) / (Dh * 3.7) + 5.74 / pow(Re, 0.9))), 2);
264 if (Re < 2300.0) // laminar
265 return f_lam;
266 else if (Re > 4000.0) // turbulent using Swamee-Jain approx. of Colebrook-White eq.
267 return f_turb;
268 else // transition, conservative interpolation between the two
269 return std::max((f_turb - f_lam) / 1700 * Re + f_lam, std::max(f_lam, f_turb));
270}
ExpressionBuilder::EBTerm pow(const ExpressionBuilder::EBTerm &left, T exponent)
const double mu
const double Re
MetaPhysicL::DualNumber< V, D, asd > abs(const MetaPhysicL::DualNumber< V, D, asd > &a)
StateArg oldState()
StateArg currentState()

◆ computeQpJacobian() [1/2]

Real IncompressibleMomentumSPBaseTempl< true >::computeQpJacobian ( )
protected

Definition at line 245 of file IncompressibleMomentumSPBase.C.

246{
247 mooseError("Internal error, calling computeQpJacobian in AD class.");
248 return 0.0;
249}

◆ computeQpJacobian() [2/2]

template<bool is_ad>
Real IncompressibleMomentumSPBaseTempl< is_ad >::computeQpJacobian ( )
overrideprotectedvirtual

Reimplemented in CoupledPressureIncompressibleMomentumSPScalarKernelTempl< is_ad >, and IncompressibleMomentumSPScalarKernelTempl< is_ad >.

Definition at line 230 of file IncompressibleMomentumSPBase.C.

231{
232 if constexpr (!is_ad)
233 {
234 return 0;
235 }
236 else
237 {
238 mooseError("computeQpJacobian() should not be called in AD mode");
239 return 0;
240 }
241}

◆ computeQpJacobianDP()

template<bool is_ad>
Real IncompressibleMomentumSPBaseTempl< is_ad >::computeQpJacobianDP ( )
protectedvirtual

Definition at line 206 of file IncompressibleMomentumSPBase.C.

207{
208 if constexpr (!is_ad)
209 {
210 const Moose::ElemArg qp = Moose::ElemArg();
211 const auto state = _is_implicit ? Moose::currentState() : Moose::oldState();
212 // Global rescale factor, see computeQpResidual()
213 Real L_over_A_sum = 0;
214 for (const auto j : make_range(_n_segments))
215 L_over_A_sum += (*(_lengths[j]))(qp, state) / (*(_areas[j]))(qp, state);
216 const auto inv_L_over_A_sum = 1.0 / L_over_A_sum;
217 // reference pressure drop is subtracted once, scaled by inv_L_over_A_sum, so its derivative is
218 // -inv_L_over_A_sum
219 return -inv_L_over_A_sum;
220 }
221 else
222 {
223 mooseError("computeQpJacobian() should not be called in AD mode");
224 return 0;
225 }
226}
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real

◆ computeQpJacobianMDot()

template<bool is_ad>
Real IncompressibleMomentumSPBaseTempl< is_ad >::computeQpJacobianMDot ( )
protectedvirtual

Definition at line 164 of file IncompressibleMomentumSPBase.C.

165{
166 if constexpr (!is_ad)
167 {
168 Real momentum_jacob = 0;
169 const Moose::ElemArg qp = Moose::ElemArg();
170 const int i = 0;
171 const auto state = _is_implicit ? Moose::currentState() : Moose::oldState();
172 // start by getting global fluid properties
173 const auto Tave = ((*(_T[0]))[i] + (*(_T[_n_temps - 1]))[i]) / 2;
174 const auto mu = _fp.mu_from_p_T(_Pref(qp, state), Tave);
175 const auto rhog = _fp.rho_from_p_T(_Pref(qp, state), Tave);
176 // Global rescale factor, see computeQpResidual()
177 Real L_over_A_sum = 0;
178 for (const auto j : make_range(_n_segments))
179 L_over_A_sum += (*(_lengths[j]))(qp, state) / (*(_areas[j]))(qp, state);
180 const auto inv_L_over_A_sum = 1.0 / L_over_A_sum;
181 // loop over segments
182 for (const auto j : make_range(_n_segments))
183 {
184 // Decide flow regime for friction factor
185 const auto Dh = 4.0 * (*(_areas[j]))(qp, state) / (*(_perimeters[j]))(qp, state);
186 const auto G = massFlowRate() / (*(_areas[j]))(qp, state);
187 const auto fd = computeFrictionFactor(mu, G, Dh, j);
188 // Friction
189 momentum_jacob +=
190 fd * (*(_lengths[j]))(qp, state) / Dh * G / rhog / (*(_areas[j]))(qp, state);
191 // Form losses
192 momentum_jacob += (*(_forms_losses[j]))(qp, state) * G / rhog / (*(_areas[j]))(qp, state);
193 }
194
195 return momentum_jacob * inv_L_over_A_sum;
196 }
197 else
198 {
199 mooseError("computeQpJacobian() should not be called in AD mode");
200 return 0;
201 }
202}
virtual GenericReal< is_ad > computeFrictionFactor(const GenericReal< is_ad > &mu, const GenericReal< is_ad > &G, const GenericReal< is_ad > &Dh, const unsigned int j)
virtual GenericReal< is_ad > massFlowRate() const =0

◆ computeQpResidual()

template<bool is_ad>
GenericReal< is_ad > IncompressibleMomentumSPBaseTempl< is_ad >::computeQpResidual ( )
overrideprotectedvirtual

Definition at line 120 of file IncompressibleMomentumSPBase.C.

121{
122 GenericReal<is_ad> momentum_residual = 0;
123 const Moose::ElemArg qp = Moose::ElemArg();
124 const int i = 0;
125 const auto state = _is_implicit ? Moose::currentState() : Moose::oldState();
126 // start by getting global fluid properties
127 const auto Tave = ((*(_T[0]))[i] + (*(_T[_n_temps - 1]))[i]) / 2;
128 const auto mu = _fp.mu_from_p_T(_Pref(qp, state), Tave);
129 const auto rhog = _fp.rho_from_p_T(_Pref(qp, state), Tave);
130 // Global rescale factor so the mass flow rate's transient term has a unit coefficient,
131 // matching the coefficient of ODETimeDerivative kernel: the path's lumped L_over_A_sum is
132 // Sum_j(length_j / area_j), so the whole equation is divided through by that single sum.
133 GenericReal<is_ad> L_over_A_sum = 0;
134 for (const auto j : make_range(_n_segments))
135 L_over_A_sum += (*(_lengths[j]))(qp, state) / (*(_areas[j]))(qp, state);
136 const auto inv_L_over_A_sum = 1.0 / L_over_A_sum;
137 // loop over segments
138 for (const auto j : make_range(_n_segments))
139 {
140 // Decide flow regime for friction factor
141 const auto Dh = 4.0 * (*(_areas[j]))(qp, state) / (*(_perimeters[j]))(qp, state);
142 const auto G = massFlowRate() / (*(_areas[j]))(qp, state);
143 const auto fd = computeFrictionFactor(mu, G, Dh, j);
144 // Friction
145 momentum_residual += fd * (*(_lengths[j]))(qp, state) / Dh * G * abs(G) / 2.0 / rhog;
146 // Form losses
147 momentum_residual += (*(_forms_losses[j]))(qp, state) * G * abs(G) / 2.0 / rhog;
148 // Gravity
149 // get local density for natural circulation aspect
150 auto rhol = _fp.rho_from_p_T(_Pref(qp, state), (*(_T[j]))[i]);
151 momentum_residual +=
152 rhol * _gravity(qp, state) * (*(_lengths[j]))(qp, state) * sin((*(_alphas[j]))(qp, state));
153 // Pump pressure
154 momentum_residual -= (*(_dPps[j]))(qp, state);
155 }
156 // Pressure drop (single path-wide unknown, applied once)
157 momentum_residual += pressureDrop();
158
159 return momentum_residual * inv_L_over_A_sum;
160}
virtual GenericReal< is_ad > pressureDrop() const =0
CTSub CT_OPERATOR_BINARY CTMul CTCompareLess CTCompareGreater CTCompareEqual _arg template * sin(_arg) *_arg.template D< dtag >()) CT_SIMPLE_UNARY_FUNCTION(tan

◆ isADObject()

template<bool is_ad>
virtual bool IncompressibleMomentumSPBaseTempl< is_ad >::isADObject ( ) const
inlineoverridevirtual

◆ massFlowRate()

template<bool is_ad>
virtual GenericReal< is_ad > IncompressibleMomentumSPBaseTempl< is_ad >::massFlowRate ( ) const
protectedpure virtual

◆ pressureDrop()

template<bool is_ad>
virtual GenericReal< is_ad > IncompressibleMomentumSPBaseTempl< is_ad >::pressureDrop ( ) const
protectedpure virtual

◆ validParams()

template<bool is_ad>
InputParameters IncompressibleMomentumSPBaseTempl< is_ad >::validParams ( )
static

Definition at line 19 of file IncompressibleMomentumSPBase.C.

20{
23 params.addClassDescription("Base class for path-integrated incompressible momentum kernels.");
24 params.addCoupledVar("temperatures",
25 {},
26 "Fluid temperature in each segment of this component. Takes a "
27 "list of scalar variable names");
28 params.addParam<bool>(
29 "is_implicit",
30 false,
31 "Whether an explicit (previous value calculation) or implicit (current value) is used");
32 params.addRequiredParam<MooseFunctorName>("reference_pressure", "system reference pressure [Pa]");
33 params.addRequiredParam<UserObjectName>("fp", "The name of the user object for fluid properties");
34 params.addParam<std::vector<MooseFunctorName>>(
35 "areas",
36 std::vector<MooseFunctorName>({}),
37 "Component flow areas per segment. Takes a vector of functors.");
38 params.addParam<std::vector<MooseFunctorName>>(
39 "perimeters",
40 std::vector<MooseFunctorName>({}),
41 "Component flow perimeters per segment. Takes a vector of functors.");
42 params.addParam<std::vector<MooseFunctorName>>(
43 "lengths",
44 std::vector<MooseFunctorName>({}),
45 "Component flow lengths per segment. Takes a vector of functors.");
46 params.addParam<std::vector<MooseFunctorName>>(
47 "alphas",
48 std::vector<MooseFunctorName>({}),
49 "Component flow angles per segment with respect to horizontal (-pi/2 downward to pi/2 "
50 "upward). Takes a vector of functors.");
51 params.addParam<std::vector<MooseFunctorName>>(
52 "forms_losses",
53 std::vector<MooseFunctorName>({}),
54 "Forms loss coefficients per segment. Takes a vector of functors.");
55 params.addParam<std::vector<MooseFunctorName>>(
56 "pump_pressures",
57 std::vector<MooseFunctorName>({}),
58 "Pump pressure gains per segment [Pa]. Takes a vector of functors.");
59 params.addParam<std::vector<MooseFunctorName>>(
60 "roughnesses",
61 std::vector<MooseFunctorName>({}),
62 "Component wall roughnesses per segment [m]. Takes a vector of functors.");
63 params.addParam<MooseFunctorName>(
64 "g", PhysicalConstants::acceleration_of_gravity, "Gravitational acceleration [m/s]");
65
66 return params;
67}
static InputParameters validParams()
static InputParameters validParams()
void addRequiredParam(const std::string &name, const std::string &doc_string)
void addParam(const std::string &name, const std::initializer_list< typename T::value_type > &value, const std::string &doc_string)
void addClassDescription(const std::string &doc_string)
void addCoupledVar(const std::string &name, const std::string &doc_string)
const auto acceleration_of_gravity

Referenced by CoupledPressureIncompressibleMomentumSPScalarKernelTempl< is_ad >::validParams(), and IncompressibleMomentumSPScalarKernelTempl< is_ad >::validParams().

Member Data Documentation

◆ _alphas

template<bool is_ad>
std::vector<const Moose::Functor<GenericReal<is_ad> > *> IncompressibleMomentumSPBaseTempl< is_ad >::_alphas
protected

Angle with respect to the horizontal of each segment.

Definition at line 60 of file IncompressibleMomentumSPBase.h.

Referenced by IncompressibleMomentumSPBaseTempl< is_ad >::IncompressibleMomentumSPBaseTempl().

◆ _areas

template<bool is_ad>
std::vector<const Moose::Functor<GenericReal<is_ad> > *> IncompressibleMomentumSPBaseTempl< is_ad >::_areas
protected

Flow area of each segment.

Definition at line 54 of file IncompressibleMomentumSPBase.h.

Referenced by IncompressibleMomentumSPBaseTempl< is_ad >::IncompressibleMomentumSPBaseTempl().

◆ _dPps

template<bool is_ad>
std::vector<const Moose::Functor<GenericReal<is_ad> > *> IncompressibleMomentumSPBaseTempl< is_ad >::_dPps
protected

Pump pressure gains of each segment.

Definition at line 64 of file IncompressibleMomentumSPBase.h.

Referenced by IncompressibleMomentumSPBaseTempl< is_ad >::IncompressibleMomentumSPBaseTempl().

◆ _forms_losses

template<bool is_ad>
std::vector<const Moose::Functor<GenericReal<is_ad> > *> IncompressibleMomentumSPBaseTempl< is_ad >::_forms_losses
protected

Forms loss coefficients of each segment.

Definition at line 62 of file IncompressibleMomentumSPBase.h.

Referenced by IncompressibleMomentumSPBaseTempl< is_ad >::IncompressibleMomentumSPBaseTempl().

◆ _fp

template<bool is_ad>
const SinglePhaseFluidProperties& IncompressibleMomentumSPBaseTempl< is_ad >::_fp
protected

Fluid properties object.

Definition at line 50 of file IncompressibleMomentumSPBase.h.

◆ _gravity

template<bool is_ad>
const Moose::Functor<GenericReal<is_ad> >& IncompressibleMomentumSPBaseTempl< is_ad >::_gravity
protected

Gravitational acceleration in the vertical downward direction.

Definition at line 68 of file IncompressibleMomentumSPBase.h.

◆ _is_implicit

template<bool is_ad>
const bool IncompressibleMomentumSPBaseTempl< is_ad >::_is_implicit
protected

Property state integration flag.

Definition at line 46 of file IncompressibleMomentumSPBase.h.

◆ _lengths

template<bool is_ad>
std::vector<const Moose::Functor<GenericReal<is_ad> > *> IncompressibleMomentumSPBaseTempl< is_ad >::_lengths
protected

◆ _n_segments

template<bool is_ad>
const size_t IncompressibleMomentumSPBaseTempl< is_ad >::_n_segments
protected

Number of geometrically/thermally unique segments.

Definition at line 52 of file IncompressibleMomentumSPBase.h.

Referenced by IncompressibleMomentumSPBaseTempl< is_ad >::IncompressibleMomentumSPBaseTempl().

◆ _n_temps

template<bool is_ad>
const size_t IncompressibleMomentumSPBaseTempl< is_ad >::_n_temps
protected

Number of coupled temperature variables.

Definition at line 42 of file IncompressibleMomentumSPBase.h.

Referenced by IncompressibleMomentumSPBaseTempl< is_ad >::IncompressibleMomentumSPBaseTempl().

◆ _perimeters

template<bool is_ad>
std::vector<const Moose::Functor<GenericReal<is_ad> > *> IncompressibleMomentumSPBaseTempl< is_ad >::_perimeters
protected

Wetted perimeter of each segment.

Definition at line 56 of file IncompressibleMomentumSPBase.h.

Referenced by IncompressibleMomentumSPBaseTempl< is_ad >::IncompressibleMomentumSPBaseTempl().

◆ _Pref

template<bool is_ad>
const Moose::Functor<GenericReal<is_ad> >& IncompressibleMomentumSPBaseTempl< is_ad >::_Pref
protected

System reference pressure.

Definition at line 48 of file IncompressibleMomentumSPBase.h.

◆ _roughnesses

template<bool is_ad>
std::vector<const Moose::Functor<GenericReal<is_ad> > *> IncompressibleMomentumSPBaseTempl< is_ad >::_roughnesses
protected

Wall roughness of each segment.

Definition at line 66 of file IncompressibleMomentumSPBase.h.

Referenced by IncompressibleMomentumSPBaseTempl< is_ad >::IncompressibleMomentumSPBaseTempl().

◆ _T

template<bool is_ad>
std::vector<const VariableValue *> IncompressibleMomentumSPBaseTempl< is_ad >::_T
protected

Coupled temperature variables.

Definition at line 44 of file IncompressibleMomentumSPBase.h.

Referenced by IncompressibleMomentumSPBaseTempl< is_ad >::IncompressibleMomentumSPBaseTempl().


The documentation for this class was generated from the following files: