19 #define DAVIS_ESTIMATE YES
20 #define EINFELDT_ESTIMATE NO
21 #define ROE_ESTIMATE NO
24 void HLL_Speed (
double **vL,
double **vR,
double *a2L,
double *a2R,
25 double *SL,
double *SR,
int beg,
int end)
65 static double *sl_min, *sl_max;
66 static double *sr_min, *sr_max;
80 #if DAVIS_ESTIMATE == YES
84 for (i = beg; i <= end; i++) {
86 SL[
i] =
MIN(sl_min[i], sr_min[i]);
87 SR[
i] =
MAX(sl_max[i], sr_max[i]);
92 scrh = fabs(vL[i][
VXn]) + fabs(vR[i][VXn]);
104 #if EINFELDT_ESTIMATE == YES
106 for (i = beg; i <= end; i++) {
111 dL = sqrt(vL[i][
RHO]);
112 dR = sqrt(vR[i][RHO]);
113 a_av = 0.5*dL*dR/( (dL + dR)*(dL + dR));
115 scrh = (dR*aL*aL + dR*aR*aR)/(dL + dR);
118 SL[
i] = (dl*ql[
VXn] + dr*qr[
VXn])/(dl + dr);
120 bmin =
MIN(0.0, um[
VXn] - sqrt(scrh));
121 bmax =
MAX(0.0, um[
VXn] + sqrt(scrh));
129 #if ROE_ESTIMATE == YES
131 for (i = beg; i <= end; i++) {
136 s = 1.0/(1.0 + sqrt(vR[i][
RHO]/vL[i][
RHO]));
148 EXPAND(dvx = vL[i][
VX1] - vR[i][
VX1]; ,
152 scrh = EXPAND(dvx*dvx, + dvy*dvy, + dvz*dvz);
154 a_av = sqrt(s*aL2 + c*aR2 + 0.5*s*c*gmm1*scrh);
156 SL[
i] =
MIN(vL[i][
VXn] - aL, vx - a_av);
157 SR[
i] =
MAX(vR[i][
VXn] + aR, vx + a_av);
159 scrh = (fabs(vL[i][
VXn]) + fabs(vR[i][VXn]))/(aL + aR);
166 #undef DAVIS_ESTIMATE
167 #undef EINFELDT_ESTIMATE
double g_maxMach
The maximum Mach number computed during integration.
#define ARRAY_1D(nx, type)
long int NMAX_POINT
Maximum number of points among the three directions, boundaries excluded.
void HLL_Speed(double **vL, double **vR, double *a2L, double *a2R, double *SL, double *SR, int beg, int end)
void MaxSignalSpeed(double **v, double *cs2, double *cmin, double *cmax, int beg, int end)