35static const doublereal ni0[9] = {
37 -8.32044648201 - 0.000000001739715,
38 6.6832105268 + 0.000000000793232,
47static const doublereal gammi0[9] = {
59static const int ciR[56] = {
118static const int diR[55] = {
176static const int tiR[55] = {
234static 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,
294static const doublereal alphai[3] = {
300static const doublereal betai[3] = {
306static const doublereal gammai[3] = {
312static const doublereal epsi[3] = {
318static const doublereal ai[2] = {
323static const doublereal bi[2] = {
328static const doublereal Bi[2] = {
333static const doublereal Ci[2] = {
338static const doublereal Di[2] = {
343static const doublereal Ai[2] = {
348static 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));
Header for Lowest level of the classes which support a real water model (see class WaterPropsIAPWS an...
doublereal phi_tt(doublereal tau, doublereal delta)
Second derivative of phi wrt tau.
doublereal dimdpdrho(doublereal tau, doublereal delta)
Dimensionless derivative of p wrt rho at constant T.
doublereal entropy_R() const
Calculate the dimensionless entropy, s/R.
doublereal DELTAp[16]
Value of internally calculated polynomials of powers of delta.
doublereal phiR_d() const
Calculate d_phiR_d(delta), the first derivative of phiR wrt delta.
doublereal phi0() const
Calculate Equation 6.5 for phi0, the ideal gas part of the dimensionless Helmholtz free energy.
doublereal phiR_tt() const
Calculate Equation 6.6 for dphiRdtau, the second derivative residual part of the dimensionless Helmho...
doublereal phi0_dt() const
Calculate the mixed derivative d2_phi0/(dtau ddelta)
doublereal enthalpy_RT() const
Calculate the dimensionless enthalpy, h/RT.
doublereal gibbs_RT() const
Calculate the dimensionless Gibbs free energy.
doublereal cv_R() const
Calculate the dimensionless constant volume heat capacity, Cv/R.
doublereal phiR_dt() const
Calculate the mixed derivative d2_phiR/(dtau ddelta)
doublereal phi_t(doublereal tau, doublereal delta)
First derivative of phi wrt tau.
doublereal DELTAsave
Last delta that was used to calculate polynomials.
doublereal dfind(doublereal p_red, doublereal tau, doublereal deltaGuess)
This function computes the reduced density, given the reduced pressure and the reduced temperature,...
WaterPropsIAPWSphi()
Base constructor.
doublereal cp_R() const
Calculate the dimensionless constant pressure heat capacity, Cv/R.
doublereal phi(doublereal tau, doublereal delta)
Calculate the Phi function, which is the base function.
doublereal TAUp[52]
Value of internally calculated polynomials of powers of TAU.
doublereal intEnergy_RT() const
Calculate the dimensionless internal energy, u/RT.
doublereal dimdpdT(doublereal tau, doublereal delta)
Dimensionless derivative of p wrt T at constant rho.
doublereal phi_dd(doublereal tau, doublereal delta)
2nd derivative of phi wrt delta
doublereal TAUsqrt
sqrt of TAU
doublereal phiR_t() const
Calculate Equation 6.6 for dphiRdtau, the derivative residual part of the dimensionless Helmholtz fre...
doublereal phi0_tt() const
Calculate d2_phi0/dtau2.
doublereal phi_d(doublereal tau, doublereal delta)
Calculate derivative of phi wrt delta.
doublereal phi0_t() const
Calculate d_phi0/d(tau)
doublereal phi0_dd() const
Calculate d2_phi0_dd(delta), the second derivative of phi0 wrt delta.
doublereal phi0_d() const
Calculate d_phi0_d(delta), the first derivative of phi0 wrt delta.
doublereal TAUsave
Last tau that was used to calculate polynomials.
doublereal phiR_dd() const
Calculate d2_phiR_dd(delta), the second derivative of phiR wrt delta.
void tdpolycalc(doublereal tau, doublereal delta)
Calculates internal polynomials in tau and delta.
doublereal pressureM_rhoRT(doublereal tau, doublereal delta)
Calculate the dimensionless pressure at tau and delta;.
This file contains definitions for utility functions and text for modules, inputfiles,...
Namespace for the Cantera kernel.