New features to compressible solver
This MR includes a few new features to the CFS:
- A forcing term
Quasi1Dused to obtain a 1D Euler simulation with area variation (quasi-1D nozzle).
- Another forcing
AxiSymmetricfor axi-symmetric Euler (the symmetry axis is x=0). In this case it should also be possible to perform a 3D simulation in a 2D mesh (by using
<GEOMETRY DIM="2" SPACE="3">) to obtain an axi-symmetric flow with swirl.
- A new boundary condition type
StagnationInflowfor prescribing stagnation density and pressure, which is useful in nozzle flows.
- It is now possible to perform local time-stepping based on each element CFL by setting
<I PROPERTY="LocalTimeStep" VALUE="True"/>. This could accelerate the convergence to a steady-state.
- An explicit filtering technique to stabilize the flow (only in 1D and 2D), activated using
<I PROPERTY="ExponentialFiltering" VALUE="True"/>.
- It is now possible to change the reduction in P used to calculate the artificial diffusion sensor (using the parameter
SensorOffset). This is useful because the filtering of the previous item zeroes the highest mode, and therefore we can only combine the filter with the artificial diffusion using SensorOffset=2.
I tried to include the most important items of this list in the user guide, but I guess some parts are still missing.
This also fixes a series of bugs:
- IProductWRTDerivBase was not working when spacedim!=expdim
- DG in one dimension was not working in parallel
- The non-smooth artificial viscosity was wrong when Kappa!=0, and also the denominator of the sensor
- The initial condition chk was being overwritten by the first checkpoint (only in the CFS)
- CompressibleFlowSystem::GetStdVelocity was wrong, affecting the CFL calculation
- In the fld output, the sensor was replacing the pressure result.