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.Definition at line 90 of file init.c.