📄 shwrjcalfuction.cpp
字号:
else if (x > 3000 && x <= 10000)
y = 4.0447 * pow(x,3) - 9.491 * pow(x,2) + 0.686 * x - 2.8194;
}
else
y=0;
}
else if (wd == 140) //节流前温度为140
{
if (x >= 1928.6)
{
if (x <= 2000) y = -1.12045 * x + 2360.9;
if (y >= 120 && y <= 200) ; //null
else if (x <= 6000)
y = 0.000000040536 * pow(x,3) - 0.0006 * pow(x,2) + 3.005 * x - 3622.07;
else if (x > 6000 && x < 10000)
y = -0.0000000025 * pow(x,3) + 0.000057143 * pow(x,2) - 0.4568 * x + 2603.86;
}
else
y=0;
}
else if (wd == 150) //节流前温度为150
{
if (x >= 2150)
{
if (x <= 2200) y = -1.6 * x + 3640;
if (y >= 120 && y <= 200) ; //null
else if (x <= 3287.1)
y = -0.0002 * pow(x,2) + 1.7792 * x - 2590.53;
else if (x > 3287.1 && x <= 10000)
y = 0.0000000020833 * pow(x,3) - 0.000054167 * pow(x,2) + 0.4295 * x + 92.8568;
}
else
y=0;
}
else if (wd == 160) //节流前温度为160
{
if (x >= 2450 && x <= 2500) y = 3.6 * x - 8700;
else if (x > 2500 && x <= 6500)
y = 0.000000017592 * pow(x,3) - 0.00029 * pow(x,2) + 1.6232 * x - 2192.64;
else if (x > 6500 && x <= 10000)
y = 0.0000023176 * pow(x,2) - 0.09 * x + 1464.71;
else
y=0;
}
else if (wd == 170) //节流前温度为170
{
if (x >= 2900)
{
if (x <= 3000) y = -0.8 * x + 2520;
if (y >= 120 && y <= 200) ; //null
else if (x <= 6500)
y = 0.000000028415 * pow(x,3) - 0.00046 * pow(x,2) + 2.5131 * x - 3867.85;
else if (x > 6500 && x <= 10000)
y = -0.000000003535 * pow(x,3) + 0.000083692 * pow(x,2) - 0.6817 * x + 2582.79;
}
else
y=0;
}
else if (wd == 180) //节流前温度为180
{
if (x >= 3930)
{
if (x <= 4000) y = -1.1429 * x + 4691.43;
if (y >= 120 && y <= 200)
; //null
else if (x <= 6000)
y = -0.000049312 * pow(x,2) + 0.6076 * x - 1401.98;
else if (x > 6000 && x <= 10000)
y = 0.00000000060408 * pow(x,3) - 0.000020416 * pow(x,2) + 0.1796 * x - 1.8806;
{
if (y >= 400 && y < 470) ; //null
else if (x > 6000 && x <= 6750) y = -0.1 * x + 790;
if (y >= 120 && y <= 200)
; //null
else if (x > 6000 && x <= 8250) y = -0.000048417 * pow(x,2) + 0.6912 * x - 2204.86;
if (y >= 200 && y <= 260)
; //null
else if (x >= 7750 && x < 8250)
y = 0.00016 * pow(x,2) - 2.4 * x + 9110;
}
}
else
y=0;
}
else if (wd == 184) //节流前温度为184
{
if (x >= 4800)
{
if (x <= 5000) y = -0.4 * x + 2116.67;
if (y >= 120 && y <= 200) ; //null
else if (x <= 6500)
y = -0.000096221 * pow(x,2) + 1.1882 * x - -3264.74;
else if (x > 6500 && x <= 10000)
y = -0.0000057148 * pow(x,2) + 0.0498 * x + 320.837;
}
else
y=0;
}
return(y);
}
//图6-21 相对密度为0.8天然气在不形成水化物条件下允许达到的膨胀程度
//x——节流前压力,psia
//y——节流后压力,psia
//wd——节流前温度,oF
double xdmd88( double x, double wd)
{
double y;
if (wd == 50) //节流前温度为50
{
if (x >= 245.4 && x <= 250)
y = 21.7391 * x - 5234.78;
else if (x > 250 && x <= 272.7)
y = 3.2026 * x - 600.66;
else
y=0;
}
else if (wd == 60) //节流前温度为60
{
if (x >= 343.8)
{
if (x <= 350) y = -8.0645 * x + 2922.58;
if (y >= 100 && y <= 150)
; //null
else if (x <= 560)
y = -0.0048 * pow(x,2) + 6.13075 * x - 1375.92;
else
y=0;
}
else
y=0;
}
else if (wd == 70) //节流前温度为70
{
if (x >= 466.7)
{
if (x <= 475) y = 6.0241 * x - 2711.45;
if (y >= 100 && y <= 150) ; //null
else if (x <= 1454.6)
y = 0.0000016924 * pow(x,3) - 0.0052 * pow(x,2) + 6.1589 * x - 1723.69;
else
y=0;
}
else
y=0;
}
else if (wd == 80) //节流前温度为80
{
if (x >= 560 && x <= 600)
y = 5 * x - 2700;
else if (x > 600 && x <= 4000)
y = -0.000000000016155 * pow(x,4) + 0.0000001645 * pow(x,3) - 0.0006 * pow(x,2) + 1.968 * x - 675.239;
else if (x > 4000 && x <= 10000)
y = 0.000003566 * pow(x,2) - 0.3161 * x + 5321.83;
else
y=0;
}
else if (wd == 90) //节流前温度为90
{
if (x >= 700)
{
if (x <= 737.5) y = -1.3333 * x + 1083.33;
if (y >= 100 && y <= 150) ; //null
else if (x <= 1000)
y = 0.000009534 * pow(x,3) - 0.0278 * pow(x,2) + 28.128 * x - 9179.92;
else if (x > 1000 && x <= 5000)
y = 0.0000000024526 * pow(x,3) - 0.00017 * pow(x,2) + 1.4408 * x - 650.53;
else if (x > 5000 && x <= 10000)
y = -0.000000002525 * pow(x,3) + 0.000042204 * pow(x,2) - 0.3189 * x + 3489.03;
}
else
y=0;
}
else if (wd == 100) //节流前温度为100
{
if (x >= 866.7)
{
if (x <= 900) y = -3.003 * x + 2803.7;
if (y >= 100 && y <= 150) ; //null
else if (x <= 5000)
y = 0.000000027526 * pow(x,3) - 0.00038 * pow(x,2) + 1.8571 * x - 1103.21;
else if (x > 5000 && x <= 10000)
y = -0.0000000012324 * pow(x,3) + 0.0000044131 * pow(x,2) + 0.0431 * x + 1918.97;
}
else
y=0;
}
else if (wd == 110) //节流前温度为110
{
if (x >= 1068.2)
{
if (x <= 1090.9) y = -4.4053 * x + 4905.71;
if (y >= 100 && y <= 200)
; //null
else if (x <= 3000)
y = 0.000000041601 * pow(x,3) - 0.0005 * pow(x,2) + 2.1981 * x - 1547.61;
else if (x > 3000 && x <= 10000)
y = -0.00000000092593 * pow(x,3) + 0.000014583 * pow(x,2) - 0.0946 * x + 1975.2;
}
else
y=0;
}
else if (wd == 120) //节流前温度为120
{
if (x >= 1227.2 && x <= 1272.7)
y = 3.956 * x - 4734.86;
else if (x > 1272.7 && x <= 3000)
y = 0.000000052762 * pow(x,3) - 0.0006 * pow(x,2) + 2.5508 * x - 1997.14;
else if (x > 3000 && x <= 10000)
y = 0.000010383 * pow(x,2) - 0.1085 * x + 1933.89;
else
y=0;
}
else if (wd == 130) //节流前温度为130
{
if (x >= 1363.6)
{
if (x <= 1409) y = -1.1013 * x + 1651.76;
if (y >= 100 && y <= 150) ; //null
else if (x <= 4000)
y = 0.000000050328 * pow(x,3) - 0.0006 * pow(x,2) + 2.6911 * x - 2444.28;
else if (x > 4000 && x <= 10000)
y = 0.00000000041945 * pow(x,3) - 0.00001025 * pow(x,2) + 0.0594 * x + 1352.43;
}
else
y=0;
}
else if (wd == 140) //节流前温度为140
{
if (x >= 1562.5)
{
if (x <= 1593.75) y = -1.6 * x + 2650;
if (y >= 100 && y <= 150) ; //null
else if (x <= 5000)
y = 0.000000073664 * pow(x,3) - 0.00088 * pow(x,2) + 3.5405 * x - 3485.39;
else if (x > 5000 && x <= 10000)
y = -0.00000000016944 * pow(x,3) + 1.5499 * pow(x,2) - 0.02095 * x + 1407.85;
}
else
y=0;
}
else if (wd == 150) //节流前温度为150
{
if (x >= 1812.5)
{
if (x <= 1843.75) y = -0.381 * x + 840.476;
if (y >= 100 && y <= 150) ; //null
else if (x <= 5000)
y = 0.00000008474 * pow(x,3) - 0.0001 * pow(x,2) + 3.928 * x - 4122.69;
else if (x > 5000 && x <= 10000)
y = -0.0000000013185 * pow(x,3) + 0.000021402 * pow(x,2) - 0.1252 * x + 1397.98;
}
else
y=0;
}
else if (wd == 160) //节流前温度为160
{
if (x >= 2000 && x <= 2090.9)
y = 2.2002 * x - 4900.43;
else if (x > 2090.9 && x <= 3375)
y = 0.000000073823 * pow(x,3) - 0.0009 * pow(x,2) + 3.7362 * x - 4186.67;
else if (x > 3375 && x <= 10000)
y = -0.00000000094074 * pow(x,3) + 0.000017392 * pow(x,2) - 0.1179 * x + 1249.07;
else
y=0;
}
else if (wd == 170) //节流前温度为170
{
if (x >= 2272.7 && x <= 2363.6)
y = 2.2002 * x - 4900.43;
else if (x > 2363.6 && x <= 2545.4)
y = -0.0005 * pow(x,2) + 3.2931 * x - 4597.15;
else if (x > 2545.4 && x <= 10000)
y = 0.0000000016017 * pow(x,3) - 0.000039075 * pow(x,2) + 0.2941 * x + 107.021;
else
y=0;
}
else if (wd == 180) //节流前温度为180
{
if (x >= 2636.3)
{
if (x <= 2727.2) y = -1.1001 * x + 3100.22;
if (y >= 100 && y <= 200) ; //null
else if (x <= 6000)
y = -0.000064205 * pow(x,2) + 0.6756 * x - 1048.1;
else if (x > 6000 && x <= 10000)
y = -0.0000070929 * pow(x,2) + 0.0801 * x + 490.303;
}
else
y=0;
}
else if (wd == 190) //节流前温度为190
{
if (x >= 3000)
{
if (x <= 3250) y = -0.2 * x + 750;
if (y >= 100 && y <= 150) ; //null
else if (x <= 6000)
y = -0.000000002514 * pow(x,3) - 0.000015602 * pow(x,2) + 0.4185 * x - 889.391;
else if (x > 6000 && x <= 10000)
y = 0.000000001525 * pow(x,3) - 0.000042071 * pow(x,2) + 0.3388 * x - 331.488;
}
else
y=0;
}
else if (wd == 195) //节流前温度为195
{
if (x >= 3875)
{
if (x <= 4000) y = -0.4 * x + 1700;
if (y >= 100 && y <= 150) ; //null
else if (x <= 6000)
y = 0.000000029995 * pow(x,3) - 0.00049 * pow(x,2) + 2.7091 * x - 4748.25;
else if (x > 6000 && x <= 10000)
y = -0.000026793 * pow(x,2) + 0.3612 * x - 817.497;
}
else
y=0;
}
else if (wd == 197.5) //节流前温度为197.5
{
if (x >= 4500)
{
if (x <= 4833.3) y = -0.15 * x + 825.068;
if (y >= 100 && y <= 150) ; //null
else if (x <= 5400)
y = -0.000067142 * pow(x,2) + 0.8325 * x - 2229.79;
else if (x > 5400 && x <= 9000)
y = -0.0000000026333 * pow(x,3) + 0.000037069 * pow(x,2) - 0.1724 * x + 618.722;
else if (x > 9000 && x <= 10000)
y = 0.15 * x - 1200.14;
}
else
y=0;
}
return(y);
}
//图6-22 相对密度为0.9天然气在不形成水化物条件下允许达到的膨胀程度
//x——节流前压力,psia
//y——节流后压力,psia
//wd——节流前温度,oF
double xdmd99(double x, double wd)
{
double y;
if (wd == 50) //节流前温度为50
{
if (x >= 215)
{
if (x <= 240)
y = 0.1617 * pow(x,2) - 76.7205 * x + 9165.81;
if (y >= 62.5 && y <= 150) ; //null
else if (x <= 260)
y = -0.02963 * pow(x,2) + 16.5185 * x - 2031.86;
else
y=0;
}
else
y=0;
}
else if (wd == 60) //节流前温度为60
{
if (x >= 328.6)
{
if (x <= 350) y = 0.07445 * pow(x,2) - 52.2707 * x + 9237.74;
if (y >= 62.5 && y <= 100) ; //null
else if (x <= 450)
y = -0.01828 * pow(x,2) + 16.8623 * x - 3450.18;
else
y=0;
}
else
y=0;
}
else if (wd == 70) //节流前温度为70
{
if (x >= 425)
{
if (x <= 450) y = -0.0364 * pow(x,2) + 30.3792 * x - 6230.38;
if (y >= 62.5 && y <= 100) ; //null
else if (x <= 800)
y = -0.0013 * pow(x,2) + 3.2578 * x - 1010.8;
else
y=0;
}
else
y=0;
}
else if (wd == 80) //节流前温度为80
{
if (x >= 500)
{
if (x <= 550) y = 0.0583 * pow(x,2) - 63 * x + 17066.7;
if (y >= 62.5 && y <= 150) ; //null
else if (x <= 2400)
y = 2.0286E-14 * pow(x,5) - 0.0000000002715 * pow(x,4) + 0.0000013246 * pow(x,3) - 0.003 * pow(x,2) + 4.1226 * x - 1278.84;
else if (x > 2400 && x <= 10000)
y = -0.000013693 * pow(x,2) + 0.0948 * x + 2620.1;
}
else
y=0;
}
else if (wd == 90) //节流前温度为90
{
if (x >= 628.6)
{
if (x <= 685.7) y = 0.00603 * pow(x,2) - 9.7661 * x + 3915.97;
if (y >= 62.5 && y<=150) ; //null
else if (x <= 4000)
y = 1.1386E-14 * pow(x,5) - 0.00000000015467 * pow(x,4) + 0.00000078645 * pow(x,3) - 0.002 * pow(x,2) + 3.2768 * x - 1237.37;
else if (x > 4000 && x <= 10000)
y = 0.00000031924 * pow(x,2) - 0.0865 * x + 2686.13;
}
else
y=0;
}
else if (wd == 100) //节流前温度为100
{
if (x >= 742.9)
{
if (x <= 785.7)
y = 0.1009 * pow(x,2) - 156.251 * x + 60552.7;
if (y >= 62.5 && y <= 150) ; //null
else if (x <= 2000)
y = -0.0000000011744 * pow(x,4) + 0.0000074275 * pow(x,3) - 0.017 * pow(x,2) + 17.4801 * x - 6124.37;
else if (x > 2000 && x <= 10000)
y = -1.5714E-12 * pow(x,4) + 0.000000044167 * pow(x,3) - 0.00045 * pow(x,2) + 1.9063 * x - 897.017;
}
else
y=0;
}
else if (wd == 110) //节流前温度为110
{
if (x >= 833.3)
{
if (x <= 866.7) y = 0.0045 * pow(x,2) - 8.7422 * x + 4272.62;
if (y >= 62.5 && y <= 100) ; //null
else if (x <= 2400)
y = -0.000000001107 * pow(x,4) + 0.000007317 * pow(x,3) - 0.0178 * pow(x,2) + 19.2051 * x - 7256.91;
else if (x > 2400 && x <= 10000)
y = 0.0000000037186 * pow(x,3) - 0.000084505 * pow(x,2) + 0.5609 * x + 633.986;
}
else
y=0;
}
else if (wd == 120) //节流前温度为120
{
if (x >= 933.3)
{
if (x <= 1000)
y = 0.0253 * pow(x,2) - 50.1889 * x + 24967.5;
if (y >= 60 && y <= 150) ; //null
else if (x <= 3000)
y = -0.000000045814 * pow(x,3) + 0.000095837 * pow(x,2) + 0.8462 * x - 655.878;
else if (x > 3000 && x <= 10000)
y = 0.0000000030327 * pow(x,3) - 0.000068201 * pow(x,2) + 0.449 * x + 702.192;
}
else
y=0;
}
else if (wd == 130) //节流前温度为130
{
if (x >= 1075)
{
if (x <= 1150)
y = 0.013 * pow(x,2) - 30.055 * x + 17434.6;
if (y >= 62.5 && y <= 150) ; //null
else if (x <= 4000)
y = -0.000000011459 * pow(x,3) - 0.000078804 * pow(x,2) + 1.0712 * x - 861.993;
else if (x > 4000 && x <= 10000)
y = 0.0000000014803 * pow(x,3) - 0.00003743 * pow(x,2) + 0.2637 * x + 876.314;
}
else
y=0;
}
else if (wd == 140) //节流前温度为140
{
if (x >= 1300)
{
if (x <= 1325)
y = 0.00000000013866 * pow(x,4) + 0.0000013641 * pow(x,3) - 0.0051 * pow(x,2) - 3.6 * x + 4830;
if (y >= 60 && y <= 150) ; //null
else if (x <= 2600)
y = -0.00024 * pow(x,2) + 1.5695 * x - 1456.65;
else if (x > 2600 && x <= 10000)
y = 0.0000000027508 * pow(x,3) - 0.000064256 * pow(x,2) + 0.445 * x + 328.829;
}
else
y=0;
}
else if (wd == 150) //节流前温度为150
{
if (x >= 1475)
{
if (x <= 1500)
y = -3.6 * x + 5460;
if (y >= 60 && y <= 150) ; //null
else if (x <= 3000)
y = -0.00025 * pow(x,2) + 1.66 * x - 1724.01;
else if (x > 3000 && x <= 10000)
y = 0.0000000028636 * pow(x,3) - 0.000068208 * pow(x,2) + 0.4876 * x + 84.3209;
}
else
y=0;
}
else if (wd == 160) //节流前温度为160
{
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -