-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathe_ps.m
95 lines (83 loc) · 4.19 KB
/
e_ps.m
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
function[e]=e_ps(p,s)
% energy as a function of pressure and entropy (old tgas6.f)
p0=101330;
e0 = 78408.4;
s0 = 6779.2;
gascon = 287.06;
x=(log(p/p0))/(log(10));
snon=(log(s/gascon))/(log(10));
z = x - snon;
if (snon < 1.23)
delts = s - s0;
eratio = ((log(p/p0))/(log(10))+delts/gascon)/3.5;
e = 2.5*e0*exp(eratio);
return;
elseif(snon < 1.4)
y = (48.9511-115.989*snon) + ((-.443026+1.49819*snon)*z) + ...
((87.0709-.702417*z-20.4916*snon)*snon*snon) + ...
((-.0509747+.0294929*snon+.000524685*z)*z*z);
elseif(snon < 1.592)
y = ((130.563-287.254*snon)) + ((-7.71873+1.17605*(10^1)*snon)*z) ...
+ ((206.757-4.31838*z-48.3472*snon)*snon*snon) + ...
((.164299-.121768*snon-.00126118*z)*z*z) + ((-84.598+174.701*snon) +...
((9.52234-13.2819*snon)*z) + ((-120.234+4.6271*z+27.5818*snon)*snon*snon) ...
+ ((-.227725+.160365*snon+.0014933*z)*z*z)) /(1.0 + (...
exp(-15.0*(x+54.179-86.947*snon+33.583*snon*snon))));
elseif(snon < 1.7)
zm = -1.917*snon+0.092;
if(z <= zm)
y = (-134.875+192.654*snon) + ((10.4478-6.60355*snon)*z) +...
(-67.2013*snon*snon) + ((.414546-.275698*snon)*z*z) + ...
((107.768-161.662*snon) + ((-10.1257+6.4962*snon)*z) + ...
(59.3194*snon*snon) + ((-.463204+.304448*snon)*z*z)) /...
(1.0 + (exp(-2.0*(z-50.04*snon-74.698))));
else
y = (-33.9933+40.2792*snon) + ((.762742-.379044*snon)*z) + (...
-10.9895*snon*snon) + ((-.0713412+.0422359*snon)*z*z) + ...
((33.2182-40.3847*snon) + ((.187601-.107599*snon)*z) + ...
(12.2657*snon*snon) + ((-.165537+.10256*snon)*z*z)) /(1.0 ...
+ (exp(-2.0*(z+14.062*snon-24.046))));
end
elseif(snon < 1.8)
zm = -1.917*snon+0.092;
if(z <= zm)
y = (-16.6572+15.1243*snon) + ((-.472897+.295848*snon)*z) +...
(-2.31418*snon*snon) + ((-.0361191+.017288*snon)*z*z) + ...
((-3.27168+9.45383*snon) + ((2.04-1.1342*snon)*z) + ...
(-4.28765*snon*snon) + ((.15021-.0827388*snon)*z*z)) /...
(1.0 + (exp(-2.0*(z+16.995*snon-23.354))));
else
y = (-19.4882+23.1472*snon) + ((1.00783-.518103*snon)*z) +...
(-5.92829*snon*snon) + ((.0992242-.0567928*snon)*z*z) + ...
((-2.09813+1.22781*snon) + ((-.627531+.371651*snon)*z) + ...
(.000984125*snon*snon) + ((-.124024+.0765034*snon)*z*z)) /...
(1.0 + (exp(-2.0*(z+18.152*snon-31.096))));
end
elseif(snon < 1.9)
y = (-63.7715+54.6005*snon) + ((-8.90073+5.02063*snon)*z) + ...
(-9.67094*snon*snon) + ((-.713493+.397962*snon)*z*z) + ...
((50.5131-39.7363*snon) + ((9.27248-5.15576*snon)*z) + ...
(6.45632*snon*snon) + ((.72563-.403054*snon)*z*z)) /...
(1.0 + (exp(-2.0*(z+35.275*snon-58.624))));
elseif(snon < 2.0)
y = (-17.5434+20.0307*snon) + ((.620484-.276756*snon)*z) + ...
(-4.76084*snon*snon) + ((.0114921-.00580043*snon)*z*z) + ...
((11.0485-12.61*snon) + ((-.659043+.366266*snon)*z) + ...
(3.59417*snon*snon) + ((-.00604061+.00678382*snon)*z*z)) /...
(1.0 + (exp(-2.0*(z+20.884*snon-36.54))));
elseif(snon < 2.1)
y = (-11.8487+12.6558*snon) + ((.000609885+.0590396*snon)*z) + ...
(-2.45275*snon*snon) + ((-.00670888+.00521033*snon)*z*z) + ...
((3.39157-3.835*snon) + ((-.214031+.0990508*snon)*z) + ...
(1.07008*snon*snon) + ((-.0787516+.0363642*snon)*z*z)) /...
(1.0 + (exp(-5.0*(z+28.284*snon-53.185))));
else
y = (-24.0656+3.35589*snon) + ((-11.4521+5.62572*snon)*z) + ...
(4.93842*snon*snon) + ((-.755608+.369774*snon)*z*z) + ...
((22.3905-1.90842*snon) + ((10.5618-5.17247*snon)*z) + ...
(-4.3714*snon*snon) + ((.627818-.312015*snon)*z*z)) /...
(1.0 + (exp(-2.0*(z+15.048*snon-26.307))));
end
e = (10^y)*e0;
return;
end