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

Update documentation for Gradients and Limiters #83

Open
wants to merge 5 commits into
base: develop
Choose a base branch
from

Conversation

suargi
Copy link

@suargi suargi commented Jun 30, 2022

Included a section dedicated only to gradients and limiters.

This pull request complements #81.

Included a section dedicated only to the gradients and limiters.
- `WALL_DISTANCE` : Slope limiter based on wall distance.
With the `VENKATAKRISHNAN` being the default option.

The `VENKAT_LIMITER_COEFF` tunable 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. Larger values of `VENKAT_LIMITER_COEFF` will reduce the high frequency oscillations of the sulition making it more stable and attaining better convergence properties. On expense, the accuracy of the solution will be typycally affected. The dafault value is 0.05.
Copy link
Author

Choose a reason for hiding this comment

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

I have written the last part: "Larger values of VENKAT_LIMITER_COEFF will..." based on theory and my experience. Please correct it/me in case it is wrong.

Copy link
Member

Choose a reason for hiding this comment

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

It's a bit misleading. Specify that the oscillations are of the residuals (aka flip flopping).
More limiting can make convergence more difficult. But not enough limiting can make the solver diverge. It's a trade-off and it needs tuning. For example a finer mesh for the same problem needs a smaller value to be completely consistent.

permalink: /docs_v7/Gradients-Limiters/
---

This page lists the gradient of the space 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.
Copy link
Member

Choose a reason for hiding this comment

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

The start of this sentence is not very clear.

_docs_v7/Gradients-Limiters.md Outdated Show resolved Hide resolved
_docs_v7/Gradients-Limiters.md Outdated Show resolved Hide resolved
_docs_v7/Gradients-Limiters.md Outdated Show resolved Hide resolved
- `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.
Copy link
Member

Choose a reason for hiding this comment

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

This and wall distance should not be used for flow solvers

_docs_v7/Gradients-Limiters.md Outdated Show resolved Hide resolved
_docs_v7/Gradients-Limiters.md Outdated Show resolved Hide resolved
- `WALL_DISTANCE` : Slope limiter based on wall distance.
With the `VENKATAKRISHNAN` being the default option.

The `VENKAT_LIMITER_COEFF` tunable 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. Larger values of `VENKAT_LIMITER_COEFF` will reduce the high frequency oscillations of the sulition making it more stable and attaining better convergence properties. On expense, the accuracy of the solution will be typycally affected. The dafault value is 0.05.
Copy link
Member

Choose a reason for hiding this comment

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

Adapt the divisions by zero according to my comment above, the true purpose is not to prevent div by 0

- `WALL_DISTANCE` : Slope limiter based on wall distance.
With the `VENKATAKRISHNAN` being the default option.

The `VENKAT_LIMITER_COEFF` tunable 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. Larger values of `VENKAT_LIMITER_COEFF` will reduce the high frequency oscillations of the sulition making it more stable and attaining better convergence properties. On expense, the accuracy of the solution will be typycally affected. The dafault value is 0.05.
Copy link
Member

Choose a reason for hiding this comment

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

It's a bit misleading. Specify that the oscillations are of the residuals (aka flip flopping).
More limiting can make convergence more difficult. But not enough limiting can make the solver diverge. It's a trade-off and it needs tuning. For example a finer mesh for the same problem needs a smaller value to be completely consistent.

@pcarruscag
Copy link
Member

Thank you for continuing this work, it's good info 👍

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants