https://mooseframework.inl.gov
Loading...
Searching...
No Matches
Namespaces | Enumerations | Functions | Variables
NS Namespace Reference

Namespaces

namespace  FV
 
namespace  phase
 
namespace  settings
 
namespace  splitting
 

Enumerations

enum class  WallTreatmentEnum { EQ_NEWTON = 0 , EQ_INCREMENTAL = 1 , EQ_LINEARIZED = 2 , NEQ = 3 }
 Wall treatment options. More...
 
enum  CHTSide { SOLID = 0 , FLUID = 1 }
 CHT side options, we want to make sure these can be used as integers so we are avoiding the enum class here. More...
 
enum class  MomentumInletTypes { FIXED_VELOCITY = 0 , FLUX_VELOCITY = 1 , FLUX_MASS = 2 , FIXED_PRESSURE = 3 }
 
enum class  ViscousForm : int { Traction , Laplace }
 

Functions

int delta (unsigned int i, unsigned int j)
 Delta function, which returns zero if $i\ne j$ and unity if $i=j$.
 
int computeSign (const Real &a)
 Sign function, returns $+1$ if $a$ is positive and $-1$ if $a$ is negative.
 
unsigned int getIndex (const Real &p, const std::vector< Real > &bounds)
 Determines the index $i$ in a sorted array such that the input point is within the $i$-th and $i+1$-th entries in the array.
 
Real reynoldsPropertyDerivative (const Real &Re, const Real &rho, const Real &mu, const Real &drho, const Real &dmu)
 Computes the derivative of the Reynolds number, $Re\equiv \frac{\rho Vd}{\mu}$, with respect to an arbitrary variable $\zeta$, where it is assumed that only the material properties of density $\rho$ and dynamic viscosity $\mu$ have nonzero derivatives with respect to $\zeta$.
 
Real prandtlPropertyDerivative (const Real &mu, const Real &cp, const Real &k, const Real &dmu, const Real &dcp, const Real &dk)
 Computes the derivative of the Prandtl number, $Pr\equiv\frac{\mu C_p}{k}$, with respect to an arbitrary variale $\zeta$.
 
template<typename T >
T findUStar (const T &mu, const T &rho, const T &u, Real dist)
 Finds the friction velocity using standard velocity wall functions formulation.
 
template<typename T >
T findYplusThermal (const T &Pr, const T &Pr_t)
 Finds the thermal non-dimensional wall distance at which the laminar and logarithmic temperature wall functions intersect.
 
template<typename T >
T findyPlus (const T &mu, const T &rho, const T &u, Real dist)
 Finds the non-dimensional wall distance normalized with the friction velocity Implements a fixed-point iteration in the wall function to get this velocity.
 
template<typename T >
T computeSpeed (const libMesh::VectorValue< T > &velocity)
 Compute the speed (velocity norm) given the supplied velocity.
 
template<typename T >
T computeShearStrainRateNormSquared (const Moose::Functor< T > &u, const Moose::Functor< T > *v, const Moose::Functor< T > *w, const Moose::ElemArg &elem_arg, const Moose::StateArg &state, const Moose::CoordinateSystemType coord_sys=Moose::COORD_XYZ, const unsigned int rz_radial_coord=0)
 Utility function to compute the shear strain rate.
 
void getWallBoundedElements (const std::vector< BoundaryName > &wall_boundary_name, const FEProblemBase &fe_problem, const SubProblem &subproblem, const std::set< SubdomainID > &block_ids, std::unordered_set< const Elem * > &wall_bounded)
 Map marking wall bounded elements The map passed in wall_bounded_map gets cleared and re-populated.
 
void getWallDistance (const std::vector< BoundaryName > &wall_boundary_name, const FEProblemBase &fe_problem, const SubProblem &subproblem, const std::set< SubdomainID > &block_ids, std::map< const Elem *, std::vector< Real > > &dist_map)
 Map storing wall ditance for near-wall marked elements The map passed in dist_map gets cleared and re-populated.
 
void getElementFaceArgs (const std::vector< BoundaryName > &wall_boundary_name, const FEProblemBase &fe_problem, const SubProblem &subproblem, const std::set< SubdomainID > &block_ids, std::map< const Elem *, std::vector< const FaceInfo * > > &face_info_map)
 Map storing face arguments to wall bounded faces The map passed in face_info_map gets cleared and re-populated.
 
template<typename T , typename VectorType , typename PointType >
T divergence (const TensorValue< T > &gradient, const VectorType &value, const PointType &point, const Moose::CoordinateSystemType &coord_sys, const unsigned int rz_radial_coord)
 Compute the divergence of a vector given its matrix of derivatives.
 
template<typename T1 , typename T2 , typename T3 >
auto wallHeatTransferCoefficient (const T1 &Nu, const T2 &k, const T3 &D_h)
 Compute wall heat transfer coefficient.
 
template Real findUStar< Real > (const Real &mu, const Real &rho, const Real &u, const Real dist)
 
template ADReal findUStar< ADReal > (const ADReal &mu, const ADReal &rho, const ADReal &u, const Real dist)
 
template Real findyPlus< Real > (const Real &mu, const Real &rho, const Real &u, Real dist)
 
template ADReal findyPlus< ADReal > (const ADReal &mu, const ADReal &rho, const ADReal &u, Real dist)
 
template Real computeSpeed< Real > (const libMesh::VectorValue< Real > &velocity)
 
template ADReal computeSpeed< ADReal > (const libMesh::VectorValue< ADReal > &velocity)
 
template Real computeShearStrainRateNormSquared< Real > (const Moose::Functor< Real > &u, const Moose::Functor< Real > *v, const Moose::Functor< Real > *w, const Moose::ElemArg &elem_arg, const Moose::StateArg &state, const Moose::CoordinateSystemType coord_sys, const unsigned int rz_radial_coord)
 
template ADReal computeShearStrainRateNormSquared< ADReal > (const Moose::Functor< ADReal > &u, const Moose::Functor< ADReal > *v, const Moose::Functor< ADReal > *w, const Moose::ElemArg &elem_arg, const Moose::StateArg &state, const Moose::CoordinateSystemType coord_sys, const unsigned int rz_radial_coord)
 
std::string grad (const std::string &var)
 
std::string time_deriv (const std::string &var)
 
MooseEnum fvAdvectedInterpolationMethods ()
 Enum of the advected interpolation methods supported by FVInterpolationMethod objects.
 
std::string fvAdvectedInterpolationMethodType (const MooseEnum &interpolation_method)
 Gets the FVInterpolationMethod object type for an advected interpolation method.
 
MooseEnum fvFaceInterpolationMethods ()
 Enum of the interpolation methods supported by FVInterpolationMethod objects.
 
std::string fvFaceInterpolationMethodType (const MooseEnum &interpolation_method)
 Gets the FVInterpolationMethod object type for a face interpolation method name.
 
void addFVFaceInterpolationMethod (FEProblemBase &problem, Factory &factory, const MooseEnum &interpolation_method)
 Add the FVInterpolationMethod object for a face interpolation method name, if absent.
 
template<class T >
std::tuple< bool, T, T > isPorosityJumpFace (const Moose::FunctorBase< T > &porosity, const FaceInfo &fi, const Moose::StateArg &time)
 Checks to see whether the porosity value jumps from one side to the other of the provided face.
 
template std::tuple< bool, Real, Real > isPorosityJumpFace< Real > (const Moose::FunctorBase< Real > &porosity, const FaceInfo &fi, const Moose::StateArg &time)
 
template std::tuple< bool, ADReal, ADReal > isPorosityJumpFace< ADReal > (const Moose::FunctorBase< ADReal > &porosity, const FaceInfo &fi, const Moose::StateArg &time)
 
template Real findYplusThermal< Real > (const Real &Pr, const Real &Pr_t)
 

Variables

static const std::string directions [3] = {"x", "y", "z"}
 
static const std::string pebble_diameter = "pebble_diameter"
 
static const std::string infinite_porosity = "infinite_porosity"
 
static const std::string axis = "axis"
 
static const std::string center = "center"
 
static const std::string wall_porosity = "wall_porosity"
 
static const std::string wall_distance = "wall_distance"
 
static const std::string density = "rho"
 
static const std::string superficial_density = "superficial_rho"
 
static const std::string momentum_x = "rhou"
 
static const std::string momentum_y = "rhov"
 
static const std::string momentum_z = "rhow"
 
static const std::string momentum_vector [3] = {momentum_x, momentum_y, momentum_z}
 
static const std::string superficial_momentum_x = "superficial_rhou"
 
static const std::string superficial_momentum_y = "superficial_rhov"
 
static const std::string superficial_momentum_z = "superficial_rhow"
 
static const std::string superficial_momentum_vector [3]
 
static const std::string velocity = "velocity"
 
static const std::string velocity_x = "vel_x"
 
static const std::string velocity_y = "vel_y"
 
static const std::string velocity_z = "vel_z"
 
const std::string velocity_vector [3] = {velocity_x, velocity_y, velocity_z}
 
static const std::string superficial_velocity_x = "superficial_vel_x"
 
static const std::string superficial_velocity_y = "superficial_vel_y"
 
static const std::string superficial_velocity_z = "superficial_vel_z"
 
static const std::string superficial_velocity = "superficial_velocity"
 
static const std::string superficial_velocity_vector [3]
 
static const std::string pressure = "pressure"
 
static const std::string total_pressure = "pressure_total"
 
static const std::string temperature = "temperature"
 
static const std::string internal_energy = "internal_energy"
 
static const std::string specific_internal_energy = "e"
 
static const std::string specific_total_energy = "et"
 
static const std::string internal_energy_density = "rho_e"
 
static const std::string total_energy_density = "rho_et"
 
static const std::string superficial_total_energy_density = "superficial_rho_et"
 
static const std::string specific_enthalpy = "h"
 
static const std::string specific_total_enthalpy = "ht"
 
static const std::string enthalpy_density = "rho_h"
 
static const std::string total_enthalpy_density = "rho_ht"
 
static const std::string superficial_total_enthalpy_density = "superficial_rho_ht"
 
static const std::string mixing_length = "mixing_length"
 
static const std::string wall_shear_stress = "wall_shear_stress"
 
static const std::string wall_yplus = "wall_yplus"
 
static const std::string eddy_viscosity = "eddy_viscosity"
 
static const std::string total_viscosity = "total_viscosity"
 
static const std::string mach_number = "Mach"
 
static const std::string specific_volume = "specific_volume"
 
static const std::string momentum = "momentum"
 
static const std::string v = "v"
 
static const std::string acceleration = "acceleration"
 
static const std::string fluid = "fp"
 
static const std::string porosity = "porosity"
 
static const std::string smoothed_porosity = "smoothed_porosity"
 
static const std::string T_fluid = "T_fluid"
 
static const std::string T_solid = "T_solid"
 
static const std::string heat_source = "heat_source"
 
static const std::string cL = "Darcy_coefficient"
 
static const std::string cQ = "Forchheimer_coefficient"
 
static const std::string alpha_boussinesq = "alpha_b"
 
static const std::string drhos_dTs = "drhos_dTs"
 
static const std::string dks_dTs = "dks_dTs"
 
static const std::string kappa = "kappa"
 
static const std::string kappa_s = "kappa_s"
 
