|
DNDSR 0.1.0.dev1+gcd065ad
Distributed Numeric Data Structure for CFV
|
Master configuration struct for the compressible Euler/Navier-Stokes evaluator. More...
#include <EulerEvaluatorSettings.hpp>
Classes | |
| struct | BoxInitializer |
| Axis-aligned box region for initial condition specification. More... | |
| struct | ExprtkInitializer |
| Expression-based initial condition using the ExprTk library. More... | |
| struct | FrameConstRotation |
| Constant-rotation reference frame settings. More... | |
| struct | IdealGasProperty |
| Ideal gas thermodynamic property set. More... | |
| struct | PlaneInitializer |
| Half-space region for initial condition specification. More... | |
Public Types | |
| using | Traits = EulerModelTraits< model > |
| Compile-time model traits. | |
Public Member Functions | |
| DNDS_DECLARE_CONFIG (EulerEvaluatorSettings) | |
| EulerEvaluatorSettings ()=default | |
| Default constructor (used for schema emission; _nVars remains 0). | |
| EulerEvaluatorSettings (int nVars) | |
| Construct with a known variable count and set model-appropriate defaults. | |
| void | finalize () |
| Post-deserialization finalization: cross-field validation and derived quantities. | |
Public Attributes | |
| real | RANSBottomLimit = 0.01 |
| Lower clamp for RANS turbulence variables. | |
| struct DNDS::Euler::EulerEvaluatorSettings::FrameConstRotation | frameConstRotation |
| Rotating reference frame configuration. | |
| CLDriverSettings | cLDriverSettings |
| Lift-coefficient (CL) driver settings. | |
| std::vector< std::string > | cLDriverBCNames |
| Boundary zone names for CL driver force integration. | |
| Eigen::Vector< real, -1 > | farFieldStaticValue = Eigen::Vector<real, 5>{1, 0, 0, 0, 2.5} |
| Far-field reference state vector (size = nVars). | |
| std::vector< BoxInitializer > | boxInitializers |
| List of box-region initial condition specifiers. | |
| std::vector< PlaneInitializer > | planeInitializers |
| List of plane-region initial condition specifiers. | |
| std::vector< ExprtkInitializer > | exprtkInitializers |
| List of ExprTk-based initial condition specifiers. | |
| struct DNDS::Euler::EulerEvaluatorSettings::IdealGasProperty | idealGasProperty |
| Ideal gas thermodynamic property configuration. | |
| int | _nVars = 0 |
| Runtime nVars, not serialized. Set by ctor, preserved across from_json. | |
| Eigen::Vector< real, -1 > | refU |
| Reference conservative state (derived from farFieldStaticValue). | |
| Eigen::Vector< real, -1 > | refUPrim |
| Reference primitive state (derived from farFieldStaticValue). | |
Jacobian Options | |
| bool | useScalarJacobian = false |
| Use scalar (diagonal) Jacobian approximation instead of block. | |
| bool | useRoeJacobian = false |
| Use Roe-linearization-based Jacobian. | |
| bool | noRsOnWall = false |
| Disable the Riemann solver on wall boundary faces. | |
| bool | noGRPOnWall = false |
| Disable the Generalized Riemann Problem (GRP) on wall faces. | |
| bool | ignoreSourceTerm = false |
| Completely ignore source terms (must be false when RANS or body forces are active). | |
Reconstruction | |
| int | direct2ndRecMethod = 1 |
| Direct 2nd-order reconstruction method selector. | |
| int | specialBuiltinInitializer = 0 |
| Index of a built-in special initializer (0 = none). | |
| real | uRecAlphaCompressPower = 1 |
| Alpha compression power for the reconstruction limiter. | |
| real | uRecBetaCompressPower = 1 |
| Beta compression power for the reconstruction limiter. | |
| bool | forceVolURecBeta = true |
| Force volume-based beta in the reconstruction. | |
| bool | ppEpsIsRelaxed = false |
| Use relaxed positivity-preserving epsilon. | |
Riemann Solver Configuration | |
| Gas::RiemannSolverType | rsType = Gas::Roe |
| Primary Riemann solver type. | |
| Gas::RiemannSolverType | rsTypeAux = Gas::UnknownRS |
| Auxiliary Riemann solver type (UnknownRS = same as primary). | |
| Gas::RiemannSolverType | rsTypeWall = Gas::UnknownRS |
| Wall-face Riemann solver type (UnknownRS = same as primary). | |
| real | rsFixScale = 1 |
| Entropy-fix scaling factor for the Riemann solver. | |
| real | rsIncFScale = 1 |
| Incremental flux scaling factor. | |
| int | rsMeanValueEig = 0 |
| Mean-value eigenvalue computation mode. | |
| int | rsRotateScheme = 0 |
| Riemann solver rotation scheme selector. | |
Wall-Distance Computation | |
| real | minWallDist = 1e-12 |
| Minimum wall distance clamp (avoids singularities). | |
| int | wallDistExection = 0 |
| Execution mode: 0 = parallel, 1 = serial. | |
| real | wallDistRefineMax = 1 |
| Maximum wall-distance refinement factor. | |
| int | wallDistScheme = 0 |
| Wall-distance computation scheme selector. | |
| int | wallDistCellLoadSize = 1024 * 32 |
| Cell batch size for wall-distance computation. | |
| int | wallDistIter = 1000 |
| Maximum iterations for the wall-distance solver. | |
| int | wallDistLinSolver = 0 |
| Linear solver: 0 = Jacobi, 1 = GMRES. | |
| real | wallDistResTol = 1e-4 |
| Residual tolerance for wall-distance convergence. | |
| int | wallDistIterStart = 100 |
| Starting iteration count for the wall-distance solver. | |
| int | wallDistPoissonP = 2 |
| Poisson equation power in the wall-distance PDE. | |
| real | wallDistDTauScale = 100. |
| Pseudo-time step scaling for wall-distance solver. | |
| int | wallDistNJacobiSweep = 10 |
| Number of Jacobi sweeps per wall-distance iteration. | |
RANS / DES Configuration | |
| real | SADESScale = veryLargeReal |
| SA-DES length scale (veryLargeReal effectively disables DES). | |
| int | SADESMode = 1 |
| SA-DES mode selector (1 = DDES, etc.). | |
| RANSModel | ransModel = RANSModel::RANS_None |
| RANS turbulence model (RANS_None, RANS_SA, RANS_KOWilcox, etc.). | |
| int | ransUseQCR = 0 |
| Enable QCR (Quadratic Constitutive Relation) correction. | |
| int | ransSARotCorrection = 1 |
| SA rotation/curvature correction mode. | |
| int | ransEigScheme = 0 |
| Eigenvalue computation scheme for RANS. | |
| int | ransForce2nd = 0 |
| Force 2nd-order accuracy for RANS variables. | |
| int | ransSource2nd = 0 |
| Enable 2nd-order RANS source term discretization. | |
Viscous Flux and Source Options | |
| int | source2nd = 0 |
| Enable 2nd-order source term discretization. | |
| int | usePrimGradInVisFlux = 0 |
| Use primitive-variable gradients in viscous flux. | |
| int | useSourceGradFixGG = 0 |
| Apply Green-Gauss gradient fix for source terms. | |
| int | nCentralSmoothStep = 0 |
| Number of central-difference smoothing steps. | |
| real | centralSmoothEps = 0.5 |
| Epsilon for central smoothing. | |
| Eigen::Vector< real, 3 > | constMassForce = Eigen::Vector<real, 3>{0, 0, 0} |
| Constant body force vector [fx, fy, fz]. | |
Static Public Attributes | |
| static const int | nVarsFixed = getnVarsFixed(model) |
| Compile-time variable count. | |
| static const int | dim = getDim_Fixed(model) |
| Physical dimension (2 or 3). | |
| static const int | gDim = getGeomDim_Fixed(model) |
| Geometric dimension (may differ for axi-symmetric). | |
| static const auto | I4 = dim + 1 |
| Index of the energy equation in the state vector. | |
Master configuration struct for the compressible Euler/Navier-Stokes evaluator.
Organizes all solver-tunable parameters into a single struct that supports JSON round-trip serialization via DNDS_DECLARE_CONFIG. After deserialization, the finalize() hook validates cross-field constraints (e.g. mutually exclusive Jacobian modes) and computes derived reference quantities.
| model | The EulerModel tag (e.g. NS_SA_3D) that determines variable count, spatial dimension, and available turbulence model traits. |
Definition at line 43 of file EulerEvaluatorSettings.hpp.
| using DNDS::Euler::EulerEvaluatorSettings< model >::Traits = EulerModelTraits<model> |
Compile-time model traits.
Definition at line 45 of file EulerEvaluatorSettings.hpp.
|
default |
Default constructor (used for schema emission; _nVars remains 0).
|
inline |
Construct with a known variable count and set model-appropriate defaults.
If the model includes SA or 2-equation RANS traits, the default ransModel is set accordingly. The farFieldStaticValue is sized to nVars and initialized to a default freestream state.
| nVars | Number of conservative variables for this model. |
Definition at line 412 of file EulerEvaluatorSettings.hpp.
|
inline |
Definition at line 313 of file EulerEvaluatorSettings.hpp.
|
inline |
Post-deserialization finalization: cross-field validation and derived quantities.
Checks dimensional consistency of farFieldStaticValue, boxInitializers, and planeInitializers against _nVars. Normalizes the rotation axis if the rotating frame is enabled. Computes refU and refUPrim from the far-field state and ideal gas properties for use as reference scales in the solver.
Uses the stored _nVars set by the constructor. Called automatically by the post_read hook after from_json, or explicitly after copy-construction. If _nVars <= 0 (e.g. default-constructed for schema emission), this is a no-op.
Definition at line 441 of file EulerEvaluatorSettings.hpp.
| int DNDS::Euler::EulerEvaluatorSettings< model >::_nVars = 0 |
Runtime nVars, not serialized. Set by ctor, preserved across from_json.
Definition at line 309 of file EulerEvaluatorSettings.hpp.
| std::vector<BoxInitializer> DNDS::Euler::EulerEvaluatorSettings< model >::boxInitializers |
List of box-region initial condition specifiers.
Definition at line 209 of file EulerEvaluatorSettings.hpp.
| real DNDS::Euler::EulerEvaluatorSettings< model >::centralSmoothEps = 0.5 |
Epsilon for central smoothing.
Definition at line 117 of file EulerEvaluatorSettings.hpp.
| std::vector<std::string> DNDS::Euler::EulerEvaluatorSettings< model >::cLDriverBCNames |
Boundary zone names for CL driver force integration.
Definition at line 185 of file EulerEvaluatorSettings.hpp.
| CLDriverSettings DNDS::Euler::EulerEvaluatorSettings< model >::cLDriverSettings |
Lift-coefficient (CL) driver settings.
Definition at line 184 of file EulerEvaluatorSettings.hpp.
| Eigen::Vector<real, 3> DNDS::Euler::EulerEvaluatorSettings< model >::constMassForce = Eigen::Vector<real, 3>{0, 0, 0} |
Constant body force vector [fx, fy, fz].
Definition at line 118 of file EulerEvaluatorSettings.hpp.
|
static |
Physical dimension (2 or 3).
Definition at line 47 of file EulerEvaluatorSettings.hpp.
| int DNDS::Euler::EulerEvaluatorSettings< model >::direct2ndRecMethod = 1 |
Direct 2nd-order reconstruction method selector.
Definition at line 62 of file EulerEvaluatorSettings.hpp.
| std::vector<ExprtkInitializer> DNDS::Euler::EulerEvaluatorSettings< model >::exprtkInitializers |
List of ExprTk-based initial condition specifiers.
Definition at line 261 of file EulerEvaluatorSettings.hpp.
| Eigen::Vector<real, -1> DNDS::Euler::EulerEvaluatorSettings< model >::farFieldStaticValue = Eigen::Vector<real, 5>{1, 0, 0, 0, 2.5} |
Far-field reference state vector (size = nVars).
Definition at line 186 of file EulerEvaluatorSettings.hpp.
| bool DNDS::Euler::EulerEvaluatorSettings< model >::forceVolURecBeta = true |
Force volume-based beta in the reconstruction.
Definition at line 66 of file EulerEvaluatorSettings.hpp.
| struct DNDS::Euler::EulerEvaluatorSettings::FrameConstRotation DNDS::Euler::EulerEvaluatorSettings< model >::frameConstRotation |
Rotating reference frame configuration.
|
static |
Geometric dimension (may differ for axi-symmetric).
Definition at line 48 of file EulerEvaluatorSettings.hpp.
|
static |
Index of the energy equation in the state vector.
Definition at line 49 of file EulerEvaluatorSettings.hpp.
| struct DNDS::Euler::EulerEvaluatorSettings::IdealGasProperty DNDS::Euler::EulerEvaluatorSettings< model >::idealGasProperty |
Ideal gas thermodynamic property configuration.
| bool DNDS::Euler::EulerEvaluatorSettings< model >::ignoreSourceTerm = false |
Completely ignore source terms (must be false when RANS or body forces are active).
Definition at line 57 of file EulerEvaluatorSettings.hpp.
| real DNDS::Euler::EulerEvaluatorSettings< model >::minWallDist = 1e-12 |
Minimum wall distance clamp (avoids singularities).
Definition at line 85 of file EulerEvaluatorSettings.hpp.
| int DNDS::Euler::EulerEvaluatorSettings< model >::nCentralSmoothStep = 0 |
Number of central-difference smoothing steps.
Definition at line 116 of file EulerEvaluatorSettings.hpp.
| bool DNDS::Euler::EulerEvaluatorSettings< model >::noGRPOnWall = false |
Disable the Generalized Riemann Problem (GRP) on wall faces.
Definition at line 56 of file EulerEvaluatorSettings.hpp.
| bool DNDS::Euler::EulerEvaluatorSettings< model >::noRsOnWall = false |
Disable the Riemann solver on wall boundary faces.
Definition at line 55 of file EulerEvaluatorSettings.hpp.
|
static |
Compile-time variable count.
Definition at line 46 of file EulerEvaluatorSettings.hpp.
| std::vector<PlaneInitializer> DNDS::Euler::EulerEvaluatorSettings< model >::planeInitializers |
List of plane-region initial condition specifiers.
Definition at line 231 of file EulerEvaluatorSettings.hpp.
| bool DNDS::Euler::EulerEvaluatorSettings< model >::ppEpsIsRelaxed = false |
Use relaxed positivity-preserving epsilon.
Definition at line 67 of file EulerEvaluatorSettings.hpp.
| real DNDS::Euler::EulerEvaluatorSettings< model >::RANSBottomLimit = 0.01 |
Lower clamp for RANS turbulence variables.
Definition at line 70 of file EulerEvaluatorSettings.hpp.
| int DNDS::Euler::EulerEvaluatorSettings< model >::ransEigScheme = 0 |
Eigenvalue computation scheme for RANS.
Definition at line 106 of file EulerEvaluatorSettings.hpp.
| int DNDS::Euler::EulerEvaluatorSettings< model >::ransForce2nd = 0 |
Force 2nd-order accuracy for RANS variables.
Definition at line 107 of file EulerEvaluatorSettings.hpp.
| RANSModel DNDS::Euler::EulerEvaluatorSettings< model >::ransModel = RANSModel::RANS_None |
RANS turbulence model (RANS_None, RANS_SA, RANS_KOWilcox, etc.).
Definition at line 103 of file EulerEvaluatorSettings.hpp.
| int DNDS::Euler::EulerEvaluatorSettings< model >::ransSARotCorrection = 1 |
SA rotation/curvature correction mode.
Definition at line 105 of file EulerEvaluatorSettings.hpp.
| int DNDS::Euler::EulerEvaluatorSettings< model >::ransSource2nd = 0 |
Enable 2nd-order RANS source term discretization.
Definition at line 108 of file EulerEvaluatorSettings.hpp.
| int DNDS::Euler::EulerEvaluatorSettings< model >::ransUseQCR = 0 |
Enable QCR (Quadratic Constitutive Relation) correction.
Definition at line 104 of file EulerEvaluatorSettings.hpp.
| Eigen::Vector<real, -1> DNDS::Euler::EulerEvaluatorSettings< model >::refU |
Reference conservative state (derived from farFieldStaticValue).
Definition at line 310 of file EulerEvaluatorSettings.hpp.
| Eigen::Vector<real, -1> DNDS::Euler::EulerEvaluatorSettings< model >::refUPrim |
Reference primitive state (derived from farFieldStaticValue).
Definition at line 311 of file EulerEvaluatorSettings.hpp.
| real DNDS::Euler::EulerEvaluatorSettings< model >::rsFixScale = 1 |
Entropy-fix scaling factor for the Riemann solver.
Definition at line 77 of file EulerEvaluatorSettings.hpp.
| real DNDS::Euler::EulerEvaluatorSettings< model >::rsIncFScale = 1 |
Incremental flux scaling factor.
Definition at line 78 of file EulerEvaluatorSettings.hpp.
| int DNDS::Euler::EulerEvaluatorSettings< model >::rsMeanValueEig = 0 |
Mean-value eigenvalue computation mode.
Definition at line 79 of file EulerEvaluatorSettings.hpp.
| int DNDS::Euler::EulerEvaluatorSettings< model >::rsRotateScheme = 0 |
Riemann solver rotation scheme selector.
Definition at line 80 of file EulerEvaluatorSettings.hpp.
| Gas::RiemannSolverType DNDS::Euler::EulerEvaluatorSettings< model >::rsType = Gas::Roe |
Primary Riemann solver type.
Definition at line 74 of file EulerEvaluatorSettings.hpp.
| Gas::RiemannSolverType DNDS::Euler::EulerEvaluatorSettings< model >::rsTypeAux = Gas::UnknownRS |
Auxiliary Riemann solver type (UnknownRS = same as primary).
Definition at line 75 of file EulerEvaluatorSettings.hpp.
| Gas::RiemannSolverType DNDS::Euler::EulerEvaluatorSettings< model >::rsTypeWall = Gas::UnknownRS |
Wall-face Riemann solver type (UnknownRS = same as primary).
Definition at line 76 of file EulerEvaluatorSettings.hpp.
| int DNDS::Euler::EulerEvaluatorSettings< model >::SADESMode = 1 |
SA-DES mode selector (1 = DDES, etc.).
Definition at line 102 of file EulerEvaluatorSettings.hpp.
| real DNDS::Euler::EulerEvaluatorSettings< model >::SADESScale = veryLargeReal |
SA-DES length scale (veryLargeReal effectively disables DES).
Definition at line 101 of file EulerEvaluatorSettings.hpp.
| int DNDS::Euler::EulerEvaluatorSettings< model >::source2nd = 0 |
Enable 2nd-order source term discretization.
Definition at line 113 of file EulerEvaluatorSettings.hpp.
| int DNDS::Euler::EulerEvaluatorSettings< model >::specialBuiltinInitializer = 0 |
Index of a built-in special initializer (0 = none).
Definition at line 63 of file EulerEvaluatorSettings.hpp.
| real DNDS::Euler::EulerEvaluatorSettings< model >::uRecAlphaCompressPower = 1 |
Alpha compression power for the reconstruction limiter.
Definition at line 64 of file EulerEvaluatorSettings.hpp.
| real DNDS::Euler::EulerEvaluatorSettings< model >::uRecBetaCompressPower = 1 |
Beta compression power for the reconstruction limiter.
Definition at line 65 of file EulerEvaluatorSettings.hpp.
| int DNDS::Euler::EulerEvaluatorSettings< model >::usePrimGradInVisFlux = 0 |
Use primitive-variable gradients in viscous flux.
Definition at line 114 of file EulerEvaluatorSettings.hpp.
| bool DNDS::Euler::EulerEvaluatorSettings< model >::useRoeJacobian = false |
Use Roe-linearization-based Jacobian.
Definition at line 54 of file EulerEvaluatorSettings.hpp.
| bool DNDS::Euler::EulerEvaluatorSettings< model >::useScalarJacobian = false |
Use scalar (diagonal) Jacobian approximation instead of block.
Definition at line 53 of file EulerEvaluatorSettings.hpp.
| int DNDS::Euler::EulerEvaluatorSettings< model >::useSourceGradFixGG = 0 |
Apply Green-Gauss gradient fix for source terms.
Definition at line 115 of file EulerEvaluatorSettings.hpp.
| int DNDS::Euler::EulerEvaluatorSettings< model >::wallDistCellLoadSize = 1024 * 32 |
Cell batch size for wall-distance computation.
Definition at line 89 of file EulerEvaluatorSettings.hpp.
| real DNDS::Euler::EulerEvaluatorSettings< model >::wallDistDTauScale = 100. |
Pseudo-time step scaling for wall-distance solver.
Definition at line 95 of file EulerEvaluatorSettings.hpp.
| int DNDS::Euler::EulerEvaluatorSettings< model >::wallDistExection = 0 |
Execution mode: 0 = parallel, 1 = serial.
Definition at line 86 of file EulerEvaluatorSettings.hpp.
| int DNDS::Euler::EulerEvaluatorSettings< model >::wallDistIter = 1000 |
Maximum iterations for the wall-distance solver.
Definition at line 90 of file EulerEvaluatorSettings.hpp.
| int DNDS::Euler::EulerEvaluatorSettings< model >::wallDistIterStart = 100 |
Starting iteration count for the wall-distance solver.
Definition at line 93 of file EulerEvaluatorSettings.hpp.
| int DNDS::Euler::EulerEvaluatorSettings< model >::wallDistLinSolver = 0 |
Linear solver: 0 = Jacobi, 1 = GMRES.
Definition at line 91 of file EulerEvaluatorSettings.hpp.
| int DNDS::Euler::EulerEvaluatorSettings< model >::wallDistNJacobiSweep = 10 |
Number of Jacobi sweeps per wall-distance iteration.
Definition at line 96 of file EulerEvaluatorSettings.hpp.
| int DNDS::Euler::EulerEvaluatorSettings< model >::wallDistPoissonP = 2 |
Poisson equation power in the wall-distance PDE.
Definition at line 94 of file EulerEvaluatorSettings.hpp.
| real DNDS::Euler::EulerEvaluatorSettings< model >::wallDistRefineMax = 1 |
Maximum wall-distance refinement factor.
Definition at line 87 of file EulerEvaluatorSettings.hpp.
| real DNDS::Euler::EulerEvaluatorSettings< model >::wallDistResTol = 1e-4 |
Residual tolerance for wall-distance convergence.
Definition at line 92 of file EulerEvaluatorSettings.hpp.
| int DNDS::Euler::EulerEvaluatorSettings< model >::wallDistScheme = 0 |
Wall-distance computation scheme selector.
Definition at line 88 of file EulerEvaluatorSettings.hpp.