Commit c677b0d
Stochastic Backscatter Model for Grey Area Mitigation in Hybrid RANS-LES Simulations (#2572)
* Preliminary implementation: uncorrelated stochastic variables
The Reynolds stress tensor definition is modified to include a random contribution, which is expressed as the curl of a normally-distributed stochastic vector potential.
* Add solution of Langevin equations
Add Langevin equations to Spalart-Allmaras solver (uncorrelated random source term) + add stochastic contribution to Reynolds stress tensor (using conservative variables from Langevin equations).
* Fix sanitizer warnings and regression failures
Fix sanitizer warnings and regression test failures
- Address issues reported by clang sanitizers.
- Adjust implementation to ensure regression tests pass.
* Minor fixes
- Enhance readability.
- Ensure consistent declaration types.
* Ensure consistency with DES
- Extend implementation to 2D configurations.
- Improve robustness.
* Boundary conditions for Langevin equations
Enforce boundary conditions in Langevin equations.
* Use symmetry-preserving scheme for Langevin equations
- Implement a skew-symmetric scheme for the discretization of the convective terms in the Langevin equations.
- Fix the seed for the generation of the random source terms at the beginning of the simulation.
* Add option for simulating DIHT
- Add the flag for the simulation of the Decaying Isotropic Homogeneous Turbulence.
- Generate the initial velocity field matching the experimental data by Comte-Bellot & Corrsin.
- Include a preliminary test case.
* Fix options for DIHT
- Implement flag to enforce LES in the whole domain.
- Add option to set the LES filter width to a user-specified value.
- Add velocity divergence to volume outputs.
- Remove internal generation of initial velocity field for simulating the Decaying Isotropic Homogeneous Turbulence (DIHT).
* Consistent estimation of turb. kinetic energy (for SA)
- Add consistent evaluation of the turbulent kinetic energy in the random source term appearing in the momentum equations.
- Add backscatter intensity coefficient in the configuration file.
- Add random initialization of the Langevin variables.
* Add Laplacian smoothing (Langevin equations)
- Add Laplacian smoothing of source terms in Langevin equations.
Remark: pseudo-time integration is employed (residuals are printed on screen with fixed frequency, the maximum number of time iterations can be defined by the user).
* Fix redundancy in CTurbSAVariable.hpp
- Fix redundancy in virtual member definition.
* Add stochastic source to turbulence model equation
- Add stochastic source term to Spalart-Allmaras turbulence model equation (to ensure exchange of modeled and resolved kinetic energy).
* SOR algorithm for Laplacian smoothing
- Replace dual-time integration with Successive Over-Relaxation for Laplacian smoothing.
- Initialize stochastic vector potential as equal to the stochastic source terms in Langevin equations.
- Add random source term to main balance equations in LES zones exclusively.
- Blend RANS and LES turbulence timescales using the LES sensor.
* Correct scaling of stochastic source terms in Langevin eqs.
- Scale source terms in Langevin equations using Bessel functions to preserve the variance.
- Compute Bessel integral at the beginning of the simulation for optimization.
- Add variance monitoring to screen output.
* Add LD2 scheme for the incompressible solver
- Add LD2 discretization for the inviscid terms in the main balance equations.
Remarks:
-- Valid only for the incompressible flow solver, with constant density fluid model.
-- JST scheme must be selected in the config file. The novel option LD2_SCHEME must be set to YES.
* Fix LD2 for periodic boundaries
- Retrieve classic second-order central scheme at periodic boundaries.
* Include stochastic source term in turb. equation
Add option to include stochastic contribution to turbulence model equation.
* Minor fixes
- Use logarithmic approximation for Bessel function.
- Compute relative variance of the stochastic field for verification.
* Add time-averaged skin friction coefficient
- Add option to print time-averaged skin friction coefficient in volume output.
* Minor fix
- Minor syntax fix in CConfig.cpp
* Minor fix
- Minor syntax fix in CConfig.cpp
* Add fields to VOLUME_OUTPUT
- Include time-averaged skin friction coefficient and instantaneous energy backscatter ratio into volume output fields.
- Fix boundary conditions for the implicit smoothing of the stochastic source term in Langevin equations.
- Fix computation of the source term in turbulence model equation.
- Fix computation of the subgrid kinetic energy (divide eddy viscosity by flow density).
- Diagonalize Jacobian in turbulence equations for numerical robustness.
* Fix LD2 option in config file
- Allow LD2 option only for JST scheme.
* Enhance numerical robustness
- Add option to include diagnostics of the stochastic source term
smoothing.
- Add relaxation factor for the random forcing term in the main balanca
equations.
- Add modeled and stochastic Reynolds stresses to volume output files.
* Enhance numerical efficiency
- Random generators removed from static variables.
- Random generators re-initialized at every time step using
deterministic seeds.
* Fix bug in viscous flux computation
- Account for zero DES length scale in ghost cells.
- Fix threshold (=0.9) for the activation of the backscatter model.
* First major revision
- Add LD2 scheme to CONV_NUM_METHOD enum.
- Change scaling of the backscatter term.
- Increase the size of residual and Jacobian in turb_sources.hpp.
- Remove dynamic allocation in CTurbSASolver.cpp.
- Add helper function to compute relaxed backscatter intensity
coefficient.
- Include pressure extrapolation in LD2 scheme formulation.
- Make code style homogeneous.
* Minor fixes
- Redefine default values for backscatter parameters.
- Introduce RANS-LES blending factor for source terms in Langevin
equations.
- Fix bug in MPI communication of slope limiters between periodic faces.
* Add new features
- Add the option to apply the backscatter model only in a bounded box.
- Add the option to enforce backscatter where shielding function exceeds
user-defined value.
- Correct bug in LD2 implementation.
- Make style consistent and update configuration template.
* Redefine scaling of stochastic source term
- Modify the scaling of the stochastic forcing to include the modeled
viscosity.
- Fix the computation of the stochastic tensor.
- Add the MPI communication of the DES lengthscale.
* Update config template
* Delete TestCases/backscatter/DIHT directory
Remove outdated configuration file.
* Include stochastic variables in restart file
- Add the stochastic variables (from Langevin equations) to the restart
file.
- Optimize the definition of the points lying inside the box where the
backscatter model is active.
- Limit the turbulence time scale in RANS regions (Langevin equations).
- Add test case: spatially-developing mixing layer.
* Change proposed test case
* Update Common/include/toolboxes/random_toolbox.hpp
Co-authored-by: Pedro Gomes <38071223+pcarruscag@users.noreply.github.com>
* Update Common/include/toolboxes/random_toolbox.hpp
Co-authored-by: Pedro Gomes <38071223+pcarruscag@users.noreply.github.com>
* Update SU2_CFD/src/solvers/CTurbSASolver.cpp
Co-authored-by: Pedro Gomes <38071223+pcarruscag@users.noreply.github.com>
* Update SU2_CFD/src/solvers/CTurbSASolver.cpp
Co-authored-by: Pedro Gomes <38071223+pcarruscag@users.noreply.github.com>
* Update SU2_CFD/include/numerics/turbulent/turb_sources.hpp
Co-authored-by: Pedro Gomes <38071223+pcarruscag@users.noreply.github.com>
* Update SU2_CFD/src/numerics/flow/convection/centered.cpp
Co-authored-by: Pedro Gomes <38071223+pcarruscag@users.noreply.github.com>
* Update SU2_CFD/src/solvers/CTurbSASolver.cpp
Co-authored-by: Pedro Gomes <38071223+pcarruscag@users.noreply.github.com>
* Second major revision
* Minor fixes
* Minor fixes
* Third major revision
* Update SU2_CFD/include/variables/CTurbSAVariable.hpp
Co-authored-by: Pedro Gomes <38071223+pcarruscag@users.noreply.github.com>
* Update SU2_CFD/include/numerics/CNumerics.hpp
Co-authored-by: Pedro Gomes <38071223+pcarruscag@users.noreply.github.com>
* Update SU2_CFD/src/solvers/CTurbSASolver.cpp
Co-authored-by: Pedro Gomes <38071223+pcarruscag@users.noreply.github.com>
* Update SU2_CFD/src/solvers/CTurbSASolver.cpp
Co-authored-by: Pedro Gomes <38071223+pcarruscag@users.noreply.github.com>
* Update SU2_CFD/src/solvers/CTurbSASolver.cpp
Co-authored-by: Pedro Gomes <38071223+pcarruscag@users.noreply.github.com>
* Add residuals of stoch. variables to vol. outputs
* Update Common/include/toolboxes/random_toolbox.hpp
Co-authored-by: Pedro Gomes <38071223+pcarruscag@users.noreply.github.com>
* Fix compilation errors
* Fix compilation errors - bis
* Fix compilation errors - tris
* Fix compilation errors - tetra
* Apply suggestions from code review
Co-authored-by: Pedro Gomes <38071223+pcarruscag@users.noreply.github.com>
* Update SU2_CFD/include/variables/CTurbSAVariable.hpp
Co-authored-by: Pedro Gomes <38071223+pcarruscag@users.noreply.github.com>
* Update SU2_CFD/include/variables/CTurbSAVariable.hpp
Co-authored-by: Pedro Gomes <38071223+pcarruscag@users.noreply.github.com>
* Update SU2_CFD/include/variables/CTurbSAVariable.hpp
Co-authored-by: Pedro Gomes <38071223+pcarruscag@users.noreply.github.com>
* Update SU2_CFD/include/variables/CTurbVariable.hpp
Co-authored-by: Pedro Gomes <38071223+pcarruscag@users.noreply.github.com>
* Update SU2_CFD/src/variables/CTurbSAVariable.cpp
Co-authored-by: Pedro Gomes <38071223+pcarruscag@users.noreply.github.com>
* Update SU2_CFD/src/solvers/CTurbSASolver.cpp
Co-authored-by: Pedro Gomes <38071223+pcarruscag@users.noreply.github.com>
* Fix code formatting
* Fix compilation errors - V
* Fix errors in regression tests (hopefully)
* Restore nPrimVarGrad in InitiatePeriodicComms
* Restore DDES test case (committed by mistake)
* Simplify backscatter test
* Fix compilation issues
* Fix parallel regression
* Fix regressions
* Fix regressions #2
---------
Co-authored-by: Angelo Passariello <apassari@login02.leonardo.local>
Co-authored-by: Angelo Passariello <apassari@login05.leonardo.local>
Co-authored-by: Angelo Passariello <apassari@login01.leonardo.local>
Co-authored-by: paan882 <paan882@frontend.cluster.lan>
Co-authored-by: Pedro Gomes <38071223+pcarruscag@users.noreply.github.com>1 parent 68acbf8 commit c677b0d
46 files changed
Lines changed: 1771 additions & 95 deletions
File tree
- Common
- include
- toolboxes
- src
- SU2_CFD
- include
- numerics_simd
- numerics
- flow
- scalar
- turbulent
- output
- solvers
- variables
- src
- drivers
- numerics/flow
- convection
- output
- solvers
- variables
- TestCases
- backscatter/backward_step
- ddes/flatplate
- UnitTests
- Common/toolboxes
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1096 | 1096 | | |
1097 | 1097 | | |
1098 | 1098 | | |
| 1099 | + | |
| 1100 | + | |
| 1101 | + | |
| 1102 | + | |
| 1103 | + | |
| 1104 | + | |
| 1105 | + | |
| 1106 | + | |
| 1107 | + | |
| 1108 | + | |
| 1109 | + | |
| 1110 | + | |
| 1111 | + | |
| 1112 | + | |
| 1113 | + | |
1099 | 1114 | | |
1100 | 1115 | | |
1101 | 1116 | | |
| |||
9598 | 9613 | | |
9599 | 9614 | | |
9600 | 9615 | | |
| 9616 | + | |
| 9617 | + | |
| 9618 | + | |
| 9619 | + | |
| 9620 | + | |
| 9621 | + | |
| 9622 | + | |
| 9623 | + | |
| 9624 | + | |
| 9625 | + | |
| 9626 | + | |
| 9627 | + | |
9601 | 9628 | | |
9602 | 9629 | | |
9603 | 9630 | | |
9604 | 9631 | | |
9605 | 9632 | | |
9606 | 9633 | | |
| 9634 | + | |
| 9635 | + | |
| 9636 | + | |
| 9637 | + | |
| 9638 | + | |
| 9639 | + | |
9607 | 9640 | | |
9608 | 9641 | | |
9609 | 9642 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
824 | 824 | | |
825 | 825 | | |
826 | 826 | | |
827 | | - | |
| 827 | + | |
| 828 | + | |
828 | 829 | | |
829 | 830 | | |
830 | 831 | | |
831 | 832 | | |
832 | 833 | | |
833 | 834 | | |
834 | 835 | | |
| 836 | + | |
835 | 837 | | |
836 | 838 | | |
837 | 839 | | |
| |||
2716 | 2718 | | |
2717 | 2719 | | |
2718 | 2720 | | |
| 2721 | + | |
| 2722 | + | |
2719 | 2723 | | |
2720 | 2724 | | |
2721 | 2725 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
| 111 | + | |
| 112 | + | |
| 113 | + | |
| 114 | + | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
| 120 | + | |
| 121 | + | |
| 122 | + | |
| 123 | + | |
| 124 | + | |
| 125 | + | |
| 126 | + | |
| 127 | + | |
| 128 | + | |
| 129 | + | |
| 130 | + | |
| 131 | + | |
| 132 | + | |
| 133 | + | |
| 134 | + | |
| 135 | + | |
| 136 | + | |
| 137 | + | |
| 138 | + | |
| 139 | + | |
| 140 | + | |
| 141 | + | |
| 142 | + | |
| 143 | + | |
| 144 | + | |
| 145 | + | |
| 146 | + | |
| 147 | + | |
| 148 | + | |
| 149 | + | |
| 150 | + | |
| 151 | + | |
| 152 | + | |
| 153 | + | |
| 154 | + | |
| 155 | + | |
| 156 | + | |
| 157 | + | |
| 158 | + | |
| 159 | + | |
| 160 | + | |
| 161 | + | |
| 162 | + | |
| 163 | + | |
| 164 | + | |
| 165 | + | |
| 166 | + | |
| 167 | + | |
| 168 | + | |
| 169 | + | |
| 170 | + | |
| 171 | + | |
| 172 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2966 | 2966 | | |
2967 | 2967 | | |
2968 | 2968 | | |
| 2969 | + | |
| 2970 | + | |
| 2971 | + | |
| 2972 | + | |
| 2973 | + | |
| 2974 | + | |
| 2975 | + | |
| 2976 | + | |
| 2977 | + | |
| 2978 | + | |
| 2979 | + | |
| 2980 | + | |
2969 | 2981 | | |
2970 | 2982 | | |
2971 | 2983 | | |
| 2984 | + | |
| 2985 | + | |
| 2986 | + | |
| 2987 | + | |
| 2988 | + | |
| 2989 | + | |
| 2990 | + | |
| 2991 | + | |
| 2992 | + | |
| 2993 | + | |
| 2994 | + | |
| 2995 | + | |
| 2996 | + | |
| 2997 | + | |
| 2998 | + | |
| 2999 | + | |
| 3000 | + | |
| 3001 | + | |
| 3002 | + | |
| 3003 | + | |
| 3004 | + | |
| 3005 | + | |
| 3006 | + | |
| 3007 | + | |
| 3008 | + | |
| 3009 | + | |
| 3010 | + | |
2972 | 3011 | | |
2973 | 3012 | | |
2974 | 3013 | | |
| |||
6451 | 6490 | | |
6452 | 6491 | | |
6453 | 6492 | | |
| 6493 | + | |
| 6494 | + | |
| 6495 | + | |
| 6496 | + | |
| 6497 | + | |
| 6498 | + | |
| 6499 | + | |
| 6500 | + | |
| 6501 | + | |
| 6502 | + | |
| 6503 | + | |
| 6504 | + | |
| 6505 | + | |
| 6506 | + | |
| 6507 | + | |
| 6508 | + | |
| 6509 | + | |
| 6510 | + | |
| 6511 | + | |
| 6512 | + | |
| 6513 | + | |
| 6514 | + | |
| 6515 | + | |
| 6516 | + | |
| 6517 | + | |
| 6518 | + | |
| 6519 | + | |
| 6520 | + | |
| 6521 | + | |
| 6522 | + | |
| 6523 | + | |
| 6524 | + | |
| 6525 | + | |
| 6526 | + | |
| 6527 | + | |
| 6528 | + | |
| 6529 | + | |
| 6530 | + | |
| 6531 | + | |
| 6532 | + | |
| 6533 | + | |
| 6534 | + | |
| 6535 | + | |
| 6536 | + | |
| 6537 | + | |
| 6538 | + | |
| 6539 | + | |
| 6540 | + | |
| 6541 | + | |
| 6542 | + | |
| 6543 | + | |
| 6544 | + | |
| 6545 | + | |
| 6546 | + | |
6454 | 6547 | | |
6455 | 6548 | | |
6456 | 6549 | | |
| |||
7019 | 7112 | | |
7020 | 7113 | | |
7021 | 7114 | | |
| 7115 | + | |
| 7116 | + | |
| 7117 | + | |
| 7118 | + | |
| 7119 | + | |
| 7120 | + | |
| 7121 | + | |
| 7122 | + | |
| 7123 | + | |
7022 | 7124 | | |
7023 | | - | |
7024 | | - | |
7025 | | - | |
| 7125 | + | |
7026 | 7126 | | |
| 7127 | + | |
| 7128 | + | |
7027 | 7129 | | |
7028 | 7130 | | |
7029 | 7131 | | |
| |||
0 commit comments