static const std::string rho_s = "rho_s"
 
static const std::string cp_s = "cp_s"
 
static const std::string k_s = "k_s"
 
static const std::string cp = "cp"
 
static const std::string cv = "cv"
 
static const std::string mu = "mu"
 
static const std::string mu_t = "mu_t"
 
static const std::string mu_t_passive_scalar = "mu_t_passive_scalar"
 
static const std::string mu_eff = "mu_eff"
 
static const std::string k = "k"
 
static const std::string k_t = "k_t"
 
static const std::string k_eff_t = "k_eff_t"
 
static const std::string thermal_diffusivity = "thermal_diffusivity"
 
static const std::string alpha = "alpha"
 
static const std::string alpha_wall = "alpha_wall"
 
static const std::string solid = "solid"
 
static const std::string Prandtl = "Pr"
 
static const std::string turbulent_Prandtl = "Pr_t"
 
static const std::string Reynolds = "Re"
 
static const std::string Reynolds_hydraulic = "Re_h"
 
static const std::string Reynolds_interstitial = "Re_i"
 
static const std::string c = "c"
 
static const std::string speed = "speed"
 
static const std::string sound_speed = "sound_speed"
 
static const std::string latent_heat = "latent_heat"
 
static const std::string T_liquidus = "T_liquidus"
 
static const std::string T_solidus = "T_solidus"
 
static const std::string alpha_exchange = "alpha_exchange"
 
static const std::string component = "component"
 
static const std::string source_scaling = "source_scaling"
 
static const std::string matrix_tau = "matrix_tau"
 
static const std::string vector_tau = "vector_tau"
 
static const std::string scalar_tau = "scalar_tau"
 
static const std::string diagonal_tau = "diagonal_tau"
 
static const std::string A = "A"
 
static const std::string R = "R"
 
static const std::string S = "S"
 
static const std::string dS_dTs = "dS_dTs"
 
static const std::string F = "F"
 
static const std::string G = "G"
 
static const std::string dUdt = "dUdt"
 
static const std::string C = "C"
 
static const std::string Z = "Z"
 
static const std::string K = "K"
 
static const std::string mass_flux = "mass_flux"
 
static const std::string TKE = "tke"
 
static const std::string TKED = "epsilon"
 
static constexpr Real von_karman_constant = 0.4187
 
static constexpr Real E_turb_constant = 9.793
 
static constexpr Real mu_t_low_limit = 1.0e-8
 
static constexpr Real epsilon_low_limit = 1.0e-8
 
static constexpr Real min_y_plus = 1e-10
 

Enumeration Type Documentation

◆ CHTSide

CHT side options, we want to make sure these can be used as integers so we are avoiding the enum class here.

Enumerator
SOLID 
FLUID 

Definition at line 199 of file NS.h.

200{
201 SOLID = 0,
202 FLUID = 1
203};
@ SOLID
Definition NS.h:201
@ FLUID
Definition NS.h:202

◆ MomentumInletTypes

enum class NS::MomentumInletTypes
strong
Enumerator
FIXED_VELOCITY 
FLUX_VELOCITY 
FLUX_MASS 
FIXED_PRESSURE 

Definition at line 216 of file NS.h.

◆ ViscousForm

enum class NS::ViscousForm : int
strong
Enumerator
Traction 
Laplace 

Definition at line 20 of file NSEnums.h.

21{
23 Laplace
24};

◆ WallTreatmentEnum

enum class NS::WallTreatmentEnum
strong

Wall treatment options.

Enumerator
EQ_NEWTON 
EQ_INCREMENTAL 
EQ_LINEARIZED 
NEQ 

Definition at line 187 of file NS.h.

Function Documentation

◆ addFVFaceInterpolationMethod()

void NS::addFVFaceInterpolationMethod ( FEProblemBase &  problem,
Factory &  factory,
const MooseEnum &  interpolation_method 
)

Add the FVInterpolationMethod object for a face interpolation method name, if absent.

Parameters
problemThe problem to which the interpolation method should be added
factoryThe factory used to build interpolation method parameters
interpolation_methodThe interpolation method enum to add

The method name must be supported by fvFaceInterpolationMethodType().

Definition at line 103 of file NSFVUtils.C.

106{
107 const std::string method_name = interpolation_method;
108 if (problem.hasFVInterpolationMethod(method_name))
109 return;
110
111 const auto method_type = fvFaceInterpolationMethodType(interpolation_method);
112
113 InputParameters params = factory.getValidParams(method_type);
114 problem.addFVInterpolationMethod(method_type, method_name, params);
115}
bool hasFVInterpolationMethod(const InterpolationMethodName &name) const
virtual void addFVInterpolationMethod(const std::string &method_type, const std::string &name, InputParameters &parameters)
InputParameters getValidParams(const std::string &name) const
std::string fvFaceInterpolationMethodType(const MooseEnum &interpolation_method)
Gets the FVInterpolationMethod object type for a face interpolation method name.
Definition NSFVUtils.C:91

◆ computeShearStrainRateNormSquared()

template<typename T >
T NS::computeShearStrainRateNormSquared ( const Moose::Functor< T > &  u,
const Moose::Functor< T > *  v,
const Moose::Functor< T > *  w,
const Moose::ElemArg &  elem_arg,
const Moose::StateArg &  state,
const Moose::CoordinateSystemType  coord_sys = Moose::COORD_XYZ,
const unsigned int  rz_radial_coord = 0 
)

Utility function to compute the shear strain rate.

Definition at line 249 of file NavierStokesMethods.C.

256{
257 const auto & grad_u = u.gradient(elem_arg, state);
258 const T Sij_xx = 2.0 * grad_u(0);
259 T Sij_xy = 0.0;
260 T Sij_xz = 0.0;
261 T Sij_yy = 0.0;
262 T Sij_yz = 0.0;
263 T Sij_zz = 0.0;
264
265 const T grad_xx = grad_u(0);
266 T grad_xy = 0.0;
267 T grad_xz = 0.0;
268 T grad_yx = 0.0;
269 T grad_yy = 0.0;
270 T grad_yz = 0.0;
271 T grad_zx = 0.0;
272 T grad_zy = 0.0;
273 T grad_zz = 0.0;
274
275 T trace = Sij_xx / 3.0;
276
277 if (v) // dim >= 2
278 {
279 const auto & grad_v = (*v).gradient(elem_arg, state);
280 Sij_xy = grad_u(1) + grad_v(0);
281 Sij_yy = 2.0 * grad_v(1);
282
283 grad_xy = grad_u(1);
284 grad_yx = grad_v(0);
285 grad_yy = grad_v(1);
286
287 trace += Sij_yy / 3.0;
288
289 if (w) // dim >= 3
290 {
291 const auto & grad_w = (*w).gradient(elem_arg, state);
292
293 Sij_xz = grad_u(2) + grad_w(0);
294 Sij_yz = grad_v(2) + grad_w(1);
295 Sij_zz = 2.0 * grad_w(2);
296
297 grad_xz = grad_u(2);
298 grad_yz = grad_v(2);
299 grad_zx = grad_w(0);
300 grad_zy = grad_w(1);
301 grad_zz = grad_w(2);
302
303 trace += Sij_zz / 3.0;
304 }
305 }
306
307 if (coord_sys == Moose::COORD_RZ)
308 {
309 mooseAssert(elem_arg.elem, "ElemArg must reference an element for cylindrical calculations.");
310 const auto radius = elem_arg.elem->vertex_average()(rz_radial_coord);
311 mooseAssert(radius > 0.0, "Axisymmetric radial coordinate should be positive.");
312
313 const Moose::Functor<T> * radial_functor = nullptr;
314 switch (rz_radial_coord)
315 {
316 case 0:
317 radial_functor = &u;
318 break;
319 case 1:
320 radial_functor = v;
321 break;
322 default:
323 mooseError("Unsupported axisymmetric radial coordinate index: ", rz_radial_coord);
324 }
325
326 mooseAssert(radial_functor,
327 "The functor corresponding to the axisymmetric radial velocity must be provided.");
328 const T radial_velocity = (*radial_functor)(elem_arg, state);
329 Sij_zz = 2.0 * radial_velocity / radius;
330 grad_zz = radial_velocity / radius;
331 trace += Sij_zz / 3.0;
332 }
333
334 // Note that in RZ we can only do X or Y axis. However, due to the hoop stress the
335 // Z direction (polar coordinate) tensors are not 0 in this case.
336 return (Sij_xx - trace) * grad_xx + Sij_xy * grad_xy + Sij_xz * grad_xz + Sij_xy * grad_yx +
337 (Sij_yy - trace) * grad_yy + Sij_yz * grad_yz + Sij_xz * grad_zx + Sij_yz * grad_zy +
338 (Sij_zz - trace) * grad_zz;
339}
const double T
const double v
void mooseError(Args &&... args)
GradientType gradient(const ElemArg &elem, const StateArg &state) const
Point vertex_average() const
Real trace(const RealTensor &A, const unsigned int &dim)
const libMesh::Elem * elem
const Real radius

◆ computeShearStrainRateNormSquared< ADReal >()

template ADReal NS::computeShearStrainRateNormSquared< ADReal > ( const Moose::Functor< ADReal > &  u,
const Moose::Functor< ADReal > *  v,
const Moose::Functor< ADReal > *  w,
const Moose::ElemArg &  elem_arg,
const Moose::StateArg &  state,
const Moose::CoordinateSystemType  coord_sys,
const unsigned int  rz_radial_coord 
)
extern

◆ computeShearStrainRateNormSquared< Real >()

template Real NS::computeShearStrainRateNormSquared< Real > ( const Moose::Functor< Real > &  u,
const Moose::Functor< Real > *  v,
const Moose::Functor< Real > *  w,
const Moose::ElemArg &  elem_arg,
const Moose::StateArg &  state,
const Moose::CoordinateSystemType  coord_sys,
const unsigned int  rz_radial_coord 
)
extern

◆ computeSign()

int NS::computeSign ( const Real &  a)

Sign function, returns $+1$ if $a$ is positive and $-1$ if $a$ is negative.

Parameters
[in]anumber
Returns
the sign of the input

Definition at line 27 of file NavierStokesMethods.C.

28{
29 return a > 0 ? 1 : (a < 0 ? -1 : 0);
30}

◆ computeSpeed()

template<typename T >
T NS::computeSpeed ( const libMesh::VectorValue< T > &  velocity)

Compute the speed (velocity norm) given the supplied velocity.

Definition at line 236 of file NavierStokesMethods.C.

237{
238 // if the velocity is zero, then the norm function call fails because AD tries to calculate the
239 // derivatives which causes a divide by zero - because d/dx(sqrt(f(x))) = 1/2/sqrt(f(x))*df/dx.
240 // So add a bit of noise (based on hitchhiker's guide to the galaxy's meaning of life number) to
241 // avoid this failure mode.
242 return isZero(velocity) ? 1e-42 : velocity.norm();
243}

Referenced by LinearFVMomentumFriction::computeFrictionCoefficient().

◆ computeSpeed< ADReal >()

template ADReal NS::computeSpeed< ADReal > ( const libMesh::VectorValue< ADReal > &  velocity)
extern

◆ computeSpeed< Real >()

template Real NS::computeSpeed< Real > ( const libMesh::VectorValue< Real > &  velocity)
extern

