34 int ibeg, iend, jbeg, jend, kbeg, kend;
36 static double **v, **u;
56 ibeg = (box->
ib <= box->
ie) ? (iend=box->
ie, box->
ib):(iend=box->
ib, box->
ie);
57 jbeg = (box->
jb <= box->
je) ? (jend=box->
je, box->
jb):(jend=box->
jb, box->
je);
58 kbeg = (box->
kb <= box->
ke) ? (kend=box->
ke, box->
kb):(kend=box->
kb, box->
ke);
60 for (k = kbeg; k <= kend; k++){
g_k =
k;
61 for (j = jbeg; j <= jend; j++){
g_j =
j;
64 for (i = ibeg; i <= iend; i++)
NVAR_LOOP(nv) u[
i][nv] = U[nv][
k][
j][
i];
65 #if COOLING == MINEq || COOLING == H2_COOL
68 err =
ConsToPrim (u, v, ibeg, iend, flag[k][j]);
76 for (i = ibeg; i <= iend; i++)
NVAR_LOOP(nv) U[nv][
k][
j][
i] = u[
i][nv];
78 err =
ConsToPrim (U[k][j], v, ibeg, iend, flag[k][j]);
80 for (i = ibeg; i <= iend; i++)
NVAR_LOOP(nv) V[nv][
k][
j][
i] = v[
i][nv];
103 int ibeg, iend, jbeg, jend, kbeg, kend;
105 static double **v, **u;
120 ibeg = (box->
ib <= box->
ie) ? (iend=box->
ie, box->
ib):(iend=box->
ib, box->
ie);
121 jbeg = (box->
jb <= box->
je) ? (jend=box->
je, box->
jb):(jend=box->
jb, box->
je);
122 kbeg = (box->
kb <= box->
ke) ? (kend=box->
ke, box->
kb):(kend=box->
kb, box->
ke);
124 for (k = kbeg; k <= kend; k++){
g_k =
k;
125 for (j = jbeg; j <= jend; j++){
g_j =
j;
126 for (i = ibeg; i <= iend; i++)
VAR_LOOP(nv) v[
i][nv] = V[nv][
k][
j][
i];
129 for (i = ibeg; i <= iend; i++)
VAR_LOOP(nv) U[nv][
k][
j][
i] = u[
i][nv];
int jb
Lower corner index in the x2 direction.
void PrimToCons3D(Data_Arr V, Data_Arr U, RBox *box)
int g_intStage
Gives the current integration stage of the time stepping method (predictor = 0, 1st corrector = 1...
int kb
Lower corner index in the x3 direction.
void NormalizeIons(double *)
void ConsToPrim3D(Data_Arr U, Data_Arr V, unsigned char ***flag, RBox *box)
int ib
Lower corner index in the x1 direction.
int g_dir
Specifies the current sweep or direction of integration.
int ConsToPrim(double **ucons, double **uprim, int ibeg, int iend, unsigned char *flag)
int g_j
x2 grid index when sweeping along the x1 or x3 direction.
int g_k
x3 grid index when sweeping along the x1 or x2 direction.
long int NMAX_POINT
Maximum number of points among the three directions, boundaries excluded.
void PrimToCons(double **uprim, double **ucons, int ibeg, int iend)
int ie
Upper corner index in the x1 direction.
int ke
Upper corner index in the x3 direction.
int je
Upper corner index in the x2 direction.
#define ARRAY_2D(nx, ny, type)