/*1 Baoheyalizichengxu P=F(T)*/饱和压力子程序
double psk(double t)
{ double n[]={0.11670521452767e4,-0.72421316703206e6,-0.17073846940092e2,0.12020824702470e5,-0.32325550322333e7,0.14915108613530e2,-0.48232657361591e4,0.40511340542057e6,-0.23855557567849,0.65017534844798e3};
double a,b,c,ps;
t=t+273.15;
t=t+n[8]/(t-n[9]);
a=t*t+n[0]*t+n[1];
b=n[2]*t*t+n[3]*t+n[4];
c=n[5]*t*t+n[6]*t+n[7];
ps=pow(2*c/(-b+pow(b*b-4*a*c,0.5)),4);
return ps;
}
double psk(double t)
{ double n[]={0.11670521452767e4,-0.72421316703206e6,-0.17073846940092e2,0.12020824702470e5,-0.32325550322333e7,0.14915108613530e2,-0.48232657361591e4,0.40511340542057e6,-0.23855557567849,0.65017534844798e3};
double a,b,c,ps;
t=t+273.15;
t=t+n[8]/(t-n[9]);
a=t*t+n[0]*t+n[1];
b=n[2]*t*t+n[3]*t+n[4];
c=n[5]*t*t+n[6]*t+n[7];
ps=pow(2*c/(-b+pow(b*b-4*a*c,0.5)),4);
return ps;
}
const
n: array[0..9] of Double = (0.11670521452767e4, -0.72421316703206e6, -0.17073846940092e2, 0.12020824702470e5, -0.32325550322333e7, 0.14915108613530e2, -0.48232657361591e4, 0.40511340542057e6, -0.23855557567849, 0.65017534844798e3);
var
a, b, c: Double;
begin
t := t + 273.15;
t := t + n[8] / (t - n[9]);
a := t * t + n[0] * t + n[1];
b := n[2] * t * t + n[3] * t + n[4];
c := n[5] * t * t + n[6] * t + n[7];
Result := power(2 * c / (-b + power(b * b - 4 * a * c, 0.5)), 4);
end;
const
n: array[0..9] of double =(0.11670521452767e4,
-0.72421316703206e6,-0.17073846940092e2,
0.12020824702470e5,-0.32325550322333e7,
0.14915108613530e2,-0.48232657361591e4,
0.40511340542057e6,-0.23855557567849,
0.65017534844798e3);
var
a,b,c,ps: double;
begin
t := t + 273.15;
t := t + n[8]/(t-n[9]);
a := t*t+n[0]+n[1];
b := n[2]*t*t+n[3]*t+n[4];
c := n[5]*t*t+n[6]*t+n[7];
ps := Power(2*c/(-b+Power(b*b-4*a*c,0.5)),4);
Result := ps;
end;
#include "stdlib.h"
#include "stdio.h"
#include "math.h"
struct ptf1
{ double v ;
double h ;
double s ;
}ptf2 ;
struct ptg1
{ double v ;
double h ;
double s ;
}ptg2 ;
struct pt1
{ double x ;
double v ;
double h ;
double s ;
}pt2 ;
struct ph1
{ double x ;
double v ;
double s ;
double t ;
}ph2 ;
struct ps1
{ double x ;
double t ;
double v ;
double h ;
}ps2 ;
struct hs1
{ double x ;
double p ;
double t ;
double v ;
}hs2 ;
struct px1
{ double t ;
double v ;
double h ;
double s ;
}px2 ;
/*3 guolengshui.baoheshuizichengxu V.H.S=F(P,T)*/过冷水饱和水子程序
void ptf(double p,double t,struct ptf1*p1)
{ int i;
double pr,tr,rp,rt,r;
double R=0.461526;
double I[]={0,0,0,0,0,0,0,0,1,1,1,1,1,1,2,2,2,2,2,3,3,3,4,4,4,5,8,8,21,23,29,30,31,32};
double J[]={-2,-1,0,1,2,3,4,5,-9,-7,-1,0,1,3,-3,0,1,3,17,-4,0,6,-5,-2,10,-8,-11,-6,-29,-31,-38,-39,-40,-41};
double n[]={0.14632971213167,-0.84548187169114,-3.756360367204,3.3855169168385,-0.95791963387872,0.15772038513228,
-0.016616417199501,8.1214629983568E-04,2.8319080123804E-04,-6.0706301565874E-04,-0.018990068218419,
-0.032529748770505,-0.021841717175414,-5.283835796993E-05,-4.7184321073267E-04,-3.0001780793026E-04,
4.7661393906987E-05,-4.4141845330846E-06,-7.2694996297594E-16,-3.1679644845054E-05,-2.8270797985312E-06,
-8.5205128120103E-10,-2.2425281908E-06,-6.5171222895601E-07,-1.4341729937924E-13,-4.0516996860117E-07,
-1.2734301741641E-09,-1.7424871230634E-10,-6.8762131295531E-19,1.4478307828521E-20,2.6335781662795E-23,
-1.1947622640071E-23,1.8228094581404E-24,-9.3537087292458E-26};
t=t+273.15;
pr=p/16.53;tr=1386/t;r=0;rt=0;rp=0;
for(i=0;i<=33;i++)
{ r=r+n[i]*pow((7.1-pr),I[i])*pow((tr-1.222),J[i]);
rt=rt+n[i]*pow((7.1-pr),I[i])*J[i]*pow((tr-1.222),(J[i]-1));
rp=rp-n[i]*I[i]*pow((7.1-pr),(I[i]-1))*pow((tr-1.222),J[i]);
}
p1->v=pr*rp/p*R*t/1000;p1->h=tr*rt*R*t;p1->s=(tr*rt-r)*R;
}
type
Tptf1=record
double v ;
double h ;
double s ;
end;
PTptf1=^Tptf1;
Tptf1=record
double v ;
double h ;
double s ;
end;
PTptf1=^Tptf1;procedure ptf(p :double,t: double,p1: PTptf1);
ptf(p,t,&ptf2);
p1->v=ptf2.v ;