◆ delta()

int NS::delta ( unsigned int  i,
unsigned int  j 
)

Delta function, which returns zero if $i\ne j$ and unity if $i=j$.

Parameters
[in]iinteger number
[in]jinteger number
Returns
delta function

Definition at line 18 of file NavierStokesMethods.C.

19{
20 if (i == j)
21 return 1;
22 else
23 return 0;
24}

◆ divergence()

template<typename T , typename VectorType , typename PointType >
T NS::divergence ( const TensorValue< T > &  gradient,
const VectorType &  value,
const PointType &  point,
const Moose::CoordinateSystemType &  coord_sys,
const unsigned int  rz_radial_coord 
)

Compute the divergence of a vector given its matrix of derivatives.

Definition at line 183 of file NavierStokesMethods.h.

188{
189 mooseAssert((coord_sys == Moose::COORD_XYZ) || (coord_sys == Moose::COORD_RZ),
190 "This function only supports calculations of divergence in Cartesian and "
191 "axisymmetric coordinate systems");
192 auto div = gradient.tr();
193 if (coord_sys == Moose::COORD_RZ)
194 // u_r / r
195 div += value(rz_radial_coord) / point(rz_radial_coord);
196 return div;
197}

Referenced by INSADMaterial::computeQpProperties(), INSADMomentumGradDiv::computeQpResidual(), and INSFVMomentumDiffusion::computeStrongResidual().

◆ findUStar()

template<typename T >
T NS::findUStar ( const T &  mu,
const T &  rho,
const T &  u,
Real  dist 
)

Finds the friction velocity using standard velocity wall functions formulation.

It is used in WallFunctionWallShearStressAux, WallFunctionYPlusAux and INSFVWallFunctionBC.

Parameters
muthe dynamic viscosity
rhothe density
uthe centroid velocity
distthe element centroid distance to the wall
Returns
the velocity at the wall

This is important to reduce the number of nonlinear iterations

This is important to reduce the number of nonlinear iterations

Definition at line 65 of file NavierStokesMethods.C.

