IhmeGroup / quail

A lightweight discontinuous Galerkin code for teaching and prototyping
GNU General Public License v3.0
52 stars 20 forks source link

Artificial Viscosity #32

Closed alilasemi closed 3 years ago

alilasemi commented 3 years ago

This branch adds the artificial viscosity model of Hartmann into the volume residual term, to be used for resolving and stabilizing strong shocks. To use, a Numerics flag, "ArtificialViscosity", should be set to True in the input file, along with a value of "AVParameter". In testing, it was found that for normalized problems (sod shock tube case) this parameter was around 1e0 to 1e2. For physical cases (supersonic exterior flow in air) it could be around 1e5 to 1e7. Turning on AV sometimes requires a lower time step as well because of the viscous timescale. On certain meshes (especially anisotropic ones) sometimes this still crashes, but pairing it with the positivity preserving limiter solves this problem.