2 #ifndef INCOMPRESSIBLE_LIQUID_H
3 #define INCOMPRESSIBLE_LIQUID_H
32 virtual double rho (
double T_K,
double p){
return -_HUGE;};
34 virtual double c (
double T_K,
double p){
return -_HUGE;};
35 virtual double cp (
double T_K,
double p){
return c(T_K,p);};
36 virtual double cv (
double T_K,
double p){
return c(T_K,p);};
38 virtual double s (
double T_K,
double p){
return -_HUGE;};
40 virtual double u (
double T_K,
double p){
return -_HUGE;};
42 virtual double h (
double T_K,
double p){
return -_HUGE;};
44 virtual double visc(
double T_K,
double p){
return -_HUGE;};
46 virtual double cond(
double T_K,
double p){
return -_HUGE;};
48 virtual double psat(
double T_K){
return -_HUGE;};
62 double h_u(
double T_K,
double p) {
63 return u(T_K,p)+p/
rho(T_K,p);
70 double u_h(
double T_K,
double p) {
71 return h(T_K,p)-p/
rho(T_K,p);
95 bool checkP(
double T_K,
double p);
98 bool checkTP(
double T,
double p);
107 double IncompLiquidSI(
long iOutput,
double T,
double p,
long iFluid);
108 double IncompLiquidSI(
long iOutput,
double T,
double p, std::string name);
118 std::vector<IncompressibleLiquid*> liquid_list;
119 std::map<std::string,IncompressibleLiquid*> liquid_map;
124 void set_liquids(std::vector<IncompressibleLiquid*> list);
146 double rho(
double T_K,
double p){
150 double c(
double T_K,
double p){
154 double h(
double T_K,
double p){
158 double s(
double T_K,
double p){
162 double visc(
double T_K,
double p){
166 double cond(
double T_K,
double p){
170 double u(
double T_K,
double p){
190 name = std::string(
"DEB");
191 description = std::string(
"Diethylbenzene mixture - Dowtherm J Dow Chemical Co.");
192 reference = std::string(
"Melinder-BOOK-2010");
194 Tmin = -80.0 + 273.15;
195 Tmax = 100.0 + 273.15;
198 cRho.push_back(1076.5);
199 cRho.push_back(-0.731182);
202 cHeat.push_back(999.729);
203 cHeat.push_back(2.87576);
206 cVisc.push_back(3.5503);
207 cVisc.push_back(-0.0566396);
208 cVisc.push_back(7.03331e-05);
211 cCond.push_back(0.000189132);
212 cCond.push_back(-2.06364e-07);
214 double visc(
double T_K,
double p){
223 name = std::string(
"HCM");
224 description = std::string(
"Hydrocarbon mixture (synthetic) - Therminol D12 (Gilotherm D12) Solutia");
225 reference = std::string(
"Melinder-BOOK-2010");
227 Tmin = -80.0 + 273.15;
228 Tmax = 100.0 + 273.15;
231 cRho.push_back(971.725);
232 cRho.push_back(-0.718788);
235 cHeat.push_back(844.023);
236 cHeat.push_back(4.31212);
239 cVisc.push_back(18.3237);
240 cVisc.push_back(-0.14706);
241 cVisc.push_back(0.000209096);
244 cCond.push_back(0.000153716);
245 cCond.push_back(-1.51212e-07);
247 double visc(
double T_K,
double p){
256 name = std::string(
"HFE");
257 description = std::string(
"Hydrofluoroether - HFE-7100 3M Novec");
258 reference = std::string(
"Melinder-BOOK-2010");
260 Tmin = -80.0 + 273.15;
261 Tmax = 100.0 + 273.15;
264 cRho.push_back(1822.37);
265 cRho.push_back(-0.918485);
268 cHeat.push_back(871.834);
269 cHeat.push_back(858788);
272 cVisc.push_back(-4.22878);
273 cVisc.push_back(-0.0114765);
274 cVisc.push_back(7.39823e-06);
277 cCond.push_back(9.92958e-05);
278 cCond.push_back(-8.33333e-08);
280 double visc(
double T_K,
double p){
289 name = std::string(
"PMS1");
290 description = std::string(
"Polydimethylsiloxan 1. - Baysilone KT3");
291 reference = std::string(
"Melinder-BOOK-2010");
293 Tmin = -80.0 + 273.15;
294 Tmax = 100.0 + 273.15;
297 cRho.push_back(1172.35);
298 cRho.push_back(-0.9025);
301 cHeat.push_back(1223.69);
302 cHeat.push_back(1.48417);
305 cVisc.push_back(6.36183);
306 cVisc.push_back(-0.0636352);
307 cVisc.push_back(7.51428e-05);
310 cCond.push_back(0.000207526);
311 cCond.push_back(-2.84167e-07);
313 double visc(
double T_K,
double p){
322 name = std::string(
"PMS2");
323 description = std::string(
"Polydimethylsiloxan 2. - Syltherm XLT Dow Corning Co.");
324 reference = std::string(
"Melinder-BOOK-2010");
326 Tmin = -80.0 + 273.15;
327 Tmax = 100.0 + 273.15;
330 cRho.push_back(1155.94);
331 cRho.push_back(-1.02576);
334 cHeat.push_back(1153.55);
335 cHeat.push_back(2.10788);
338 cVisc.push_back(5.66926);
339 cVisc.push_back(-0.065582);
340 cVisc.push_back(8.09988e-05);
343 cCond.push_back(0.000172305);
344 cCond.push_back(-2.11212e-07);
346 double visc(
double T_K,
double p){
355 name = std::string(
"SAB");
356 description = std::string(
"Synthetic alkyl benzene - Marlotherm X");
357 reference = std::string(
"Melinder-BOOK-2010");
359 Tmin = -80.0 + 273.15;
360 Tmax = 100.0 + 273.15;
363 cRho.push_back(1102.34);
364 cRho.push_back(-0.801667);
367 cHeat.push_back(1360.94);
368 cHeat.push_back(1.51667);
371 cVisc.push_back(5.21288);
372 cVisc.push_back(-0.0665792);
373 cVisc.push_back(8.5066e-05);
376 cCond.push_back(0.000208374);
377 cCond.push_back(-2.61667e-07);
379 double visc(
double T_K,
double p){
388 name = std::string(
"HCB");
389 description = std::string(
"Hydrocarbon blend - Dynalene MV");
390 reference = std::string(
"Melinder-BOOK-2010");
392 Tmin = -80.0 + 273.15;
393 Tmax = 100.0 + 273.15;
396 cRho.push_back(1071.78);
397 cRho.push_back(-0.772024);
400 cHeat.push_back(761.393);
401 cHeat.push_back(3.52976);
404 cVisc.push_back(7.16819);
405 cVisc.push_back(-0.0863212);
406 cVisc.push_back(0.000130604);
409 cCond.push_back(0.000203186);
410 cCond.push_back(-2.3869e-07);
412 double visc(
double T_K,
double p){
421 name = std::string(
"TCO");
422 description = std::string(
"Terpene from citrus oils - d-Limonene");
423 reference = std::string(
"Melinder-BOOK-2010");
425 Tmin = -80.0 + 273.15;
426 Tmax = 100.0 + 273.15;
429 cRho.push_back(1071.02);
430 cRho.push_back(-0.778166);
433 cHeat.push_back(223.775);
434 cHeat.push_back(5.2159);
437 cVisc.push_back(-3.47971);
438 cVisc.push_back(-0.0107031);
439 cVisc.push_back(1.14086e-06);
442 cCond.push_back(0.000174156);
443 cCond.push_back(-1.85052e-07);
445 double visc(
double T_K,
double p){
472 name = std::string(
"TD12");
474 reference = std::string(
"Therminol2007");
481 cRho.push_back(+9.8351112723E+02);
482 cRho.push_back(-9.2980873989E-01);
483 cRho.push_back(+1.0537525196E-03);
484 cRho.push_back(-1.5498113539E-06);
487 cHeat.push_back(+9.8364476562E+02);
488 cHeat.push_back(+3.8726050231E+00);
489 cHeat.push_back(-9.8766309005E-04);
490 cHeat.push_back(+2.3435575994E-06);
493 cCond.push_back(+1.4137409273E-01);
494 cCond.push_back(-5.9980348818E-05);
495 cCond.push_back(-1.6084318907E-07);
498 cVisc.push_back(+5.6521089774E+02);
499 cVisc.push_back(-1.2468427934E+02);
500 cVisc.push_back(+1.0064677576E+01);
503 cPsat.push_back(-3.4575358232E+03);
504 cPsat.push_back(-8.2860659877E+01);
505 cPsat.push_back(-2.0569899350E+01);
512 name = std::string(
"TVP1");
514 reference = std::string(
"Therminol2007");
521 cRho.push_back(+1.4027134791E+03);
522 cRho.push_back(-1.6132556454E+00);
523 cRho.push_back(+2.1378385004E-03);
524 cRho.push_back(-1.9310694268E-06);
527 cHeat.push_back(+2.8811134920E+02);
528 cHeat.push_back(+5.8749383495E+00);
529 cHeat.push_back(-6.8565802314E-03);
530 cHeat.push_back(+4.8441771885E-06);
533 cCond.push_back(+1.4898820987E-01);
534 cCond.push_back(+7.4237598012E-06);
535 cCond.push_back(-1.7298441066E-07);
538 cVisc.push_back(+1.0739262698E+03);
539 cVisc.push_back(-8.3841432169E+01);
540 cVisc.push_back(+1.0616847324E+01);
543 cPsat.push_back(-4.3138714911E+03);
544 cPsat.push_back(-8.7431401731E+01);
545 cPsat.push_back(-2.1266245816E+01);
552 name = std::string(
"T66");
554 reference = std::string(
"Therminol2007");
561 cRho.push_back(+1.1644533740E+03);
562 cRho.push_back(-4.3889170000E-01);
563 cRho.push_back(-3.2100000000E-04);
564 cRho.push_back(+3.7806951741E-20);
567 cHeat.push_back(+6.5799090444E+02);
568 cHeat.push_back(+2.8229260154E+00);
569 cHeat.push_back(+8.9707850000E-04);
570 cHeat.push_back(-6.3169106168E-20);
573 cCond.push_back(+1.1611631163E-01);
574 cCond.push_back(+4.8945000000E-05);
575 cCond.push_back(-1.5000000000E-07);
578 cVisc.push_back(+6.6720362621E+02);
579 cVisc.push_back(-2.0480017928E+02);
580 cVisc.push_back(+9.5933675483E+00);
583 cPsat.push_back(-9.0945100000E+03);
584 cPsat.push_back(+6.6850000000E+01);
585 cPsat.push_back(-2.4544855279E+01);
592 name = std::string(
"T72");
594 reference = std::string(
"Therminol2007");
601 cRho.push_back(+1.3571809600E+03);
602 cRho.push_back(-9.8961574320E-01);
603 cRho.push_back(+1.7605076030E-04);
604 cRho.push_back(-1.1893027931E-07);
607 cHeat.push_back(+7.5732470240E+02);
608 cHeat.push_back(+2.7131176015E+00);
609 cHeat.push_back(-6.5480236953E-06);
610 cHeat.push_back(+4.2717093140E-09);
613 cCond.push_back(+1.7514206624E-01);
614 cCond.push_back(-1.2131347146E-04);
615 cCond.push_back(-4.0981053641E-11);
618 cVisc.push_back(+6.8390591135E+02);
619 cVisc.push_back(-1.8024924396E+02);
620 cVisc.push_back(+1.0066296341E+01);
623 cPsat.push_back(-2.9571373614E+05);
624 cPsat.push_back(+3.7936374754E+03);
625 cPsat.push_back(-7.9704232489E+01);
633 name = std::string(
"DowJ");
635 reference = std::string(
"Dow Chemicals data sheet");
642 cRho.push_back(+1.1413344369E+03);
643 cRho.push_back(-1.4313342989E+00);
644 cRho.push_back(+2.4904469643E-03);
645 cRho.push_back(-2.9222651755E-06);
648 cHeat.push_back(+9.6069502370E+02);
649 cHeat.push_back(+3.6462333255E+00);
650 cHeat.push_back(-4.2068387567E-03);
651 cHeat.push_back(+6.7827145865E-06);
654 cCond.push_back(+1.8990894140E-01);
655 cCond.push_back(-2.0921054918E-04);
656 cCond.push_back(-3.2093847177E-09);
659 cVisc.push_back(+7.0729353166E+02);
660 cVisc.push_back(-6.3966539111E+01);
661 cVisc.push_back(+1.0085461875E+01);
664 cPsat.push_back(-3.1876142878E+03);
665 cPsat.push_back(-9.7928074744E+01);
666 cPsat.push_back(-2.0484211718E+01);
673 name = std::string(
"DowQ");
675 reference = std::string(
"Dow Chemicals data sheet");
682 cRho.push_back(+1.2033275827E+03);
683 cRho.push_back(-8.6829833766E-01);
684 cRho.push_back(+2.4832881863E-04);
685 cRho.push_back(-1.7756119683E-07);
688 cHeat.push_back(+6.8024152924E+02);
689 cHeat.push_back(+3.4510813383E+00);
690 cHeat.push_back(-4.2748801499E-04);
691 cHeat.push_back(-8.5970499813E-08);
694 cCond.push_back(+1.5381076524E-01);
695 cCond.push_back(-9.0635332892E-05);
696 cCond.push_back(-6.2655520296E-08);
699 cVisc.push_back(+8.2860901780E+02);
700 cVisc.push_back(-1.2328762540E+02);
701 cVisc.push_back(+1.0441389885E+01);
704 cPsat.push_back(-2.8419559652E+03);
705 cPsat.push_back(-1.7104073646E+02);
706 cPsat.push_back(-1.9195781229E+01);
714 name = std::string(
"TX22");
716 reference = std::string(
"Texaco data sheet");
723 cRho.push_back(+1.0828544667E+03);
724 cRho.push_back(-9.4455186919E-01);
725 cRho.push_back(+9.2414399492E-04);
726 cRho.push_back(-9.5365423381E-07);
729 cHeat.push_back(+7.7399470257E+02);
730 cHeat.push_back(+3.8528705501E+00);
731 cHeat.push_back(-2.7313597680E-04);
732 cHeat.push_back(+4.3191182489E-08);
735 cCond.push_back(+1.5246860010E-01);
736 cCond.push_back(-5.9875211524E-05);
737 cCond.push_back(-1.4202283025E-08);
740 cVisc.push_back(+8.8295948920E+02);
741 cVisc.push_back(-1.7261015666E+02);
742 cVisc.push_back(+9.6466062231E+00);
745 cPsat.push_back(-8.8969171641E+03);
746 cPsat.push_back(-4.3461866340E+01);
747 cPsat.push_back(-2.4380261252E+01);
755 name = std::string(
"NaK");
756 description = std::string(
"Salt mixture with 60% NaNO3 and 40% KNO3");
764 cRho.push_back(+2.2637234000E+03);
765 cRho.push_back(-6.3600000000E-01);
766 cRho.push_back(-4.4160301079E-16);
767 cRho.push_back(+2.0083875178E-19);
770 cHeat.push_back(+1.3960182000E+03);
771 cHeat.push_back(+1.7200000000E-01);
772 cHeat.push_back(-3.4511849814E-17);
773 cHeat.push_back(+1.7449850640E-20);
776 cCond.push_back(+3.9110150000E-01);
777 cCond.push_back(+1.9000000000E-04);
778 cCond.push_back(+6.2250839227E-21);
781 cVisc.push_back(+4.7467256848E+02);
782 cVisc.push_back(-3.3943569983E+02);
783 cVisc.push_back(+7.7431109204E+00);
794 name = std::string(
"XLT");
796 reference = std::string(
"Dow Chemicals data sheet");
803 cRho.push_back(+1.1563685145E+03);
804 cRho.push_back(-1.0269048032E+00);
805 cRho.push_back(-9.3506079577E-07);
806 cRho.push_back(+1.0368116627E-09);
809 cHeat.push_back(+1.1562261074E+03);
810 cHeat.push_back(+2.0994549103E+00);
811 cHeat.push_back(+7.7175381057E-07);
812 cHeat.push_back(-3.7008444051E-20);
815 cCond.push_back(+1.6121957379E-01);
816 cCond.push_back(-1.3023781944E-04);
817 cCond.push_back(-1.4395238766E-07);
820 cVisc.push_back(+1.0337654989E+03);
821 cVisc.push_back(-4.3322764383E+01);
822 cVisc.push_back(+1.0715062356E+01);
833 name = std::string(
"HC50");
834 reference = std::string(
"Dynalene data sheet");
841 cRho.push_back(+1.4989450835E+03);
842 cRho.push_back(-5.2796479536E-01);
843 cRho.push_back(-7.1686735997E-05);
844 cRho.push_back(+6.2219602450E-08);
847 cHeat.push_back(+2.1287827711E+03);
848 cHeat.push_back(+1.9224638196E+00);
849 cHeat.push_back(+1.3287279132E-04);
850 cHeat.push_back(-1.2116448898E-07);
853 cCond.push_back(+2.1115985069E-01);
854 cCond.push_back(+1.0044355501E-03);
855 cCond.push_back(-6.8418171866E-09);
858 cVisc.push_back(+5.1474948873E+02);
859 cVisc.push_back(-1.2991405965E+02);
860 cVisc.push_back(+8.8804895031E+00);
863 cPsat.push_back(-4.1833595311E+03);
864 cPsat.push_back(-3.3779925774E+01);
865 cPsat.push_back(-2.3219027215E+01);
874 name = std::string(
"HC40");
875 reference = std::string(
"Dynalene data sheet");
882 cRho.push_back(+1.4720776473E+03);
883 cRho.push_back(-5.0388465311E-01);
884 cRho.push_back(-1.4487525769E-04);
885 cRho.push_back(+1.2228923117E-07);
888 cHeat.push_back(+2.2849444547E+03);
889 cHeat.push_back(+2.1363723550E+00);
890 cHeat.push_back(+3.3322790115E-04);
891 cHeat.push_back(-2.2099478511E-07);
894 cCond.push_back(+2.1585000000E-01);
895 cCond.push_back(+1.0000000000E-03);
896 cCond.push_back(-1.0218829918E-20);
899 cVisc.push_back(+6.7794306641E+02);
900 cVisc.push_back(-1.0098293303E+02);
901 cVisc.push_back(+9.4355407493E+00);
904 cPsat.push_back(-5.5466979146E+03);
905 cPsat.push_back(+1.0982652329E+01);
906 cPsat.push_back(-2.5451884216E+01);
915 name = std::string(
"HC30");
916 reference = std::string(
"Dynalene data sheet");
923 cRho.push_back(+1.4153034908E+03);
924 cRho.push_back(-4.4327434107E-01);
925 cRho.push_back(-1.5443642107E-04);
926 cRho.push_back(+1.1429794039E-07);
929 cHeat.push_back(+2.3846023310E+03);
930 cHeat.push_back(+2.4376868197E+00);
931 cHeat.push_back(-3.5495726496E-04);
932 cHeat.push_back(+3.2206119163E-07);
935 cCond.push_back(+2.2585000000E-01);
936 cCond.push_back(+1.0000000000E-03);
937 cCond.push_back(-7.8145179951E-21);
940 cVisc.push_back(+1.4791319182E+03);
941 cVisc.push_back(+4.3364527896E+00);
942 cVisc.push_back(+1.0940969046E+01);
945 cPsat.push_back(-3.9183978747E+03);
946 cPsat.push_back(-4.4556553119E+01);
947 cPsat.push_back(-2.3041842217E+01);
956 name = std::string(
"HC20");
957 reference = std::string(
"Dynalene data sheet");
964 cRho.push_back(+1.3918918541E+03);
965 cRho.push_back(-5.3737521962E-01);
966 cRho.push_back(+4.1692735606E-05);
967 cRho.push_back(-2.8527564759E-08);
970 cHeat.push_back(+2.5186678435E+03);
971 cHeat.push_back(+2.3663436544E+00);
972 cHeat.push_back(-9.6739411954E-06);
973 cHeat.push_back(+1.8768134708E-09);
976 cCond.push_back(+2.2985000000E-01);
977 cCond.push_back(+1.0000000000E-03);
978 cCond.push_back(+4.2380113949E-21);
981 cVisc.push_back(+1.4573630736E+03);
982 cVisc.push_back(+8.3287350365E+00);
983 cVisc.push_back(+1.0986724162E+01);
986 cPsat.push_back(-4.2012148268E+03);
987 cPsat.push_back(-3.2285491186E+01);
988 cPsat.push_back(-2.3529315156E+01);
997 name = std::string(
"HC10");
998 reference = std::string(
"Dynalene data sheet");
1005 cRho.push_back(+1.3210573130E+03);
1006 cRho.push_back(-4.2690361588E-01);
1007 cRho.push_back(-9.9246921529E-05);
1008 cRho.push_back(+1.1284336656E-07);
1011 cHeat.push_back(+2.5991164581E+03);
1012 cHeat.push_back(+2.4340563753E+00);
1013 cHeat.push_back(+1.2102227066E-04);
1014 cHeat.push_back(-1.0475863139E-07);
1017 cCond.push_back(+2.3085000000E-01);
1018 cCond.push_back(+1.0000000000E-03);
1019 cCond.push_back(+4.8188007943E-22);
1022 cVisc.push_back(+1.3099267208E+03);
1023 cVisc.push_back(-5.1123036317E+00);
1024 cVisc.push_back(+1.0880904782E+01);
1027 cPsat.push_back(-4.0554351446E+03);
1028 cPsat.push_back(-3.8590604800E+01);
1029 cPsat.push_back(-2.3416001339E+01);
1037 name = std::string(
"AS10");
1039 reference = std::string(
"SecCool Software");
1046 cRho.push_back(+1.1446000000E+03);
1047 cRho.push_back(-2.0000000000E-01);
1048 cRho.push_back(+1.0520504534E-16);
1049 cRho.push_back(-7.3416990543E-20);
1052 cHeat.push_back(+2.0019857143E+03);
1053 cHeat.push_back(+9.2664285714E+00);
1054 cHeat.push_back(-1.3285714286E-02);
1055 cHeat.push_back(-1.3575719937E-16);
1058 cCond.push_back(+1.2439404762E-01);
1059 cCond.push_back(+1.3752380952E-03);
1060 cCond.push_back(+1.9047619048E-07);
1063 cVisc.push_back(+4.7558729987E+02);
1064 cVisc.push_back(-1.6103694674E+02);
1065 cVisc.push_back(+1.0129670635E+01);
1075 name = std::string(
"AS20");
1077 reference = std::string(
"SecCool Software");
1084 cRho.push_back(+1.1052186014E+03);
1085 cRho.push_back(+4.9151515152E-01);
1086 cRho.push_back(-1.1118881119E-03);
1087 cRho.push_back(-4.6620046617E-07);
1090 cHeat.push_back(+1.5218579021E+03);
1091 cHeat.push_back(+1.0060303030E+01);
1092 cHeat.push_back(-1.4137529138E-02);
1093 cHeat.push_back(+2.3310023312E-06);
1096 cCond.push_back(+1.1390909091E-01);
1097 cCond.push_back(+1.3430303030E-03);
1098 cCond.push_back(-6.7271158343E-20);
1101 cVisc.push_back(+4.8319746232E+02);
1102 cVisc.push_back(-1.5863708418E+02);
1103 cVisc.push_back(+9.9041817702E+00);
1114 name = std::string(
"AS30");
1116 reference = std::string(
"SecCool Software");
1123 cRho.push_back(+8.7111547342E+02);
1124 cRho.push_back(+3.7745669146E+00);
1125 cRho.push_back(-1.3928293928E-02);
1126 cRho.push_back(+1.5747215747E-05);
1129 cHeat.push_back(+3.0785717616E+02);
1130 cHeat.push_back(+1.7014884005E+01);
1131 cHeat.push_back(-2.4269064269E-02);
1132 cHeat.push_back(-3.4188034188E-06);
1135 cCond.push_back(+1.1394827672E-01);
1136 cCond.push_back(+1.2806543457E-03);
1137 cCond.push_back(-4.4955044955E-08);
1140 cVisc.push_back(+5.1209144775E+02);
1141 cVisc.push_back(-1.5626579962E+02);
1142 cVisc.push_back(+9.9016607949E+00);
1153 name = std::string(
"AS40");
1155 reference = std::string(
"SecCool Software");
1162 cRho.push_back(+8.8355972263E+02);
1163 cRho.push_back(+4.0994176412E+00);
1164 cRho.push_back(-1.5309807839E-02);
1165 cRho.push_back(+1.7359111477E-05);
1168 cHeat.push_back(-5.1241354234E+02);
1169 cHeat.push_back(+2.3184299720E+01);
1170 cHeat.push_back(-3.7767937944E-02);
1171 cHeat.push_back(-1.2066365007E-06);
1174 cCond.push_back(+1.3896631868E-01);
1175 cCond.push_back(+1.1308846154E-03);
1176 cCond.push_back(-6.0439560440E-08);
1179 cVisc.push_back(+4.7403455568E+02);
1180 cVisc.push_back(-1.6081056499E+02);
1181 cVisc.push_back(+9.4982567299E+00);
1192 name = std::string(
"AS55");
1194 reference = std::string(
"SecCool Software");
1201 cRho.push_back(+8.9605196078E+02);
1202 cRho.push_back(+4.5156492948E+00);
1203 cRho.push_back(-1.7100103199E-02);
1204 cRho.push_back(+1.9435844513E-05);
1207 cHeat.push_back(+3.6600598555E+02);
1208 cHeat.push_back(+1.5792254902E+01);
1209 cHeat.push_back(-2.4545923633E-02);
1210 cHeat.push_back(-4.1279669761E-07);
1213 cCond.push_back(+3.3985681115E-01);
1214 cCond.push_back(-3.0877966976E-04);
1215 cCond.push_back(+2.2822497420E-06);
1218 cVisc.push_back(+6.1353626424E+02);
1219 cVisc.push_back(-1.5081016752E+02);
1220 cVisc.push_back(+1.0109522524E+01);
1231 name = std::string(
"ZS10");
1233 reference = std::string(
"SecCool Software");
1240 cRho.push_back(+1.2314887434E+03);
1241 cRho.push_back(-5.2375274970E-01);
1242 cRho.push_back(+1.9728931723E-04);
1243 cRho.push_back(-2.1700379757E-07);
1246 cHeat.push_back(+2.2183875526E+03);
1247 cHeat.push_back(+7.4287485687E+00);
1248 cHeat.push_back(-9.1301807180E-03);
1249 cHeat.push_back(-1.7295039503E-07);
1252 cCond.push_back(+1.2534548872E-01);
1253 cCond.push_back(+1.4936591479E-03);
1254 cCond.push_back(-3.0576441103E-07);
1257 cVisc.push_back(+5.2976289768E+02);
1258 cVisc.push_back(-1.5197832234E+02);
1259 cVisc.push_back(+1.0073901959E+01);
1270 name = std::string(
"ZS25");
1272 reference = std::string(
"SecCool Software");
1279 cRho.push_back(+1.3386515650E+03);
1280 cRho.push_back(-5.2656222039E-01);
1281 cRho.push_back(-1.5645224340E-05);
1282 cRho.push_back(+1.2161751291E-08);
1285 cHeat.push_back(+3.0812417591E+03);
1286 cHeat.push_back(+3.7786772648E-01);
1287 cHeat.push_back(-6.5881944143E-05);
1288 cHeat.push_back(+3.3242120199E-07);
1291 cCond.push_back(+3.4681146245E-02);
1292 cCond.push_back(+1.9330395257E-03);
1293 cCond.push_back(-1.1992094862E-06);
1296 cVisc.push_back(+4.1761158398E+02);
1297 cVisc.push_back(-1.6295200411E+02);
1298 cVisc.push_back(+9.3205072397E+00);
1309 name = std::string(
"ZS40");
1311 reference = std::string(
"SecCool Software");
1318 cRho.push_back(+1.4183190376E+03);
1319 cRho.push_back(-5.8243188235E-01);
1320 cRho.push_back(+5.4922721789E-05);
1321 cRho.push_back(-6.5779076274E-08);
1324 cHeat.push_back(+9.5472807318E+02);
1325 cHeat.push_back(+1.6485063272E+01);
1326 cHeat.push_back(-5.3205833713E-02);
1327 cHeat.push_back(+6.2103990740E-05);
1330 cCond.push_back(+1.5446717460E-01);
1331 cCond.push_back(+1.1457880342E-03);
1332 cCond.push_back(-1.5579975580E-07);
1335 cVisc.push_back(+4.6544465976E+02);
1336 cVisc.push_back(-1.5503900008E+02);
1337 cVisc.push_back(+9.2536810485E+00);
1348 name = std::string(
"ZS45");
1350 reference = std::string(
"SecCool Software");
1357 cRho.push_back(+1.4317629296E+03);
1358 cRho.push_back(-5.3989162562E-01);
1359 cRho.push_back(-4.2356111320E-05);
1360 cRho.push_back(+4.7155909223E-08);
1363 cHeat.push_back(+2.0449839861E+03);
1364 cHeat.push_back(+2.2070679223E+00);
1365 cHeat.push_back(-4.6369977429E-06);
1366 cHeat.push_back(+5.2395454720E-09);
1369 cCond.push_back(+2.0207530462E-01);
1370 cCond.push_back(+8.0384160667E-04);
1371 cCond.push_back(+3.6382468107E-07);
1374 cVisc.push_back(+4.5803862071E+02);
1375 cVisc.push_back(-1.5592748501E+02);
1376 cVisc.push_back(+9.1329431082E+00);
1387 name = std::string(
"ZS55");
1389 reference = std::string(
"SecCool Software");
1396 cRho.push_back(+1.4861637422E+03);
1397 cRho.push_back(-5.7747246466E-01);
1398 cRho.push_back(-9.0036956000E-05);
1399 cRho.push_back(+9.9350655525E-08);
1402 cHeat.push_back(+2.3791157676E+03);
1403 cHeat.push_back(-7.7643011749E-01);
1404 cHeat.push_back(+4.7957532518E-03);
1405 cHeat.push_back(-6.3381598423E-08);
1408 cCond.push_back(+2.4488072144E-01);
1409 cCond.push_back(+5.5666864417E-04);
1410 cCond.push_back(+5.3163126578E-07);
1413 cVisc.push_back(+5.0238871796E+02);
1414 cVisc.push_back(-1.5126152304E+02);
1415 cVisc.push_back(+9.1546618222E+00);
double visc(double T_K, double p)
Viscosity as a function of temperature and pressure.
double h(double T_K, double p)
Enthalpy as a function of temperature and pressure.
double polyfracint(std::vector< double > const &coefficients, double T)
double rho(double T_K, double p)
Density as a function of temperature and pressure.
The base class for incompressible fluids only.
void testInputs(double T_K, double p)
Base class for simplified brine/solution models.
std::vector< double > cPsat
New fluids added with more coefficients.
double visc(double T_K, double p)
Viscosity as a function of temperature and pressure.
std::vector< double > cRho
double psat(double T_K)
Saturation pressure as a function of temperature.
double h_u(double T_K, double p)
Enthalpy from u,p and rho.
virtual double cv(double T_K, double p)
virtual double cp(double T_K, double p)
Base class for simplified brine/solution models.
double visc(double T_K, double p)
Viscosity as a function of temperature and pressure.
double polyint(std::vector< double > const &coefficients, double T)
virtual double u(double T_K, double p)
Internal energy as a function of temperature and pressure.
double visc(double T_K, double p)
Viscosity as a function of temperature and pressure.
double visc(double T_K, double p)
Viscosity as a function of temperature and pressure.
double visc(double T_K, double p)
Viscosity as a function of temperature and pressure.
virtual double rho(double T_K, double p)
Density as a function of temperature and pressure.
std::vector< double > cVisc
bool checkT(double T_K)
Check validity of temperature input.
double expval(std::vector< double > const &coefficients, double T, int n)
std::vector< double > cCond
Base class for simplified models.
virtual double s(double T_K, double p)
Entropy as a function of temperature and pressure.
double u(double T_K, double p)
Internal energy as a function of temperature and pressure.
double u_h(double T_K, double p)
Internal energy from h,p and rho.
bool IsIncompressibleLiquid(std::string name)
double cond(double T_K, double p)
Thermal conductivity as a function of temperature and pressure.
double c(double T_K, double p)
Heat capacities as a function of temperature and pressure.
virtual double c(double T_K, double p)
Heat capacities as a function of temperature and pressure.
virtual double h(double T_K, double p)
Enthalpy as a function of temperature and pressure.
std::vector< double > cHeat
double IncompLiquidSI(long iOutput, double T, double p, long iFluid)
virtual double psat(double T_K)
Saturation pressure as a function of temperature.
double visc(double T_K, double p)
Viscosity as a function of temperature and pressure.
double polyval(std::vector< double > const &coefficients, double x)
IncompressibleLiquid * get_liquid(long index)
void set_liquids(std::vector< IncompressibleLiquid * > list)
bool checkP(double T_K, double p)
Check validity of pressure input.
double visc(double T_K, double p)
Viscosity as a function of temperature and pressure.
double s(double T_K, double p)
Entropy as a function of temperature and pressure.
virtual double cond(double T_K, double p)
Thermal conductivity as a function of temperature and pressure.
double visc(double T_K, double p)
Viscosity as a function of temperature and pressure.
bool checkTP(double T, double p)
Check validity of temperature and pressure input.
virtual double visc(double T_K, double p)
Viscosity as a function of temperature and pressure.