66{
67 using std::log, std::sqrt, std::pow, std::max, std::abs;
68
69 // usually takes about 3-4 iterations
70 constexpr int MAX_ITERS{50};
71 constexpr Real REL_TOLERANCE{1e-6};
72
73 // Check inputs
74 mooseAssert(mu > 0, "Need a strictly positive viscosity");
75 mooseAssert(rho > 0, "Need a strictly positive density");
76 mooseAssert(u > 0, "Need a strictly positive velocity");
77 mooseAssert(dist > 0, "Need a strictly positive wall distance");
78
79 const T nu = mu / rho;
80
81 // Wall-function linearized guess
82 const Real a_c = 1 / NS::von_karman_constant;
83 const T b_c = 1.0 / NS::von_karman_constant * (log(NS::E_turb_constant * dist / mu) + 1.0);
84 const T & c_c = u;
85
87 T u_star = max(1e-20, (-b_c + sqrt(pow(b_c, 2) + 4.0 * a_c * c_c)) / (2.0 * a_c));
88
89 // Newton-Raphson method to solve for u_star (friction velocity).
90 for (int i = 0; i < MAX_ITERS; ++i)
91 {
92 T residual =
93 u_star / NS::von_karman_constant * log(NS::E_turb_constant * u_star * dist / nu) - u;
94 T deriv = (1.0 + log(NS::E_turb_constant * u_star * dist / nu)) / NS::von_karman_constant;
95 T new_u_star = max(1e-20, u_star - residual / deriv);
96
97 Real rel_err =
98 abs(MetaPhysicL::raw_value(new_u_star - u_star) / MetaPhysicL::raw_value(new_u_star));
99
100 u_star = new_u_star;
101 if (rel_err < REL_TOLERANCE)
102 return u_star;
103 }
104
105 mooseException("Could not find the wall friction velocity (mu: ",
106 mu,
107 " rho: ",
108 rho,
109 " velocity: ",
110 u,
111 " wall distance: ",
112 dist,
113 ")");
114}
ExpressionBuilder::EBTerm pow(const ExpressionBuilder::EBTerm &left, T exponent)
const double mu
const double rho
auto max(const L &left, const R &right)
auto log(const T &)
CTSub CT_OPERATOR_BINARY CTMul CTCompareLess CTCompareGreater CTCompareEqual _arg template * sqrt(_arg)) *_arg.template D< dtag >()) CT_SIMPLE_UNARY_FUNCTION(tanh
MetaPhysicL::DualNumber< V, D, asd > abs(const MetaPhysicL::DualNumber< V, D, asd > &a)
auto raw_value(const Eigen::Map< T > &in)
static constexpr Real von_karman_constant
Definition NS.h:206
static constexpr Real E_turb_constant
Definition NS.h:207
Real deriv(unsigned n, unsigned alpha, unsigned beta, Real x)
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real

◆ findUStar< ADReal >()

template ADReal NS::findUStar< ADReal > ( const ADReal &  mu,
const ADReal &  rho,
const ADReal &  u,
const Real  dist 
)
extern

◆ findUStar< Real >()

template Real NS::findUStar< Real > ( const Real &  mu,
const Real &  rho,
const Real &  u,
const Real  dist 
)
extern

◆ findyPlus()

template<typename T >
T NS::findyPlus ( const T &  mu,
const T &  rho,
const T &  u,
Real  dist 
)

Finds the non-dimensional wall distance normalized with the friction velocity Implements a fixed-point iteration in the wall function to get this velocity.

Parameters
muthe dynamic viscosity
rhothe density
uthe centroid velocity
distthe element centroid distance to the wall
Returns
the non-dimensional wall distance

Definition at line 121 of file NavierStokesMethods.C.

122{
123 using std::max, std::log, std::abs;
124
125 // Fixed point iteration method to find y_plus
126 // It should take 3 or 4 iterations
127 constexpr int MAX_ITERS{10};
128 constexpr Real REL_TOLERANCE{1e-2};
129
130 // Check inputs
131 mooseAssert(mu > 0, "Need a strictly positive viscosity");
132 mooseAssert(u > 0, "Need a strictly positive velocity");
133 mooseAssert(rho > 0, "Need a strictly positive density");
134 mooseAssert(dist > 0, "Need a strictly positive wall distance");
135
136 Real yPlusLast = 0.0;
137 T yPlus = dist * u * rho / mu; // Assign initial value to laminar
138 const Real rev_yPlusLam = 1.0 / MetaPhysicL::raw_value(yPlus);
139 const T kappa_time_Re = NS::von_karman_constant * u * dist / (mu / rho);
140 unsigned int iters = 0;
141
142 do
143 {
144 yPlusLast = MetaPhysicL::raw_value(yPlus);
145 // Negative y plus does not make sense
146 yPlus = max(NS::min_y_plus, yPlus);
147 yPlus = (kappa_time_Re + yPlus) / (1.0 + log(NS::E_turb_constant * yPlus));
148 } while (abs(rev_yPlusLam * (MetaPhysicL::raw_value(yPlus) - yPlusLast)) > REL_TOLERANCE &&
149 ++iters < MAX_ITERS);
150
151 return max(NS::min_y_plus, yPlus);
152}
static constexpr Real min_y_plus
Definition NS.h:213

◆ findyPlus< ADReal >()

template ADReal NS::findyPlus< ADReal > ( const ADReal &  mu,
const ADReal &  rho,
const ADReal &  u,
Real  dist 
)
extern

◆ findyPlus< Real >()

template Real NS::findyPlus< Real > ( const Real &  mu,
const Real &  rho,
const Real &  u,
Real  dist 
)
extern

◆ findYplusThermal()

template<typename T >
T NS::findYplusThermal ( const T &  Pr,
const T &  Pr_t 
)

Finds the thermal non-dimensional wall distance at which the laminar and logarithmic temperature wall functions intersect.

If multiple intersections exist, this is intended to recover the largest one.

Parameters
Prthe molecular Prandtl number
Pr_tthe turbulent Prandtl number
Returns
the thermal matching non-dimensional wall distance

Definition at line 160 of file NavierStokesMethods.C.

161{
162 using std::abs, std::exp, std::log, std::max, std::pow;
163
164 constexpr int MAX_ITERS{35};
165 constexpr Real REL_TOLERANCE{1e-3};
166 constexpr Real DERIV_TOLERANCE{1e-12};
167
168 mooseAssert(Pr > 0, "Need a strictly positive Prandtl number");
169 mooseAssert(Pr_t > 0, "Need a strictly positive turbulent Prandtl number");
170
171 const auto Pr_ratio = Pr / Pr_t;
172
173 const auto jayatilleke_P =
174 9.24 * (pow(Pr_ratio, 0.75) - 1.0) * (1.0 + 0.28 * exp(-0.007 * Pr_ratio));
175
176 auto f = [&](const T y)
177 {
178 return Pr * y -
179 Pr_t * (1.0 / NS::von_karman_constant * log(NS::E_turb_constant * y) + jayatilleke_P);
180 };
181
182 auto df = [&](const T y) { return Pr - Pr_t * (1.0 / NS::von_karman_constant / y); };
183
184 // Location of the minimum of f(y); the larger root is to the right of this.
185 const auto y_plus_min = Pr_t / (Pr * NS::von_karman_constant);
186
187 // Start to the right of the minimum so Newton converges to the larger root.
188 auto y_plus = max(1.5 * y_plus_min, NS::min_y_plus);
189 auto y_plus_last = y_plus;
190
191 // If the minimum is above zero, no real intersection exists.
192 const auto f_min = f(y_plus_min);
193 if (f_min > 0.0)
194 return T(y_plus);
195
196 unsigned int iters = 0;
197 do
198 {
199 y_plus_last = y_plus;
200
201 const auto f_val = f(y_plus);
202 const auto df_val = df(y_plus);
203
204 // Avoid division by nearly zero derivative
205 if (abs(df_val) < DERIV_TOLERANCE)
206 mooseException("Derivative vanished while finding the thermal matching non-dimensional wall "
207 "distance (Pr: ",
208 Pr,
209 " Pr_t: ",
210 Pr_t,
211 ")");
212
213 auto y_new = y_plus - f_val / df_val;
214
215 // Keep Newton on the right branch so we get the largest root
216 if (y_new <= y_plus_min)
217 y_new = 0.5 * (y_plus + y_plus_min);
218
219 y_plus = max(y_new, NS::min_y_plus);
220 } while (abs((y_plus - y_plus_last) / y_plus_last) > REL_TOLERANCE && ++iters < MAX_ITERS);
221
222 if (iters >= MAX_ITERS && abs(f(y_plus)) > REL_TOLERANCE * Pr_t)
223 mooseException("Could not find the thermal matching non-dimensional wall distance (Pr: ",
224 Pr,
225 " Pr_t: ",
226 Pr_t,
227 ")");
228
229 return T(max(y_plus, NS::min_y_plus));
230}
Real f(Real x)
Test function for Brents method.
const std::vector< double > y
auto exp(const T &)

◆ findYplusThermal< Real >()

template Real NS::findYplusThermal< Real > ( const Real &  Pr,
const Real &  Pr_t 
)

◆ fvAdvectedInterpolationMethods()

MooseEnum NS::fvAdvectedInterpolationMethods ( )

Enum of the advected interpolation methods supported by FVInterpolationMethod objects.

Definition at line 61 of file NSFVUtils.C.

62{
63 return MooseEnum("average upwind vanLeer min_mod venkatakrishnan", "upwind");
64}

Referenced by WCNSFVTurbulencePhysicsBase::validParams(), WCNSLinearFVFlowPhysics::validParams(), and WCNSLinearFVScalarTransportPhysics::validParams().

◆ fvAdvectedInterpolationMethodType()

std::string NS::fvAdvectedInterpolationMethodType ( const MooseEnum &  interpolation_method)

Gets the FVInterpolationMethod object type for an advected interpolation method.

Parameters
interpolation_methodThe interpolation method enum to query

Errors when no FVInterpolationMethod equivalent is supported.

Definition at line 67 of file NSFVUtils.C.

68{
69 const std::string method_name = interpolation_method;
70 if (interpolation_method == "average")
71 return "FVGeometricAverage";
72 if (interpolation_method == "upwind")
73 return "FVAdvectedUpwind";
74 if (interpolation_method == "vanLeer")
75 return "FVAdvectedVanLeerWeightBased";
76 if (interpolation_method == "min_mod")
77 return "FVAdvectedMinmodWeightBased";
78 if (interpolation_method == "venkatakrishnan")
79 return "FVAdvectedMUSCLDeferredCorrection";
80
81 mooseError("Unsupported linear FV advected interpolation method '", method_name, "'.");
82}

Referenced by NavierStokesPhysicsBase::addFVAdvectedInterpolationMethod().

◆ fvFaceInterpolationMethods()

MooseEnum NS::fvFaceInterpolationMethods ( )

Enum of the interpolation methods supported by FVInterpolationMethod objects.

Definition at line 85 of file NSFVUtils.C.

86{
87 return MooseEnum("average harmonic");
88}

Referenced by WCNSLinearFVFlowPhysics::validParams().

◆ fvFaceInterpolationMethodType()

std::string NS::fvFaceInterpolationMethodType ( const MooseEnum &  interpolation_method)

Gets the FVInterpolationMethod object type for a face interpolation method name.

Parameters
interpolation_methodThe interpolation method enum to query

Errors when no FVInterpolationMethod equivalent is supported.

Definition at line 91 of file NSFVUtils.C.

92{
93 const std::string method_name = interpolation_method;
94 if (interpolation_method == "average")
95 return "FVGeometricAverage";
96 if (interpolation_method == "harmonic")
97 return "FVHarmonicAverage";
98
99 mooseError("Unsupported linear FV face interpolation method '", method_name, "'.");
100}

Referenced by addFVFaceInterpolationMethod().

◆ getElementFaceArgs()

void NS::getElementFaceArgs ( const std::vector< BoundaryName > &  wall_boundary_name,
const FEProblemBase &  fe_problem,
const SubProblem &  subproblem,
const std::set< SubdomainID > &  block_ids,
std::map< const Elem *, std::vector< const FaceInfo * > > &  face_info_map 
)

Map storing face arguments to wall bounded faces The map passed in face_info_map gets cleared and re-populated.

Face arguments to wall-bounded faces for wall treatment.

Definition at line 491 of file NavierStokesMethods.C.

496{
497 face_info_map.clear();
498 const auto wall_boundary_ids = subproblem.mesh().getBoundaryIDs(wall_boundary_name);
499
500 for (const auto & elem : fe_problem.mesh().getMesh().active_local_element_ptr_range())
501 if (block_ids.find(elem->subdomain_id()) != block_ids.end())
502 for (const auto i_side : elem->side_index_range())
503 {
504 // This is needed because in some cases the internal boundary is registered
505 // to the neighbor element
506 std::set<BoundaryID> combined_side_bds;
507 const auto & side_bnds = subproblem.mesh().getBoundaryIDs(elem, i_side);
508 combined_side_bds.insert(side_bnds.begin(), side_bnds.end());
509 if (elem->neighbor_ptr(i_side) && !elem->neighbor_ptr(i_side)->is_remote())
510 {
511 const auto neighbor = elem->neighbor_ptr(i_side);
512 const auto neighbor_side = neighbor->which_neighbor_am_i(elem);
513 const std::vector<BoundaryID> & neighbor_bnds =
514 subproblem.mesh().getBoundaryIDs(neighbor, neighbor_side);
515 combined_side_bds.insert(neighbor_bnds.begin(), neighbor_bnds.end());
516 }
517
518 for (const auto wall_id : wall_boundary_ids)
519 if (combined_side_bds.count(wall_id))
520 {
521 // The list below stores the face infos with respect to their owning elements,
522 // depending on the block restriction we might encounter situations where the
523 // element outside of the block owns the face info.
524 const auto & neighbor = elem->neighbor_ptr(i_side);
525 const auto elem_has_fi = Moose::FV::elemHasFaceInfo(*elem, neighbor);
526 const auto & elem_for_fi = elem_has_fi ? elem : neighbor;
527 const auto side = elem_has_fi ? i_side : neighbor->which_neighbor_am_i(elem);
528
529 const FaceInfo * const fi = subproblem.mesh().faceInfo(elem_for_fi, side);
530 face_info_map[elem].push_back(fi);
531 }
532 }
533}
unsigned int count
for(PetscInt i=0;i< nvars;++i)
const std::vector< const FaceInfo * > & faceInfo() const
std::vector< BoundaryID > getBoundaryIDs(const Elem *const elem, const unsigned short int side) const
virtual MooseMesh & mesh()=0
MeshBase & mesh
bool elemHasFaceInfo(const Elem &elem, const Elem *const neighbor)

Referenced by kEpsilonViscosityAux::initialSetup(), RANSYPlusAux::initialSetup(), INSFVTKEDSourceSink::initialSetup(), INSFVTKESourceSink::initialSetup(), LinearFVTKEDSourceSink::initialSetup(), and LinearFVTKESourceSink::initialSetup().

◆ getIndex()

unsigned int NS::getIndex ( const Real &  p,
const std::vector< Real > &  bounds 
)

Determines the index $i$ in a sorted array such that the input point is within the $i$-th and $i+1$-th entries in the array.

Parameters
[in]pinput point
[in]boundssorted array
Returns
index of point

Definition at line 33 of file NavierStokesMethods.C.

34{
35 if (p < bounds.front() || p > bounds.back())
36 mooseError("Point exceeds bounds of domain!");
37
38 for (unsigned int i = 1; i < bounds.size(); ++i)
39 if (p <= bounds[i])
40 return i - 1;
41
42 return bounds.size() - 2;
43}
const Real p

◆ getWallBoundedElements()

void NS::getWallBoundedElements ( const std::vector< BoundaryName > &  wall_boundary_name,
const FEProblemBase &  fe_problem,
const SubProblem &  subproblem,
const std::set< SubdomainID > &  block_ids,
std::unordered_set< const Elem * > &  wall_bounded 
)

Map marking wall bounded elements The map passed in wall_bounded_map gets cleared and re-populated.

Bounded element maps for wall treatment.

Definition at line 358 of file NavierStokesMethods.C.

363{
364
365 wall_bounded.clear();
366 const auto wall_boundary_ids = subproblem.mesh().getBoundaryIDs(wall_boundary_names);
367
368 // We define these lambdas so that we can fetch the bounded elements from other
369 // processors.
370 auto gather_functor = [&subproblem, &wall_bounded](const processor_id_type libmesh_dbg_var(pid),
371 const std::vector<dof_id_type> & elem_ids,
372 std::vector<unsigned char> & data_to_fill)
373 {
374 mooseAssert(pid != subproblem.processor_id(), "We shouldn't be gathering from ourselves.");
375 data_to_fill.resize(elem_ids.size());
376
377 const auto & mesh = subproblem.mesh().getMesh();
378
379 for (const auto i : index_range(elem_ids))
380 {
381 const auto elem = mesh.elem_ptr(elem_ids[i]);
382 data_to_fill[i] = wall_bounded.count(elem) != 0;
383 }
384 };
385
386 auto action_functor = [&subproblem, &wall_bounded](const processor_id_type libmesh_dbg_var(pid),
387 const std::vector<dof_id_type> & elem_ids,
388 const std::vector<unsigned char> & filled_data)
389 {
390 mooseAssert(pid != subproblem.processor_id(),
391 "The request filler shouldn't have been ourselves");
392 mooseAssert(elem_ids.size() == filled_data.size(), "I think these should be the same size");
393
394 const auto & mesh = subproblem.mesh().getMesh();
395
396 for (const auto i : index_range(elem_ids))
397 {
398 const auto elem = mesh.elem_ptr(elem_ids[i]);
399 if (filled_data[i])
400 wall_bounded.insert(elem);
401 }
402 };
403
404 // We need these elements from other processors
405 std::unordered_map<processor_id_type, std::vector<dof_id_type>> elem_ids_requested;
406
407 for (const auto & elem : fe_problem.mesh().getMesh().active_local_element_ptr_range())
408 if (block_ids.find(elem->subdomain_id()) != block_ids.end())
409 for (const auto i_side : elem->side_index_range())
410 {
411 // This is needed because in some cases the internal boundary is registered
412 // to the neighbor element
413 std::set<BoundaryID> combined_side_bds;
414 const auto & side_bnds = subproblem.mesh().getBoundaryIDs(elem, i_side);
415 combined_side_bds.insert(side_bnds.begin(), side_bnds.end());
416 if (const auto neighbor = elem->neighbor_ptr(i_side))
417 {
418 const auto neighbor_side = neighbor->which_neighbor_am_i(elem);
419 const auto & neighbor_bnds = subproblem.mesh().getBoundaryIDs(neighbor, neighbor_side);
420 combined_side_bds.insert(neighbor_bnds.begin(), neighbor_bnds.end());
421
422 // If the neighbor lives on the first layer of the ghost region then we would
423 // like to grab its value as well (if it exists)
424 if (neighbor->processor_id() != subproblem.processor_id() &&
425 block_ids.find(neighbor->subdomain_id()) != block_ids.end())
426 elem_ids_requested[neighbor->processor_id()].push_back(neighbor->id());
427 }
428
429 for (const auto wall_id : wall_boundary_ids)
430 if (combined_side_bds.count(wall_id))
431 {
432 wall_bounded.insert(elem);
433 break;
434 }
435 }
436
437 unsigned char * bool_ex = nullptr;
439 subproblem.comm(), elem_ids_requested, gather_functor, action_functor, bool_ex);
440}
MeshBase & getMesh()
processor_id_type processor_id() const
const Parallel::Communicator & comm() const
KOKKOS_INLINE_FUNCTION const T * find(const T &target, const T *const begin, const T *const end)
T & getMesh(MooseMesh &mesh)
function to cast mesh
Definition SCM.h:35
void pull_parallel_vector_data(const Communicator &comm, const MapToVectors &queries, GatherFunctor &gather_data, const ActionFunctor &act_on_data, const datum *example)
uint8_t processor_id_type
auto index_range(const T &sizable)
if(subdm)

