|
PLUTO
|
Double Mach reflection test problem. More...
#include "pluto.h"
Go to the source code of this file.
Functions | |
| void | Init (double *us, double x1, double x2, double x3) |
| void | Analysis (const Data *d, Grid *grid) |
| void | UserDefBoundary (const Data *d, RBox *box, int side, Grid *grid) |
Double Mach reflection test problem.
Sets the initial condition for a planar shock front making an angle of
with a reflecting wall:
where
is the shock position. The ideal equation of state with
is used. The wedge is represented by a reflecting boundary starting at x=1/6 along the lower y-boundary. As the shock reflects off the lower wall, a complex flow structure develops with two curved reflected shocks propagating at directions almost orthogonal to each other and a tangential discontinuity separating them. At the wall, a pressure gradient sets up a denser fluid jet propagating along the wall. Kelvin-Helmholtz instability patterns may be identified with the rolls developing at the slip line. This feature is very sensitive to numerical diffusion and it becomes visible at high resolution and/or low dissipative schemes.
In the frames below we show configuration # 02 using a high-order finite difference scheme with 5-th order WENO-Z reconstruction and RK3 time stepping. The resolution is 960 x 240.
References
Definition in file init.c.
| void Init | ( | double * | us, |
| double | x1, | ||
| double | x2, | ||
| double | x3 | ||
| ) |
The Init() function can be used to assign initial conditions as as a function of spatial position.
| [out] | v | a pointer to a vector of primitive variables |
| [in] | x1 | coordinate point in the 1st dimension |
| [in] | x2 | coordinate point in the 2nd dimension |
| [in] | x3 | coordinate point in the 3rdt dimension |
The meaning of x1, x2 and x3 depends on the geometry:
Variable names are accessed by means of an index v[nv], where nv = RHO is density, nv = PRS is pressure, nv = (VX1, VX2, VX3) are the three components of velocity, and so forth.
Definition at line 58 of file init.c.
Assign user-defined boundary conditions:
x < 1/6 and reflective boundary otherwise.
we use fixed (post-shock) values. Unperturbed values otherwise. Definition at line 90 of file init.c.