// Function which calculates A double Alpha(char *process, char *gas, double p1, double p2, double t1, double t2, double rho1, double rho2, double h1, double h2, struct data *pdat){ double w, Cpu, Cpb; w=Cpu=Cpb=0.; if(strcmp(process,"COMPRESSION")==0){ Cpu=.08*2220. + .92*1000.; w=(drdt(process,t1,t2,rho1,rho2,pdat)\ /drdp(process,t1,p1,p2,rho1,rho2,pdat))*(1./rho1)+Cpu; } else if(strcmp(process,"COMBUSTION")==0){ if(strcmp(gas,"u")==0){ Cpu=.08*2220. + .92*1000.; w=(drdt(process,t1,t2,rho1,rho2,pdat)\ /drdp(process,t1,p1,p2,rho1,rho2,pdat))*(1./rho1)+Cpu; } else if(strcmp(gas,"b")==0){ Cpb=.18*850.+.1*4180.+.72*1042.; w=(drdt(process,t1,t2,rho1,rho2,pdat)\ /drdp(process,t1,p1,p2,rho1,rho2,pdat)); w*=((1./rho1)-(1.e-5)*dhdp(gas,p1,p2,h1,h2,pdat))+Cpb; } } else if(strcmp(process,"EXPANSION")==0){ Cpb=.18*850.+.1*4180.+.72*1042.; w=(drdt(process,t1,t2,rho1,rho2,pdat)\ /drdp(process,t1,p1,p2,rho1,rho2,pdat)); w*=((1./rho1)-(1.e-5)*dhdp(gas,p1,p2,h1,h2,pdat))+Cpb; } return(w); }
void dnsbsd_tmmt( double phi[nvar], double dep[ndep], double F_i[nvar][nvar]) { int ivar, idir, iidir; // density jacobian ---------------- F_i[Pvar][Pvar] = drdp( phi); F_i[Pvar][Tvar] = drdt( phi); //printf(" %f %f\n", F_i[Pvar][Pvar], F_i[Pvar][Tvar]); for (idir=0;idir<ndir;idir++) { // momentum jacobian --------------- F_i[Uvar+idir][Pvar] = drdp( phi) * phi[Uvar+idir]; F_i[Uvar+idir][Uvar+idir] = dep[Rdep]; F_i[Uvar+idir][Tvar] = drdt( phi) * phi[Uvar+idir]; // enthalpy jacobian/1 ------------- F_i[Tvar][Uvar+idir] = dep[Rdep] * phi[Uvar+idir]; } // enthalpy jacobian/2 ------------- F_i[Tvar][Pvar] = drdp( phi) - ( 1.0 * dep[Rdep] * dhdp( phi)); F_i[Tvar][Tvar] = drdt( phi) * enthalpy( phi) + dep[Rdep] * dhdt( phi); for (ivar=Tvar+1;ivar<nvar;ivar++) F_i[ivar][ivar] = dep[Rdep]; }
// Function which calculates Bhta double Bhta(char *process, char *gas, double p1, double p2, double t1, double t2, double rho1, \ double rho2, double h1, double h2, struct data *pdat){ double w=0.; if(strcmp(process,"COMPRESSION")==0){ w=(1./drdp(process,t1,p1,p2,rho1,rho2,pdat)); } else if(strcmp(process,"COMBUSTION")==0){ if(strcmp(gas,"u")==0){ w=(1./drdp(process,t1,p1,p2,rho1,rho2,pdat)); } else if(strcmp(gas,"b")==0){ w=(1./drdp(process,t1,p1,p2,rho1,rho2,pdat))\ *(1.-(1.e-5)*rho1*dhdp(gas,p1,p2,h1,h2,pdat)); } } else if(strcmp(process,"EXPANSION")==0){ w=(1./drdp(process,t1,p1,p2,rho1,rho2,pdat))\ *(1.-(1.e-5)*rho1*dhdp(gas,p1,p2,h1,h2,pdat)); } return(w); }