Referenced by kEpsilonViscosityAux::initialSetup(), RANSYPlusAux::initialSetup(), INSFVTKEDSourceSink::initialSetup(), INSFVTKESourceSink::initialSetup(), INSFVTurbulentAdvection::initialSetup(), INSFVTurbulentDiffusion::initialSetup(), LinearFVTKEDSourceSink::initialSetup(), LinearFVTKESourceSink::initialSetup(), LinearFVTurbulentAdvection::initialSetup(), LinearFVTurbulentDiffusion::initialSetup(), and LinearFVTurbulentTimeDerivative::initialSetup().

◆ getWallDistance()

void NS::getWallDistance ( const std::vector< BoundaryName > &  wall_boundary_name,
const FEProblemBase &  fe_problem,
const SubProblem &  subproblem,
const std::set< SubdomainID > &  block_ids,
std::map< const Elem *, std::vector< Real > > &  dist_map 
)

Map storing wall ditance for near-wall marked elements The map passed in dist_map gets cleared and re-populated.

Bounded element face distances for wall treatment.

Definition at line 444 of file NavierStokesMethods.C.

449{
450 dist_map.clear();
451 const auto wall_boundary_ids = subproblem.mesh().getBoundaryIDs(wall_boundary_name);
452
453 for (const auto & elem : fe_problem.mesh().getMesh().active_local_element_ptr_range())
454 if (block_ids.find(elem->subdomain_id()) != block_ids.end())
455 for (const auto i_side : elem->side_index_range())
456 {
457 // This is needed because in some cases the internal boundary is registered
458 // to the neighbor element
459 std::set<BoundaryID> combined_side_bds;
460 const auto & side_bnds = subproblem.mesh().getBoundaryIDs(elem, i_side);
461 combined_side_bds.insert(side_bnds.begin(), side_bnds.end());
462 if (const auto neighbor = elem->neighbor_ptr(i_side))
463 {
464 const auto neighbor_side = neighbor->which_neighbor_am_i(elem);
465 const std::vector<BoundaryID> & neighbor_bnds =
466 subproblem.mesh().getBoundaryIDs(neighbor, neighbor_side);
467 combined_side_bds.insert(neighbor_bnds.begin(), neighbor_bnds.end());
468 }
469
470 for (const auto wall_id : wall_boundary_ids)
471 if (combined_side_bds.count(wall_id))
472 {
473 // The list below stores the face infos with respect to their owning elements,
474 // depending on the block restriction we might encounter situations where the
475 // element outside of the block owns the face info.
476 const auto & neighbor = elem->neighbor_ptr(i_side);
477 const auto elem_has_fi = Moose::FV::elemHasFaceInfo(*elem, neighbor);
478 const auto & elem_for_fi = elem_has_fi ? elem : neighbor;
479 const auto side = elem_has_fi ? i_side : neighbor->which_neighbor_am_i(elem);
480
481 const FaceInfo * const fi = subproblem.mesh().faceInfo(elem_for_fi, side);
482 const auto & elem_centroid = elem_has_fi ? fi->elemCentroid() : fi->neighborCentroid();
483 const Real dist = std::abs((elem_centroid - fi->faceCentroid()) * fi->normal());
484 dist_map[elem].push_back(dist);
485 }
486 }
487}
const Point & normal() const
const Point & neighborCentroid() const
const Point & elemCentroid() const
const Point & faceCentroid() const

Referenced by kEpsilonViscosityAux::initialSetup(), RANSYPlusAux::initialSetup(), INSFVTKEDSourceSink::initialSetup(), INSFVTKESourceSink::initialSetup(), LinearFVTKEDSourceSink::initialSetup(), and LinearFVTKESourceSink::initialSetup().

◆ grad()

std::string NS::grad ( const std::string &  var)
inline

Definition at line 92 of file NS.h.

93{
94 return MathUtils::gradName(var);
95}
T gradName(const T &base_prop_name)

◆ isPorosityJumpFace()

template<class T >
std::tuple< bool, T, T > NS::isPorosityJumpFace ( const Moose::FunctorBase< T > &  porosity,
const FaceInfo &  fi,
const Moose::StateArg &  time 
)

Checks to see whether the porosity value jumps from one side to the other of the provided face.

Parameters
porositythe porosity
fithe face to inspect for porosity jumps
timeA temporal argument indicating at what time state to evaluate the porosity
Returns
a tuple where the zeroth member indicates whether there is a jump, the first member is the porosity value on the "element" side of the face, and the second member is the porosity value on the "neighbor" side of the face

Definition at line 119 of file NSFVUtils.C.

122{
123 if (!fi.neighborPtr() || (fi.elem().subdomain_id() == fi.neighbor().subdomain_id()))
124 // We've agreed to only support porosity jump treatment at subdomain boundaries
125 return {false, 0, 0};
126
127 mooseAssert(porosity.hasBlocks(fi.elem().subdomain_id()) &&
128 porosity.hasBlocks(fi.neighbor().subdomain_id()),
129 "Porosity should have blocks on both elem and neighbor");
130
131 const Moose::FaceArg face_elem{
132 &fi, Moose::FV::LimiterType::CentralDifference, true, false, fi.elemPtr(), nullptr};
133 const Moose::FaceArg face_neighbor{
134 &fi, Moose::FV::LimiterType::CentralDifference, true, false, fi.neighborPtr(), nullptr};
135 const auto eps_elem = porosity(face_elem, time), eps_neighbor = porosity(face_neighbor, time);
136 return {!MooseUtils::relativeFuzzyEqual(eps_elem, eps_neighbor), eps_elem, eps_neighbor};
137}
const Elem & elem() const
const Elem * neighborPtr() const
const Elem * elemPtr() const
const Elem & neighbor() const

Referenced by INSFVMomentumAdvection::computeResidualsAndAData(), WCNSFV2PMomentumAdvectionSlip::computeResidualsAndAData(), HasPorosityJumpFace::computeValue(), BernoulliPressureVariable::getDirichletBoundaryFaceValue(), INSFVRhieChowInterpolator::getVelocity(), BernoulliPressureVariable::isDirichletBoundaryFace(), and BernoulliPressureVariable::isExtrapolatedBoundaryFace().

◆ isPorosityJumpFace< ADReal >()

template std::tuple< bool, ADReal, ADReal > NS::isPorosityJumpFace< ADReal > ( const Moose::FunctorBase< ADReal > &  porosity,
const FaceInfo &  fi,
const Moose::StateArg &  time 
)
extern

◆ isPorosityJumpFace< Real >()

template std::tuple< bool, Real, Real > NS::isPorosityJumpFace< Real > ( const Moose::FunctorBase< Real > &  porosity,
const FaceInfo &  fi,
const Moose::StateArg &  time 
)
extern

◆ prandtlPropertyDerivative()

Real NS::prandtlPropertyDerivative ( const Real &  mu,
const Real &  cp,
const Real &  k,
const Real &  dmu,
const Real &  dcp,
const Real &  dk 
)

Computes the derivative of the Prandtl number, $Pr\equiv\frac{\mu C_p}{k}$, with respect to an arbitrary variale $\zeta$.

This derivative is

$\frac{\partial Pr}{\partial \zeta}=\frac{k\left(\mu\frac{\partial C_p}{\partial\zeta}+C_p\frac{\partial mu}{\partial\zeta}\right)-\mu C_p\frac{\partial k}{\partial\zeta}}{k^2}$

Parameters
[in]mudynamic viscosity
[in]cpisobaric specific heat
[in]kthermal conductivity
[in]dmuderivative of dynamic viscosity with respect to $\zeta$
[in]dcpderivative of isobaric specific heat with respect to $\zeta$
[in]dkderivative of thermal conductivity with respect to $\zeta$
Returns
derivative of Prandtl number with respect to $\zeta$

Definition at line 53 of file NavierStokesMethods.C.

59{
60 return (k * (mu * dcp + cp * dmu) - mu * cp * dk) / std::max(k * k, 1e-8);
61}

Referenced by GeneralFluidProps::computeQpProperties(), and GeneralFunctorFluidPropsTempl< is_ad >::GeneralFunctorFluidPropsTempl().

◆ reynoldsPropertyDerivative()

Real NS::reynoldsPropertyDerivative ( const Real &  Re,
const Real &  rho,
const Real &  mu,
const Real &  drho,
const Real &  dmu 
)

Computes the derivative of the Reynolds number, $Re\equiv \frac{\rho Vd}{\mu}$, with respect to an arbitrary variable $\zeta$, where it is assumed that only the material properties of density $\rho$ and dynamic viscosity $\mu$ have nonzero derivatives with respect to $\zeta$.

To eliminate the need to pass in the velocity $V$ and characteristic length $d$, the derivative is rewritten in terms of the Reynolds number such that the partial derivative of $Re$ with respect to an aritrary parameter $\zeta$ is

