Skip to content

Commit f7b4e08

Browse files
authored
Merge pull request #112 from su2code/feature_nemo_ss_inlet
add nemo ss inlet doc
2 parents dfdeef0 + 8dc0d08 commit f7b4e08

File tree

9 files changed

+135
-3
lines changed

9 files changed

+135
-3
lines changed

_docs/Mesh-File.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -113,7 +113,7 @@ First, the number of boundaries, or markers, is specified using the "NMARK=" str
113113

114114
## CGNS Format
115115

116-
To make creating your own meshes easier and more accessible, support for the open CGNS data standard has been included within SU2. The main advantage gained is that complex meshes created in a third-party software package (one that supports unstructured, single-zone CGNS file export) can be used directly within SU2 without the need for conversion to the native format. Moreover, as CGNS is a binary format, the size of the mesh files can be significantly reduced. If needed, a converter from CGNS to the SU2 format has been built into SU2 (See the [inviscid wedge tutorial](../tutorials/Inviscid_Wedge)).
116+
To make creating your own meshes easier and more accessible, support for the open CGNS data standard has been included within SU2. The main advantage gained is that complex meshes created in a third-party software package (one that supports unstructured, single-zone CGNS file export) can be used directly within SU2 without the need for conversion to the native format. Moreover, as CGNS is a binary format, the size of the mesh files can be significantly reduced. If needed, a converter from CGNS to the SU2 format has been built into SU2 (See the [inviscid wedge tutorial](../../tutorials/Inviscid_Wedge)).
117117

118118
### Compiling with CGNS Support
119119

_docs_v7/Build-SU2-Linux-MacOS.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -164,7 +164,7 @@ The optimization level can be set with `--optimization=level`, where `level` cor
164164
However, that may not result in optimum performance, for example with the GNU compilers level 2 and the extra flag `-funroll-loops` results in better performance for most problems.
165165

166166
Some numerical schemes support vectorization (see which ones in the Convective Schemes page), to make the most out of it the compiler needs to be informed of the target CPU architecture, so it knows what "kind of vectorization" it can generate (256 or 512bit, 128bit being the default).
167-
With gcc, clang, and icc this can be done via the `-march=??` and `-mtune=??` options, where `??` needs to be set appropriately e.g. `skylake`, `ryzen`, etc., these flags can be passed to the compiler by setting `CXXFLAGS` before first running meson (which will print some messages acknowledging the flags).
167+
With gcc, clang, and icc this can be done via the `-march=??` and `-mtune=??` options, where `??` needs to be set appropriately e.g. `skylake`, `znver3`, etc., these flags can be passed to the compiler by setting `CXXFLAGS` before first running meson (which will print some messages acknowledging the flags).
168168

169169
#### Warning level ####
170170

_docs_v7/Convective-Schemes.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,7 @@ Some of the schemes above have tunning parameters or accept extra options, the f
9797

9898
### Upwind Schemes ###
9999

100-
`FDS` - Flux Difference Splitting with low speed preconditioning, this scheme does not have tunning parameters.
100+
`FDS` - Flux Difference Splitting with low speed preconditioning, this scheme does not have tuning parameters.
101101

102102
## Turbulence Equations ##
103103

