Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[WIP] Add documentation #59

Closed
wants to merge 20 commits into from
Closed
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
1 change: 1 addition & 0 deletions _data/docs_v7.yml
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,7 @@
- Physical-Definition
- Markers-and-BC
- Convective-Schemes
- Gradients-Limiters
- Custom-Output
- Linear-Solvers-and-Preconditioners
- Multizone
Expand Down
2 changes: 1 addition & 1 deletion _docs_v7/Configuration-File.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ The configuration file is a text file that contains a user's options for a parti

The SU2 configuration file name typically carries a name of the form *filename.cfg*. The file extension .cfg is optional (this is our own convention), and the prefix can be any valid string with no spaces; e.g. config.cfg, su2-config.cfg, and flow_config.cfg are all suitable file names.

**Note: An example configuration file, called config_template.cfg, can be found in the root SU2/ directory or [here](https://github.com/su2code/SU2/blob/master/config_template.cfg). The developers keep this file up to date with the latest options, and it serves as the first reference for the available options in SU2**
**Note: An example configuration file, called config_template.cfg, can be found in the root SU2/ directory or [here](https://github.com/su2code/SU2/blob/master/config_template.cfg). It is a very important document because it supplements the documentation in this website. The developers keep this file up to date with the latest options, and it serves as the first reference for the available options in SU2.**

The configuration file consists of only three elements:
- **Options**. An option in the file has the following syntax: option_name = value, where option_name is the name of the option and value is the desired option value. The value element may be a scalar data type, a list of data types, or a more complicated structure. The "=" sign must come immediately after the option_name element and is not optional. Lists of data types may be formatted for appearance using commas, ()-braces, {}-braces, and []-braces, though this is not required. Semicolons are semantically relevant for several option types and may not be used as convenience delimiters. SU2 will exit with an error if there are options in the config file which do not exist or if there are options with improper formatting. Some example option formats are given below.
Expand Down
8 changes: 4 additions & 4 deletions _docs_v7/Convective-Schemes.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,15 +24,15 @@ The options listed here do not apply to the high order DG solver.
Convective schemes are used in the FVM discretization of convective fluxes through the faces of the dual-grid control volumes.
They are selected via option `CONV_NUM_METHOD_FLOW` and fall under the two broad categories of central and upwind.
Central schemes tend to be more robust whereas second order upwind schemes can be more accurate (i.e. less dissipative).
To achieve second order upwind schemes need to be used with MUSCL reconstruction (`MUSCL_FLOW = YES`), see the "gradients and limiters" page for the MUSCL-related options.
To achieve second order upwind schemes need to be used with MUSCL reconstruction (`MUSCL_FLOW = YES`), see the [Gradients and Limiters](/docs_v7/Gradients-Limiters) page for the MUSCL-related options.

**Note:** MUSCL options have no effect on central schemes or on coarse multigrid levels in general.

## Compressible Flow ##

| Solver | Version |
| --- | --- |
| `EULER`, `NAVIER_STOKES`, `RANS` | 7.0.0 |
| `EULER`, `NAVIER_STOKES`, `RANS` | 7.2.0 |

### Central Schemes ###

Expand Down Expand Up @@ -89,7 +89,7 @@ Some of the schemes above have tunning parameters or accept extra options, the f

| Solver | Version |
| --- | --- |
| `INC_EULER`, `INC_NAVIER_STOKES`, `INC_RANS` | 7.0.0 |
| `INC_EULER`, `INC_NAVIER_STOKES`, `INC_RANS` | 7.2.0 |

### Central Schemes ###

Expand All @@ -103,7 +103,7 @@ Some of the schemes above have tunning parameters or accept extra options, the f

| Solver | Version |
| --- | --- |
| `RANS`, `INC_RANS` | 7.0.0 |
| `RANS`, `INC_RANS` | 7.2.0 |

Only one method is currently available: `SCALAR_UPWIND` which must be selected via option `CONV_NUM_METHOD_TURB`.
This method does not have any special parameters.
Expand Down
18 changes: 12 additions & 6 deletions _docs_v7/Custom-Output.md
Original file line number Diff line number Diff line change
Expand Up @@ -44,12 +44,15 @@ SU2 can output the solution in several file formats. You can specify what files
| `RESTART` | Native SU2 binary restart format |
| `RESTART_ASCII` | ASCII CSV restart format |
| `CSV` | ASCII CSV restart format (identical to `RESTART_ASCII`) |
| `PARAVIEW` | Binary Paraview .vtk format |
| `PARAVIEW` | Binary Paraview XML .vtu format |
| `PARAVIEW_LEGACY` | Binary Paraview .vtk format |
| `PARAVIEW_MULTIBLOCK` | Paraview XML Multiblock .vtm format |
| `PARAVIEW_ASCII` | ASCII Paraview .vtk format |
| `TECPLOT` | Binary Tecplot .szplt format |
| `TECPLOT_ASCII` | ASCII Tecplot .dat format |
| `SURFACE_CSV` | Surface values in CSV format (includes all markers set with `MARKER_PLOTTING`) |
| `SURFACE_PARAVIEW` | Surface values in binary Paraview .vtk format (includes all markers set with `MARKER_PLOTTING`)|
| `SURFACE_PARAVIEW` | Surface values in binary Paraview .vtu format (includes all markers set with `MARKER_PLOTTING`)|
| `SURFACE_PARAVIEW_LEGACY` | Surface values in binary Paraview .vtk format (includes all markers set with `MARKER_PLOTTING`)|
| `SURFACE_PARAVIEW_ASCII` | Surface values in ASCII Paraview .vtk format (includes all markers set with `MARKER_PLOTTING`)|
| `SURFACE_TECPLOT` | Surface values in binary Tecplot .szplt format (includes all markers set with `MARKER_PLOTTING`)|
| `SURFACE_TECPLOT_ASCII` | Surface values in ASCII Tecplot .dat format (includes all markers set with `MARKER_PLOTTING`)|
Expand All @@ -75,17 +78,20 @@ For the compressible Navier-Stokes solver (i.e. `SOLVER=NAVIER_STOKES`), a **non
| `MOMENTUM-X` | Momentum x-component | `SOLUTION` |
| `MOMENTUM-Y` | Momentum y-component | `SOLUTION` |
| `MOMENTUM-Z` | Momentum z-component | `SOLUTION` |
| `ENERGY` | Energy | `SOLUTION` |
| `ENERGY` | Density times the specific total energy | `SOLUTION` |
| `RMS_` | Root-mean square residual of the solution | `RMS_RES` |
| `PRESSURE` | Pressure| `PRIMITIVE` |
| `TEMPERATURE` | Temperature | `PRIMITIVE` |
| `MACH` | Mach Number | `PRIMITIVE` |
| `PRESSURE_COEFF` | Pressure Coefficient | `PRIMITIVE` |
| `LAMINAR_VISCOSITY` | Laminar viscosity | `PRIMITIVE` |
| `SKIN_FRICTION-X` | Skin friction coefficient x-component | `PRIMITIVE` |
| `SKIN_FRICTION-Y` | Skin friction coefficient y-component | `PRIMITIVE` |
| `SKIN_FRICTION-Z` | Skin friction coefficient z-component | `PRIMITIVE` |
| `SKIN_FRICTION-X` | Skin friction coefficient x-component in local coordinates | `PRIMITIVE` |
| `SKIN_FRICTION-Y` | Skin friction coefficient y-component in local coordinates | `PRIMITIVE` |
| `SKIN_FRICTION-Z` | Skin friction coefficient z-component in local coordinates | `PRIMITIVE` |
| `HEAT_FLUX` | Heat flux | `PRIMITIVE` |
| `Y_PLUS` | Y-Plus | `PRIMITIVE` |
| `VORTICITY` | Vorticity | `VORTEX_IDENTIFICATION` |
| `Q_Criterion` | Q-Criterion | `VORTEX_IDENTIFICATION` |


## Customizing the Screen and History Output ##
Expand Down
36 changes: 36 additions & 0 deletions _docs_v7/Gradients-Limiters.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
---
title: Gradients and Limiters
permalink: /docs_v7/Gradients-Limiters/
---

This page lists the gradient computation methods and the limiter functions in SU2 as well as their associated options, it is not meant as a detailed theory guide but some application guidance is given nonetheless. The options listed here do not apply to the high order DG solver.

---


---

## Gradient Computation ##
The numerical method for the computation of the spatial gradients used for viscous fluxes and source terms is specified by the `NUM_METHOD_GRAD` field. The list of available options is given below.
`GREEN_GAUSS`: Classic gradient reconstruction based on the Green-Gauss theorem.
`WEIGHTED_LEAST_SQUARES`: Compute the gradient of a field using inverse-distance-weighted approximation.
The default option is set to `WEIGHTED_LEAST_SQUARES`.

The spatial gradients method used only for upwind reconstruction is specified by the `NUM_METHOD_GRAD_RECON` field. An additional method is available; `LEAST_SQUARES`: Compute the gradient of a field using unweighted Least- Squares approximation. If the `NUM_METHOD_GRAD_RECON` field is left empty or set to `NONE` it defaults to `NUM_METHOD_GRAD`.

Thin Shear Layer gradient reconstruction is always used for the construction of the Jacobian.
Comment on lines +20 to +21
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Thin Shear Layer gradient reconstruction is always used for the construction of the Jacobian.

That would be "fluxes" theory.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You are right in the sense that the Jacobian construction belongs to a "fluxes" section. However the discussion on which gradient computation method is used for its construction might belong to the "Gradients" section.


## Limiters ##
SU2 implements limiter functions to prevent the generation of oscillations when using upwind spatial discretisations. These are specified by the config field `SLOPE_LIMITER_FLOW`. The available options are:
- `NONE` - No limiter
- `VENKATAKRISHNAN` - Slope limiter using Venkatakrisnan method.
- `VENKATAKRISHNAN_WANG` - Slope limiter using Venkatakrisnan method, with the small non-vanishing bias to prevent divisions by zero based on the min-to-max range of the solution.
- `BARTH_JESPERSEN` - Slope limiter using Barth-Jespersen method.
- `VAN_ALBADA_EDGE` - Slope limiter using Van Albada method.
- `SHARP_EDGES` - Slope limiter based on the distance to the nearest sharp edge.
- `WALL_DISTANCE` - Slope limiter based on wall distance.
With the default option set to `VENKATAKRISHNAN`.

The `VENKAT_LIMITER_COEFF` field is used to compute the small non-vanishing bias to prevent divisions by zero, $\epsilon$. Depending on the limiter to be used this field has different interpretations. For the `VENKATAKRISHNAN` limiter it represents the constant $K$ in $\epsilon^2=\left(K\Delta x\right)^3$. We refer to [Venkatakrishnan](https://doi.org/10.1006/jcph.1995.1084) for further details. For the `VENKATAKRISHNAN_WANG` limiter it represents the constant $\epsilon^{\prime}$ in $\epsilon = \epsilon^{\prime}(q^{\text{\max}}-q^{\text{\min}})$. We refer to [Wang](https://doi.org/10.2514/6.1996-2091) for further details. For both limiters larger values of `VENKAT_LIMITER_COEFF` decrease the extent of limiting, while values approaching zero cause lower-order approximation to the solution. The dafault value is 0.05.

The option `LIMITER_ITER` specifies the number of iterations afterFreeze the value of the limiter after a number of iterations. DEFAULT value $999999$.
Loading