$\frac{\partial Re}{\partial\zeta}=Re\left(\frac{1}{\rho}\frac{\partial\rho}{\partial x}-\frac{1}{\mu}\frac{\partial\mu}{\partial x}$

Parameters
[in]ReReynolds number
[in]rhodensity
[in]mudynamic viscosity
[in]drhopartial derivative of density with respect to arbitrary variable $\zeta$
[in]dmupartial derivative of dynamic viscosity with respect to arbitrary variable $\zeta$
Returns
derivative of Reynolds number with respect to $\zeta$

Definition at line 46 of file NavierStokesMethods.C.

48{
49 return Re * (drho / std::max(rho, 1e-6) - dmu / std::max(mu, 1e-8));
50}
const double Re

Referenced by GeneralFluidProps::computeQpProperties(), and GeneralFunctorFluidPropsTempl< is_ad >::GeneralFunctorFluidPropsTempl().

◆ time_deriv()

std::string NS::time_deriv ( const std::string &  var)
inline

◆ wallHeatTransferCoefficient()

template<typename T1 , typename T2 , typename T3 >
auto NS::wallHeatTransferCoefficient ( const T1 &  Nu,
const T2 &  k,
const T3 &  D_h 
)

Compute wall heat transfer coefficient.

Parameters
NuNusselt number
kThermal conductivity
D_hHydraulic diameter
Returns
the wall heat transfer coefficient

Definition at line 209 of file NavierStokesMethods.h.

210{
211 return Nu * k / D_h;
212}

Referenced by DittusBoelterFunctorMaterialTempl< is_ad >::DittusBoelterFunctorMaterialTempl(), and wallHeatTransferCoefficient().

Variable Documentation

◆ A

const std::string NS::A = "A"
static

Definition at line 166 of file NS.h.

◆ acceleration

const std::string NS::acceleration = "acceleration"
static

Definition at line 86 of file NS.h.

◆ alpha

const std::string NS::alpha = "alpha"
static

◆ alpha_boussinesq

const std::string NS::alpha_boussinesq = "alpha_b"
static

◆ alpha_exchange

const std::string NS::alpha_exchange = "alpha_exchange"
static

◆ alpha_wall

const std::string NS::alpha_wall = "alpha_wall"
static

Definition at line 140 of file NS.h.

◆ axis

const std::string NS::axis = "axis"
static

Definition at line 28 of file NS.h.

◆ c

const std::string NS::c = "c"
static

Definition at line 147 of file NS.h.

◆ C

const std::string NS::C = "C"
static

Definition at line 173 of file NS.h.

◆ center

const std::string NS::center = "center"
static

Definition at line 29 of file NS.h.

◆ cL

const std::string NS::cL = "Darcy_coefficient"
static

◆ component

const std::string NS::component = "component"
static

Definition at line 158 of file NS.h.

◆ cp

const std::string NS::cp = "cp"
static

◆ cp_s

const std::string NS::cp_s = "cp_s"
static

Definition at line 123 of file NS.h.

◆ cQ

const std::string NS::cQ = "Forchheimer_coefficient"
static

◆ cv

const std::string NS::cv = "cv"
static

◆ density

const std::string NS::density = "rho"
static

Definition at line 34 of file NS.h.

Referenced by CNSAction::act(), WCNSFVTwoPhaseMixturePhysics::addAdvectionSlipTerm(), WCNSFVTurbulencePhysicsBase::addAuxiliaryKernels(), WCNSFVFluidHeatTransferPhysics::addEnergyInletBC(), WCNSFVFluidHeatTransferPhysics::addEnergyTimeKernels(), WCNSFVFluidHeatTransferPhysics::addEnergyWallBC(), WCNSFVTurbulencePhysics::addFlowTurbulenceKernels(), WCNSFVTurbulencePhysics::addFluidEnergyTurbulenceKernels(), WCNSFVFlowPhysicsBase::addFluidPropertiesFunctorMaterial(), WCNSFVTwoPhaseMixturePhysics::addFunctorMaterials(), WCNSFVTurbulencePhysics::addFVBCs(), WCNSLinearFVTurbulencePhysics::addFVBCs(), WCNSFVFlowPhysics::addInletBC(), WCNSFVTurbulencePhysics::addKEpsilonAdvection(), WCNSFVTurbulencePhysics::addKEpsilonSink(), WCNSLinearFVTurbulencePhysics::addKEpsilonSink(), WCNSFVFlowPhysics::addMassKernels(), WCNSFVFlowPhysics::addMassTimeKernels(), PNSFVSolidHeatTransferPhysics::addMaterials(), WCNSFVFluidHeatTransferPhysics::addMaterials(), WCNSFVTurbulencePhysics::addMaterials(), WCNSFVTurbulencePhysicsBase::addMaterials(), WCNSLinearFVTwoPhaseMixturePhysics::addMaterials(), WCNSFVFlowPhysics::addMomentumAdvectionKernels(), WCNSFVFlowPhysics::addMomentumBoussinesqKernels(), WCNSLinearFVFlowPhysics::addMomentumBoussinesqKernels(), WCNSFVFlowPhysics::addMomentumFrictionKernels(), WCNSFVFlowPhysics::addMomentumGravityKernels(), WCNSFVFlowPhysics::addMomentumTimeKernels(), CNSAction::addNSInternalEnergyAux(), CNSAction::addNSMassInviscidFlux(), CNSAction::addNSMassUnspecifiedNormalFlowBC(), CNSAction::addNSMassWeakStagnationBC(), CNSAction::addNSSUPGMass(), CNSAction::addNSTimeKernels(), CNSAction::addNSVelocityAux(), WCNSFVFlowPhysics::addOutletBC(), WCNSFVTwoPhaseMixturePhysics::addPhaseChangeEnergySource(), PNSFVSolidHeatTransferPhysics::addPINSSolidEnergyTimeKernels(), WCNSLinearFVFlowPhysics::addRhieChowUserObjects(), WCNSFVScalarTransportPhysics::addScalarInletBC(), WCNSFVFlowPhysics::addSolverVariables(), CNSAction::addSpecificTotalEnthalpyAux(), CNSAction::addSpecificVolumeComputation(), WCNSFVFlowPhysics::addWallsBC(), AriaLaserWeld304LStainlessSteelFunctorMaterial::AriaLaserWeld304LStainlessSteelFunctorMaterial(), NSFVBase::commonMomentumEquationParams(), GeneralFunctorFluidPropsTempl< is_ad >::GeneralFunctorFluidPropsTempl(), BernoulliPressureVariable::initialSetup(), INSFVMomentumBoussinesq::INSFVMomentumBoussinesq(), LinearFVMomentumBoussinesq::LinearFVMomentumBoussinesq(), LinearFVMomentumFriction::LinearFVMomentumFriction(), PINSFVEnergyTimeDerivative::PINSFVEnergyTimeDerivative(), PorousRhieChowMassFlux::PorousRhieChowMassFlux(), CNSAction::setBCCommonParams(), CNSAction::setKernelCommonParams(), kEpsilonViscosityAux::validParams(), NSInternalEnergyAux::validParams(), NSSpecificTotalEnthalpyAux::validParams(), NSVelocityAux::validParams(), RANSYPlusAux::validParams(), ReynoldsNumberFunctorAux::validParams(), NSImposedVelocityBC::validParams(), NSImposedVelocityDirectionBC::validParams(), NSIntegratedBC::validParams(), NSThermalBC::validParams(), FunctorPebbleBedDragCoefficients< Derived >::validParams(), GeneralFunctorFluidPropsTempl< is_ad >::validParams(), INSFVEnthalpyFunctorMaterial::validParams(), INSFVkEpsilonViscosityFunctorMaterial::validParams(), NSFVDispersePhaseDragFunctorMaterial::validParams(), NSFVPumpFunctorMaterial::validParams(), ReynoldsNumberFunctorMaterial::validParams(), RhoFromPTFunctorMaterial::validParams(), ThermalDiffusivityFunctorMaterial::validParams(), WCNSFV2PSlipVelocityFunctorMaterial::validParams(), INSFVMassAdvectionOutflowBC::validParams(), INSFVMomentumAdvectionOutflowBC::validParams(), INSFVTKEDWallFunctionBC::validParams(), INSFVTurbulentTemperatureWallFunction::validParams(), INSFVTurbulentViscosityWallFunction::validParams(), INSFVWallFunctionBC::validParams(), NSFVOutflowTemperatureBC::validParams(), WCNSFVFluxBCBase::validParams(), WCNSFVInletTemperatureBC::validParams(), WCNSFVInletVelocityBC::validParams(), INSFVEnergyTimeDerivative::validParams(), INSFVMassAdvection::validParams(), INSFVMeshAdvection::validParams(), INSFVMixingLengthReynoldsStress::validParams(), INSFVMomentumAdvection::validParams(), INSFVMomentumBoussinesq::validParams(), INSFVMomentumGravity::validParams(), INSFVMomentumTimeDerivative::validParams(), INSFVTKEDSourceSink::validParams(), INSFVTKESourceSink::validParams(), INSFVTurbulentAdvection::validParams(), NSFVPhaseChangeSource::validParams(), PCNSFVDensityTimeDerivative::validParams(), PINSFVEnergyTimeDerivative::validParams(), PINSFVMomentumFriction::validParams(), PINSFVMomentumFrictionCorrection::validParams(), WCNSFV2PInterfaceAreaSourceSink::validParams(), WCNSFV2PMomentumAdvectionSlip::validParams(), WCNSFVEnergyTimeDerivative::validParams(), WCNSFVMassTimeDerivative::validParams(), WCNSFVMixingLengthEnergyDiffusion::validParams(), WCNSFVMomentumTimeDerivative::validParams(), NavierStokesLHDGAssemblyHelper::validParams(), NSFunctionInitialCondition::validParams(), NSInitialCondition::validParams(), PNSInitialCondition::validParams(), NSKernel::validParams(), NSTemperatureL2::validParams(), LinearFVPressureFluxBC::validParams(), LinearFVTemperatureWallFunctionBC::validParams(), LinearFVTurbulentViscosityWallFunctionBC::validParams(), LinearFVMomentumBoussinesq::validParams(), LinearFVMomentumBuoyancy::validParams(), LinearFVMomentumFriction::validParams(), LinearFVPhaseChangeSource::validParams(), LinearFVTKEDSourceSink::validParams(), LinearFVTKESourceSink::validParams(), ConservedVarValuesMaterial::validParams(), NavierStokesMaterial::validParams(), PorousConservedVarMaterial::validParams(), PNSFVSolidHeatTransferPhysics::validParams(), INSElementIntegralEnergyAdvectionTempl< is_ad >::validParams(), RhieChowMassFlux::validParams(), BernoulliPressureVariable::validParams(), PINSFVFunctorBC::validParams(), PressureEqualsDensityMaterial::validParams(), NSFunctionInitialCondition::value(), NSInitialCondition::value(), and PNSInitialCondition::value().

◆ diagonal_tau

const std::string NS::diagonal_tau = "diagonal_tau"
static

Definition at line 165 of file NS.h.

◆ directions

const std::string NS::directions[3] = {"x", "y", "z"}
static

◆ dks_dTs

const std::string NS::dks_dTs = "dks_dTs"
static

Definition at line 119 of file NS.h.

◆ drhos_dTs

const std::string NS::drhos_dTs = "drhos_dTs"
static

Definition at line 118 of file NS.h.

◆ dS_dTs

const std::string NS::dS_dTs = "dS_dTs"
static

Definition at line 169 of file NS.h.

◆ dUdt

const std::string NS::dUdt = "dUdt"
static

Definition at line 172 of file NS.h.

◆ E_turb_constant

constexpr Real NS::E_turb_constant = 9.793
staticconstexpr

◆ eddy_viscosity

const std::string NS::eddy_viscosity = "eddy_viscosity"
static

Definition at line 78 of file NS.h.

◆ enthalpy_density

const std::string NS::enthalpy_density = "rho_h"
static

◆ epsilon_low_limit

constexpr Real NS::epsilon_low_limit = 1.0e-8
staticconstexpr

◆ F

const std::string NS::F = "F"
static

Definition at line 170 of file NS.h.

◆ fluid

const std::string NS::fluid = "fp"
static

◆ G

const std::string NS::G = "G"
static

Definition at line 171 of file NS.h.

◆ heat_source

const std::string NS::heat_source = "heat_source"
static

Definition at line 112 of file NS.h.

◆ infinite_porosity

const std::string NS::infinite_porosity = "infinite_porosity"
static

Definition at line 27 of file NS.h.

◆ internal_energy

const std::string NS::internal_energy = "internal_energy"
static

Definition at line 62 of file NS.h.

◆ internal_energy_density

const std::string NS::internal_energy_density = "rho_e"
static

Definition at line 65 of file NS.h.

◆ k

const std::string NS::k = "k"
static

◆ K

const std::string NS::K = "K"
static

Definition at line 175 of file NS.h.

◆ k_eff_t

const std::string NS::k_eff_t = "k_eff_t"
static

◆ k_s

const std::string NS::k_s = "k_s"
static

Definition at line 124 of file NS.h.

Referenced by NSFVFunctorHeatFluxBC::validParams().

◆ k_t

const std::string NS::k_t = "k_t"
static

Definition at line 136 of file NS.h.

◆ kappa

const std::string NS::kappa = "kappa"
static

◆ kappa_s

const std::string NS::kappa_s = "kappa_s"
static

Definition at line 121 of file NS.h.

Referenced by NSFVFunctorHeatFluxBC::validParams().

◆ latent_heat

const std::string NS::latent_heat = "latent_heat"
static

Definition at line 152 of file NS.h.

Referenced by WCNSFVTwoPhaseMixturePhysics::addPhaseChangeEnergySource().

◆ mach_number

const std::string NS::mach_number = "Mach"
static

◆ mass_flux

const std::string NS::mass_flux = "mass_flux"
static

Definition at line 176 of file NS.h.

Referenced by NS::FV::pressureJumpOneSidedFaceValue().

◆ matrix_tau

const std::string NS::matrix_tau = "matrix_tau"
static

Definition at line 162 of file NS.h.

◆ min_y_plus

constexpr Real NS::min_y_plus = 1e-10
staticconstexpr

Definition at line 213 of file NS.h.

Referenced by findyPlus(), and findYplusThermal().

◆ mixing_length

const std::string NS::mixing_length = "mixing_length"
static

◆ momentum

const std::string NS::momentum = "momentum"
static

Definition at line 84 of file NS.h.

◆ momentum_vector

const std::string NS::momentum_vector[3] = {momentum_x, momentum_y, momentum_z}
static

Definition at line 39 of file NS.h.

static const std::string momentum_x
Definition NS.h:36
static const std::string momentum_y
Definition NS.h:37
static const std::string momentum_z
Definition NS.h:38

◆ momentum_x

const std::string NS::momentum_x = "rhou"
static

◆ momentum_y

const std::string NS::momentum_y = "rhov"
static

◆ momentum_z

const std::string NS::momentum_z = "rhow"
static

◆ mu

const std::string NS::mu = "mu"
static

Definition at line 127 of file NS.h.

Referenced by WCNSFVTurbulencePhysicsBase::addAuxiliaryKernels(), WCNSFVTurbulencePhysics::addAxisymmetricTurbulentViscousSource(), WCNSFVFlowPhysics::addAxisymmetricViscousSourceKernel(), WCNSFVFluidHeatTransferPhysics::addEnergyWallBC(), WCNSFVTwoPhaseMixturePhysics::addFunctorMaterials(), WCNSLinearFVTurbulencePhysics::addFunctorMaterials(), WCNSFVTurbulencePhysics::addFVBCs(), WCNSLinearFVTurbulencePhysics::addFVBCs(), WCNSFVTurbulencePhysics::addKEpsilonSink(), WCNSLinearFVTurbulencePhysics::addKEpsilonSink(), WCNSFVTurbulencePhysics::addMaterials(), WCNSFVTurbulencePhysicsBase::addMaterials(), WCNSLinearFVTwoPhaseMixturePhysics::addMaterials(), WCNSLinearFVFlowPhysics::addMomentumFluxKernels(), WCNSFVFlowPhysics::addMomentumFrictionKernels(), WCNSLinearFVFlowPhysics::addMomentumFrictionKernels(), WCNSFVFlowPhysics::addMomentumViscousDissipationKernels(), WCNSFVFlowPhysics::addWallsBC(), AriaLaserWeld304LStainlessSteelFunctorMaterial::AriaLaserWeld304LStainlessSteelFunctorMaterial(), NSFVBase::commonMomentumEquationParams(), findUStar(), findyPlus(), LinearFVMomentumFriction::LinearFVMomentumFriction(), PINSFVMomentumFriction::PINSFVMomentumFriction(), prandtlPropertyDerivative(), reynoldsPropertyDerivative(), kEpsilonViscosityAux::validParams(), RANSYPlusAux::validParams(), ReynoldsNumberFunctorAux::validParams(), FunctorEffectiveDynamicViscosityTempl< is_ad >::validParams(), GeneralFunctorFluidPropsTempl< is_ad >::validParams(), INSFVMushyPorousFrictionFunctorMaterial::validParams(), NSFVDispersePhaseDragFunctorMaterial::validParams(), ReynoldsNumberFunctorMaterial::validParams(), WCNSFV2PSlipVelocityFunctorMaterial::validParams(), INSFVTKEDWallFunctionBC::validParams(), INSFVTurbulentTemperatureWallFunction::validParams(), INSFVTurbulentViscosityWallFunction::validParams(), INSFVMomentumDiffusion::validParams(), INSFVMomentumViscousSourceRZ::validParams(), INSFVTKEDSourceSink::validParams(), INSFVTKESourceSink::validParams(), PINSFVMomentumFriction::validParams(), PINSFVMomentumFrictionCorrection::validParams(), NavierStokesLHDGAssemblyHelper::validParams(), LinearFVTemperatureWallFunctionBC::validParams(), LinearFVTurbulentViscosityWallFunctionBC::validParams(), LinearFVMomentumFriction::validParams(), LinearFVRZViscousSource::validParams(), LinearFVTKEDSourceSink::validParams(), LinearFVTKESourceSink::validParams(), LinearWCNSFVMomentumFlux::validParams(), and IntegralDirectedSurfaceForce::validParams().

◆ mu_eff

const std::string NS::mu_eff = "mu_eff"
static

◆ mu_t

const std::string NS::mu_t = "mu_t"
static

◆ mu_t_low_limit

constexpr Real NS::mu_t_low_limit = 1.0e-8
staticconstexpr

◆ mu_t_passive_scalar

const std::string NS::mu_t_passive_scalar = "mu_t_passive_scalar"
static

Definition at line 131 of file NS.h.

Referenced by WCNSFVTurbulencePhysics::addScalarAdvectionTurbulenceKernels().

◆ pebble_diameter

const std::string NS::pebble_diameter = "pebble_diameter"
static

Definition at line 26 of file NS.h.

Referenced by FunctorPebbleBedDragCoefficients< Derived >::validParams().

◆ porosity

const std::string NS::porosity = "porosity"
static

Definition at line 108 of file NS.h.

Referenced by WCNSFVFluidHeatTransferPhysics::addEnergyHeatConductionKernels(), WCNSFVFluidHeatTransferPhysics::addEnergyTimeKernels(), WCNSFVFlowPhysicsBase::addFluidPropertiesFunctorMaterial(), WCNSFVFlowPhysics::addInletBC(), WCNSFVFlowPhysics::addMassTimeKernels(), WCNSFVFlowPhysics::addMomentumAdvectionKernels(), WCNSFVFlowPhysics::addMomentumBoussinesqKernels(), WCNSFVFlowPhysics::addMomentumGravityKernels(), WCNSFVFlowPhysics::addMomentumPressureKernels(), WCNSFVFlowPhysics::addMomentumViscousDissipationKernels(), WCNSFVFlowPhysics::addOutletBC(), PNSFVSolidHeatTransferPhysics::addPINSSolidEnergyHeatConductionKernels(), PNSFVSolidHeatTransferPhysics::addPINSSolidEnergyTimeKernels(), WCNSFVFlowPhysicsBase::addPorousMediumSpeedMaterial(), WCNSFVFlowPhysics::addRhieChowUserObjects(), WCNSFVScalarTransportPhysics::addScalarAdvectionKernels(), WCNSFVFlowPhysics::addSolverVariables(), BernoulliPressureVariable::initialSetup(), isPorosityJumpFace(), PorousRhieChowMassFlux::linkMomentumPressureSystems(), PINSFVRhieChowInterpolator::PINSFVRhieChowInterpolator(), PINSFVRhieChowInterpolatorSegregated::PINSFVRhieChowInterpolatorSegregated(), PorousRhieChowMassFlux::PorousRhieChowMassFlux(), HasPorosityJumpFace::validParams(), NSFVBase::validParams(), FunctorPebbleBedDragCoefficients< Derived >::validParams(), GeneralFunctorFluidPropsTempl< is_ad >::validParams(), LinearFrictionFactorFunctorMaterial::validParams(), PINSFVSpeedFunctorMaterial::validParams(), NSFVFunctorHeatFluxBC::validParams(), NSFVHeatFluxBC::validParams(), PINSFVMomentumAdvectionOutflowBC::validParams(), PWCNSFVMomentumFluxBC::validParams(), FVPorosityTimeDerivative::validParams(), PCNSFVDensityTimeDerivative::validParams(), PCNSFVMomentumFriction::validParams(), PINSFVEnergyAnisotropicDiffusion::validParams(), PINSFVEnergyDiffusion::validParams(), PINSFVEnergyTimeDerivative::validParams(), PINSFVMomentumAdvection::validParams(), PINSFVMomentumBoussinesq::validParams(), PINSFVMomentumDiffusion::validParams(), PINSFVMomentumFriction::validParams(), PINSFVMomentumGravity::validParams(), PINSFVMomentumPressure::validParams(), PINSFVMomentumPressureFlux::validParams(), PINSFVMomentumPressurePorosityGradient::validParams(), PINSFVScalarFieldAdvection::validParams(), PNSFVMomentumPressureFluxRZ::validParams(), PWCNSFVMassTimeDerivative::validParams(), LinearFVMomentumBoussinesq::validParams(), LinearFVMomentumBuoyancy::validParams(), LinearFVMomentumFriction::validParams(), LinearPWCNSFVMomentumPressure::validParams(), GeneralFluidProps::validParams(), PorousConservedVarMaterial::validParams(), PorousMixedVarMaterial::validParams(), PorousPrimitiveVarMaterial::validParams(), HLLCUserObject::validParams(), PINSFVRhieChowInterpolator::validParams(), PINSFVRhieChowInterpolatorSegregated::validParams(), PorousRhieChowMassFlux::validParams(), BernoulliPressureVariable::validParams(), and PINSFVFunctorBC::validParams().

◆ Prandtl

const std::string NS::Prandtl = "Pr"
static

◆ pressure

const std::string NS::pressure = "pressure"
static

Definition at line 57 of file NS.h.

Referenced by CNSAction::act(), INSAction::act(), WCNSFVFluidHeatTransferPhysics::addEnergyInletBC(), WCNSFVFluidHeatTransferPhysics::addEnergyWallBC(), WCNSFVFlowPhysicsBase::addFluidPropertiesFunctorMaterial(), INSAction::addINSMomentum(), INSAction::addINSNoBCBC(), INSAction::addINSPressureBC(), WCNSFVFluidHeatTransferPhysics::addMaterials(), WCNSLinearFVFluidHeatTransferPhysics::addMaterials(), CNSAction::addNoPenetrationBC(), CNSAction::addNSMomentumInviscidFlux(), CNSAction::addSpecificTotalEnthalpyAux(), GeneralFunctorFluidPropsTempl< is_ad >::GeneralFunctorFluidPropsTempl(), WCNSFVFlowPhysicsBase::getFlowVariableName(), LinearFVMomentumPressure::getPressureVariable(), PrintMatricesNSProblem::onTimestepEnd(), PINSFVRhieChowInterpolator::pinsfvSetup(), PorousRhieChowMassFlux::PorousRhieChowMassFlux(), RhieChowInterpolatorBase::RhieChowInterpolatorBase(), RhieChowMassFlux::RhieChowMassFlux(), INSAction::setKernelCommonParams(), INSAction::setNoBCCommonParams(), EnthalpyAux::validParams(), INSStressComponentAux::validParams(), InternalEnergyAux::validParams(), NSSpecificTotalEnthalpyAux::validParams(), INSADMomentumNoBCBC::validParams(), INSMomentumNoBCBCBase::validParams(), INSPressureGradientBC::validParams(), MomentumFreeBC::validParams(), NSEnergyInviscidSpecifiedDensityAndVelocityBC::validParams(), NSEnergyInviscidSpecifiedNormalFlowBC::validParams(), NSEnergyInviscidUnspecifiedBC::validParams(), NSMomentumInviscidSpecifiedNormalFlowBC::validParams(), NSPressureNeumannBC::validParams(), NSStagnationPressureBC::validParams(), NSPressurePin::validParams(), INSPressureGradientDGKernel::validParams(), GeneralFunctorFluidPropsTempl< is_ad >::validParams(), INSFVEnthalpyFunctorMaterial::validParams(), LinearFVEnthalpyFunctorMaterial::validParams(), RhoFromPTFunctorMaterial::validParams(), CNSFVHLLCSpecifiedPressureBC::validParams(), FVSpecificEnthalpyFromPressureTemperatureDirichletBC::validParams(), PCNSFVHLLCSpecifiedPressureBC::validParams(), PCNSFVStrongBC::validParams(), WCNSFVEnergyFluxBC::validParams(), INSFVMomentumPressure::validParams(), INSFVMomentumPressureFlux::validParams(), PINSFVMomentumPressurePorosityGradient::validParams(), PNSFVMomentumPressureFluxRZ::validParams(), WCNSFV2PInterfaceAreaSourceSink::validParams(), NavierStokesLHDGAssemblyHelper::validParams(), NSFunctionInitialCondition::validParams(), NSInitialCondition::validParams(), PNSInitialCondition::validParams(), INSADMomentumPressure::validParams(), INSBase::validParams(), INSChorinCorrector::validParams(), INSProjection::validParams(), NSMomentumInviscidFlux::validParams(), NSMomentumInviscidFluxWithGradP::validParams(), PressureGradient::validParams(), LinearFVMomentumPressure::validParams(), INSADMaterial::validParams(), PorousMixedVarMaterial::validParams(), PorousPrimitiveVarMaterial::validParams(), IntegralDirectedSurfaceForce::validParams(), NSEntropyError::validParams(), RhieChowInterpolatorBase::validParams(), RhieChowMassFlux::validParams(), PINSFVFunctorBC::validParams(), PrintMatricesNSProblem::validParams(), NSFunctionInitialCondition::value(), NSInitialCondition::value(), and PNSInitialCondition::value().

◆ R

const std::string NS::R = "R"
static

Definition at line 167 of file NS.h.

◆ Reynolds

const std::string NS::Reynolds = "Re"
static

◆ Reynolds_hydraulic

const std::string NS::Reynolds_hydraulic = "Re_h"
static

◆ Reynolds_interstitial

const std::string NS::Reynolds_interstitial = "Re_i"
static

◆ rho_s

const std::string NS::rho_s = "rho_s"
static

Definition at line 122 of file NS.h.

◆ S

const std::string NS::S = "S"
static

Definition at line 168 of file NS.h.

◆ scalar_tau

const std::string NS::scalar_tau = "scalar_tau"
static

Definition at line 164 of file NS.h.

◆ smoothed_porosity

const std::string NS::smoothed_porosity = "smoothed_porosity"
static

◆ solid

const std::string NS::solid = "solid"
static

Definition at line 141 of file NS.h.

◆ sound_speed

const std::string NS::sound_speed = "sound_speed"
static

Definition at line 149 of file NS.h.

◆ source_scaling

const std::string NS::source_scaling = "source_scaling"
static

Definition at line 159 of file NS.h.

◆ specific_enthalpy

const std::string NS::specific_enthalpy = "h"
static

◆ specific_internal_energy

const std::string NS::specific_internal_energy = "e"
static

◆ specific_total_energy

const std::string NS::specific_total_energy = "et"
static

Definition at line 64 of file NS.h.

◆ specific_total_enthalpy

const std::string NS::specific_total_enthalpy = "ht"
static

◆ specific_volume

const std::string NS::specific_volume = "specific_volume"
static

◆ speed

const std::string NS::speed = "speed"
static

◆ superficial_density

const std::string NS::superficial_density = "superficial_rho"
static

Definition at line 35 of file NS.h.

Referenced by PNSInitialCondition::validParams(), and PNSInitialCondition::value().

◆ superficial_momentum_vector

const std::string NS::superficial_momentum_vector[3]
static
Initial value:
= {
static const std::string superficial_momentum_z
Definition NS.h:42
static const std::string superficial_momentum_y
Definition NS.h:41
static const std::string superficial_momentum_x
Definition NS.h:40

Definition at line 43 of file NS.h.

◆ superficial_momentum_x

const std::string NS::superficial_momentum_x = "superficial_rhou"
static

◆ superficial_momentum_y

const std::string NS::superficial_momentum_y = "superficial_rhov"
static

◆ superficial_momentum_z

const std::string NS::superficial_momentum_z = "superficial_rhow"
static

◆ superficial_total_energy_density

const std::string NS::superficial_total_energy_density = "superficial_rho_et"
static

Definition at line 67 of file NS.h.

Referenced by PNSInitialCondition::validParams(), and PNSInitialCondition::value().

◆ superficial_total_enthalpy_density

const std::string NS::superficial_total_enthalpy_density = "superficial_rho_ht"
static

Definition at line 73 of file NS.h.

Referenced by PNSInitialCondition::validParams(), and PNSInitialCondition::value().

◆ superficial_velocity

const std::string NS::superficial_velocity = "superficial_velocity"
static

Definition at line 54 of file NS.h.

Referenced by PCNSFVStrongBC::validParams().

◆ superficial_velocity_vector

const std::string NS::superficial_velocity_vector[3]
static
Initial value:
= {
static const std::string superficial_velocity_y
Definition NS.h:52
static const std::string superficial_velocity_z
Definition NS.h:53
static const std::string superficial_velocity_x
Definition NS.h:51

Definition at line 55 of file NS.h.

Referenced by WCNSFVFlowPhysicsBase::addPorousMediumSpeedMaterial().

◆ superficial_velocity_x

const std::string NS::superficial_velocity_x = "superficial_vel_x"
static

◆ superficial_velocity_y

const std::string NS::superficial_velocity_y = "superficial_vel_y"
static

◆ superficial_velocity_z

const std::string NS::superficial_velocity_z = "superficial_vel_z"
static

◆ T_fluid

const std::string NS::T_fluid = "T_fluid"
static

Definition at line 110 of file NS.h.

Referenced by WCNSFVFluidHeatTransferPhysics::addEnergyAmbientConvection(), WCNSLinearFVFluidHeatTransferPhysics::addEnergyAmbientConvection(), WCNSFVFluidHeatTransferPhysics::addEnergyInletBC(), WCNSFVFluidHeatTransferPhysics::addEnergyWallBC(), WCNSLinearFVFluidHeatTransferPhysics::addEnergyWallBC(), WCNSFVFlowPhysicsBase::addFluidPropertiesFunctorMaterial(), WCNSLinearFVFluidHeatTransferPhysics::addMaterials(), WCNSFVFlowPhysics::addMomentumBoussinesqKernels(), WCNSLinearFVFlowPhysics::addMomentumBoussinesqKernels(), PNSFVSolidHeatTransferPhysics::addPINSSolidEnergyAmbientConvection(), GeneralFunctorFluidPropsTempl< is_ad >::GeneralFunctorFluidPropsTempl(), LinearFVMomentumBoussinesq::getTemperatureVariable(), INSFVEnthalpyFunctorMaterial::INSFVEnthalpyFunctorMaterial(), DittusBoelterFunctorMaterialTempl< is_ad >::validParams(), GeneralFunctorFluidPropsTempl< is_ad >::validParams(), LinearFVEnthalpyFunctorMaterial::validParams(), FVSpecificEnthalpyFromPressureTemperatureDirichletBC::validParams(), PCNSFVStrongBC::validParams(), WCNSFVEnergyFluxBC::validParams(), FVConvectionCorrelationInterface::validParams(), INSFVMomentumBoussinesq::validParams(), PINSFVEnergyAmbientConvection::validParams(), LinearFVConvectiveHeatTransferBC::validParams(), LinearFVMomentumBoussinesq::validParams(), LinearFVVolumetricHeatTransfer::validParams(), PorousMixedVarMaterial::validParams(), PorousPrimitiveVarMaterial::validParams(), PNSFVSolidHeatTransferPhysics::validParams(), and WCNSFVFluidHeatTransferPhysicsBase::validParams().

◆ T_liquidus

const std::string NS::T_liquidus = "T_liquidus"
static

Definition at line 153 of file NS.h.

Referenced by WCNSFVTwoPhaseMixturePhysics::addPhaseChangeEnergySource().

◆ T_solid

const std::string NS::T_solid = "T_solid"
static

◆ T_solidus

const std::string NS::T_solidus = "T_solidus"
static

Definition at line 154 of file NS.h.

Referenced by WCNSFVTwoPhaseMixturePhysics::addPhaseChangeEnergySource().

◆ temperature

const std::string NS::temperature = "temperature"
static

◆ thermal_diffusivity

const std::string NS::thermal_diffusivity = "thermal_diffusivity"
static

◆ TKE

const std::string NS::TKE = "tke"
static

◆ TKED

const std::string NS::TKED = "epsilon"
static

◆ total_energy_density

const std::string NS::total_energy_density = "rho_et"
static

◆ total_enthalpy_density

const std::string NS::total_enthalpy_density = "rho_ht"
static

Definition at line 72 of file NS.h.

◆ total_pressure

const std::string NS::total_pressure = "pressure_total"
static

Definition at line 59 of file NS.h.

◆ total_viscosity

const std::string NS::total_viscosity = "total_viscosity"
static

◆ turbulent_Prandtl

const std::string NS::turbulent_Prandtl = "Pr_t"
static

Definition at line 143 of file NS.h.

Referenced by WCNSFVTurbulencePhysicsBase::validParams().

◆ v

const std::string NS::v = "v"
static

Definition at line 85 of file NS.h.

Referenced by computeShearStrainRateNormSquared().

◆ vector_tau

const std::string NS::vector_tau = "vector_tau"
static

Definition at line 163 of file NS.h.

◆ velocity

const std::string NS::velocity = "velocity"
static

◆ velocity_vector

const std::string NS::velocity_vector[3] = {velocity_x, velocity_y, velocity_z}

Definition at line 50 of file NS.h.

static const std::string velocity_y
Definition NS.h:48
static const std::string velocity_z
Definition NS.h:49
static const std::string velocity_x
Definition NS.h:47

Referenced by WCNSFVFluidHeatTransferPhysics::addEnergyInletBC(), WCNSFVFlowPhysics::addInletBC(), and WCNSFVFlowPhysicsBase::WCNSFVFlowPhysicsBase().

◆ velocity_x

const std::string NS::velocity_x = "vel_x"
static

◆ velocity_y

const std::string NS::velocity_y = "vel_y"
static

◆ velocity_z

const std::string NS::velocity_z = "vel_z"
static

◆ von_karman_constant

constexpr Real NS::von_karman_constant = 0.4187
staticconstexpr

◆ wall_distance

const std::string NS::wall_distance = "wall_distance"
static

Definition at line 31 of file NS.h.

◆ wall_porosity

const std::string NS::wall_porosity = "wall_porosity"
static

Definition at line 30 of file NS.h.

◆ wall_shear_stress

const std::string NS::wall_shear_stress = "wall_shear_stress"
static

Definition at line 76 of file NS.h.

◆ wall_yplus

const std::string NS::wall_yplus = "wall_yplus"
static

Definition at line 77 of file NS.h.

◆ Z

const std::string NS::Z = "Z"
static

Definition at line 174 of file NS.h.