示例#1
0
文件: main.c 项目: simula67/engsim
  // 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);
  }
示例#2
0
文件: dnsbsd.c 项目: rupole1185/EriCa
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];
}
示例#3
0
文件: main.c 项目: simula67/engsim
  // 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);
  }