DNDSR
0.1.0.dev1+gcd065ad
Distributed Numeric Data Structure for CFV
Loading...
Searching...
No Matches
Experimentals.hpp
Go to the documentation of this file.
1
#pragma once
2
/// @file Experimentals.hpp
3
/// @brief Compile-time feature flags for experimental / research code paths.
4
///
5
/// Each `#define USE_*` enables a non-default behaviour somewhere in the
6
/// solver (reconstruction, entropy fixes, turbulence models, moving mesh, ...).
7
/// They are collected here so the build provenance can be inspected via
8
/// @ref DNDS_Experimentals_State at run time.
9
10
#include <string>
11
12
// #define USE_ECCENTRIC_COMB_POW_2
13
14
// #define USE_LOCAL_COORD_CURVILINEAR
15
// #define PRINT_EVERY_VR_JACOBI_ITER_INCREMENT
16
17
// #define USE_ISOTROPIC_OPTHQM
18
19
// #define USE_FLUX_BALANCE_TERM // TODO: decide how to flux balance for moving mesh
20
// TODO: this option has been deleted, re-implement in the evaluate rhs code
21
22
/// @brief Entropy-fix applied to SA turbulence-model advection lambdas.
23
#define USE_ENTROPY_FIXED_LAMBDA_IN_SA
24
25
/// @brief Zero the SA variable `nu_tilde` exactly at wall cells.
26
#define USE_FIX_ZERO_SA_NUT_AT_WALL
27
28
// #define USE_SIGN_MINUS_AT_ROE_M4_FLUX
29
30
/// @brief Use first-order viscous wall distance inside the VR weight calculation.
31
#define USE_FIRST_ORDER_VISCOUS_WALL_DELTA_IN_VR_WEIGHT
32
33
/// @brief Use first-order (nearest-node) wall distance globally.
34
#define USE_FIRST_ORDER_WALL_DIST
35
36
// #define USE_MG_O1_NO_VISCOUS
37
38
// #define USE_MG_O1_LLF_FLUX
39
40
/// @brief Enable the negative SA formulation of Allmaras et al. (allows
41
/// `nu_tilde < 0` with a modified source term).
42
#define USE_NS_SA_NEGATIVE_MODEL
43
44
// #define USE_NS_SA_NUT_REDUCED_ORDER
45
46
// #define USE_NS_SA_ALLOW_NEGATIVE_MEAN
47
48
/// @brief Use absolute (inertial-frame) velocities in rotating-frame source
49
/// terms rather than relative velocity.
50
#define USE_ABS_VELO_IN_ROTATION
51
52
/*-------------------------------------------------------------------------------------------------*/
53
/*-------------------------------------------------------------------------------------------------*/
54
/*-------------------------------------------------------------------------------------------------*/
55
56
/// @brief Run-time-inspectable concatenation of every experimental flag that
57
/// was active during compilation. Accessed via `DNDS::GetSetVersionName` or
58
/// directly from diagnostics printers.
59
static
const
std::string DNDS_Experimentals_State = std::string(
"DNDS_Experimentals "
)
60
#ifdef USE_ECCENTRIC_COMB_POW_2
61
+
" USE_ECCENTRIC_COMB_POW_2 "
62
#endif
63
#ifdef USE_LOCAL_COORD_CURVILINEAR
64
+
" USE_LOCAL_COORD_CURVILINEAR "
65
#endif
66
#ifdef PRINT_EVERY_VR_JACOBI_ITER_INCREMENT
67
+
" PRINT_EVERY_VR_JACOBI_ITER_INCREMENT "
68
#endif
69
#ifdef USE_FLUX_BALANCE_TERM
70
+
" USE_FLUX_BALANCE_TERM "
71
#endif
72
#ifdef USE_ENTROPY_FIXED_LAMBDA_IN_SA
73
+
" USE_ENTROPY_FIXED_LAMBDA_IN_SA "
74
#endif
75
#ifdef USE_FIX_ZERO_SA_NUT_AT_WALL
76
+
" USE_FIX_ZERO_SA_NUT_AT_WALL "
77
#endif
78
#ifdef USE_SIGN_MINUS_AT_ROE_M4_FLUX
79
+
" USE_SIGN_MINUS_AT_ROE_M4_FLUX "
80
#endif
81
#ifdef USE_FIRST_ORDER_VISCOUS_WALL_DELTA_IN_VR_WEIGHT
82
+
" USE_FIRST_ORDER_VISCOUS_WALL_DELTA_IN_VR_WEIGHT "
83
#endif
84
#ifdef USE_FIRST_ORDER_WALL_DIST
85
+
" USE_FIRST_ORDER_WALL_DIST "
86
#endif
87
#ifdef USE_MG_O1_NO_VISCOUS
88
+
" USE_MG_O1_NO_VISCOUS "
89
#endif
90
#ifdef USE_MG_O1_LLF_FLUX
91
+
" USE_MG_O1_LLF_FLUX "
92
#endif
93
#ifdef USE_NS_SA_NEGATIVE_MODEL
94
+
" USE_NS_SA_NEGATIVE_MODEL "
95
#endif
96
#ifdef USE_NS_SA_NUT_REDUCED_ORDER
97
+
" USE_NS_SA_NUT_REDUCED_ORDER "
98
#endif
99
#ifdef USE_NS_SA_ALLOW_NEGATIVE_MEAN
100
+
" USE_NS_SA_ALLOW_NEGATIVE_MEAN "
101
#endif
102
#ifdef USE_ISOTROPIC_OPTHQM
103
+
" USE_ISOTROPIC_OPTHQM "
104
#endif
105
#ifdef USE_ABS_VELO_IN_ROTATION
106
+
" USE_ABS_VELO_IN_ROTATION "
107
#endif
108
;
src
DNDS
Experimentals.hpp
Generated by
1.9.8