33 double v2, v2c, fc, f, dW, S2_W2;
34 double fmin, fmax, v2min, v2max;
45 dW = (v2 - v2c)/(f - fc)*f;
50 if (fabs(f) < 1.e-9) done = 1;
52 if (v2 >= 1.0 || k >= MAX_ITER) {
53 print (
"! PressureFix: too many iter while fixing p , v^2 = %f\n", v2);
59 par->
E = par->
W - par->
prs;
64 double rho = par->
rho;
65 double th = par->
prs/rho;
70 par->
sigma_c = par->
prs*par->
lor/pow(rho,2.0/3.0)*(1.5*th + sqrt(2.25*th*th + 1.0);
89 lor2 = 1.0/(1.0 - v2);
90 par->
lor = sqrt(lor2);
95 par->
W = (2.5*pg + sqrt(2.25*pg*pg + par->
D*par->
D))*par->
lor;
98 return par->
m2/(par->
W*par->
W) - v2;
double m2
Square of total momentum (input).
double D
Lab density (input).
double g_smallPressure
Small value for pressure fix.
int PressureFix(Map_param *par)
double rho
proper density (output)
double W
D*h*lor (output).
void print(const char *fmt,...)
static double VelocitySquareFunc(double, Map_param *)
double lor
Lorentz factor (output).
double prs
Thermal pressure (output).
double sigma_c
Conserved entropy (input).
double E
Total energy (input).