60 #define MIN_DENSITY 1e-8
63 #if ROTATING_FRAME == NO
68 void Init (
double *us,
double x1,
double x2,
double x3)
75 double r, th, R, z, H, OmegaK, cs;
82 #if ROTATING_FRAME == YES
98 #elif GEOMETRY == SPHERICAL
110 us[
RHO] = 1.0/(R*sqrt(R))*exp(-0.5*scrh*scrh);
115 us[PRS] = us[
RHO]*cs*cs;
116 #elif EOS == ISOTHERMAL
123 us[VX1_D] = us[VX2_D] = us[VX3_D] = 0.0;
124 us[VX2_D] = us[
iVPHI];
143 double *x1, *x2, *x3, R, OmegaK, v[256];
144 static int do_once = 1;
163 #if GEOMETRY == POLAR
165 #elif GEOMETRY == SPHERICAL
166 R = x1[
i]*sin(x2[j]);
180 #if GEOMETRY == POLAR
183 #elif GEOMETRY == SPHERICAL
184 R = x1[
i]*sin(x2[j]);
216 d->
Vc[PRS][
k][
j][
i] *= mc;
221 #if (BODY_FORCE & VECTOR)
223 void BodyForceVector(
double *v,
double *g,
double x1,
double x2,
double x3)
236 #if (BODY_FORCE & POTENTIAL)
245 double d, R, r, z, th, x, y, phiplanet, rsm;
246 double xp, yp, t, phi;
248 #if GEOMETRY == POLAR
261 #elif (GEOMETRY == SPHERICAL)
266 x = r*sin(th)*cos(x3);
267 y = r*sin(th)*sin(x3);
274 #if ROTATING_FRAME == NO
288 d = sqrt((x-xp)*(x-xp) + (y-yp)*(y-yp) + z*z);
#define X1_BEG
Boundary region at X1 beg.
void UserDefBoundary(const Data *d, RBox *box, int side, Grid *grid)
#define UNIT_DENSITY
Unit density in gr/cm^3.
static void NormalizeDensity(const Data *d, Grid *g)
double **** Vc
The main four-index data array used for cell-centered primitive variables.
double g_dt
The current integration time step.
#define X1_END
Boundary region at X1 end.
#define CONST_Msun
Solar Mass.
long int g_stepNumber
Gives the current integration step number.
#define UNIT_LENGTH
Unit Length in cm.
double g_inputParam[32]
Array containing the user-defined parameters.
long int IEND
Upper grid index of the computational domain in the the X1 direction for the local processor...
#define X1_END_LOOP(k, j, i)
#define CONST_Mearth
Earth Mass.
#define X1_BEG_LOOP(k, j, i)
double g_time
The current integration time.
double BodyForcePotential(double x, double y, double z)
long int IBEG
Lower grid index of the computational domain in the the X1 direction for the local processor...
void Analysis(const Data *d, Grid *grid)
void Init(double *v, double x1, double x2, double x3)
void BodyForceVector(double *v, double *g, double x, double y, double z)