19 #if TIME_STEPPING == RK2
22 #elif TIME_STEPPING == RK3
42 static double one_third = 1.0/3.0;
77 #if (SHOCK_FLATTENING == MULTID) || (ENTROPY_SWITCH)
85 memcpy ((
void *)U0[k][j][
IBEG], d->
Uc[k][j][IBEG],
NX1*
NVAR*
sizeof(
double));
101 #if (TIME_STEPPING == RK2) || (TIME_STEPPING == RK3)
109 #if (INTERNAL_BOUNDARY == YES) && (DIMENSIONAL_SPLITTING == YES)
124 #if (defined FARGO) && (TIME_STEPPING == RK2)
135 #if TIME_STEPPING == RK3
141 #if (INTERNAL_BOUNDARY == YES) && (DIMENSIONAL_SPLITTING == YES)
147 d->
Uc[
k][
j][
i][nv] = one_third*(U0[
k][
j][
i][nv] + 2.0*d->
Uc[
k][
j][
i][nv]);
151 d->
Vs[nv][
k][
j][
i] = (Bs0[nv][
k][
j][
i] + 2.0*d->
Vs[nv][
k][
j][
i])/3.0;
void Boundary(const Data *d, int idim, Grid *grid)
double **** Vs
The main four-index data array used for face-centered staggered magnetic fields.
long int NX1
Number of interior zones in the X1 directions (boundaries excluded) for the local processor...
void Riemann_Solver(const State_1D *, int, int, double *, Grid *)
void PrimToCons3D(Data_Arr V, Data_Arr U, RBox *box)
long int NX2_TOT
Total number of zones in the X2 direction (boundaries included) for the local processor.
int g_intStage
Gives the current integration stage of the time stepping method (predictor = 0, 1st corrector = 1...
double **** Vc
The main four-index data array used for cell-centered primitive variables.
double g_dt
The current integration time step.
#define DOM
Computational domain (interior)
void FARGO_ShiftSolution(Data_Arr U, Data_Arr Us, Grid *grid)
void FARGO_AddVelocity(const Data *, Grid *)
unsigned char *** flag
Pointer to a 3D array setting useful integration flags that are retrieved during integration.
void ConsToPrim3D(Data_Arr U, Data_Arr V, unsigned char ***flag, RBox *box)
void FARGO_SubtractVelocity(const Data *, Grid *)
#define TOT_LOOP(k, j, i)
long int NX3_TOT
Total number of zones in the X3 direction (boundaries included) for the local processor.
#define ARRAY_4D(nx, ny, nz, nv, type)
double **** Uc
The main four-index data array used for cell-centered conservative variables.
void UpdateStage(const Data *, Data_Arr, double **, Riemann_Solver *, double, Time_Step *, Grid *)
void FlagShock(const Data *, Grid *)
long int NX1_TOT
Total number of zones in the X1 direction (boundaries included) for the local processor.
long int IBEG
Lower grid index of the computational domain in the the X1 direction for the local processor...
int AdvanceStep(const Data *d, Riemann_Solver *Riemann, Time_Step *Dts, Grid *grid)
void CT_AverageMagneticField(double ****bf, double ****UU, Grid *grid)