11 #define GAMMA (gamideal)
14 #define GAMMAM1 (GAMMA-1.0)
15 #define IGAMMAR (GAMMAM1/GAMMA)
27 return((
GAMMA - 1.)*u) ;
65 pressure = pressure_rho0_u_idealgas(EOSextra,rho0,u);
66 h=rho0+u+pressure+
SMALL;
69 if(cs2<SMALL) cs2=
SMALL;
86 FTYPE pressure,indexn,entropy;
89 pressure=pressure_rho0_u_idealgas(EOSextra,rho0,u);
93 if(rho0<SMALL && pressure<SMALL*1
E-10){
100 else if(pressure<SMALL*1
E-10){
101 pressure=SMALL*1
E-10;
107 entropy=(rho0/
MUMEAN)*log(pow(pressure,indexn)/pow(rho0/
MUMEAN,indexn+1.0));
123 FTYPE rho,ie,pressure;
130 if(rho0<SMALL) rho0=
SMALL;
145 FTYPE pressure,indexn,insideentropy;
149 pressure=pressure_wmrho0_idealgas(EOSextra,rho0,wmrho0);
156 insideentropy=pow(pressure,indexn)/pow(rho0/
MUMEAN,indexn+1.0);
158 return(insideentropy);
172 entropy=compute_entropy_idealgas(EOSextra,rho0,u);
194 dSdu=indexn*(rho0/
MUMEAN)/u;
205 FTYPE insideentropy,entropy;
207 insideentropy=compute_inside_entropy_wmrho0_idealgas(EOSextra, rho0, wmrho0);
209 entropy=(rho0/
MUMEAN)*log(insideentropy);
223 FTYPE insideentropy,specificentropy;
225 insideentropy=compute_inside_entropy_wmrho0_idealgas(EOSextra, rho0, wmrho0);
227 specificentropy=log(insideentropy)/
MUMEAN;
232 return(specificentropy);
245 insideentropy=compute_inside_entropy_wmrho0_idealgas(EOSextra, rho0, wmrho0);
294 dSdchi = 1.0/(
GAMMAM1*wmrho0)/MUMEAN;
339 void compute_allextras_idealgas(
int justnum,
FTYPE *EOSextra,
FTYPE rho0,
FTYPE u,
int *numextrasreturn,
FTYPE *extras)
346 for(i=0;i<MAXNUMEXTRAS;i++){
354 int get_extrasprocessed_idealgas(
int doall,
FTYPE *EOSextra,
FTYPE *pr,
FTYPE *extras,
FTYPE *processed)
361 compute_allextras_idealgas(0, EOSextra, rho0, u, &numextrasreturn, extras);
362 for(pi=0;pi<MAXPROCESSEDEXTRAS;pi++){
375 temp =
GAMMAM1*u/(SMALL+fabs(rho0/MUMEAN));
377 if(temp<SMALL) temp=
SMALL;
390 void store_EOS_parms_idealgas(
int numparms,
FTYPE *EOSextra,
FTYPE *parlist)
396 void get_EOS_parms_idealgas(
int*numparms,
FTYPE *EOSextra,
FTYPE *parlist)
403 void fix_primitive_eos_scalars_idealgas(
FTYPE *EOSextra,
FTYPE *pr)
411 void getall_forinversion_idealgas(
int eomtype,
int whichd,
FTYPE *EOSextra,
FTYPE quant1,
FTYPE quant2,
FTYPE *fun,
FTYPE *dfunofrho,
FTYPE *dfunofu)
417 *fun=pressure_wmrho0_idealgas(EOSextra, quant1, quant2);
418 *dfunofrho=compute_idrho0dp_idealgas(EOSextra, quant1, quant2);
419 *dfunofu=compute_idwmrho0dp_idealgas(EOSextra, quant1, quant2);
421 else if(whichd==UTOTDIFF){
422 *fun=pressure_rho0_u_idealgas(EOSextra, quant1, quant2);
423 *dfunofrho=dpdrho0_rho0_u_idealgas(EOSextra, quant1, quant2);
424 *dfunofu=dpdu_rho0_u_idealgas(EOSextra, quant1, quant2);
430 *fun=compute_specificentropy_wmrho0_idealgas(EOSextra, quant1, quant2);
431 *dfunofrho=compute_dspecificSdrho_wmrho0_idealgas(EOSextra, quant1, quant2);
432 *dfunofu=compute_dspecificSdwmrho0_wmrho0_idealgas(EOSextra, quant1, quant2);
434 else if(whichd==UTOTDIFF){
435 *fun=compute_entropy_idealgas(EOSextra, quant1, quant2);
436 *dfunofrho=compute_dSdrho_idealgas(EOSextra, quant1, quant2);
437 *dfunofu=compute_dSdu_idealgas(EOSextra, quant1, quant2);
441 *fun=*dfunofrho=*dfunofu=0.0;