69 #ifndef EPS_PSHOCK_FLATTEN 
   70  #define EPS_PSHOCK_FLATTEN  5.0 
   73 #ifndef EPS_PSHOCK_ENTROPY 
   74  #define EPS_PSHOCK_ENTROPY  0.05 
   77 #if (SHOCK_FLATTENING == MULTID) || ENTROPY_SWITCH 
   87   double divv, gradp, pt_min;
 
   88   double dpx1, *dx1, *dV1, ***vx1, pt_min1, dvx1;
 
   89   double dpx2, *dx2, *dV2, ***vx2, pt_min2, dvx2;
 
   90   double dpx3, *dx3, *dV3, ***vx3, pt_min3, dvx3;
 
   92   double *dVx, *dVy, *dVz;
 
   93   double *Ar, *Ath, *r, *th, 
s;
 
  109   EXPAND(vx1 = d->
Vc[
VX1];  ,
 
  121 #if EOS == ISOTHERMAL 
  122     pt[
k][
j][
i] = d->
Vc[
RHO][
k][
j][
i]*g_isoSoundSpeed*g_isoSoundSpeed;
 
  129 #if (ENTROPY_SWITCH == SELECTIVE) || (ENTROPY_SWITCH == ALWAYS) 
  138   for (k = KOFFSET; k < 
NX3_TOT-KOFFSET; k++){ 
 
  139   for (j = JOFFSET; j < 
NX2_TOT-JOFFSET; j++){ 
 
  140   for (i = IOFFSET; i < 
NX1_TOT-IOFFSET; i++){
 
  144     #if GEOMETRY == CARTESIAN 
  146      D_EXPAND(dvx1 = vx1[k][j][i + 1] - vx1[k][j][i - 1];   ,
 
  147               dvx2 = vx2[
k][j + 1][
i] - vx2[
k][j - 1][
i];   ,
 
  148               dvx3 = vx3[k + 1][
j][
i] - vx3[k - 1][
j][
i];)
 
  152      D_EXPAND(dvx1 =   Ar[i]  *(vx1[k][j][i + 1] + vx1[k][j][i])
 
  153                      - Ar[i-1]*(vx1[k][j][i - 1] + vx1[k][j][i]);   ,
 
  154               dvx2 = vx2[
k][j + 1][
i] - vx2[
k][j - 1][
i];           , 
 
  155               dvx3 = vx3[k + 1][
j][
i] - vx3[k - 1][
j][
i];)
 
  159      D_EXPAND(dvx1 =  Ar[i]  *(vx1[k][j][i + 1] + vx1[k][j][i])
 
  160                     - Ar[i-1]*(vx1[k][j][i - 1] + vx1[k][j][i]);  ,
 
  161               dvx2 = (vx2[
k][j + 1][
i] - vx2[
k][j - 1][
i])/r[i];      ,
 
  162               dvx3 =  vx3[k + 1][
j][
i] - vx3[k - 1][
j][
i];)
 
  166      D_EXPAND(dvx1 =  Ar[i]  *(vx1[k][j][i + 1] + vx1[k][j][i])
 
  167                     - Ar[i-1]*(vx1[
k][
j][i - 1] + vx1[
k][
j][
i]);               ,
 
  168               dvx2 = (  Ath[
j] *(vx2[
k][j + 1][
i] + vx2[
k][
j][
i])
 
  169                      - Ath[j-1]*(vx2[k][j - 1][i] + vx2[k][j][i]))/fabs(r[i]); ,
 
  171               dvx3 = (vx3[k + 1][
j][
i] - vx3[k - 1][
j][
i])/(r[i]*sin(s));)
 
  175     divv = 
D_EXPAND(dvx1/dV1[i], + dvx2/dV2[j], + dvx3/dV3[k]);
 
  184       pt_min = pt[
k][
j][
i];
 
  185       D_EXPAND(pt_min1 = 
MIN(pt[k][j][i+1], pt[k][j][i-1]); ,
 
  186                pt_min2 = 
MIN(pt[k][j+1][i], pt[k][j-1][i]);  ,
 
  187                pt_min3 = 
MIN(pt[k+1][j][i], pt[k-1][j][i]); )
 
  190                pt_min = 
MIN(pt_min, pt_min2);  ,
 
  191                pt_min = 
MIN(pt_min, pt_min3);)
 
  193       D_EXPAND(dpx1 = fabs(pt[k][j][i+1] - pt[k][j][i-1]);  ,  
 
  194                dpx2 = fabs(pt[k][j+1][i] - pt[k][j-1][i]);  , 
 
  195                dpx3 = fabs(pt[k+1][j][i] - pt[k-1][j][i]);)   
 
  197       gradp = 
D_EXPAND(dpx1, + dpx2, + dpx3);
 
  199       #if SHOCK_FLATTENING == MULTID 
  220       #if ENTROPY_SWITCH == SELECTIVE 
  242 #undef  EPS_PSHOCK_FLATTEN  
  243 #undef  EPS_PSHOCK_ENTROPY 
#define EPS_PSHOCK_FLATTEN
 
long int NX2_TOT
Total number of zones in the X2 direction (boundaries included) for the local processor. 
 
double **** Vc
The main four-index data array used for cell-centered primitive variables. 
 
#define ARRAY_3D(nx, ny, nz, type)    
 
unsigned char *** flag
Pointer to a 3D array setting useful integration flags that are retrieved during integration. 
 
#define EPS_PSHOCK_ENTROPY
 
#define FLAG_MINMOD
Reconstruct using MINMOD limiter. 
 
#define TOT_LOOP(k, j, i)
 
#define FLAG_ENTROPY
Update pressure using entropy equation. 
 
int AL_Exchange(void *vbuf, int sz_ptr)
 
long int NX3_TOT
Total number of zones in the X3 direction (boundaries included) for the local processor. 
 
D_EXPAND(tot/[n]=(double) grid[IDIR].np_int_glob;, tot/[n]=(double) grid[JDIR].np_int_glob;, tot/[n]=(double) grid[KDIR].np_int_glob;)
 
#define FLAG_HLL
Use HLL Riemann solver. 
 
void FlagShock(const Data *, Grid *)
 
long int NX1_TOT
Total number of zones in the X1 direction (boundaries included) for the local processor. 
 
double * A
Right interface area, A[i] = .