Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion _docs/Mesh-File.md
Original file line number Diff line number Diff line change
Expand Up @@ -113,7 +113,7 @@ First, the number of boundaries, or markers, is specified using the "NMARK=" str

## CGNS Format

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)).
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)).

### Compiling with CGNS Support

Expand Down
2 changes: 1 addition & 1 deletion _docs_v7/Build-SU2-Linux-MacOS.md
Original file line number Diff line number Diff line change
Expand Up @@ -164,7 +164,7 @@ The optimization level can be set with `--optimization=level`, where `level` cor
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.

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).
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).
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).

#### Warning level ####

Expand Down
2 changes: 1 addition & 1 deletion _docs_v7/Convective-Schemes.md
Original file line number Diff line number Diff line change
Expand Up @@ -97,7 +97,7 @@ Some of the schemes above have tunning parameters or accept extra options, the f

### Upwind Schemes ###

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

## Turbulence Equations ##

Expand Down
24 changes: 24 additions & 0 deletions _docs_v7/Markers-and-BC.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,8 @@ The term *Marker* refers to a named entity in your mesh file. Boundary condition
- [Mass Flow Inlet](#mass-flow-inlet)
- [Velocity Inlet](#velocity-inlet)
- [Pressure Inlet](#pressure-inlet)
- [Supersonic Inlet Boundary Condition](#supersonic-inlet-boundary-condition)
- [Thermochemical Nonequilibrium Supersonic Inlet](#thermochemical-nonequilibrium-supersonic-inlet)
- [Outlet Boundary Condition](#outlet-boundary-condition)
- [Pressure Outlet (Compressible)](#pressure-outlet-compressible)
- [Pressure Outlet (Incompressible)](#pressure-outlet-incompressible)
Expand Down Expand Up @@ -215,6 +217,28 @@ MARKER_INLET = (inlet1, 300 , 1e6, 1.0, 0.0, 0.0, inlet2, 200, 1e6, 0.0, 1.0, 0.

**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`).

## Supersonic Inlet Boundary Condition ##
Supersonic inlet boundary conditions are set using the option `MARKER_SUPERSONIC_INLET`.

### Thermochemical Nonequilibrium Supersonic Inlet

| Solver | Version |
| --- | --- |
| `NEMO_EULER`, `NEMO_NAVIER_STOKES` | 7.0.0 |

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:

```
MARKER_SUPERSONIC_INLET = (inlet1, 300, 1e6, 1000.0, 0.0, 0.0, inlet2, 400, 1e6, 0.0, 1000.0, 0.0)
```

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:

```
INLET_GAS_COMPOSITION = (0.77, 0.23, 0.0, 0.0, 0.0)
INLET_TEMPERATURE_VE = 288.15
```

## Outlet Boundary Condition ##

Outlet boundary conditions are set using the `MARKER_OUTLET` option.
Expand Down
23 changes: 23 additions & 0 deletions _docs_v7/Physical-Definition.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,9 @@ SU2 offers different ways of setting and computing this definition. This documen
- [Mach Number and Velocity](#mach-number-and-velocity)
- [Reynolds Number and Viscosity](#reynolds-number-and-viscosity)
- [Non-Dimensionalization](#non-dimensionalization)
- [Free-Stream Definition (Thermochemical Nonequilibrium)](#free-stream-definition-thermochemical-nonequilibrium)
- [Free-Stream Temperatures](#free-stream-temperatures)
- [Chemical Composition and Mass Fractions](#chemical-composition-and-mass-fractions)
- [Flow Condition (Incompressible)](#flow-condition-incompressible)
- [Thermodynamic and Gauge Pressure](#thermodynamic-and-gauge-pressure)
- [Initial State and Non-Dimensionalization](#initial-state-and-non-dimensionalization)
Expand Down Expand Up @@ -81,6 +84,26 @@ For all schemes, as reference values for the density and temperature the free-st
- `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}$$.
- `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}$$.

## Free-Stream Definition (Thermochemical Nonequilibrium) ##

| Solver | Version |
| --- | --- |
| `NEMO_EULER`, `NEMO_NAVIER_STOKES` | 7.0.0 |

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.

### Free-Stream Temperatures ###

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.

### Chemical Composition and Mass Fractions ###

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.

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`.

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).

## Flow Condition (Incompressible) ##

| Solver | Version |
Expand Down
21 changes: 21 additions & 0 deletions _docs_v7/Solver-Setup.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ This is a basic introduction on how to set up a simulation using SU2. We disting
---

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

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.

## Specifying a Fluid Model ##

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:

| Option Value | Description |
|---|---|
|`STANDARD_AIR` | **Air model with ideal gas EOS** |
|`IDEAL_GAS` | **Arbitrary fluid with ideal gas EOS** |
|`VW_GAS` | **Arbitrary fluid with Vander-Waals EOS** |
|`PR_GAS` | **Arbitrary fluid with Peng-Robinson EOS** |
|`CONSTANT_DENSITY` | **Constant density** |
|`INC_IDEAL_GAS` | **Incompressible ideal gas** |
|`INC_IDEAL_GAS_POLY` | **Incompressible ideal gas** |
|`SU2_NONEQ` | **SU2 nonequilibrium thermochemical library** |
|`MUTATIONPP` | **Mutation++ nonequilibrium thermochemical library** |

Some fluid models require the specification of additional parameters, with the full set of required options available in the configuration file template.

## Restarting the simulation ##

| Solver | Version |
Expand Down
64 changes: 64 additions & 0 deletions _docs_v7/Theory.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,8 @@ This page contains a very brief summary of the different governing equation sets

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

---

# Thermochemical Nonequilibrium Navier-Stokes #

| Solver | Version |
| --- | --- |
| `NEMO_NAVIER_STOKES` | 7.0.0 |


To simulate hypersonic flows in thermochemical nonequilibrium, SU2-NEMO solves the Navier-Stokes equations for reacting flows, expressed in differential form as

$$ \mathcal{R}(U) = \frac{\partial U}{\partial t} + \nabla \cdot \bar{F}^{c}(U) - \nabla \cdot \bar{F}^{v}(U,\nabla U) - S = 0 $$

where the conservative variables are the working variables and given by

$$U = \left \{ \rho_{1}, \dots, \rho_{n_s}, \rho \bar{v}, \rho E, \rho E_{ve} \right \}^\mathsf{T}$$

$$S$$ is a source term composed of

$$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}$$

and the convective and viscous fluxes are

$$\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 \}$$

and

$$\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 \}$$

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.

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}) $$

where the forward and backward reaction rates are computed using an Arrhenius formulation.

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}. $$

Transport properties for the multi-component mixture are evaluated using a Wilkes-Blottner-Eucken formulation.

---

# Thermochemical Nonequilibrium Euler #

| Solver | Version |
| --- | --- |
| `NEMO_EULER` | 7.0.0 |


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

$$ \mathcal{R}(U) = \frac{\partial U}{\partial t} + \nabla \cdot \bar{F}^{c}(U) - S = 0 $$

where the conservative variables are the working variables and given by

$$U = \left \{ \rho_{1}, \dots, \rho_{n_s}, \rho \bar{v}, \rho E, \rho E_{ve} \right \}^\mathsf{T}$$

$$S$$ is a source term composed of

$$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}$$

and the convective and viscous fluxes are

$$\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 \}$$

# Incompressible Navier-Stokes #

| Solver | Version |
Expand Down
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.