Skip to content

Commit 8f08f9f

Browse files
committed
Options available for SU2 big chunk
1 parent b73a4dd commit 8f08f9f

File tree

1 file changed

+83
-7
lines changed

1 file changed

+83
-7
lines changed

_docs_v7/Gradients-Limiters-Grant.md

Lines changed: 83 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -21,20 +21,96 @@ Grant will work on:
2121
Do this before diving into the comparisons (which can be a lot more work)
2222
Also we assume that the user will know the theory, and that they are just looking for the limiters that are available in SU2 first.
2323

24-
We may want to link to another place in the docs where they mention that limiters can be activated after a specific number of iterations.
24+
25+
The field `SLOPE_LIMITER_FLOW` in the `.cfg` file specifies which limiter to use, and defaults to `VENKATAKRISHNAN` (see below). Note that this option is only used if `MUSCL_FLOW = YES` (which specifies to use a second-order method).
26+
An example is shown here: https://su2code.github.io/tutorials/Laminar_Cylinder/. The [Turbulent Flat Plate example](https://su2code.github.io/tutorials/ Turbulent_Flat_Plate/) sets `SLOPE_LIMITER_TURB` (also defaulting to `VENKATAKRISHNAN`), which is used for the turbulence equations, rather than for the flow equations. Using a limiter similarly requires `MUSCL_TURB = YES` The settings `MUSCL_ADJFLOW`, `MUSCL_ADJTURB`, `SLOPE_LIMITER_ADJFLOW`, and `SLOPE_LIMITER_ADJTURB` set the corresponding options for the respective adjoint equations. For species transport, the options `MUSCL_SPECIES` and `SLOPE_LIMITER_SPECIES` are used.
27+
28+
<!-- There's also:
29+
% Frozen the slope limiter in the discrete adjoint formulation (NO, YES)
30+
FROZEN_LIMITER_DISC= NO
31+
-->
32+
33+
34+
<!--
35+
CLimiterDetails.hpp:
36+
computeLimiters.hpp uses computeLimiters_impl.hpp and really just sets the limiter
37+
computeLimiters_impl.hpp passes computation of field values (cell averages), gradients, and to the limiter
38+
39+
also check out
40+
computeGradientsGreenGauss.hpp
41+
42+
-->
43+
44+
The `SLOPE_LIMITER_` options above may each be changed to use different limiters, as explained below.
45+
46+
47+
All of the limiters depend on variables `proj`, `delta`, and `eps`/`eps2` (and maybe `dist` for `raisedSine` in `SHARP_EDGES`)
48+
49+
Limiters
50+
51+
| Type | Description | Notes |
52+
| --- | --- | --- |
53+
| `NONE` | No limiter | |
54+
| `BARTH_JESPERSEN` | Barth-Jespersen | |
55+
| `VENKATAKRISHNAN` | Venkatakrishnan | |
56+
| `VENKATAKRISHNAN_WANG` | Venkatakrishnan-Wang | |
57+
| `SHARP_EDGES` | Venkatakrishnan with sharp edge modification | |
58+
| `WALL_DISTANCE` | Venkatakrishnan with wall distance modification | |
59+
60+
61+
The `VENKAT_LIMITER_COEFF` parameter is generally a small constant, defaulting to $0.05$, but its specific definition depends on the limiter being used.
62+
63+
For the `VENKATAKRISHNAN` option, the `VENKAT_LIMITER_COEFF` parameter refers to $K$ in $\epsilon^2=\left(K\bar{\Delta} x\right)^3$, where $\bar{\Delta}$ is an average grid size. The $K$ parameter defines a threshold, below which oscillations are not damped by the limiter, as described by [Venkatakrishnan](https://doi.org/10.1006/jcph.1995.1084). Thus, a large value will approach the case of using no limiter, while too small of a value will slow the convergence.
64+
65+
66+
[Wang](https://doi.org/10.2514/6.1996-2091)
67+
68+
<!-- Maybe a better way to word this. -->
69+
After the number of iterations given by `LIMITER_ITER` (default $999999$), the value of the limiter will be frozen.
70+
71+
72+
73+
<!-- We can specify which limiters are applied through the fields
74+
constexpr size_t MAXNVAR = 32; -->
75+
76+
77+
78+
79+
80+
81+
82+
83+
84+
85+
86+
87+
88+
89+
90+
91+
92+
93+
<!--
94+
Should I mention some possible errors
95+
96+
SU2_MPI::Error("Too many dimensions to compute limiters.", CURRENT_FUNCTION);
97+
SU2_MPI::Error("Unknown limiter type.", CURRENT_FUNCTION);
98+
99+
constexpr size_t MAXNVAR = 32;
100+
101+
if (varEnd > MAXNVAR)
102+
SU2_MPI::Error("Number of variables is too large, increase MAXNVAR.", CURRENT_FUNCTION);
103+
104+
-->
105+
106+
25107

26108
## Why Slope Limiters are used in FVM
27109
* TVD
28110
* Monotonic
29111
* 2nd order accuracy
30112

31113

32-
![Caption. Wow, such an elaborate caption](../../docs_files/LW_example.png){#fig:description}
33-
34-
<!-- [image]: ../../docs_files/LW_example.png "Image Title"
35-
![Alt text][image]
36-
A reference to the [image](#image).s -->
37-
38114
### subsection example
39115
a subsection would go here
40116

0 commit comments

Comments
 (0)