_docs_v7/Markers-and-BC.md

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,8 @@ The term *Marker* refers to a named entity in your mesh file. Boundary condition
2020
- [Mass Flow Inlet](#mass-flow-inlet)
2121
- [Velocity Inlet](#velocity-inlet)
2222
- [Pressure Inlet](#pressure-inlet)
23+
- [Supersonic Inlet Boundary Condition](#supersonic-inlet-boundary-condition)
24+
- [Thermochemical Nonequilibrium Supersonic Inlet](#thermochemical-nonequilibrium-supersonic-inlet)
2325
- [Outlet Boundary Condition](#outlet-boundary-condition)
2426
- [Pressure Outlet (Compressible)](#pressure-outlet-compressible)
2527
- [Pressure Outlet (Incompressible)](#pressure-outlet-incompressible)
@@ -215,6 +217,28 @@ MARKER_INLET = (inlet1, 300 , 1e6, 1.0, 0.0, 0.0, inlet2, 200, 1e6, 0.0, 1.0, 0.
215217

216218
**Note 2**: Updates to the velocity based on the prescribed pressure are damped in order to help with stability/convergence. The damping coefficient can be changed using the `INC_INLET_DAMPING` option (default is `0.1`).
217219

220+
## Supersonic Inlet Boundary Condition ##
221+
Supersonic inlet boundary conditions are set using the option `MARKER_SUPERSONIC_INLET`.
222+
223+
### Thermochemical Nonequilibrium Supersonic Inlet
224+
225+
| Solver | Version |
226+
| --- | --- |
227+
| `NEMO_EULER`, `NEMO_NAVIER_STOKES` | 7.0.0 |
228+
229+
The format for `MARKER_SUPERSONIC_INLET` for the NEMO solvers is the marker name, followed by the static translational-rotational Temperature (in Kelvin `[K]`), the static Pressure (in Pascal `[Pa]`) and the flow velocity vector (in meter per second `[m/s]`). For example:
230+
231+
```
232+
MARKER_SUPERSONIC_INLET = (inlet1, 300, 1e6, 1000.0, 0.0, 0.0, inlet2, 400, 1e6, 0.0, 1000.0, 0.0)
233+
```
234+
235+
For the NEMO solvers, a gas composition at the inlet must also be specified using the `INLET_GAS_COMPOSITION` option, as well as the vibrational-electronic Temperature at the inlet, using the `INLET_TEMPERATURE_VE` option. If no vibrational-electronic Temperature is specified, the given translational-rotational Temperature set for the inlet is used by default. For example:
236+
237+
```
238+
INLET_GAS_COMPOSITION = (0.77, 0.23, 0.0, 0.0, 0.0)
239+
INLET_TEMPERATURE_VE = 288.15
240+
```
241+
218242
## Outlet Boundary Condition ##
219243

220244
Outlet boundary conditions are set using the `MARKER_OUTLET` option.

_docs_v7/Physical-Definition.md

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,9 @@ SU2 offers different ways of setting and computing this definition. This documen
1515
- [Mach Number and Velocity](#mach-number-and-velocity)
1616
- [Reynolds Number and Viscosity](#reynolds-number-and-viscosity)
1717
- [Non-Dimensionalization](#non-dimensionalization)
18+
- [Free-Stream Definition (Thermochemical Nonequilibrium)](#free-stream-definition-thermochemical-nonequilibrium)
19+
- [Free-Stream Temperatures](#free-stream-temperatures)
20+
- [Chemical Composition and Mass Fractions](#chemical-composition-and-mass-fractions)
1821
- [Flow Condition (Incompressible)](#flow-condition-incompressible)
1922
- [Thermodynamic and Gauge Pressure](#thermodynamic-and-gauge-pressure)
2023
- [Initial State and Non-Dimensionalization](#initial-state-and-non-dimensionalization)
@@ -81,6 +84,26 @@ For all schemes, as reference values for the density and temperature the free-st
8184
- `FREESTREAM_VEL_EQ_MACH`: Reference pressure is chosen such that the non-dimensional free-stream velocity equals the Mach number: $$p_{ref} = \gamma p_{\infty}$$.
8285
- `FREESTREAM_VEL_EQ_ONE`: Reference pressure is chosen such that the non-dimensional free-stream velocity equals `1.0`: $$p_{ref} = Ma^2_{\infty} \gamma p_{\infty}$$.
8386

87+
## Free-Stream Definition (Thermochemical Nonequilibrium) ##
88+
89+
| Solver | Version |
90+
| --- | --- |
91+
| `NEMO_EULER`, `NEMO_NAVIER_STOKES` | 7.0.0 |
92+
93+
The physical definition for the thermochemical nonequilibrium (NEMO) solvers is similar to the compressible solvers, but with additional parameters to specify. The free-stream values are not only used as boundary conditions for the `MARKER_FAR` option, but also for initialization and non-dimensionalization. That means even if you don't have any farfield BCs in your problem, it might be important to prescribe physically meaningful values for the options.
94+
95+
### Free-Stream Temperatures ###
96+
97+
Thermodynamic state is specified using the same options as the compressible solver, with the addition of the free-stream electronic temperature. This can be specified using the `FREESTREAM_TEMPERATURE_VE` option in the config file. For a free-stream in equilibrium, this is typically the same value as specified in the `FREESTREAM_TEMPERATURE` option.
98+
99+
### Chemical Composition and Mass Fractions ###
100+
101+
The NEMO solvers require a specification of thermochemical nonequilibrium library using the `FLUID_MODEL` option, either `SU2_NONEQ` if using the SU2 built-in thermochemical library, or `MUTATIONPP` if using the Mutation++ thermochemical library.
102+
103+
A chemistry model, consisting of a set of flow species, thermochemical properties, and chemical reactions, is specified using `GAS_MODEL`. The names of these models are specific to the thermochemical library. If using the `SU2_NONEQ` option the choices are `ARGON`, `N2`, `AIR-5`, and `AIR-7`.
104+
105+
Free-stream mass fractions must also be specified in list using the option `GAS_COMPOSITION`. The mass fractions are specified as decimal values in the order of the species in the gas model. For example, an AIR-5 mixture of 77% oxygen and 23% nitrogen would be expressed as (0.77, 0.23, 0.00, 0.00, 0.00).
106+
84107
## Flow Condition (Incompressible) ##
85108

86109
| Solver | Version |

_docs_v7/Solver-Setup.md

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ This is a basic introduction on how to set up a simulation using SU2. We disting
88
---
99

1010
- [Defining the Problem](#defining-the-problem)
11+
- [Specifying a Fluid Model](#specifying-a-fluid-model)
1112
- [Restarting the simulation](#restarting-the-simulation)
1213
- [Controlling the simulation](#controlling-the-simulation)
1314
- [Time-dependent Simulation](#time-dependent-simulation)
@@ -31,6 +32,8 @@ SU2 is capable of dealing with different kinds of physical problems. The kind of
3132
|`EULER` | **Euler's equation** |Finite-Volume method |
3233
|`NAVIER_STOKES` | **Navier-Stokes' equation** | Finite-Volume method |
3334
|`RANS` | **Reynolds-averaged Navier-Stokes' equation** | Finite-Volume method|
35+
|`NEMO_EULER` | **Thermochemical Nonequilibrium Euler's equation** |Finite-Volume method |
36+
|`NEMO_NAVIER_STOKES` | **Thermochemical Nonequilibrium Navier-Stokes' equation** | Finite-Volume method |
3437
|`INC_EULER` | **Incompressible Euler's equation** | Finite-Volume method |
3538
|`INC_NAVIER_STOKES` | **Incompressible Navier-Stokes' equation** | Finite-Volume method|
3639
|`INC_RANS` | **Incompressible Reynolds-averaged Navier-Stokes' equation** | Finite-Volume method|
@@ -42,6 +45,24 @@ SU2 is capable of dealing with different kinds of physical problems. The kind of
4245

4346
Every solver has its specific options and we refer to the tutorial cases for more information. However, the basic controls detailed in the remainder of this page are the same for all problems.
4447

48+
## Specifying a Fluid Model ##
49+
50+
For fluid simulations, a model defining the equation of state and thermodynamic properties of the fluid or mixture is required. This is selected using the `FLUID_MODEL` option in the config. Available fluid models in SU2 include:
51+
52+
| Option Value | Description |
53+
|---|---|
54+
|`STANDARD_AIR` | **Air model with ideal gas EOS** |
55+
|`IDEAL_GAS` | **Arbitrary fluid with ideal gas EOS** |
56+
|`VW_GAS` | **Arbitrary fluid with Vander-Waals EOS** |
57+
|`PR_GAS` | **Arbitrary fluid with Peng-Robinson EOS** |
58+
|`CONSTANT_DENSITY` | **Constant density** |
59+
|`INC_IDEAL_GAS` | **Incompressible ideal gas** |
60+
|`INC_IDEAL_GAS_POLY` | **Incompressible ideal gas** |
61+
|`SU2_NONEQ` | **SU2 nonequilibrium thermochemical library** |
62+
|`MUTATIONPP` | **Mutation++ nonequilibrium thermochemical library** |
63+
64+
Some fluid models require the specification of additional parameters, with the full set of required options available in the configuration file template.
65+
4566
## Restarting the simulation ##
4667

4768
| Solver | Version |

_docs_v7/Theory.md

Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@ This page contains a very brief summary of the different governing equation sets
99

1010
- [Compressible Navier-Stokes](#compressible-navier-stokes)
1111
- [Compressible Euler](#compressible-euler)
12+
- [Thermochemical Nonequilibrium Navier-Stokes](#thermochemical-nonequilibrium-navier-stokes)
13+
- [Thermochemical Nonequilibrium Euler](#thermochemical-nonequilibrium-euler)
1214
- [Incompressible Navier-Stokes](#incompressible-navier-stokes)
1315
- [Incompressible Euler](#incompressible-euler)
1416
- [Turbulence Modeling](#turbulence-modeling)
@@ -87,6 +89,68 @@ Within the `EULER` solvers, we discretize the equations in space using a finite
8789

8890
---
8991

92+
# Thermochemical Nonequilibrium Navier-Stokes #
93+
94+
| Solver | Version |
95+
| --- | --- |
96+
| `NEMO_NAVIER_STOKES` | 7.0.0 |
97+
98+
99+
To simulate hypersonic flows in thermochemical nonequilibrium, SU2-NEMO solves the Navier-Stokes equations for reacting flows, expressed in differential form as
100+
101+
$$ \mathcal{R}(U) = \frac{\partial U}{\partial t} + \nabla \cdot \bar{F}^{c}(U) - \nabla \cdot \bar{F}^{v}(U,\nabla U) - S = 0 $$
102+
103+
where the conservative variables are the working variables and given by
104+
105+
$$U = \left \{ \rho_{1}, \dots, \rho_{n_s}, \rho \bar{v}, \rho E, \rho E_{ve} \right \}^\mathsf{T}$$
106+
107+
$$S$$ is a source term composed of
108+
109+
$$S = \left \{ \dot{w}_{1}, \dots, \dot{w}_{n_s}, \mathbf{0}, 0, \dot{\theta}_{tr:ve} + \sum_s \dot{w}_s E_{ve,s} \right \}^\mathsf{T}$$
110+
111+
and the convective and viscous fluxes are
112+
113+
$$\bar{F}^{c} = \left \{ \begin{array}{c} \rho_{1} \bar{v} \\ \vdots \\ \rho_{n_s} \bar{v} \\ \rho \bar{v} \otimes \bar{v} + \bar{\bar{I}} p \\ \rho E \bar{v} + p \bar{v} \\ \rho E_{ve} \bar{v} \end{array} \right \}$$
114+
115+
and
116+
117+
$$\bar{F}^{v} = \left \{ \begin{array}{c} \\- \bar{J}_1 \\ \vdots \\ - \bar{J}_{n_s} \\ \bar{\bar{\tau}} \\ \bar{\bar{\tau}} \cdot \bar{v} + \sum_k \kappa_k \nabla T_k - \sum_s \bar{J}_s h_s \\ \kappa_{ve} \nabla T_{ve} - \sum_s \bar{J}_s E_{ve} \end{array} \right \}$$
118+
119+
In the equations above, the notation is is largely the same as for the compressible Navier-Stokes equations. An individual mass conservation equation is introduced for each chemical species, indexed by $$s \in \{1,\dots,n_s\}$$. Each conservation equation has an associated source term, $$\dot{w}_{s}$$ associated with the volumetric production rate of species $$s$$ due to chemical reactions occuring within the flow.
120+
121+
Chemical production rates are given by $$ \dot{w}_s = M_s \sum_r (\beta_{s,r} - \alpha_{s,r})(R_{r}^{f} - R_{r}^{b}) $$
122+
123+
where the forward and backward reaction rates are computed using an Arrhenius formulation.
124+
125+
A two-temperature thermodynamic model is employed to model nonequilibrium between the translational-rotational and vibrational-electronic energy modes. As such, a separate energy equation is used to model vibrational-electronic energy transport. A source term associated with the relaxation of vibrational-electronic energy modes is modeled using a Landau-Teller formulation $$ \dot{\theta}_{tr:ve} = \sum _s \rho_s \frac{dE_{ve,s}}{dt} = \sum _s \rho_s \frac{E_{ve*,s} - E_{ve,s}}{\tau_s}. $$
126+
127+
Transport properties for the multi-component mixture are evaluated using a Wilkes-Blottner-Eucken formulation.
128+
129+
---
130+
131+
# Thermochemical Nonequilibrium Euler #
132+
133+
| Solver | Version |
134+
| --- | --- |
135+
| `NEMO_EULER` | 7.0.0 |
136+
137+
138+
To simulate inviscid hypersonic flows in thermochemical nonequilibrium, SU2-NEMO solves the Euler equations for reacting flows which can be obtained as a simplification of the thermochemical nonequilibrium Navier-Stokes equations in the absence of viscous effects. They can be expressed in differential form as
139+
140+
$$ \mathcal{R}(U) = \frac{\partial U}{\partial t} + \nabla \cdot \bar{F}^{c}(U) - S = 0 $$
141+
142+
where the conservative variables are the working variables and given by
143+
144+
$$U = \left \{ \rho_{1}, \dots, \rho_{n_s}, \rho \bar{v}, \rho E, \rho E_{ve} \right \}^\mathsf{T}$$
145+
146+
$$S$$ is a source term composed of
147+
148+
$$S = \left \{ \dot{w}_{1}, \dots, \dot{w}_{n_s}, \mathbf{0}, 0, \dot{\theta}_{tr:ve} + \sum_s \dot{w}_s E_{ve,s} \right \}^\mathsf{T}$$
149+
150+
and the convective and viscous fluxes are
151+
152+
$$\bar{F}^{c} = \left \{ \begin{array}{c} \rho_{1} \bar{v} \\ \vdots \\ \rho_{n_s} \bar{v} \\ \rho \bar{v} \otimes \bar{v} + \bar{\bar{I}} p \\ \rho E \bar{v} + p \bar{v} \\ \rho E_{ve} \bar{v} \end{array} \right \}$$
153+
90154
# Incompressible Navier-Stokes #
91155

92156
| Solver | Version |
-158 KB
Loading
-157 KB
Loading

0 commit comments

Comments
 (0)