www.mooseframework.org
Water97FluidProperties.h
Go to the documentation of this file.
1 /****************************************************************/
2 /* MOOSE - Multiphysics Object Oriented Simulation Environment */
3 /* */
4 /* All contents are licensed under LGPL V2.1 */
5 /* See LICENSE for full restrictions */
6 /****************************************************************/
7 
8 #ifndef WATER97FLUIDPROPERTIES_H
9 #define WATER97FLUIDPROPERTIES_H
10 
12 
14 
15 template <>
16 InputParameters validParams<Water97FluidProperties>();
17 
38 {
39 public:
40  Water97FluidProperties(const InputParameters & parameters);
41  virtual ~Water97FluidProperties();
42 
47  virtual std::string fluidName() const override;
48 
53  virtual Real molarMass() const override;
54 
59  virtual Real criticalPressure() const;
60 
65  virtual Real criticalTemperature() const;
66 
71  virtual Real criticalDensity() const;
72 
77  virtual Real triplePointPressure() const;
78 
83  virtual Real triplePointTemperature() const;
84 
85  virtual Real rho(Real pressure, Real temperature) const override;
86 
87  virtual void rho_dpT(
88  Real pressure, Real temperature, Real & rho, Real & drho_dp, Real & drho_dT) const override;
89 
90  virtual Real e(Real pressure, Real temperature) const override;
91 
92  virtual void
93  e_dpT(Real pressure, Real temperature, Real & e, Real & de_dp, Real & de_dT) const override;
94 
95  virtual void rho_e_dpT(Real pressure,
96  Real temperature,
97  Real & rho,
98  Real & drho_dp,
99  Real & drho_dT,
100  Real & e,
101  Real & de_dp,
102  Real & de_dT) const override;
103 
104  virtual Real c(Real pressure, Real temperature) const override;
105 
106  virtual Real cp(Real pressure, Real temperature) const override;
107 
108  virtual Real cv(Real pressure, Real temperature) const override;
109 
110  virtual Real mu(Real pressure, Real temperature) const override;
111 
112  virtual void
113  mu_dpT(Real pressure, Real temperature, Real & mu, Real & dmu_dp, Real & dmu_dT) const override;
114 
115  virtual Real mu_from_rho_T(Real density, Real temperature) const override;
116 
117  virtual void mu_drhoT_from_rho_T(Real density,
118  Real temperature,
119  Real ddensity_dT,
120  Real & mu,
121  Real & dmu_drho,
122  Real & dmu_dT) const override;
123 
124  virtual Real k(Real pressure, Real temperature) const override;
125 
126  virtual void
127  k_dpT(Real pressure, Real temperature, Real & k, Real & dk_dp, Real & dk_dT) const override;
128 
129  virtual Real k_from_rho_T(Real density, Real temperature) const override;
130 
131  virtual Real s(Real pressure, Real temperature) const override;
132 
133  virtual Real h(Real pressure, Real temperature) const override;
134 
135  virtual void
136  h_dpT(Real pressure, Real temperature, Real & h, Real & dh_dp, Real & dh_dT) const override;
137 
138  virtual Real beta(Real pressure, Real temperature) const override;
139 
152  Real vaporPressure(Real temperature) const;
153 
168  void vaporPressure_dT(Real temperature, Real & psat, Real & dpsat_dT) const;
169 
182  Real vaporTemperature(Real pressure) const;
183 
194  Real b23p(Real temperature) const;
195 
206  Real b23T(Real pressure) const;
207 
216  unsigned int inRegion(Real pressure, Real temperature) const;
217 
229  unsigned int subregion3(Real pressure, Real temperature) const;
230 
240  Real subregionVolume(
241  Real pi, Real theta, Real a, Real b, Real c, Real d, Real e, unsigned int sid) const;
242 
256  Real densityRegion3(Real pressure, Real temperature) const;
257 
258  virtual Real henryConstant(Real temperature) const override;
259 
260  virtual void henryConstant_dT(Real temperature, Real & Kh, Real & dKh_dT) const override;
261 
271  virtual Real temperature_from_ph(Real pressure, Real enthalpy) const;
272 
282  Real b2bc(Real pressure) const;
283 
294  Real b3ab(Real pressure) const;
295 
296 protected:
308  Real gamma1(Real pi, Real tau) const;
309 
317  Real dgamma1_dpi(Real pi, Real tau) const;
318 
326  Real d2gamma1_dpi2(Real pi, Real tau) const;
327 
335  Real dgamma1_dtau(Real pi, Real tau) const;
336 
344  Real d2gamma1_dtau2(Real pi, Real tau) const;
345 
353  Real d2gamma1_dpitau(Real pi, Real tau) const;
354 
366  Real gamma2(Real pi, Real tau) const;
367 
375  Real dgamma2_dpi(Real pi, Real tau) const;
376 
384  Real d2gamma2_dpi2(Real pi, Real tau) const;
385 
393  Real dgamma2_dtau(Real pi, Real tau) const;
394 
402  Real d2gamma2_dtau2(Real pi, Real tau) const;
403 
411  Real d2gamma2_dpitau(Real pi, Real tau) const;
412 
424  Real phi3(Real delta, Real tau) const;
425 
433  Real dphi3_ddelta(Real delta, Real tau) const;
434 
442  Real d2phi3_ddelta2(Real delta, Real tau) const;
443 
451  Real dphi3_dtau(Real delta, Real tau) const;
452 
460  Real d2phi3_dtau2(Real delta, Real tau) const;
461 
469  Real d2phi3_ddeltatau(Real delta, Real tau) const;
470 
482  Real gamma5(Real pi, Real tau) const;
483 
491  Real dgamma5_dpi(Real pi, Real tau) const;
492 
500  Real d2gamma5_dpi2(Real pi, Real tau) const;
501 
509  Real dgamma5_dtau(Real pi, Real tau) const;
510 
518  Real d2gamma5_dtau2(Real pi, Real tau) const;
519 
527  Real d2gamma5_dpitau(Real pi, Real tau) const;
528 
531  {
532  AB,
533  CD,
534  GH,
535  IJ,
536  JK,
537  MN,
538  OP,
539  QU,
540  RX,
541  UV,
542  WX,
544  };
545 
557  Real tempXY(Real pressure, subregionEnum xy) const;
558 
567  unsigned int inRegionPH(Real pressure, Real enthalpy) const;
568 
579  unsigned int subregion2ph(Real pressure, Real enthalpy) const;
580 
592  unsigned int subregion3ph(Real pressure, Real enthalpy) const;
593 
604  Real temperature_from_ph1(Real pressure, Real enthalpy) const;
605 
616  Real temperature_from_ph2a(Real pressure, Real enthalpy) const;
617 
628  Real temperature_from_ph2b(Real pressure, Real enthalpy) const;
629 
640  Real temperature_from_ph2c(Real pressure, Real enthalpy) const;
641 
653  Real temperature_from_ph3a(Real pressure, Real enthalpy) const;
654 
666  Real temperature_from_ph3b(Real pressure, Real enthalpy) const;
667 
669  const Real _Mh2o;
671  const Real _Rw;
673  const Real _p_critical;
675  const Real _T_critical;
677  const Real _rho_critical;
679  const Real _p_triple;
681  const Real _T_triple;
682 
691  const std::vector<Real> _n1{
693  0.14632971213167e0, -0.84548187169114e0, -0.37563603672040e1, 0.33855169168385e1,
694  -0.95791963387872e0, 0.15772038513228e0, -0.16616417199501e-1, 0.81214629983568e-3,
695  0.28319080123804e-3, -0.60706301565874e-3, -0.18990068218419e-1, -0.32529748770505e-1,
696  -0.21841717175414e-1, -0.52838357969930e-4, -0.47184321073267e-3, -0.30001780793026e-3,
697  0.47661393906987e-4, -0.44141845330846e-5, -0.72694996297594e-15, -0.31679644845054e-4,
698  -0.28270797985312e-5, -0.85205128120103e-9, -0.22425281908000e-5, -0.65171222895601e-6,
699  -0.14341729937924e-12, -0.40516996860117e-6, -0.12734301741641e-8, -0.17424871230634e-9,
700  -0.68762131295531e-18, 0.14478307828521e-19, 0.26335781662795e-22, -0.11947622640071e-22,
701  0.18228094581404e-23, -0.93537087292458e-25};
702 
703  const std::vector<int> _I1{0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 2, 2, 2,
704  2, 2, 3, 3, 3, 4, 4, 4, 5, 8, 8, 21, 23, 29, 30, 31, 32};
705 
706  const std::vector<int> _J1{-2, -1, 0, 1, 2, 3, 4, 5, -9, -7, -1, 0,
707  1, 3, -3, 0, 1, 3, 17, -4, 0, 6, -5, -2,
708  10, -8, -11, -6, -29, -31, -38, -39, -40, -41};
709 
710  const std::vector<Real> _nph1{
711  -0.23872489924521e3, 0.40421188637945e3, 0.11349746881718e3, -0.58457616048039e1,
712  -0.15285482413140e-3, -0.10866707695377e-5, -0.13391744872602e2, 0.43211039183559e2,
713  -0.54010067170506e2, 0.30535892203916e2, -0.65964749423638e1, 0.93965400878363e-2,
714  0.11573647505340e-6, -0.25858641282073e-4, -0.40644363084799e-8, 0.66456186191635e-7,
715  0.80670734103027e-10, -0.93477771213947e-12, 0.58265442020601e-14, -0.15020185953503e-16};
716 
717  const std::vector<int> _Iph1{0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 2, 2, 3, 3, 4, 5, 6};
718 
719  const std::vector<int> _Jph1{0, 1, 2, 6, 22, 32, 0, 1, 2, 3,
720  4, 10, 32, 10, 32, 10, 32, 32, 32, 32};
721 
723  const std::vector<Real> _n02{-0.96927686500217e1,
724  0.10086655968018e2,
725  -0.56087911283020e-2,
726  0.71452738081455e-1,
727  -0.40710498223928e0,
728  0.14240819171444e1,
729  -0.43839511319450e1,
730  -0.28408632460772e0,
731  0.21268463753307e-1};
732 
733  const std::vector<Real> _n2{
734  -0.17731742473213e-2, -0.17834862292358e-1, -0.45996013696365e-1, -0.57581259083432e-1,
735  -0.50325278727930e-1, -0.33032641670203e-4, -0.18948987516315e-3, -0.39392777243355e-2,
736  -0.43797295650573e-1, -0.26674547914087e-4, 0.20481737692309e-7, 0.43870667284435e-6,
737  -0.32277677238570e-4, -0.15033924542148e-2, -0.40668253562649e-1, -0.78847309559367e-9,
738  0.12790717852285e-7, 0.48225372718507e-6, 0.22922076337661e-5, -0.16714766451061e-10,
739  -0.21171472321355e-2, -0.23895741934104e2, -0.59059564324270e-17, -0.12621808899101e-5,
740  -0.38946842435739e-1, 0.11256211360459e-10, -0.82311340897998e1, 0.19809712802088e-7,
741  0.10406965210174e-18, -0.10234747095929e-12, -0.10018179379511e-8, -0.80882908646985e-10,
742  0.10693031879409e0, -0.33662250574171e0, 0.89185845355421e-24, 0.30629316876232e-12,
743  -0.42002467698208e-5, -0.59056029685639e-25, 0.37826947613457e-5, -0.12768608934681e-14,
744  0.73087610595061e-28, 0.55414715350778e-16, -0.94369707241210e-6};
745 
746  const std::vector<int> _J02{0, 1, -5, -4, -3, -2, -1, 2, 3};
747 
748  const std::vector<int> _I2{1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3,
749  4, 4, 4, 5, 6, 6, 6, 7, 7, 7, 8, 8, 9, 10, 10,
750  10, 16, 16, 18, 20, 20, 20, 21, 22, 23, 24, 24, 24};
751 
752  const std::vector<int> _J2{0, 1, 2, 3, 6, 1, 2, 4, 7, 36, 0, 1, 3, 6, 35,
753  1, 2, 3, 7, 3, 16, 35, 0, 11, 25, 8, 36, 13, 4, 10,
754  14, 29, 50, 57, 20, 35, 48, 21, 53, 39, 26, 40, 58};
755 
756  const std::vector<Real> _nph2a{
757  0.10898952318288e4, 0.84951654495535e3, -0.10781748091826e3, 0.33153654801263e2,
758  -0.74232016790248e1, 0.11765048724356e2, 0.18445749355790e1, -0.41792700549624e1,
759  0.62478196935812e1, -0.17344563108114e2, -0.20058176862096e3, 0.27196065473796e3,
760  -0.45511318285818e3, 0.30919688604755e4, 0.25226640357872e6, -0.61707422868339e-2,
761  -0.31078046629583, 0.11670873077107e2, 0.12812798404046e9, -0.98554909623276e9,
762  0.28224546973002e10, -0.35948971410703e10, 0.17227349913197e10, -0.13551334240775e5,
763  0.12848734664650e8, 0.13865724283226e1, 0.23598832556514e6, -0.13105236545054e8,
764  0.73999835474766e4, -0.55196697030060e6, 0.37154085996233e7, 0.19127729239660e5,
765  -0.41535164835634e6, -0.62459855192507e2};
766 
767  const std::vector<int> _Iph2a{0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2,
768  2, 2, 2, 2, 2, 2, 3, 3, 4, 4, 4, 5, 5, 5, 6, 6, 7};
769 
770  const std::vector<int> _Jph2a{0, 1, 2, 3, 7, 20, 0, 1, 2, 3, 7, 9, 11, 18, 44, 0, 2,
771  7, 36, 38, 40, 42, 44, 24, 44, 12, 32, 44, 32, 36, 42, 34, 44, 28};
772 
773  const std::vector<Real> _nph2b{
774  0.14895041079516e4, 0.74307798314034e3, -0.97708318797837e2, 0.24742464705674e1,
775  -0.63281320016026, 0.11385952129658e1, -0.47811863648625, 0.85208123431544e-2,
776  0.93747147377932, 0.33593118604916e1, 0.33809355601454e1, 0.16844539671904,
777  0.73875745236695, -0.47128737436186, 0.15020273139707, -0.21764114219750e-2,
778  -0.21810755324761e-1, -0.10829784403677, -0.46333324635812e-1, 0.71280351959551e-4,
779  0.11032831789999e-3, 0.18955248387902e-3, 0.30891541160537e-2, 0.13555504554949e-2,
780  0.28640237477456e-6, -0.10779857357512e-4, -0.76462712454814e-4, 0.14052392818316e-4,
781  -0.31083814331434e-4, -0.10302738212103e-5, 0.28217281635040e-6, 0.12704902271945e-5,
782  0.73803353468292e-7, -0.11030139238909e-7, -0.81456365207833e-13, -0.25180545682962e-10,
783  -0.17565233969407e-17, 0.86934156344163e-14};
784 
785  const std::vector<int> _Iph2b{0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2,
786  2, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 5, 5, 5, 6, 7, 7, 9, 9};
787 
788  const std::vector<int> _Jph2b{0, 1, 2, 12, 18, 24, 28, 40, 0, 2, 6, 12, 18,
789  24, 28, 40, 2, 8, 18, 40, 1, 2, 12, 24, 2, 12,
790  18, 24, 28, 40, 18, 24, 40, 28, 2, 28, 1, 40};
791 
792  const std::vector<Real> _nph2c{
793  -0.32368398555242e13, 0.73263350902181e13, 0.35825089945447e12, -0.58340131851590e12,
794  -0.10783068217470e11, 0.20825544563171e11, 0.61074783564516e6, 0.85977722535580e6,
795  -0.25745723604170e5, 0.31081088422714e5, 0.12082315865936e4, 0.48219755109255e3,
796  0.37966001272486e1, -0.10842984880077e2, -0.45364172676660e-1, 0.14559115658698e-12,
797  0.11261597407230e-11, -0.17804982240686e-10, 0.12324579690832e-6, -0.11606921130984e-5,
798  0.27846367088554e-4, -0.59270038474176e-3, 0.12918582991878e-2};
799 
800  const std::vector<int> _Iph2c{-7, -7, -6, -6, -5, -5, -2, -2, -1, -1, 0, 0,
801  1, 1, 2, 6, 6, 6, 6, 6, 6, 6, 6};
802 
803  const std::vector<int> _Jph2c{0, 4, 0, 2, 0, 2, 0, 1, 0, 2, 0, 1,
804  4, 8, 4, 0, 1, 4, 10, 12, 16, 20, 22};
805 
807  const std::vector<Real> _n3{
808  0.10658070028513e1, -0.15732845290239e2, 0.20944396974307e2, -0.76867707878716e1,
809  0.26185947787954e1, -0.28080781148620e1, 0.12053369696517e1, -0.84566812812502e-2,
810  -0.12654315477714e1, -0.11524407806681e1, 0.88521043984318e0, -0.64207765181607e0,
811  0.38493460186671e0, -0.85214708824206e0, 0.48972281541877e1, -0.30502617256965e1,
812  0.39420536879154e-1, 0.12558408424308e0, -0.27999329698710e0, 0.13899799569460e1,
813  -0.20189915023570e1, -0.82147637173963e-2, -0.47596035734923e0, 0.43984074473500e-1,
814  -0.44476435428739e0, 0.90572070719733e0, 0.70522450087967e0, 0.10770512626332e0,
815  -0.32913623258954e0, -0.50871062041158e0, -0.22175400873096e-1, 0.94260751665092e-1,
816  0.16436278447961e0, -0.13503372241348e-1, -0.14834345352472e-1, 0.57922953628084e-3,
817  0.32308904703711e-2, 0.80964802996215e-4, -0.16557679795037e-3, -0.44923899061815e-4};
818 
819  const std::vector<int> _I3{0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 3, 3,
820  3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 6, 6, 6, 7, 8, 9, 9, 10, 10, 11};
821 
822  const std::vector<int> _J3{0, 0, 1, 2, 7, 10, 12, 23, 2, 6, 15, 17, 0, 2,
823  6, 7, 22, 26, 0, 2, 4, 16, 26, 0, 2, 4, 26, 1,
824  3, 26, 0, 2, 26, 2, 26, 2, 26, 0, 1, 26};
825 
826  const std::vector<std::vector<Real>> _par3{{0.0024, 100.0, 760.0, 0.085, 0.817, 1.0, 1.0, 1.0},
827  {0.0041, 100.0, 860.0, 0.280, 0.779, 1.0, 1.0, 1.0},
828  {0.0022, 40.0, 690.0, 0.259, 0.903, 1.0, 1.0, 1.0},
829  {0.0029, 40.0, 690.0, 0.559, 0.939, 1.0, 1.0, 4.0},
830  {0.0032, 40.0, 710.0, 0.587, 0.918, 1.0, 1.0, 1.0},
831  {0.0064, 40.0, 730.0, 0.587, 0.891, 0.5, 1.0, 4.0},
832  {0.0027, 25.0, 660.0, 0.872, 0.971, 1.0, 1.0, 4.0},
833  {0.0032, 25.0, 660.0, 0.898, 0.983, 1.0, 1.0, 4.0},
834  {0.0041, 25.0, 660.0, 0.910, 0.984, 0.5, 1.0, 4.0},
835  {0.0054, 25.0, 670.0, 0.875, 0.964, 0.5, 1.0, 4.0},
836  {0.0077, 25.0, 680.0, 0.802, 0.935, 1.0, 1.0, 1.0},
837  {0.0026, 24.0, 650.0, 0.908, 0.989, 1.0, 1.0, 4.0},
838  {0.0028, 23.0, 650.0, 1.000, 0.997, 1.0, 0.25, 1.0},
839  {0.0031, 23.0, 650.0, 0.976, 0.997, 0.0, 0.0, 0.0},
840  {0.0034, 23.0, 650.0, 0.974, 0.996, 0.5, 1.0, 1.0},
841  {0.0041, 23.0, 650.0, 0.972, 0.997, 0.5, 1.0, 1.0},
842  {0.0022, 23.0, 650.0, 0.848, 0.983, 1.0, 1.0, 4.0},
843  {0.0054, 23.0, 650.0, 0.874, 0.982, 1.0, 1.0, 1.0},
844  {0.0022, 21.0, 640.0, 0.886, 0.990, 1.0, 1.0, 4.0},
845  {0.0088, 20.0, 650.0, 0.803, 1.020, 1.0, 1.0, 1.0},
846  {0.0026, 23.0, 650.0, 0.902, 0.988, 1.0, 1.0, 1.0},
847  {0.0031, 23.0, 650.0, 0.960, 0.995, 1.0, 1.0, 1.0},
848  {0.0039, 23.0, 650.0, 0.959, 0.995, 1.0, 1.0, 4.0},
849  {0.0049, 23.0, 650.0, 0.910, 0.988, 1.0, 1.0, 1.0},
850  {0.0031, 22.0, 650.0, 0.996, 0.994, 1.0, 1.0, 4.0},
851  {0.0038, 22.0, 650.0, 0.993, 0.994, 1.0, 1.0, 4.0}};
852 
853  const std::vector<unsigned int> _par3N{30, 32, 35, 38, 29, 42, 38, 29, 42, 29, 34, 43, 40,
854  39, 24, 27, 24, 27, 29, 33, 38, 39, 35, 36, 20, 23};
855 
857  const std::vector<std::vector<Real>> _n3s{
858  {0.110879558823853e-2, 0.572616740810616e3, -0.767051948380852e5, -0.253321069529674e-1,
859  0.628008049345689e4, 0.234105654131876e6, 0.216867826045856, -0.156237904341963e3,
860  -0.269893956176613e5, -0.180407100085505e-3, 0.116732227668261e-2, 0.266987040856040e2,
861  0.282776617243286e5, -0.242431520029523e4, 0.435217323022733e-3, -0.122494831387441e-1,
862  0.179357604019989e1, 0.442729521058314e2, -0.593223489018342e-2, 0.453186261685774,
863  0.135825703129140e1, 0.408748415856745e-1, 0.474686397863312, 0.118646814997915e1,
864  0.546987265727549, 0.195266770452643, -0.502268790869663e-1, -0.369645308193377,
865  0.633828037528420e-2, 0.797441793901017e-1},
866  {-0.827670470003621e-1, 0.416887126010565e2, 0.483651982197059e-1, -0.291032084950276e5,
867  -0.111422582236948e3, -0.202300083904014e-1, 0.294002509338515e3, 0.140244997609658e3,
868  -0.344384158811459e3, 0.361182452612149e3, -0.140699677420738e4, -0.202023902676481e-2,
869  0.171346792457471e3, -0.425597804058632e1, 0.691346085000334e-5, 0.151140509678925e-2,
870  -0.416375290166236e-1, -0.413754957011042e2, -0.506673295721637e2, -0.572212965569023e-3,
871  0.608817368401785e1, 0.239600660256161e2, 0.122261479925384e-1, 0.216356057692938e1,
872  0.398198903368642, -0.116892827834085, -0.102845919373532, -0.492676637589284,
873  0.655540456406790e-1, -0.240462535078530, -0.269798180310075e-1, 0.128369435967012},
874  {0.311967788763030e1, 0.276713458847564e5, 0.322583103403269e8, -0.342416065095363e3,
875  -0.899732529907377e6, -0.793892049821251e8, 0.953193003217388e2, 0.229784742345072e4,
876  0.175336675322499e6, 0.791214365222792e7, 0.319933345844209e-4, -0.659508863555767e2,
877  -0.833426563212851e6, 0.645734680583292e-1, -0.382031020570813e7, 0.406398848470079e-4,
878  0.310327498492008e2, -0.892996718483724e-3, 0.234604891591616e3, 0.377515668966951e4,
879  0.158646812591361e-1, 0.707906336241843, 0.126016225146570e2, 0.736143655772152,
880  0.676544268999101, -0.178100588189137e2, -0.156531975531713, 0.117707430048158e2,
881  0.840143653860447e-1, -0.186442467471949, -0.440170203949645e2, 0.123290423502494e7,
882  -0.240650039730845e-1, -0.107077716660869e7, 0.438319858566475e-1},
883  {-0.452484847171645e-9, 0.315210389538801e-4, -0.214991352047545e-2, 0.508058874808345e3,
884  -0.127123036845932e8, 0.115371133120497e13, -0.197805728776273e-15, 0.241554806033972e-10,
885  -0.156481703640525e-5, 0.277211346836625e-2, -0.203578994462286e2, 0.144369489909053e7,
886  -0.411254217946539e11, 0.623449786243773e-5, -0.221774281146038e2, -0.689315087933158e5,
887  -0.195419525060713e8, 0.316373510564015e4, 0.224040754426988e7, -0.436701347922356e-5,
888  -0.404213852833996e-3, -0.348153203414663e3, -0.385294213555289e6, 0.135203700099403e-6,
889  0.134648383271089e-3, 0.125031835351736e6, 0.968123678455841e-1, 0.225660517512438e3,
890  -0.190102435341872e-3, -0.299628410819229e-1, 0.500833915372121e-2, 0.387842482998411,
891  -0.138535367777182e4, 0.870745245971773, 0.171946252068742e1, -0.326650121426383e-1,
892  0.498044171727877e4, 0.551478022765087e-2},
893  {0.715815808404721e9, -0.114328360753449e12, 0.376531002015720e-11, -0.903983668691157e-4,
894  0.665695908836252e6, 0.535364174960127e10, 0.794977402335603e11, 0.922230563421437e2,
895  -0.142586073991215e6, -0.111796381424162e7, 0.896121629640760e4, -0.669989239070491e4,
896  0.451242538486834e-2, -0.339731325977713e2, -0.120523111552278e1, 0.475992667717124e5,
897  -0.266627750390341e6, -0.153314954386524e-3, 0.305638404828265, 0.123654999499486e3,
898  -0.104390794213011e4, -0.157496516174308e-1, 0.685331118940253, 0.178373462873903e1,
899  -0.544674124878910, 0.204529931318843e4, -0.228342359328752e5, 0.413197481515899,
900  -0.341931835910405e2},
901  {-0.251756547792325e-7, 0.601307193668763e-5, -0.100615977450049e-2,
902  0.999969140252192, 0.214107759236486e1, -0.165175571959086e2,
903  -0.141987303638727e-2, 0.269251915156554e1, 0.349741815858722e2,
904  -0.300208695771783e2, -0.131546288252539e1, -0.839091277286169e1,
905  0.181545608337015e-9, -0.591099206478909e-3, 0.152115067087106e1,
906  0.252956470663225e-4, 0.100726265203786e-14, -0.14977453386065e1,
907  -0.793940970562969e-9, -0.150290891264717e-3, 0.151205531275133e1,
908  0.470942606221652e-5, 0.195049710391712e-12, -0.911627886266077e-8,
909  0.604374640201265e-3, -0.225132933900136e-15, 0.610916973582981e-11,
910  -0.303063908043404e-6, -0.137796070798409e-4, -0.919296736666106e-3,
911  0.639288223132545e-9, 0.753259479898699e-6, -0.400321478682929e-12,
912  0.756140294351614e-8, -0.912082054034891e-11, -0.237612381140539e-7,
913  0.269586010591874e-4, -0.732828135157839e-10, 0.241995578306660e-9,
914  -0.405735532730322e-3, 0.189424143498011e-9, -0.486632965074563e-9},
915  {0.412209020652996e-4, -0.114987238280587e7, 0.948180885032080e10, -0.195788865718971e18,
916  0.4962507048713e25, -0.105549884548496e29, -0.758642165988278e12, -0.922172769596101e23,
917  0.725379072059348e30, -0.617718249205859e2, 0.107555033344858e5, -0.379545802336487e8,
918  0.228646846221831e12, -0.499741093010619e7, -0.280214310054101e31, 0.104915406769586e7,
919  0.613754229168619e28, 0.802056715528378e32, -0.298617819828065e8, -0.910782540134681e2,
920  0.135033227281565e6, -0.712949383408211e19, -0.104578785289542e37, 0.304331584444093e2,
921  0.593250797959445e10, -0.364174062110798e28, 0.921791403532461, -0.337693609657471,
922  -0.724644143758508e2, -0.110480239272601, 0.536516031875059e1, -0.291441872156205e4,
923  0.616338176535305e40, -0.120889175861180e39, 0.818396024524612e23, 0.940781944835829e9,
924  -0.367279669545448e5, -0.837513931798655e16},
925  {0.561379678887577e-1, 0.774135421587083e10, 0.111482975877938e-8, -0.143987128208183e-2,
926  0.193696558764920e4, -0.605971823585005e9, 0.171951568124337e14, -0.185461154985145e17,
927  0.38785116807801e-16, -0.395464327846105e-13, -0.170875935679023e3, -0.21201062070122e4,
928  0.177683337348191e8, 0.110177443629575e2, -0.234396091693313e6, -0.656174421999594e7,
929  0.156362212977396e-4, -0.212946257021400e1, 0.135249306374858e2, 0.177189164145813,
930  0.139499167345464e4, -0.703670932036388e-2, -0.152011044389648, 0.981916922991113e-4,
931  0.147199658618076e-2, 0.202618487025578e2, 0.899345518944240, -0.211346402240858,
932  0.249971752957491e2},
933  {0.106905684359136e1, -0.148620857922333e1, 0.259862256980408e15,
934  -0.446352055678749e-11, -0.566620757170032e-6, -0.235302885736849e-2,
935  -0.269226321968839, 0.922024992944392e1, 0.357633505503772e-11,
936  -0.173942565562222e2, 0.700681785556229e-5, -0.267050351075768e-3,
937  -0.231779669675624e1, -0.753533046979752e-12, 0.481337131452891e1,
938  -0.223286270422356e22, -0.118746004987383e-4, 0.646412934136496e-2,
939  -0.410588536330937e-9, 0.422739537057241e20, 0.313698180473812e-12,
940  0.16439533434504e-23, -0.339823323754373e-5, -0.135268639905021e-1,
941  -0.723252514211625e-14, 0.184386437538366e-8, -0.463959533752385e-1,
942  -0.99226310037675e14, 0.688169154439335e-16, -0.222620998452197e-10,
943  -0.540843018624083e-7, 0.345570606200257e-2, 0.422275800304086e11,
944  -0.126974478770487e-14, 0.927237985153679e-9, 0.612670812016489e-13,
945  -0.722693924063497e-11, -0.383669502636822e-3, 0.374684572410204e-3,
946  -0.931976897511086e5, -0.247690616026922e-1, 0.658110546759474e2},
947  {-0.111371317395540e-3, 0.100342892423685e1, 0.530615581928979e1,
948  0.179058760078792e-5, -0.728541958464774e-3, -0.187576133371704e2,
949  0.199060874071849e-2, 0.243574755377290e2, -0.177040785499444e-3,
950  -0.25968038522713e-2, -0.198704578406823e3, 0.738627790224287e-4,
951  -0.236264692844138e-2, -0.161023121314333e1, 0.622322971786473e4,
952  -0.960754116701669e-8, -0.510572269720488e-10, 0.767373781404211e-2,
953  0.663855469485254e-14, -0.717590735526745e-9, 0.146564542926508e-4,
954  0.309029474277013e-11, -0.464216300971708e-15, -0.390499637961161e-13,
955  -0.236716126781431e-9, 0.454652854268717e-11, -0.422271787482497e-2,
956  0.283911742354706e-10, 0.270929002720228e1},
957  {-0.401215699576099e9, 0.484501478318406e11, 0.394721471363678e-14,
958  0.372629967374147e5, -0.369794374168666e-29, -0.380436407012452e-14,
959  0.475361629970233e-6, -0.879148916140706e-3, 0.844317863844331,
960  0.122433162656600e2, -0.104529634830279e3, 0.589702771277429e3,
961  -0.291026851164444e14, 0.170343072841850e-5, -0.277617606975748e-3,
962  -0.344709605486686e1, 0.221333862447095e2, -0.194646110037079e3,
963  0.808354639772825e-15, -0.18084520914547e-10, -0.696664158132412e-5,
964  -0.181057560300994e-2, 0.255830298579027e1, 0.328913873658481e4,
965  -0.173270241249904e-18, -0.661876792558034e-6, -0.39568892342125e-2,
966  0.604203299819132e-17, -0.400879935920517e-13, 0.160751107464958e-8,
967  0.383719409025556e-4, -0.649565446702457e-14, -0.149095328506e-11,
968  0.541449377329581e-8},
969  {0.260702058647537e10, -0.188277213604704e15, 0.554923870289667e19, -0.758966946387758e23,
970  0.413865186848908e27, -0.81503800073806e12, -0.381458260489955e33, -0.123239564600519e-1,
971  0.226095631437174e8, -0.49501780950672e12, 0.529482996422863e16, -0.444359478746295e23,
972  0.521635864527315e35, -0.487095672740742e55, -0.714430209937547e6, 0.127868634615495,
973  -0.100752127917598e2, 0.777451437960990e7, -0.108105480796471e25, -0.357578581169659e-5,
974  -0.212857169423484e1, 0.270706111085238e30, -0.695953622348829e33, 0.110609027472280,
975  0.721559163361354e2, -0.306367307532219e15, 0.265839618885530e-4, 0.253392392889754e-1,
976  -0.214443041836579e3, 0.937846601489667, 0.223184043101700e1, 0.338401222509191e2,
977  0.494237237179718e21, -0.198068404154428, -0.141415349881140e31, -0.993862421613651e2,
978  0.125070534142731e3, -0.996473529004439e3, 0.473137909872765e5, 0.116662121219322e33,
979  -0.315874976271533e16, -0.445703369196945e33, 0.642794932373694e33},
980  {0.811384363481847, -0.568199310990094e4, -0.178657198172556e11, 0.795537657613427e32,
981  -0.814568209346872e5, -0.659774567602874e8, -0.152861148659302e11, -0.560165667510446e12,
982  0.458384828593949e6, -0.385754000383848e14, 0.453735800004273e8, 0.939454935735563e12,
983  0.266572856432938e28, -0.547578313899097e10, 0.200725701112386e15, 0.185007245563239e13,
984  0.185135446828337e9, -0.170451090076385e12, 0.157890366037614e15, -0.202530509748774e16,
985  0.36819392618357e60, 0.170215539458936e18, 0.639234909918741e42, -0.821698160721956e15,
986  -0.795260241872306e24, 0.23341586947851e18, -0.600079934586803e23, 0.594584382273384e25,
987  0.189461279349492e40, -0.810093428842645e46, 0.188813911076809e22, 0.111052244098768e36,
988  0.291133958602503e46, -0.329421923951460e22, -0.137570282536696e26, 0.181508996303902e28,
989  -0.346865122768353e30, -0.21196114877426e38, -0.128617899887675e49, 0.479817895699239e65},
990  {0.280967799943151e-38, 0.614869006573609e-30, 0.582238667048942e-27,
991  0.390628369238462e-22, 0.821445758255119e-20, 0.402137961842776e-14,
992  0.651718171878301e-12, -0.211773355803058e-7, 0.264953354380072e-2,
993  -0.135031446451331e-31, -0.607246643970893e-23, -0.402352115234494e-18,
994  -0.744938506925544e-16, 0.189917206526237e-12, 0.364975183508473e-5,
995  0.177274872361946e-25, -0.334952758812999e-18, -0.421537726098389e-8,
996  -0.391048167929649e-1, 0.541276911564176e-13, 0.705412100773699e-11,
997  0.258585887897486e-8, -0.493111362030162e-10, -0.158649699894543e-5,
998  -0.525037427886100, 0.220019901729615e-2, -0.643064132636925e-2,
999  0.629154149015048e2, 0.135147318617061e3, 0.240560808321713e-6,
1000  -0.890763306701305e-3, -0.440209599407714e4, -0.302807107747776e3,
1001  0.159158748314599e4, 0.232534272709876e6, -0.792681207132600e6,
1002  -0.869871364662769e11, 0.354542769185671e12, 0.400849240129329e15},
1003  {0.128746023979718e-34, -0.735234770382342e-11, 0.28907869214915e-2,
1004  0.244482731907223, 0.141733492030985e-23, -0.354533853059476e-28,
1005  -0.594539202901431e-17, -.585188401782779e-8, .201377325411803e-5,
1006  0.138647388209306e1, -0.173959365084772e-4, 0.137680878349369e-2,
1007  0.814897605805513e-14, 0.425596631351839e-25, -0.387449113787755e-17,
1008  0.13981474793024e-12, -0.171849638951521e-2, 0.641890529513296e-21,
1009  0.118960578072018e-10, -0.155282762571611e-17, 0.233907907347507e-7,
1010  -0.174093247766213e-12, 0.377682649089149e-8, -0.516720236575302e-10},
1011  {-0.982825342010366e-4, 0.105145700850612e1, 0.116033094095084e3, 0.324664750281543e4,
1012  -0.123592348610137e4, -0.561403450013495e-1, 0.856677401640869e-7, 0.236313425393924e3,
1013  0.972503292350109e-2, -0.103001994531927e1, -0.149653706199162e-8, -0.215743778861592e-4,
1014  -0.834452198291445e1, 0.586602660564988, 0.343480022104968e-25, 0.816256095947021e-5,
1015  0.294985697916798e-2, 0.711730466276584e-16, 0.400954763806941e-9, 0.107766027032853e2,
1016  -0.409449599138182e-6, -0.729121307758902e-5, 0.677107970938909e-8, 0.602745973022975e-7,
1017  -0.382323011855257e-10, 0.179946628317437e-2, -0.345042834640005e-3},
1018  {-0.820433843259950e5, 0.473271518461586e11, -0.805950021005413e-1, 0.328600025435980e2,
1019  -0.35661702998249e4, -0.172985781433335e10, 0.351769232729192e8, -0.775489259985144e6,
1020  0.710346691966018e-4, 0.993499883820274e5, -0.642094171904570, -0.612842816820083e4,
1021  0.232808472983776e3, -0.142808220416837e-4, -0.643596060678456e-2, -0.428577227475614e1,
1022  0.225689939161918e4, 0.100355651721510e-2, 0.333491455143516, 0.109697576888873e1,
1023  0.961917379376452, -0.838165632204598e-1, 0.247795908411492e1, -0.319114969006533e4},
1024  {0.144165955660863e-2, -0.701438599628258e13, -0.830946716459219e-16, 0.261975135368109,
1025  0.393097214706245e3, -0.104334030654021e5, 0.490112654154211e9, -0.147104222772069e-3,
1026  0.103602748043408e1, 0.305308890065089e1, -0.399745276971264e7, 0.569233719593750e-11,
1027  -0.464923504407778e-1, -0.535400396512906e-17, 0.399988795693162e-12, -0.536479560201811e-6,
1028  0.159536722411202e-1, 0.270303248860217e-14, 0.244247453858506e-7, -0.983430636716454e-5,
1029  0.663513144224454e-1, -0.993456957845006e1, 0.546491323528491e3, -0.143365406393758e5,
1030  0.150764974125511e6, -0.337209709340105e-9, 0.377501980025469e-8},
1031  {-0.532466612140254e23, 0.100415480000824e32, -0.191540001821367e30, 0.105618377808847e17,
1032  0.202281884477061e59, 0.884585472596134e8, 0.166540181638363e23, -0.313563197669111e6,
1033  -0.185662327545324e54, -0.624942093918942e-1, -0.50416072413259e10, 0.187514491833092e5,
1034  0.121399979993217e-2, 0.188317043049455e1, -0.167073503962060e4, 0.965961650599775,
1035  0.294885696802488e1, -0.653915627346115e5, 0.604012200163444e50, -0.198339358557937,
1036  -0.175984090163501e58, 0.356314881403987e1, -0.575991255144384e3, 0.456213415338071e5,
1037  -0.109174044987829e8, 0.437796099975134e34, -0.616552611135792e46, 0.193568768917797e10,
1038  0.950898170425042e54},
1039  {0.155287249586268e1, 0.664235115009031e1, -0.289366236727210e4, -0.385923202309848e13,
1040  -0.291002915783761e1, -0.829088246858083e12, 0.176814899675218e1, -0.534686695713469e9,
1041  0.160464608687834e18, 0.196435366560186e6, 0.156637427541729e13, -0.178154560260006e1,
1042  -0.229746237623692e16, 0.385659001648006e8, 0.110554446790543e10, -0.677073830687349e14,
1043  -0.327910592086523e31, -0.341552040860644e51, -0.527251339709047e21, 0.245375640937055e24,
1044  -0.168776617209269e27, 0.358958955867578e29, -0.656475280339411e36, 0.355286045512301e39,
1045  0.569021454413270e58, -0.700584546433113e48, -0.705772623326374e65, 0.166861176200148e53,
1046  -0.300475129680486e61, -0.668481295196808e51, 0.428432338620678e69, -0.444227367758304e72,
1047  -0.281396013562745e77},
1048  {0.122088349258355e18, 0.104216468608488e10, -.882666931564652e16, 0.259929510849499e20,
1049  0.222612779142211e15, -0.878473585050085e18, -0.314432577551552e22, -0.216934916996285e13,
1050  0.159079648196849e21, -0.339567617303423e3, 0.884387651337836e13, -0.843405926846418e21,
1051  0.114178193518022e2, -0.122708229235641e-3, -0.106201671767107e3, 0.903443213959313e25,
1052  -0.693996270370852e28, 0.648916718965575e-8, 0.718957567127851e4, 0.105581745346187e-2,
1053  -0.651903203602581e15, -0.160116813274676e25, -0.510254294237837e-8, -0.152355388953402,
1054  0.677143292290144e12, 0.276378438378930e15, 0.116862983141686e-1, -0.301426947980171e14,
1055  0.169719813884840e-7, 0.104674840020929e27, -0.10801690456014e5, -0.990623601934295e-12,
1056  0.536116483602738e7, 0.226145963747881e22, -0.488731565776210e-9, 0.151001548880670e-4,
1057  -0.227700464643920e5, -0.781754507698846e28},
1058  {-0.415652812061591e-54, 0.177441742924043e-60, -0.357078668203377e-54,
1059  0.359252213604114e-25, -0.259123736380269e2, 0.594619766193460e5,
1060  -0.624184007103158e11, 0.313080299915944e17, 0.105006446192036e-8,
1061  -0.192824336984852e-5, 0.654144373749937e6, 0.513117462865044e13,
1062  -0.697595750347391e19, -0.103977184454767e29, 0.119563135540666e-47,
1063  -0.436677034051655e-41, 0.926990036530639e-29, 0.587793105620748e21,
1064  0.280375725094731e-17, -0.192359972440634e23, 0.742705723302738e27,
1065  -0.517429682450605e2, 0.820612048645469e7, -0.188214882341448e-8,
1066  0.184587261114837e-1, -0.135830407782663e-5, -0.723681885626348e17,
1067  -0.223449194054124e27, -0.111526741826431e-34, 0.276032601145151e-28,
1068  0.134856491567853e15, 0.652440293345860e-9, 0.510655119774360e17,
1069  -0.468138358908732e32, -0.760667491183279e16, -0.417247986986821e-18,
1070  0.312545677756104e14, -0.100375333864186e15, 0.247761392329058e27},
1071  {-0.586219133817016e-7, -0.894460355005526e11, 0.531168037519774e-30,
1072  0.109892402329239, -0.575368389425212e-1, 0.228276853990249e5,
1073  -0.158548609655002e19, 0.329865748576503e-27, -0.634987981190669e-24,
1074  0.615762068640611e-8, -0.961109240985747e8, -0.406274286652625e-44,
1075  -0.471103725498077e-12, 0.725937724828145, 0.187768525763682e-38,
1076  -0.103308436323771e4, -0.662552816342168e-1, 0.579514041765710e3,
1077  0.237416732616644e-26, 0.271700235739893e-14, -0.9078862134836e2,
1078  -0.171242509570207e-36, 0.156792067854621e3, 0.923261357901470,
1079  -0.597865988422577e1, 0.321988767636389e7, -0.399441390042203e-29,
1080  0.493429086046981e-7, 0.812036983370565e-19, -0.207610284654137e-11,
1081  -0.340821291419719e-6, 0.542000573372233e-17, -0.856711586510214e-12,
1082  0.266170454405981e-13, 0.858133791857099e-5},
1083  {0.377373741298151e19, -0.507100883722913e13, -0.10336322559886e16, 0.184790814320773e-5,
1084  -0.924729378390945e-3, -0.425999562292738e24, -0.462307771873973e-12, 0.107319065855767e22,
1085  0.648662492280682e11, 0.244200600688281e1, -0.851535733484258e10, 0.169894481433592e22,
1086  0.215780222509020e-26, -0.320850551367334, -0.382642448458610e17, -0.275386077674421e-28,
1087  -0.563199253391666e6, -0.326068646279314e21, 0.397949001553184e14, 0.100824008584757e-6,
1088  0.162234569738433e5, -0.432355225319745e11, -0.59287424559861e12, 0.133061647281106e1,
1089  0.157338197797544e7, 0.258189614270853e14, 0.262413209706358e25, -0.920011937431142e-1,
1090  0.220213765905426e-2, -0.110433759109547e2, 0.847004870612087e7, -0.592910695762536e9,
1091  -0.183027173269660e-4, 0.181339603516302, -0.119228759669889e4, 0.430867658061468e7},
1092  {-0.525597995024633e-9, 0.583441305228407e4, -0.134778968457925e17, 0.118973500934212e26,
1093  -0.159096490904708e27, -0.315839902302021e-6, 0.496212197158239e3, 0.327777227273171e19,
1094  -0.527114657850696e22, 0.210017506281863e-16, 0.705106224399834e21, -0.266713136106469e31,
1095  -0.145370512554562e-7, 0.149333917053130e28, -0.149795620287641e8, -0.3818819062711e16,
1096  0.724660165585797e-4, -0.937808169550193e14, 0.514411468376383e10, -0.828198594040141e5},
1097  {0.24400789229065e-10, -0.463057430331242e7, 0.728803274777712e10, 0.327776302858856e16,
1098  -0.110598170118409e10, -0.323899915729957e13, 0.923814007023245e16, 0.842250080413712e-12,
1099  0.663221436245506e12, -0.167170186672139e15, 0.253749358701391e4, -0.819731559610523e-20,
1100  0.328380587890663e12, -0.625004791171543e8, 0.803197957462023e21, -0.204397011338353e-10,
1101  -0.378391047055938e4, 0.97287654593862e-2, 0.154355721681459e2, -0.373962862928643e4,
1102  -0.682859011374572e11, -0.248488015614543e-3, 0.394536049497068e7}};
1103 
1104  const std::vector<std::vector<int>> _I3s{
1105  {-12, -12, -12, -10, -10, -10, -8, -8, -8, -6, -5, -5, -5, -4, -3,
1106  -3, -3, -3, -2, -2, -2, -1, -1, -1, 0, 0, 1, 1, 2, 2},
1107  {-12, -12, -10, -10, -8, -6, -6, -6, -5, -5, -5, -4, -4, -4, -3, -3,
1108  -3, -3, -3, -2, -2, -2, -1, -1, 0, 0, 1, 1, 2, 3, 4, 4},
1109  {-12, -12, -12, -10, -10, -10, -8, -8, -8, -6, -5, -5, -5, -4, -4, -3, -3, -2,
1110  -2, -2, -1, -1, -1, 0, 0, 0, 1, 1, 2, 2, 2, 2, 3, 3, 8},
1111  {-12, -12, -12, -12, -12, -12, -10, -10, -10, -10, -10, -10, -10, -8, -8, -8, -8, -6, -6,
1112  -5, -5, -5, -5, -4, -4, -4, -3, -3, -2, -2, -1, -1, -1, 0, 0, 1, 1, 3},
1113  {-12, -12, -10, -10, -10, -10, -10, -8, -8, -8, -6, -5, -4, -4, -3,
1114  -3, -3, -2, -2, -2, -2, -1, 0, 0, 1, 1, 1, 2, 2},
1115  {0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 3, 3, 3, 4, 5, 5, 6, 7, 7,
1116  10, 12, 12, 12, 14, 14, 14, 14, 14, 16, 16, 18, 18, 20, 20, 20, 22, 24, 24, 28, 32},
1117  {-12, -12, -12, -12, -12, -12, -10, -10, -10, -8, -8, -8, -8, -6, -6, -5, -5, -4, -3,
1118  -2, -2, -2, -2, -1, -1, -1, 0, 0, 0, 1, 1, 1, 3, 5, 6, 8, 10, 10},
1119  {-12, -12, -10, -10, -10, -10, -10, -10, -8, -8, -8, -8, -8, -6, -6,
1120  -6, -5, -5, -5, -4, -4, -3, -3, -2, -1, -1, 0, 1, 1},
1121  {0, 0, 0, 1, 1, 1, 1, 2, 3, 3, 4, 4, 4, 5, 5, 5, 7, 7, 8, 8, 10,
1122  12, 12, 12, 14, 14, 14, 14, 18, 18, 18, 18, 18, 20, 20, 22, 24, 24, 32, 32, 36, 36},
1123  {0, 0, 0, 1, 1, 1, 2, 2, 3, 4, 4, 5, 5, 5, 6,
1124  10, 12, 12, 14, 14, 14, 16, 18, 20, 20, 24, 24, 28, 28},
1125  {-2, -2, -1, -1, 0, -0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
1126  1, 2, 2, 2, 2, 2, 2, 5, 5, 5, 6, 6, 6, 6, 8, 10, 12},
1127  {-12, -12, -12, -12, -12, -10, -10, -8, -8, -8, -8, -8, -8, -8, -6,
1128  -5, -5, -4, -4, -3, -3, -3, -3, -2, -2, -2, -1, -1, -1, 0,
1129  0, 0, 0, 1, 1, 2, 4, 5, 5, 6, 10, 10, 14},
1130  {0, 3, 8, 20, 1, 3, 4, 5, 1, 6, 2, 4, 14, 2, 5, 3, 0, 1, 1, 1,
1131  28, 2, 16, 0, 5, 0, 3, 4, 12, 16, 1, 8, 14, 0, 2, 3, 4, 8, 14, 24},
1132  {0, 3, 4, 6, 7, 10, 12, 14, 18, 0, 3, 5, 6, 8, 12, 0, 3, 7, 12, 2,
1133  3, 4, 2, 4, 7, 4, 3, 5, 6, 0, 0, 3, 1, 0, 1, 0, 1, 0, 1},
1134  {0, 0, 0, 2, 3, 4, 4, 4, 4, 4, 5, 5, 6, 7, 8, 8, 8, 10, 10, 14, 14, 20, 20, 24},
1135  {0, 0, 0, 0, 1, 2, 3, 3, 4, 6, 7, 7, 8, 10,
1136  12, 12, 12, 14, 14, 14, 16, 18, 20, 22, 24, 24, 36},
1137  {-12, -12, -10, -10, -10, -10, -8, -6, -5, -5, -4, -4,
1138  -3, -2, -2, -2, -2, -1, -1, -1, 0, 1, 1, 1},
1139  {-8, -8, -3, -3, -3, -3, -3, 0, 0, 0, 0, 3, 3, 8,
1140  8, 8, 8, 10, 10, 10, 10, 10, 10, 10, 10, 12, 14},
1141  {-12, -12, -10, -8, -6, -5, -5, -4, -4, -3, -3, -2, -1, -1, -1,
1142  0, 0, 0, 0, 1, 1, 3, 3, 3, 4, 4, 4, 5, 14},
1143  {0, 0, 0, 0, 1, 1, 2, 2, 2, 3, 3, 4, 4, 7, 7, 7, 7,
1144  7, 10, 10, 10, 10, 10, 18, 20, 22, 22, 24, 28, 32, 32, 32, 36},
1145  {-12, -10, -10, -10, -8, -8, -8, -6, -6, -5, -5, -5, -3, -1, -1, -1, -1, 0, 0,
1146  1, 2, 2, 3, 5, 5, 5, 6, 6, 8, 8, 10, 12, 12, 12, 14, 14, 14, 14},
1147  {-10, -8, -6, -6, -6, -6, -6, -6, -5, -5, -5, -5, -5, -5, -4, -4, -4, -4, -3, -3,
1148  -3, -2, -2, -1, -1, 0, 0, 0, 1, 1, 3, 4, 4, 4, 5, 8, 10, 12, 14},
1149  {-12, -12, -10, -10, -8, -8, -8, -6, -6, -6, -6, -5, -4, -4, -3, -3, -2, -2,
1150  -1, -1, -1, 0, 0, 1, 2, 2, 3, 3, 5, 5, 5, 8, 8, 10, 10},
1151  {-8, -6, -5, -4, -4, -4, -3, -3, -1, 0, 0, 0, 1, 1, 2, 3, 3, 3,
1152  4, 5, 5, 5, 6, 8, 8, 8, 8, 10, 12, 12, 12, 12, 14, 14, 14, 14},
1153  {0, 0, 0, 0, 1, 2, 2, 2, 2, 3, 3, 3, 4, 4, 5, 5, 8, 8, 10, 12},
1154  {-8, -6, -5, -5, -4, -4, -4, -3, -3, -3, -2, -1, 0, 1, 2, 3, 3, 6, 6, 6, 6, 8, 8}};
1155 
1156  const std::vector<std::vector<int>> _J3s{
1157  {5, 10, 12, 5, 10, 12, 5, 8, 10, 1, 1, 5, 10, 8, 0,
1158  1, 3, 6, 0, 2, 3, 0, 1, 2, 0, 1, 0, 2, 0, 2},
1159  {10, 12, 8, 14, 8, 5, 6, 8, 5, 8, 10, 2, 4, 5, 0, 1,
1160  2, 3, 5, 0, 2, 5, 0, 2, 0, 1, 0, 2, 0, 2, 0, 1},
1161  {6, 8, 10, 6, 8, 10, 5, 6, 7, 8, 1, 4, 7, 2, 8, 0, 3, 0,
1162  4, 5, 0, 1, 2, 0, 1, 2, 0, 2, 0, 1, 3, 7, 0, 7, 1},
1163  {4, 6, 7, 10, 12, 16, 0, 2, 4, 6, 8, 10, 14, 3, 7, 8, 10, 6, 8,
1164  1, 2, 5, 7, 0, 1, 7, 2, 4, 0, 1, 0, 1, 5, 0, 2, 0, 6, 0},
1165  {14, 16, 3, 6, 10, 14, 16, 7, 8, 10, 6, 6, 2, 4, 2, 6, 7, 0, 1, 3, 4, 0, 0, 1, 0, 4, 6, 0, 2},
1166  {-3, -2, -1, 0, 1, 2, -1, 1, 2, 3, 0, 1, -5, -2,
1167  0, -3, -8, 1, -6, -4, 1, -6, -10, -8, -4, -12, -10, -8,
1168  -6, -4, -10, -8, -12, -10, -12, -10, -6, -12, -12, -4, -12, -12},
1169  {7, 12, 14, 18, 22, 24, 14, 20, 24, 7, 8, 10, 12, 8, 22, 7, 20, 22, 7,
1170  3, 5, 14, 24, 2, 8, 18, 0, 1, 2, 0, 1, 3, 24, 22, 12, 3, 0, 6},
1171  {8, 12, 4, 6, 8, 10, 14, 16, 0, 1, 6, 7, 8, 4, 6, 8, 2, 3, 4, 2, 4, 1, 2, 0, 0, 2, 0, 0, 2},
1172  {0, 1, 10, -4, -2, -1, 0, 0, -5, 0, -3, -2, -1, -6, -1, 12, -4, -3, -6, 10, -8,
1173  -12, -6, -4, -10, -8, -4, 5, -12, -10, -8, -6, 2, -12, -10, -12, -12, -8, -10, -5, -10, -8},
1174  {-1, 0, 1, -2, -1, 1, -1, 1, -2, -2, 2, -3, -2, 0, 3,
1175  -6, -8, -3, -10, -8, -5, -10, -12, -12, -10, -12, -6, -12, -5},
1176  {10, 12, -5, 6, -12, -6, -2, -1, 0, 1, 2, 3, 14, -3, -2, 0, 1,
1177  2, -8, -6, -3, -2, 0, 4, -12, -6, -3, -12, -10, -8, -5, -12, -12, -10},
1178  {14, 16, 18, 20, 22, 14, 24, 6, 10, 12, 14, 18, 24, 36, 8, 4, 5, 7, 16, 1, 3, 18,
1179  20, 2, 3, 10, 0, 1, 3, 0, 1, 2, 12, 0, 16, 1, 0, 0, 1, 14, 4, 12, 10},
1180  {0, 0, 0, 2, 5, 5, 5, 5, 6, 6, 7, 8, 8, 10, 10, 12, 14, 14, 18, 20,
1181  20, 22, 22, 24, 24, 28, 28, 28, 28, 28, 32, 32, 32, 36, 36, 36, 36, 36, 36, 36},
1182  {-12, -12, -12, -12, -12, -12, -12, -12, -12, -10, -10, -10, -10,
1183  -10, -10, -8, -8, -8, -8, -6, -6, -6, -5, -5, -5, -4,
1184  -3, -3, -3, -2, -1, -1, 0, 1, 1, 2, 4, 5, 6},
1185  {-12, -4, -1, -1, -10, -12, -8, -5, -4, -1, -4, -3,
1186  -8, -12, -10, -8, -4, -12, -8, -12, -8, -12, -10, -12},
1187  {-1, 0, 1, 2, 1, -1, -3, 0, -2, -2, -5, -4, -2, -3,
1188  -12, -6, -5, -10, -8, -3, -8, -8, -10, -10, -12, -8, -12},
1189  {10, 12, 6, 7, 8, 10, 8, 6, 2, 5, 3, 4, 3, 0, 1, 2, 4, 0, 1, 2, 0, 0, 1, 3},
1190  {6, 14, -3, 3, 4, 5, 8, -1, 0, 1, 5, -6, -2, -12,
1191  -10, -8, -5, -12, -10, -8, -6, -5, -4, -3, -2, -12, -12},
1192  {20, 24, 22, 14, 36, 8, 16, 6, 32, 3, 8, 4, 1, 2, 3,
1193  0, 1, 4, 28, 0, 32, 0, 1, 2, 3, 18, 24, 4, 24},
1194  {0, 1, 4, 12, 0, 10, 0, 6, 14, 3, 8, 0, 10, 3, 4, 7, 20,
1195  36, 10, 12, 14, 16, 22, 18, 32, 22, 36, 24, 28, 22, 32, 36, 36},
1196  {14, 10, 12, 14, 10, 12, 14, 8, 12, 4, 8, 12, 2, -1, 1, 12, 14, -3, 1,
1197  -2, 5, 10, -5, -4, 2, 3, -5, 2, -8, 8, -4, -12, -4, 4, -12, -10, -6, 6},
1198  {-8, -12, -12, -3, 5, 6, 8, 10, 1, 2, 6, 8, 10, 14, -12, -10, -6, 10, -3, 10,
1199  12, 2, 4, -2, 0, -2, 6, 10, -12, -10, 3, -6, 3, 10, 2, -12, -2, -3, 1},
1200  {8, 14, -1, 8, 6, 8, 14, -4, -3, 2, 8, -10, -1, 3, -10, 3, 1, 2,
1201  -8, -4, 1, -12, 1, -1, -1, 2, -12, -5, -10, -8, -6, -12, -10, -12, -8},
1202  {14, 10, 10, 1, 2, 14, -2, 12, 5, 0, 4, 10, -10, -1, 6, -12, 0, 8,
1203  3, -6, -2, 1, 1, -6, -3, 1, 8, -8, -10, -8, -5, -4, -12, -10, -8, -6},
1204  {-3, 1, 5, 8, 8, -4, -1, 4, 5, -8, 4, 8, -6, 6, -2, 1, -8, -2, -5, -8},
1205  {3, 6, 6, 8, 5, 6, 8, -2, 5, 6, 2, -6, 3, 1, 6, -6, -2, -6, -5, -4, -1, -8, -4}};
1206 
1207  const std::vector<Real> _nph3a{
1208  -0.133645667811215e-6, 0.455912656802978e-5, -0.146294640700979e-4, 0.639341312970080e-2,
1209  0.372783927268847e3, -0.718654377460447e4, 0.573494752103400e6, -0.267569329111439e7,
1210  -0.334066283302614e-4, -0.245479214069597e-1, 0.478087847764996e2, 0.764664131818904e-5,
1211  0.128350627676972e-2, 0.171219081377331e-1, -0.851007304583213e1, -0.136513461629781e-1,
1212  -0.384460997596657e-5, 0.337423807911655e-2, -0.551624873066791, 0.729202277107470,
1213  -0.992522757376041e-2, -.119308831407288, .793929190615421, .454270731799386,
1214  .20999859125991, -0.642109823904738e-2, -0.235155868604540e-1, 0.252233108341612e-2,
1215  -0.764885133368119e-2, 0.136176427574291e-1, -0.133027883575669e-1};
1216 
1217  const std::vector<int> _Iph3a{-12, -12, -12, -12, -12, -12, -12, -12, -10, -10, -10,
1218  -8, -8, -8, -8, -5, -3, -2, -2, -2, -1, -1,
1219  0, 0, 1, 3, 3, 4, 4, 10, 12};
1220 
1221  const std::vector<int> _Jph3a{0, 1, 2, 6, 14, 16, 20, 22, 1, 5, 12, 0, 2, 4, 10, 2,
1222  0, 1, 3, 4, 0, 2, 0, 1, 1, 0, 1, 0, 3, 4, 5};
1223 
1224  const std::vector<Real> _nph3b{
1225  0.323254573644920e-4, -0.127575556587181e-3, -0.475851877356068e-3, 0.156183014181602e-2,
1226  0.105724860113781, -0.858514221132534e2, 0.724140095480911e3, 0.296475810273257e-2,
1227  -0.592721983365988e-2, -0.126305422818666e-1, -0.115716196364853, 0.849000969739595e2,
1228  -0.108602260086615e-1, 0.154304475328851e-1, 0.750455441524466e-1, 0.252520973612982e-1,
1229  -0.602507901232996e-1, -0.307622221350501e1, -0.574011959864879e-1, 0.503471360939849e1,
1230  -0.925081888584834, 0.391733882917546e1, -0.773146007130190e2, 0.949308762098587e4,
1231  -0.141043719679409e7, 0.849166230819026e7, 0.861095729446704, 0.323346442811720,
1232  0.873281936020439, -0.436653048526683, 0.286596714529479, -0.131778331276228,
1233  0.676682064330275e-2};
1234 
1235  const std::vector<int> _Iph3b{-12, -12, -10, -10, -10, -10, -10, -8, -8, -8, -8,
1236  -8, -6, -6, -6, -4, -4, -3, -2, -2, -1, -1,
1237  -1, -1, -1, -1, 0, 0, 1, 3, 5, 6, 8};
1238 
1239  const std::vector<int> _Jph3b{0, 1, 0, 1, 5, 10, 12, 0, 1, 2, 4, 10, 0, 1, 2, 0, 1,
1240  5, 0, 4, 2, 4, 6, 10, 14, 16, 0, 2, 1, 1, 1, 1, 1};
1241 
1243  const std::vector<int> _J05{0, 1, -3, -2, -1, 2};
1244  const std::vector<Real> _n05{-0.13179983674201e2,
1245  0.68540841634434e1,
1246  -0.24805148933466e-1,
1247  0.36901534980333,
1248  -0.31161318213925e1,
1249  -0.32961626538917};
1250 
1251  const std::vector<int> _I5{1, 1, 1, 2, 2, 3};
1252  const std::vector<int> _J5{1, 2, 3, 3, 9, 7};
1253  const std::vector<Real> _n5{0.15736404855259e-2,
1254  0.90153761673944e-3,
1255  -0.50270077677648e-2,
1256  0.22440037409485e-5,
1257  -0.41163275453471e-5,
1258  0.37919454822955e-7};
1259 
1261  const std::vector<Real> _T_star{1386.0, 540.0, _T_critical, 1.0, 1000.0};
1263  const std::vector<Real> _p_star{16.53e6, 1.0e6, 1.0e6, 1.0e6, 1.0e6};
1264 };
1265 
1266 #endif /* WATER97FLUIDPROPERTIES_H */
const std::vector< int > _Jph2c
unsigned int inRegionPH(Real pressure, Real enthalpy) const
Determines the phase region that the given pressure and enthaply values lie in.
const Real _T_critical
Critical temperature (K)
const std::vector< int > _I5
const std::vector< Real > _n05
const std::vector< std::vector< Real > > _par3
const std::vector< int > _Iph3a
virtual Real c(Real pressure, Real temperature) const override
Speed of sound.
unsigned int subregion3(Real pressure, Real temperature) const
Provides the correct subregion index for a (P,T) point in region 3.
virtual Real beta(Real pressure, Real temperature) const override
Thermal expansion coefficient.
const std::vector< int > _I2
virtual Real criticalPressure() const
Water critical pressure.
const Real _p_critical
Critical pressure (Pa)
Real dphi3_ddelta(Real delta, Real tau) const
Derivative of Helmholtz free energy in Region 3 wrt delta.
Real d2gamma5_dtau2(Real pi, Real tau) const
Second derivative of Gibbs free energy in Region 5 wrt tau.
virtual Real cp(Real pressure, Real temperature) const override
Isobaric specific heat capacity.
virtual std::string fluidName() const override
Fluid name.
Real temperature_from_ph1(Real pressure, Real enthalpy) const
Backwards equation T(p, h) in Region 1 Eq.
const std::vector< int > _Jph2b
const std::vector< int > _Iph2b
const std::vector< int > _I1
virtual void henryConstant_dT(Real temperature, Real &Kh, Real &dKh_dT) const override
Henry&#39;s law constant for dissolution in water and derivative wrt temperature.
virtual Real cv(Real pressure, Real temperature) const override
Isochoric specific heat.
void vaporPressure_dT(Real temperature, Real &psat, Real &dpsat_dT) const
Saturation pressure as a function of temperature and derivative wrt temperature.
const std::vector< Real > _T_star
Temperature scale for each region.
Water97FluidProperties(const InputParameters &parameters)
virtual void mu_dpT(Real pressure, Real temperature, Real &mu, Real &dmu_dp, Real &dmu_dT) const override
Real dgamma5_dtau(Real pi, Real tau) const
Derivative of Gibbs free energy in Region 5 wrt tau.
Real temperature_from_ph2a(Real pressure, Real enthalpy) const
Backwards equation T(p, h) in Region 2a Eq.
const std::vector< int > _J1
Real gamma5(Real pi, Real tau) const
Gibbs free energy in Region 5.
Real tempXY(Real pressure, subregionEnum xy) const
Boundaries between subregions in region 3.
const std::string density
Definition: NS.h:15
unsigned int subregion2ph(Real pressure, Real enthalpy) const
Provides the correct subregion index for a (P,h) point in region 2.
const std::vector< int > _Jph3b
const std::vector< std::vector< Real > > _n3s
Constants for all 26 subregions in region 3.
const std::vector< Real > _p_star
Pressure scale for each region.
virtual void k_dpT(Real pressure, Real temperature, Real &k, Real &dk_dp, Real &dk_dT) const override
Thermal conductivity and its derivatives wrt pressure and temperature.
virtual void rho_e_dpT(Real pressure, Real temperature, Real &rho, Real &drho_dp, Real &drho_dT, Real &e, Real &de_dp, Real &de_dT) const override
Density and internal energy and their derivatives wrt pressure and temperature.
Real temperature_from_ph2b(Real pressure, Real enthalpy) const
Backwards equation T(p, h) in Region 2b Eq.
unsigned int subregion3ph(Real pressure, Real enthalpy) const
Provides the correct subregion index for a (P,h) point in region 3.
const std::string temperature
Definition: NS.h:25
Real dgamma2_dpi(Real pi, Real tau) const
Derivative of Gibbs free energy in Region 2 wrt pi.
virtual void h_dpT(Real pressure, Real temperature, Real &h, Real &dh_dp, Real &dh_dT) const override
Enthalpy and its derivatives wrt pressure and temperature.
Real b3ab(Real pressure) const
Boundary between subregions a and b in region 3.
const std::vector< int > _J2
const Real _T_triple
Triple point temperature (K)
virtual Real triplePointPressure() const
Water triple point pressure.
const std::string enthalpy
Definition: NS.h:26
virtual Real rho(Real pressure, Real temperature) const override
Density.
Real d2phi3_ddelta2(Real delta, Real tau) const
Second derivative of Helmholtz free energy in Region 3 wrt delta.
const std::vector< int > _Jph2a
const std::vector< Real > _nph2a
Real b23p(Real temperature) const
Auxillary equation for the boundary between regions 2 and 3.
Common class for single phase fluid properties using a pressure and temperature formulation.
const std::vector< int > _Iph1
subregionEnum
Enum of subregion ids for region 3.
const std::vector< int > _Jph3a
const std::vector< std::vector< int > > _I3s
Real d2phi3_dtau2(Real delta, Real tau) const
Second derivative of Helmholtz free energy in Region 3 wrt tau.
Real temperature_from_ph3b(Real pressure, Real enthalpy) const
Backwards equation T(p, h) in Region 3b Eq.
Real b23T(Real pressure) const
Auxillary equation for the boundary between regions 2 and 3.
Real densityRegion3(Real pressure, Real temperature) const
Density function for Region 3 - supercritical water and steam.
Real dphi3_dtau(Real delta, Real tau) const
Derivative of Helmholtz free energy in Region 3 wrt tau.
virtual void mu_drhoT_from_rho_T(Real density, Real temperature, Real ddensity_dT, Real &mu, Real &dmu_drho, Real &dmu_dT) const override
Dynamic viscosity and its derivatives wrt density and temperature.
const std::vector< int > _J5
Real subregionVolume(Real pi, Real theta, Real a, Real b, Real c, Real d, Real e, unsigned int sid) const
Specific volume in all subregions of region 3 EXCEPT subregion n (13).
const std::vector< Real > _n3
Constants for region 3.
Real d2gamma2_dpitau(Real pi, Real tau) const
Second derivative of Gibbs free energy in Region 2 wrt pi and tau.
const std::vector< Real > _nph2b
const std::vector< Real > _nph1
virtual Real mu(Real pressure, Real temperature) const override
Real dgamma1_dpi(Real pi, Real tau) const
Derivative of Gibbs free energy in Region 1 wrt pi.
const std::vector< Real > _n1
Reference constants used in to calculate thermophysical properties of water.
unsigned int inRegion(Real pressure, Real temperature) const
Determines the phase region that the given pressure and temperature values lie in.
const std::vector< unsigned int > _par3N
virtual Real molarMass() const override
Water molar mass.
Real gamma2(Real pi, Real tau) const
Gibbs free energy in Region 2 - superheated steam.
Real vaporPressure(Real temperature) const
Saturation pressure as a function of temperature.
virtual Real h(Real pressure, Real temperature) const override
Specific enthalpy.
Real temperature_from_ph2c(Real pressure, Real enthalpy) const
Backwards equation T(p, h) in Region 2c Eq.
const std::vector< int > _Iph2c
Real d2gamma5_dpi2(Real pi, Real tau) const
Second derivative of Gibbs free energy in Region 5 wrt pi.
virtual Real mu_from_rho_T(Real density, Real temperature) const override
const std::vector< Real > _n5
const std::vector< int > _J3
const std::vector< int > _Iph3b
const std::vector< Real > _nph2c
Real dgamma2_dtau(Real pi, Real tau) const
Derivative of Gibbs free energy in Region 2 wrt tau.
Real d2phi3_ddeltatau(Real delta, Real tau) const
Second derivative of Helmholtz free energy in Region 3 wrt delta and tau.
Real temperature_from_ph3a(Real pressure, Real enthalpy) const
Backwards equation T(p, h) in Region 3a Eq.
Real vaporTemperature(Real pressure) const
Saturation temperature as a function of pressure.
virtual void rho_dpT(Real pressure, Real temperature, Real &rho, Real &drho_dp, Real &drho_dT) const override
Density and its derivatives wrt pressure and temperature.
const std::vector< int > _I3
virtual Real criticalDensity() const
Water critical density.
Real d2gamma5_dpitau(Real pi, Real tau) const
Second derivative of Gibbs free energy in Region 5 wrt pi and tau.
Real gamma1(Real pi, Real tau) const
Gibbs free energy in Region 1 - single phase liquid region.
const Real _rho_critical
Critical density (kg/m^3)
Real phi3(Real delta, Real tau) const
Helmholtz free energy in Region 3.
Real d2gamma1_dpi2(Real pi, Real tau) const
Second derivative of Gibbs free energy in Region 1 wrt pi.
virtual Real s(Real pressure, Real temperature) const override
Specific entropy.
const std::vector< Real > _nph3b
virtual Real triplePointTemperature() const
Water triple point temperature.
Real d2gamma2_dpi2(Real pi, Real tau) const
Second derivative of Gibbs free energy in Region 2 wrt pi.
Water (H2O) fluid properties as a function of pressure (Pa) and temperature (K) from IAPWS-IF97: Revi...
const std::string pressure
Definition: NS.h:24
const std::vector< int > _J05
Constants for region 5.
virtual void e_dpT(Real pressure, Real temperature, Real &e, Real &de_dp, Real &de_dT) const override
Internal energy and its derivatives wrt pressure and temperature.
Real dgamma1_dtau(Real pi, Real tau) const
Derivative of Gibbs free energy in Region 1 wrt tau.
const std::vector< int > _Jph1
virtual Real k(Real pressure, Real temperature) const override
Thermal conductivity.
virtual Real temperature_from_ph(Real pressure, Real enthalpy) const
Backwards equation T(p, h) From Revised Release on the IAPWS Industrial Formulation 1997 for the Ther...
Real d2gamma2_dtau2(Real pi, Real tau) const
Second derivative of Gibbs free energy in Region 2 wrt tau.
const std::vector< std::vector< int > > _J3s
const std::vector< Real > _nph3a
const Real _Rw
Specific gas constant for H2O (universal gas constant / molar mass of water - J/kg/K) ...
const std::vector< int > _J02
InputParameters validParams< Water97FluidProperties >()
virtual Real criticalTemperature() const
Water critical temperature.
Real d2gamma1_dpitau(Real pi, Real tau) const
Second derivative of Gibbs free energy in Region 1 wrt pi and tau.
const Real _p_triple
Triple point pressure (Pa)
Real b2bc(Real pressure) const
Boundary between subregions b and c in region 2.
Real d2gamma1_dtau2(Real pi, Real tau) const
Second derivative of Gibbs free energy in Region 1 wrt tau.
const std::vector< Real > _n02
Constants for region 2.
virtual Real henryConstant(Real temperature) const override
Henry&#39;s law constant for dissolution in water.
virtual Real k_from_rho_T(Real density, Real temperature) const override
Thermal conductivity as a function of density and temperature.
const Real _Mh2o
Water molar mass (kg/mol)
virtual Real e(Real pressure, Real temperature) const override
Internal energy.
const std::vector< int > _Iph2a
Real dgamma5_dpi(Real pi, Real tau) const
Derivative of Gibbs free energy in Region 5 wrt pi.
const std::vector< Real > _n2