35 static const doublereal ni0[9] = {
37 -8.32044648201 - 0.000000001739715,
38 6.6832105268 + 0.000000000793232,
47 static const doublereal gammi0[9] = {
59 static const int ciR[56] = {
118 static const int diR[55] = {
176 static const int tiR[55] = {
234 static const doublereal ni[57] = {
236 +0.12533547935523E-1,
241 -0.78199751687981E-2,
242 +0.88089493102134E-2,
245 -0.66212605039687E-4,
249 -0.40092828925807E-1,
250 +0.39343422603254E-6,
251 -0.75941377088144E-5,
252 +0.56250979351888E-3,
253 -0.15608652257135E-4,
254 +0.11537996422951E-8,
255 +0.36582165144204E-6,
256 -0.13251180074668E-11,
257 -0.62639586912454E-9,
259 +0.17611491008752E-1,
263 +0.49969146990806E-2,
264 -0.31358700712549E-1,
267 +0.20527940895948E-1,
269 +0.14180634400617E-1,
270 +0.83326504880713E-2,
271 -0.29052336009585E-1,
272 +0.38615085574206E-1,
273 -0.20393486513704E-1,
274 -0.16554050063734E-2,
275 +0.19955571979541E-2,
276 +0.15870308324157E-3,
277 -0.16388568342530E-4,
278 +0.43613615723811E-1,
279 +0.34994005463765E-1,
280 -0.76788197844621E-1,
281 +0.22446277332006E-1,
282 -0.62689710414685E-4,
283 -0.55711118565645E-9,
294 static const doublereal alphai[3] = {
300 static const doublereal betai[3] = {
306 static const doublereal gammai[3] = {
312 static const doublereal epsi[3] = {
318 static const doublereal ai[2] = {
323 static const doublereal bi[2] = {
328 static const doublereal Bi[2] = {
333 static const doublereal Ci[2] = {
338 static const doublereal Di[2] = {
343 static const doublereal Ai[2] = {
348 static const doublereal Bbetai[2] = {
359 for (
int i = 0; i < 52; i++) {
362 for (
int i = 0; i < 16; i++) {
373 for (
int i = 1; i < 51; i++) {
380 for (
int i = 1; i <= 15; i++) {
390 doublereal retn = log(delta) + ni0[1] + ni0[2]*tau + ni0[3]*log(tau);
392 retn += ni0[4] * log(1.0 - exp(-gammi0[4]*tau));
393 retn += ni0[5] * log(1.0 - exp(-gammi0[5]*tau));
394 retn += ni0[6] * log(1.0 - exp(-gammi0[6]*tau));
395 retn += ni0[7] * log(1.0 - exp(-gammi0[7]*tau));
396 retn += ni0[8] * log(1.0 - exp(-gammi0[8]*tau));
407 doublereal T375 = pow(tau, 0.375);
408 doublereal val = (ni[1] * delta /
TAUsqrt +
409 ni[2] * delta *
TAUsqrt * T375 +
410 ni[3] * delta * tau +
412 ni[5] *
DELTAp[2] * T375 * T375 +
413 ni[6] *
DELTAp[3] * T375 +
416 for (i = 8; i <= 51; i++) {
421 for (j = 0; j < 3; j++) {
423 doublereal dtmp = delta - epsi[j];
424 doublereal ttmp = tau - gammai[j];
425 val += (ni[i] *
DELTAp[diR[i]] *
TAUp[tiR[i]] *
426 exp(-alphai[j]*dtmp*dtmp - betai[j]*ttmp*ttmp));
430 for (j = 0; j < 2; j++) {
432 doublereal deltam1 = delta - 1.0;
433 doublereal dtmp2 = deltam1 * deltam1;
434 doublereal atmp = 0.5 / Bbetai[j];
435 doublereal theta = (1.0 - tau) + Ai[j] * pow(dtmp2, atmp);
436 doublereal triag = theta * theta + Bi[j] * pow(dtmp2, ai[j]);
437 doublereal ttmp = tau - 1.0;
438 doublereal triagtmp = pow(triag, bi[j]);
439 doublereal
phi = exp(-Ci[j]*dtmp2 - Di[j]*ttmp*ttmp);
440 val += (ni[i] * triagtmp * delta *
phi);
449 doublereal nau =
phi0();
450 doublereal res =
phiR();
461 doublereal T375 = pow(tau, 0.375);
462 doublereal val = (ni[1] /
TAUsqrt +
465 ni[4] * 2.0 * delta *
TAUsqrt +
466 ni[5] * 2.0 * delta * T375 * T375 +
467 ni[6] * 3.0 *
DELTAp[2] * T375 +
468 ni[7] * 4.0 *
DELTAp[3] * tau);
470 for (i = 8; i <= 51; i++) {
471 val += ((ni[i] * exp(-
DELTAp[ciR[i]]) *
DELTAp[diR[i] - 1] *
472 TAUp[tiR[i]]) * (diR[i] - ciR[i]*
DELTAp[ciR[i]]));
476 for (j = 0; j < 3; j++) {
478 doublereal dtmp = delta - epsi[j];
479 doublereal ttmp = tau - gammai[j];
480 doublereal tmp = (ni[i] *
DELTAp[diR[i]] *
TAUp[tiR[i]] *
481 exp(-alphai[j]*dtmp*dtmp - betai[j]*ttmp*ttmp));
482 val += tmp * (diR[i]/delta - 2.0 * alphai[j] * dtmp);
486 for (j = 0; j < 2; j++) {
488 doublereal deltam1 = delta - 1.0;
489 doublereal dtmp2 = deltam1 * deltam1;
490 doublereal atmp = 0.5 / Bbetai[j];
491 doublereal theta = (1.0 - tau) + Ai[j] * pow(dtmp2, atmp);
492 doublereal triag = theta * theta + Bi[j] * pow(dtmp2, ai[j]);
493 doublereal ttmp = tau - 1.0;
494 doublereal triagtmp = pow(triag, bi[j]);
495 doublereal triagtmpm1 = pow(triag, bi[j]-1.0);
496 doublereal atmpM1 = atmp - 1.0;
497 doublereal ptmp = pow(dtmp2,atmpM1);
498 doublereal p2tmp = pow(dtmp2, ai[j]-1.0);
499 doublereal dtriagddelta =
500 deltam1 *(Ai[j] * theta * 2.0 / Bbetai[j] * ptmp +
501 2.0*Bi[j]*ai[j]*p2tmp);
502 doublereal
phi = exp(-Ci[j]*dtmp2 - Di[j]*ttmp*ttmp);
503 doublereal dphiddelta = -2.0*Ci[j]*deltam1*
phi;
504 doublereal dtriagtmpddelta = bi[j] * triagtmpm1 * dtriagddelta;
505 doublereal tmp = ni[i] * (triagtmp * (
phi + delta*dphiddelta) +
506 dtriagtmpddelta * delta *
phi);
521 doublereal nau =
phi0_d();
522 doublereal res =
phiR_d();
529 doublereal res =
phiR_d();
530 return 1.0 + delta * res;
541 doublereal T375 = pow(tau, 0.375);
542 doublereal val = (ni[4] * 2.0 *
TAUsqrt +
543 ni[5] * 2.0 * T375 * T375 +
544 ni[6] * 6.0 * delta * T375 +
545 ni[7] * 12.0 *
DELTAp[2] * tau);
547 for (i = 8; i <= 51; i++) {
548 doublereal dtmp =
DELTAp[ciR[i]];
549 doublereal tmp = ni[i] * exp(-dtmp) *
TAUp[tiR[i]];
553 atmp =
DELTAp[diR[i] - 2];
555 tmp *= atmp *((diR[i] - ciR[i]*dtmp)*(diR[i]-1.0-ciR[i]*dtmp) -
561 for (j = 0; j < 3; j++) {
563 doublereal dtmp = delta - epsi[j];
564 doublereal ttmp = tau - gammai[j];
565 doublereal tmp = (ni[i] *
TAUp[tiR[i]] *
566 exp(-alphai[j]*dtmp*dtmp - betai[j]*ttmp*ttmp));
567 doublereal deltmp =
DELTAp[diR[i]];
568 doublereal deltmpM1 = deltmp/delta;
569 doublereal deltmpM2 = deltmpM1 / delta;
570 doublereal d2tmp = dtmp * dtmp;
572 val += tmp * (-2.0*alphai[j]*deltmp +
573 4.0 * alphai[j] * alphai[j] * deltmp * d2tmp -
574 4.0 * diR[i] * alphai[j] * deltmpM1 * dtmp +
575 diR[i] * (diR[i] - 1.0) * deltmpM2);
579 for (j = 0; j < 2; j++) {
581 doublereal deltam1 = delta - 1.0;
582 doublereal dtmp2 = deltam1 * deltam1;
583 atmp = 0.5 / Bbetai[j];
584 doublereal theta = (1.0 - tau) + Ai[j] * pow(dtmp2, atmp);
585 doublereal triag = theta * theta + Bi[j] * pow(dtmp2, ai[j]);
586 doublereal ttmp = tau - 1.0;
587 doublereal triagtmp = pow(triag, bi[j]);
588 doublereal triagtmpm1 = pow(triag, bi[j]-1.0);
589 doublereal atmpM1 = atmp - 1.0;
590 doublereal ptmp = pow(dtmp2,atmpM1);
591 doublereal p2tmp = pow(dtmp2, ai[j]-1.0);
592 doublereal dtriagddelta =
593 deltam1 *(Ai[j] * theta * 2.0 / Bbetai[j] * ptmp +
594 2.0*Bi[j]*ai[j]*p2tmp);
595 doublereal
phi = exp(-Ci[j]*dtmp2 - Di[j]*ttmp*ttmp);
596 doublereal dphiddelta = -2.0*Ci[j]*deltam1*
phi;
597 doublereal dtriagtmpddelta = bi[j] * triagtmpm1 * dtriagddelta;
598 doublereal d2phiddelta2 = 2.0 * Ci[j] *
phi * (2.0*Ci[j]*dtmp2 - 1.0);
599 doublereal pptmp = ptmp / dtmp2;
600 doublereal d2triagddelta2 = dtriagddelta / deltam1;
602 dtmp2 *(4.0*Bi[j]*ai[j]*(ai[j]-1.0)*pow(dtmp2,ai[j]-2.0) +
603 2.0*Ai[j]*Ai[j]/(Bbetai[j]*Bbetai[j])*ptmp*ptmp +
604 Ai[j]*theta*4.0/Bbetai[j]*(atmp-1.0)*pptmp);
605 doublereal d2triagtmpd2delta =
606 bi[j] * (triagtmpm1 * d2triagddelta2 +
607 (bi[j]-1.0)*triagtmpm1/triag*dtriagddelta*dtriagddelta);
608 doublereal ctmp = (triagtmp * (2.0*dphiddelta + delta*d2phiddelta2) +
609 2.0*dtriagtmpddelta*(
phi + delta * dphiddelta) +
610 d2triagtmpd2delta * delta *
phi);
619 return -1.0/(delta*delta);
633 doublereal res1 =
phiR_d();
635 return 1.0 + delta * (2.0*res1 + delta*res2);
641 doublereal res1 =
phiR_d();
643 return (1.0 + delta * res1) - tau * delta * (res2);
649 doublereal retn = ni0[2] + ni0[3]/tau;
650 retn += (ni0[4] * gammi0[4] * (1.0/(1.0 - exp(-gammi0[4]*tau)) - 1.0));
651 retn += (ni0[5] * gammi0[5] * (1.0/(1.0 - exp(-gammi0[5]*tau)) - 1.0));
652 retn += (ni0[6] * gammi0[6] * (1.0/(1.0 - exp(-gammi0[6]*tau)) - 1.0));
653 retn += (ni0[7] * gammi0[7] * (1.0/(1.0 - exp(-gammi0[7]*tau)) - 1.0));
654 retn += (ni0[8] * gammi0[8] * (1.0/(1.0 - exp(-gammi0[8]*tau)) - 1.0));
663 doublereal atmp, tmp;
666 doublereal T375 = pow(tau, 0.375);
667 doublereal val = ((-0.5) *ni[1] * delta /
TAUsqrt / tau +
668 ni[2] * delta * 0.875 /
TAUsqrt * T375 +
671 ni[5] *
DELTAp[2] * 0.75 * T375 * T375 / tau +
672 ni[6] *
DELTAp[3] * 0.375 * T375 / tau +
675 for (i = 8; i <= 51; i++) {
681 for (j = 0; j < 3; j++) {
683 doublereal dtmp = delta - epsi[j];
684 doublereal ttmp = tau - gammai[j];
685 tmp = (ni[i] *
DELTAp[diR[i]] *
TAUp[tiR[i]] *
686 exp(-alphai[j]*dtmp*dtmp - betai[j]*ttmp*ttmp));
687 val += tmp *(tiR[i]/tau - 2.0 * betai[j]*ttmp);
691 for (j = 0; j < 2; j++) {
693 doublereal deltam1 = delta - 1.0;
694 doublereal dtmp2 = deltam1 * deltam1;
695 atmp = 0.5 / Bbetai[j];
696 doublereal theta = (1.0 - tau) + Ai[j] * pow(dtmp2, atmp);
697 doublereal triag = theta * theta + Bi[j] * pow(dtmp2, ai[j]);
698 doublereal ttmp = tau - 1.0;
699 doublereal triagtmp = pow(triag, bi[j]);
700 doublereal
phi = exp(-Ci[j]*dtmp2 - Di[j]*ttmp*ttmp);
701 doublereal dtriagtmpdtau = -2.0*theta * bi[j] * triagtmp / triag;
702 doublereal dphidtau = - 2.0 * Di[j] * ttmp *
phi;
703 val += ni[i] * delta * (dtriagtmpdtau *
phi + triagtmp * dphidtau);
711 doublereal nau =
phi0_t();
712 doublereal res =
phiR_t();
719 doublereal tmp, itmp;
720 doublereal retn = - ni0[3]/(tau * tau);
721 for (
int i = 4; i <= 8; i++) {
722 tmp = exp(-gammi0[i]*tau);
724 retn -= (ni0[i] * gammi0[i] * gammi0[i] * tmp / (itmp * itmp));
734 doublereal atmp, tmp;
737 doublereal T375 = pow(tau, 0.375);
738 doublereal val = ((-0.5) * (-1.5) * ni[1] * delta / (
TAUsqrt * tau * tau) +
739 ni[2] * delta * 0.875 * (-0.125) * T375 / (
TAUsqrt * tau) +
741 ni[5] *
DELTAp[2] * 0.75 *(-0.25) * T375 * T375 / (tau * tau) +
742 ni[6] *
DELTAp[3] * 0.375 *(-0.625) * T375 / (tau * tau));
744 for (i = 8; i <= 51; i++) {
747 val += tiR[i] * (tiR[i] - 1.0) * tmp;
752 for (j = 0; j < 3; j++) {
754 doublereal dtmp = delta - epsi[j];
755 doublereal ttmp = tau - gammai[j];
756 tmp = (ni[i] *
DELTAp[diR[i]] *
TAUp[tiR[i]] *
757 exp(-alphai[j]*dtmp*dtmp - betai[j]*ttmp*ttmp));
758 atmp = tiR[i]/tau - 2.0 * betai[j]*ttmp;
759 val += tmp *(atmp * atmp - tiR[i]/(tau*tau) - 2.0*betai[j]);
763 for (j = 0; j < 2; j++) {
765 doublereal deltam1 = delta - 1.0;
766 doublereal dtmp2 = deltam1 * deltam1;
767 atmp = 0.5 / Bbetai[j];
768 doublereal theta = (1.0 - tau) + Ai[j] * pow(dtmp2, atmp);
769 doublereal triag = theta * theta + Bi[j] * pow(dtmp2, ai[j]);
770 doublereal ttmp = tau - 1.0;
771 doublereal triagtmp = pow(triag, bi[j]);
772 doublereal triagtmpM1 = triagtmp / triag;
773 doublereal
phi = exp(-Ci[j]*dtmp2 - Di[j]*ttmp*ttmp);
774 doublereal dtriagtmpdtau = -2.0*theta * bi[j] * triagtmp / triag;
775 doublereal dphidtau = - 2.0 * Di[j] * ttmp *
phi;
776 doublereal d2triagtmpdtau2 =
777 (2 * bi[j] * triagtmpM1 +
778 4 * theta * theta * bi[j] * (bi[j]-1.0) * triagtmpM1 / triag);
779 doublereal d2phidtau2 = 2.0*Di[j]*
phi *(2.0*Di[j]*ttmp*ttmp - 1.0);
780 tmp = (d2triagtmpdtau2 *
phi +
781 2 * dtriagtmpdtau * dphidtau +
782 triagtmp * d2phidtau2);
783 val += ni[i] * delta * tmp;
809 doublereal T375 = pow(tau, 0.375);
810 doublereal val = (ni[1] * (-0.5) / (
TAUsqrt * tau) +
811 ni[2] * (0.875) * T375 /
TAUsqrt +
813 ni[4] * 2.0 * delta * (0.5) /
TAUsqrt +
814 ni[5] * 2.0 * delta * (0.75) * T375 * T375 / tau +
815 ni[6] * 3.0 *
DELTAp[2] * 0.375 * T375 / tau +
818 for (i = 8; i <= 51; i++) {
819 tmp = (ni[i] * tiR[i] * exp(-
DELTAp[ciR[i]]) *
DELTAp[diR[i] - 1] *
821 val += tmp * (diR[i] - ciR[i] *
DELTAp[ciR[i]]);
825 for (j = 0; j < 3; j++) {
827 doublereal dtmp = delta - epsi[j];
828 doublereal ttmp = tau - gammai[j];
829 tmp = (ni[i] *
DELTAp[diR[i]] *
TAUp[tiR[i]] *
830 exp(-alphai[j]*dtmp*dtmp - betai[j]*ttmp*ttmp));
831 val += tmp * ((diR[i]/delta - 2.0 * alphai[j] * dtmp) *
832 (tiR[i]/tau - 2.0 * betai[j] * ttmp));
836 for (j = 0; j < 2; j++) {
838 doublereal deltam1 = delta - 1.0;
839 doublereal dtmp2 = deltam1 * deltam1;
840 doublereal atmp = 0.5 / Bbetai[j];
841 doublereal theta = (1.0 - tau) + Ai[j] * pow(dtmp2, atmp);
842 doublereal triag = theta * theta + Bi[j] * pow(dtmp2, ai[j]);
843 doublereal ttmp = tau - 1.0;
844 doublereal triagtmp = pow(triag, bi[j]);
845 doublereal triagtmpm1 = pow(triag, bi[j]-1.0);
846 doublereal atmpM1 = atmp - 1.0;
847 doublereal ptmp = pow(dtmp2,atmpM1);
848 doublereal p2tmp = pow(dtmp2, ai[j]-1.0);
849 doublereal dtriagddelta =
850 deltam1 *(Ai[j] * theta * 2.0 / Bbetai[j] * ptmp +
851 2.0*Bi[j]*ai[j]*p2tmp);
852 doublereal
phi = exp(-Ci[j]*dtmp2 - Di[j]*ttmp*ttmp);
853 doublereal dphiddelta = -2.0*Ci[j]*deltam1*
phi;
854 doublereal dtriagtmpddelta = bi[j] * triagtmpm1 * dtriagddelta;
855 doublereal dtriagtmpdtau = -2.0*theta * bi[j] * triagtmp / triag;
856 doublereal dphidtau = - 2.0 * Di[j] * ttmp *
phi;
857 doublereal d2phiddeltadtau = 4.0 * Ci[j] * Di[j] * deltam1 * ttmp *
phi;
858 doublereal d2triagtmpddeltadtau =
859 (-Ai[j] * bi[j] * 2.0 / Bbetai[j] * triagtmpm1 * deltam1 * ptmp
860 -2.0 * theta * bi[j] * (bi[j] - 1.0) * triagtmpm1 / triag * dtriagddelta);
861 doublereal tmp = ni[i] * (triagtmp * (dphidtau + delta*d2phiddeltadtau) +
862 delta * dtriagtmpddelta * dphidtau +
863 dtriagtmpdtau * (
phi + delta * dphiddelta) +
864 d2triagtmpddeltadtau * delta *
phi);
872 doublereal dd = deltaGuess;
874 doublereal deldd = dd;
875 doublereal pcheck = 1.0E-30 + 1.0E-8 * p_red;
876 for (
int n = 0; n < 200; n++) {
886 doublereal pred0 = dd + dd * dd * q1;
890 doublereal dpddelta = 1.0 + 2.0 * dd * q1 + dd * dd * q2;
895 if (dpddelta <= 0.0) {
896 if (deltaGuess > 1.0) {
899 if (deltaGuess < 1.0) {
906 if (fabs(pred0-p_red) < pcheck) {
912 doublereal dpdx = dpddelta;
914 dpdx = dpddelta * 1.1;
916 dpdx = std::max(dpdx, 0.001);
920 deldd = - (pred0 - p_red) / dpdx;
921 if (fabs(deldd) > 0.05) {
922 deldd = deldd * 0.05 / fabs(deldd);
927 if (fabs(deldd/dd) < 1.0E-14) {
949 return 1.0 +
phi0() +
phiR() + delta * rd;
959 return 1.0 + tau * (nt + rt) + delta * rd;
967 doublereal p0 =
phi0();
968 doublereal pR =
phiR();
969 return tau * (nt + rt) - p0 - pR;
977 return tau * (nt + rt);
985 return - tau * tau * (ntt + rtt);
992 doublereal cvR =
cv_R();
996 doublereal num = (1.0 + delta * rd - delta * tau * rdt);
997 doublereal cpR = cvR + (num * num /
998 (1.0 + 2.0 * delta * rd + delta * delta * rdd));
doublereal phiR_d() const
Calculate d_phiR_d(delta), the first derivative of phiR wrt delta.
Header for Lowest level of the classes which support a real water model (see class WaterPropsIAPWS an...
doublereal phi_dd(doublereal tau, doublereal delta)
2nd derivative of phi wrt delta
doublereal phiR_t() const
Calculate Equation 6.6 for dphiRdtau, the derivative residual part of the dimensionless Helmholtz fre...
This file contains definitions for utility functions and text for modules, inputfiles, logs, textlogs, (see Input File Handling, Diagnostic Output, and Writing messages to the screen).
doublereal dfind(doublereal p_red, doublereal tau, doublereal deltaGuess)
This function computes the reduced density, given the reduced pressure and the reduced temperature...
doublereal TAUsave
Last tau that was used to calculate polynomials.
doublereal phi0_dt() const
Calculate the mixed derivative d2_phi0/(dtau ddelta)
doublereal DELTAp[16]
Value of internally calculated polynomials of powers of delta.
doublereal gibbs_RT() const
Calculate the dimensionless Gibbs free energy.
doublereal DELTAsave
Last delta that was used to calculate polynomials.
doublereal pressureM_rhoRT(doublereal tau, doublereal delta)
Calculate the dimensionless pressure at tau and delta;.
doublereal cp_R() const
Calculate the dimensionless constant pressure heat capacity, Cv/R.
doublereal phi0_tt() const
Calculate d2_phi0/dtau2.
doublereal phi0_t() const
Calculate d_phi0/d(tau)
doublereal dimdpdrho(doublereal tau, doublereal delta)
Dimensionless derivative of p wrt rho at constant T.
doublereal phi_tt(doublereal tau, doublereal delta)
Second derivative of phi wrt tau.
doublereal phi0_d() const
Calculate d_phi0_d(delta), the first derivative of phi0 wrt delta.
doublereal dimdpdT(doublereal tau, doublereal delta)
Dimensionless derivative of p wrt T at constant rho.
doublereal cv_R() const
Calculate the dimensionless constant volume heat capacity, Cv/R.
doublereal phiR_dd() const
Calculate d2_phiR_dd(delta), the second derivative of phiR wrt delta.
WaterPropsIAPWSphi()
Base constructor.
void tdpolycalc(doublereal tau, doublereal delta)
Calculates internal polynomials in tau and delta.
doublereal phi_t(doublereal tau, doublereal delta)
First derivative of phi wrt tau.
doublereal phi0_dd() const
Calculate d2_phi0_dd(delta), the second derivative of phi0 wrt delta.
doublereal phiR_tt() const
Calculate Equation 6.6 for dphiRdtau, the second derivative residual part of the dimensionless Helmho...
doublereal TAUsqrt
sqrt of TAU
doublereal intEnergy_RT() const
Calculate the dimensionless internal energy, u/RT.
doublereal phi0() const
Calculate Equation 6.5 for phi0, the ideal gas part of the dimensionless Helmholtz free energy...
doublereal phi_d(doublereal tau, doublereal delta)
Calculate derivative of phi wrt delta.
doublereal phi(doublereal tau, doublereal delta)
Calculate the Phi function, which is the base function.
doublereal phiR_dt() const
Calculate the mixed derivative d2_phiR/(dtau ddelta)
Namespace for the Cantera kernel.
doublereal entropy_R() const
Calculate the dimensionless entropy, s/R.
doublereal TAUp[52]
Value of internally calculated polynomials of powers of TAU.
doublereal enthalpy_RT() const
Calculate the dimensionless enthalpy, h/RT.