CoolProp 8.0.0
An open-source fluid property and humid air property database
cubicsuperancillary.h
Go to the documentation of this file.
1#pragma once
2#include <vector>
3#include <stdexcept>
4#include <string>
5
6namespace CoolProp {
7namespace CubicSuperAncillary {
8
10{
11 public:
12 const std::vector<double> coeff;
13 const double xmin, xmax;
14 // Evaluate the expansion with Clenshaw's method
15 double y(double x) const {
16 // Scale to (-1, 1)
17 double xscaled = (2 * x - (xmax + xmin)) / (xmax - xmin);
18 int Norder = static_cast<int>(coeff.size()) - 1;
19 double u_k = 0, u_kp1 = coeff[Norder], u_kp2 = 0;
20 for (int k = Norder - 1; k > 0; k--) { // k must be signed!
21 // Do the recurrent calculation
22 u_k = 2.0 * xscaled * u_kp1 - u_kp2 + coeff[k];
23 // Update the values
24 u_kp2 = u_kp1;
25 u_kp1 = u_k;
26 }
27 return coeff[0] + xscaled * u_kp1 - u_kp2;
28 };
29};
30
31// https://proquest.safaribooksonline.com/9780321637413
32// https://web.stanford.edu/class/archive/cs/cs107/cs107.1202/lab1/
33static int midpoint_Knuth(int x, int y) {
34 return (x & y) + ((x ^ y) >> 1);
35};
36
38{
39 public:
40 const std::vector<Chebyshev> exps;
41
42 int get_index(double x) const {
43 int iL = 0, iR = static_cast<int>(exps.size()) - 1, iM;
44 while (iR - iL > 1) {
45 iM = midpoint_Knuth(iL, iR);
46 if (x >= exps[iM].xmin) {
47 iL = iM;
48 } else {
49 iR = iM;
50 }
51 }
52 return (x < exps[iL].xmax) ? iL : iR;
53 };
54
56 double y(double x) const {
57 // First check whether the input is possible
58 if (x < exps[0].xmin) {
59 throw std::invalid_argument("Ttilde (" + std::to_string(x) + ") is below the minimum of " + std::to_string(exps[0].xmin));
60 }
61 if (x > exps.back().xmax) {
62 throw std::invalid_argument("Ttilde (" + std::to_string(x) + ") is above the maximum of " + std::to_string(exps.back().xmax));
63 }
64 // Bisection to find the expansion
65 // we need
66 auto i = get_index(x);
67 // Evaluate the expansion
68 return exps[i].y(x);
69 }
70};
71const auto SRK_p =
72 SuperAncillary{{{{2.9225473692726744e-13, 4.846211782171669e-13, 2.824570002653489e-13, 1.1955110559200177e-13, 3.771710795961595e-14,
73 9.009392578047045e-15, 1.6354246747926244e-15, 2.2297564454973646e-16, 2.1977303354380907e-17, 1.4079420760456038e-18,
74 3.645901247485968e-20, -2.3224668904548756e-21, -2.1119277731077838e-22, 1.3269831236005753e-24, 7.111685153229056e-25,
75 2.0749322108366765e-27, -2.355803670950289e-27, 1.89511506527704e-29, -1.203321029253145e-29},
76 0.020267685653535945,
77 0.02596797224359293},
78 {{4.42411833611544e-11, 6.486786260066829e-11, 2.8834316573742172e-11, 8.49036232570771e-12, 1.7382606171711586e-12,
79 2.519225194793423e-13, 2.5510836572731127e-14, 1.688802065855514e-15, 5.658115744876586e-17, -7.526264008617426e-19,
80 -1.3472892665001768e-19, -9.922698129701787e-22, 2.6795301476514526e-22, 2.2940832430296035e-24, -5.789860391087721e-25,
81 1.1649897848303902e-26, 2.589988124021626e-26, 5.472801416061292e-26, 2.268132874691453e-26},
82 0.02596797224359293,
83 0.03166825883364991},
84 {{1.3403609277725988e-08, 2.0613817317201788e-08, 9.908855672700315e-09, 3.1242347660239074e-09, 6.566525761190694e-10,
85 8.934527720041564e-11, 6.864947922093292e-12, 1.0961157691701013e-13, -2.552558822185046e-14, -1.0755067059569204e-15,
86 1.1595758568473605e-16, 4.364935105515505e-18, -6.518267188981206e-19, -2.420947626615306e-21, 3.3222352209999887e-21,
87 -1.4160136552428753e-22, -1.0359144702519558e-23, 3.0017608947725106e-24, -1.1502980393315541e-24},
88 0.03166825883364991,
89 0.04306883201376388},
90 {{3.6266120105336493e-06, 5.40530078063072e-06, 2.3535707621866956e-06, 6.09797026711632e-07, 8.755959081374292e-08,
91 4.4744907993962915e-09, -4.067655714209484e-10, -3.591728379118743e-11, 4.465366516258063e-12, 1.6493814952480902e-13,
92 -5.3226243319885286e-14, 1.7922687946152793e-15, 4.005718486965302e-16, -4.988684915276682e-17, 4.789814152406683e-19,
93 4.147268524381617e-19, -4.591183271914325e-20, 4.350970022028926e-22, -1.0629270871306406e-21},
94 0.04306883201376388,
95 0.06586997837399182},
96 {{0.0003094297409003984, 0.0004117661948641284, 0.0001333784156235523, 1.953127675250332e-05, 4.4650824621707415e-07,
97 -1.245752753612688e-07, 6.1713045177982556e-09, 8.457787641085228e-10, -2.019178315130611e-10, 1.671511339141844e-11,
98 7.461694230598466e-13, -4.260132318823111e-13, 6.171897036311516e-14, -3.212145765269425e-15, -5.836180885150665e-16,
99 1.719715110942645e-16, -2.147440279526465e-17, 8.273394312306379e-19, 2.34734005507848e-19},
100 0.06586997837399182,
101 0.1114722710944477},
102 {{0.0074771598568592074, 0.008244590094104293, 0.0017465545422224592, 9.786738241774412e-05, -6.516977077872878e-06,
103 3.2958650511163794e-07, 1.5363696321735632e-08, -7.20353161771562e-09, 1.2861343701874766e-09, -1.6587511786082245e-10,
104 1.5108394000934097e-11, -3.6747905743763146e-13, -2.33340277167645e-13, 7.039936125372015e-14, -1.3651690997269761e-14,
105 2.071300487897776e-15, -2.45029690981724e-16, 2.15485181781494e-17, 1.4026865606531214e-18},
106 0.1114722710944477,
107 0.20267685653535944}}};
108const auto SRK_rhoL =
109 SuperAncillary{{{{0.9087646203247287, -0.050607640245558645, -0.0008181930140446145, -3.676466126572436e-05, -1.8153449552124612e-06,
110 -4.2148973304623194e-08, 8.967883102783958e-09, 5.813281384048352e-10, -3.659740635542086e-10, -4.441783746367278e-11,
111 1.5951594212193498e-11, 1.7195689316906737e-12, -9.141229440068344e-13, -1.4432899320127035e-14, 5.0730253331465747e-14,
112 -6.987466161234579e-15, -1.8318679906315083e-15, 1.5126788710517758e-15, -1.734723475976807e-17},
113 0.020267685653535945,
114 0.06586997837399182},
115 {{0.7992363370107459, -0.059445681918569984, -0.0014502328603496623, -7.138164945971748e-05, -3.2189087307149533e-06,
116 -2.486464586864967e-07, -2.4319133658246006e-08, -1.044768556390796e-09, -1.3343107174712543e-10, -1.679712618996021e-11,
117 2.2661039711380226e-13, -1.6726897644758765e-13, -1.0783041126671833e-14, 1.4363510381087963e-15, -4.0245584642661925e-16,
118 -7.28583859910259e-16, -4.85722573273506e-17, 7.632783294297951e-16, 1.734723475976807e-17},
119 0.06586997837399182,
120 0.1114722710944477},
121 {{0.6649628598972782, -0.0760521559973085, -0.002952854145734922, -0.0002237665443423284, -2.2837440018151633e-05,
122 -2.7674939431024392e-06, -3.5249351108129767e-07, -4.743986068561634e-08, -6.602545343792343e-09, -9.417646246179245e-10,
123 -1.37257025190074e-10, -2.031076695718781e-11, -3.0466879019641624e-12, -4.624911564832246e-13, -7.074202335033419e-14,
124 -1.1532441668293814e-14, -1.7277845820728999e-15, 3.885780586188048e-16, -2.42861286636753e-17},
125 0.1114722710944477,
126 0.15707456381490356},
127 {{0.5358548459176075, -0.051616853474821534, -0.0019014483430589563, -0.0001522452155350712, -1.6138121186740073e-05,
128 -1.9310179919518333e-06, -2.4780931559553743e-07, -3.3348723178783235e-08, -4.64304821673478e-09, -6.632207977252946e-10,
129 -9.664995193059411e-11, -1.4312308282971031e-11, -2.1472545963518996e-12, -3.260794412263124e-13, -4.987676938128516e-14,
130 -8.229528170033973e-15, -1.2004286453759505e-15, 3.469446951953614e-16, -2.0816681711721685e-17},
131 0.15707456381490356,
132 0.1798757101751315},
133 {{0.4485732937583308, -0.03477837295500611, -0.00128197185101675, -0.00010638749439246392, -1.1344133512683485e-05,
134 -1.3588779068512968e-06, -1.7457610832632975e-07, -2.350823218033593e-08, -3.2744967258524493e-09, -4.678942372438044e-10,
135 -6.820332146273422e-11, -1.0101888076041732e-11, -1.5157701482859665e-12, -2.302880108828731e-13, -3.522182545623309e-14,
136 -5.863365348801608e-15, -8.500145032286355e-16, 3.0878077872387166e-16, -1.9081958235744878e-17},
137 0.1798757101751315,
138 0.19127628335524546},
139 {{0.3896887959074917, -0.02352363480040463, -0.0008864377996999455, -7.48085471366268e-05, -7.994798847377887e-06,
140 -9.585173595394458e-07, -1.2320694868853121e-07, -1.6596597669088498e-08, -2.312318735792074e-09, -3.3046667832770105e-10,
141 -4.817745855034694e-11, -7.136409518881948e-12, -1.0708690878491467e-12, -1.627031842588167e-13, -2.490022077417109e-14,
142 -4.173744683200198e-15, -5.93275428784068e-16, 3.0184188481996443e-16, -1.214306433183765e-17},
143 0.19127628335524546,
144 0.19697656994530244},
145 {{0.3497350745917645, -0.016032294782450524, -0.0006202549276113981, -5.274770800074019e-05, -5.643402364315098e-06,
146 -6.769284142359167e-07, -8.70356488269497e-08, -1.17262048994482e-08, -1.6339517863728226e-09, -2.3353845593487854e-10,
147 -3.404898932246603e-11, -5.04390973432578e-12, -7.568771998034407e-13, -1.1509196373715724e-13, -1.7600504387260685e-14,
148 -3.084338340286763e-15, -4.440892098500626e-16, 2.8449465006019636e-16, -3.469446951953614e-18},
149 0.19697656994530244,
150 0.19982671324033094},
151 {{0.3224124351709759, -0.011013634884520482, -0.00043639529901024973, -3.724427437728703e-05, -3.986980578418037e-06,
152 -4.783591501592022e-07, -6.151332742135307e-08, -8.288353604141152e-09, -1.1549863634940927e-09, -1.6508804739912009e-10,
153 -2.4069971710227733e-11, -3.5656928798477594e-12, -5.350303533546708e-13, -8.137934770502397e-14, -1.2437967322753707e-14,
154 -2.203098814490545e-15, -3.157196726277789e-16, 2.5673907444456745e-16, 0.0},
155 0.19982671324033094,
156 0.20125178488784518},
157 {{0.30358578390142943, -0.0076188736955520135, -0.0003078315487315582, -2.6316343990171603e-05, -2.8179719795684566e-06,
158 -3.381439433146338e-07, -4.348579207141823e-08, -5.8595724626575585e-09, -8.165597746578879e-10, -1.1671785066225127e-10,
159 -1.701778301610446e-11, -2.5209348497590156e-12, -3.7829808730016623e-13, -5.745404152435185e-14, -8.739536871971154e-15,
160 -1.5508427875232655e-15, -1.9081958235744878e-16, 2.671474153004283e-16, -3.642919299551295e-17},
161 0.20125178488784518,
162 0.2019643207116023},
163 {{0.29052982685479933, -0.005300319842511697, -0.00021741216965811758, -1.8601576619783206e-05, -1.99216392636134e-06,
164 -2.390659452899957e-07, -3.0745310054813846e-08, -4.142926245120915e-09, -5.773458308655499e-10, -8.252584726697876e-11,
165 -1.2032597140887447e-11, -1.7825428633155838e-12, -2.674006849279209e-13, -4.087702398791748e-14, -6.238065619612598e-15,
166 -1.2177758801357186e-15, -1.457167719820518e-16, 3.5735303605122226e-16, 1.214306433183765e-17},
167 0.2019643207116023,
168 0.20232058862348087},
169 {{0.281429493928621, -0.00370348431999927, -0.00015364397898540855, -1.3150855018025098e-05, -1.408515659318682e-06,
170 -1.6903172642135367e-07, -2.1738876799376472e-08, -2.929343496937964e-09, -4.0822773633708564e-10, -5.835245481256024e-11,
171 -8.508027615761193e-12, -1.2602800747441023e-12, -1.8902587828328876e-13, -2.898029038966854e-14, -4.3923198411732756e-15,
172 -6.83481049534862e-16, -7.28583859910259e-17, 6.210310043996969e-16, 3.642919299551295e-17},
173 0.20232058862348087,
174 0.20249872257942014},
175 {{0.27506157036291856, -0.0025962448144549836, -0.00010861133767400138, -9.298192002037131e-06, -9.959154303774975e-07,
176 -1.1951873122098555e-07, -1.5371233163044562e-08, -2.0713067025446286e-09, -2.886544493013732e-10, -4.1260670227694085e-11,
177 -6.015958564642432e-12, -8.912228594004645e-13, -1.3355809513893036e-13, -1.9872992140790302e-14, -3.0531133177191805e-15,
178 -7.181755190543981e-16, -8.500145032286355e-17, 2.96637714392034e-16, 2.6020852139652106e-18},
179 0.20249872257942014,
180 0.2025877895573898},
181 {{0.2705926697847878, -0.0018244565862979688, -7.678880274703502e-05, -6.574507803324206e-06, -7.04198907909917e-07,
182 -8.451082581135971e-08, -1.0868935571006766e-08, -1.4646166258958093e-09, -2.0410736989440181e-10, -2.9175961993588295e-11,
183 -4.253862886938187e-12, -6.296716620335374e-13, -9.435334458185451e-14, -1.411544492402328e-14, -2.1076890233118206e-15,
184 1.1622647289044608e-16, -1.3877787807814457e-17, 2.0816681711721685e-16, -6.071532165918825e-18},
185 0.2025877895573898,
186 0.20263232304637463},
187 {{0.26744977424244143, -0.0012843645575066134, -5.4294008668638594e-05, -4.6487705078930575e-06, -4.979368752669466e-07,
188 -5.97575837875397e-08, -7.685439108034986e-09, -1.035633939716618e-09, -1.4432471884262554e-10, -2.0630074037963908e-11,
189 -3.0077728502275747e-12, -4.461934294264225e-13, -6.715808464896611e-14, -1.0720591081536668e-14, -1.4190038033490282e-15,
190 -4.440892098500626e-16, 1.8735013540549517e-16, 8.378714388967978e-16, -1.214306433183765e-16},
191 0.20263232304637463,
192 0.20265458979086703},
193 {{0.2652360092057196, -0.0009053089022688643, -3.839029629034568e-05, -3.2871387625962867e-06, -3.5209208477243736e-07,
194 -4.2254784272249823e-08, -5.434404972901041e-09, -7.32300850167511e-10, -1.0205274299235345e-10, -1.458767828754759e-11,
195 -2.126882003850028e-12, -3.151055805172831e-13, -4.713764101271778e-14, -7.455841499748317e-15, -1.1188966420050406e-15,
196 -4.2500725161431774e-16, -1.9081958235744878e-17, 4.0072112295064244e-16, 1.734723475976807e-17},
197 0.20265458979086703,
198 0.20266572316311324},
199 {{0.2636749575957985, -0.0006387083278175353, -2.7145557162256556e-05, -2.324344536088624e-06, -2.4896583217942636e-07,
200 -2.9878569729469007e-08, -3.8426970945526495e-09, -5.178131846916845e-10, -7.21618736987395e-11, -1.0313611076284701e-11,
201 -1.5037519840443991e-12, -2.2252685805135286e-13, -3.314015728506092e-14, -3.944761184371259e-15, -7.4593109467002705e-16,
202 -1.061650767297806e-15, -7.28583859910259e-17, 3.1051550219984847e-16, -8.673617379884035e-19},
203 0.20266572316311324,
204 0.20267128984923632},
205 {{0.26257329202514273, -0.0004509124480249222, -1.9194637512940163e-05, -1.6435549859191573e-06, -1.7604512139550443e-07,
206 -2.11273140666296e-08, -2.7171948059623308e-09, -3.6615067228185083e-10, -5.1026160727274394e-11, -7.291847681223373e-12,
207 -1.0631721197862376e-12, -1.570323732158485e-13, -2.3507237822961713e-14, -4.498137973207861e-15, -5.672545766444159e-16,
208 3.8163916471489756e-16, -1.1622647289044608e-16, -1.5334955527634975e-15, -1.6046192152785466e-16},
209 0.20267128984923632,
210 0.20267407319229788},
211 {{0.261795381349911, -0.00031848138784485065, -1.3572598294689722e-05, -1.1621671743376055e-06, -1.2448259038670695e-07,
212 -1.493926039992932e-08, -1.921346123867629e-09, -2.5890705378228684e-10, -3.6080990625797504e-11, -5.1575497345135446e-12,
213 -7.518204808709683e-13, -1.1052617154838629e-13, -1.6753959330984003e-14, -5.920611223508843e-15, -8.795048023202412e-16,
214 -2.8033131371785203e-15, -1.5265566588595902e-16, 1.177877240188252e-15, 8.153200337090993e-17},
215 0.20267407319229788,
216 0.20267546486382865},
217 {{0.2612458584790565, -0.00022501920934304802, -9.597255076118291e-06, -8.217756914414426e-07, -8.802244447041196e-08,
218 -1.0563647579939217e-08, -1.358598145442813e-09, -1.83071792100864e-10, -2.551181141341452e-11, -3.646784263455771e-12,
219 -5.306519113013053e-13, -7.894206122127656e-14, -1.3612375115990005e-14, -1.3461454173580023e-15, 7.650130529057719e-16,
220 -1.474514954580286e-16, 6.262351748276274e-16, -3.9517000782751666e-15, -1.343543332144037e-15},
221 0.20267546486382865,
222 0.20267616069959404},
223 {{0.26061394134803445, -0.0004632477727018712, -9.327071115945024e-05, -4.048564047778869e-05, -2.2898027861414927e-05,
224 -1.4911944355367607e-05, -1.0620804294449865e-05, -8.055933548379093e-06, -6.4069163156280085e-06, -5.290117203090791e-06,
225 -4.504867114365346e-06, -3.938072224525177e-06, -3.5222599736994126e-06, -3.2154018167716847e-06, -2.990505978434088e-06,
226 -2.8299483429503752e-06, -2.7222590090695414e-06, -2.660262590837778e-06, -1.3200081928170515e-06},
227 0.20267616069959404,
228 0.20267685653535944}}};
229const auto SRK_rhoV =
230 SuperAncillary{{{{1.147791769634607e-11, 1.8883400952870644e-11, 1.0781377594967363e-11, 4.424169417038083e-12, 1.340057930622405e-12,
231 3.0392837657011474e-13, 5.1611350145284516e-14, 6.429591419258869e-15, 5.526656713208219e-16, 2.6838869757647005e-17,
232 -7.144055741834159e-20, -9.585729650435423e-20, -3.2421103573493004e-21, 2.5635377164771786e-22, 1.5013435876237105e-23,
233 -8.328903877850174e-25, -5.167748904012326e-26, 3.2366962941218114e-27, -1.163964265653603e-27},
234 0.020267685653535945,
235 0.02596797224359293},
236 {{1.4330520293934438e-09, 2.0653900997266785e-09, 8.861422337329386e-10, 2.484390807063457e-10, 4.771871094962088e-11,
237 6.3539423424235915e-12, 5.695290133656733e-13, 3.041636735038608e-14, 4.618066754497384e-16, -4.882537910833838e-17,
238 -2.2626929302787274e-18, 7.735800358738017e-20, 5.494308515884454e-21, -1.9098299796206625e-22, -1.0551803468236254e-23,
239 9.358288473073072e-25, 8.243533350687156e-25, 1.8130926610110065e-24, 6.625926732877158e-25},
240 0.02596797224359293,
241 0.03166825883364991},
242 {{3.216589566610815e-07, 4.855615137205529e-07, 2.2313237230527845e-07, 6.564126429055284e-08, 1.2457975717948848e-08,
243 1.4356027589196413e-09, 7.456366737354983e-11, -2.6879017209951425e-12, -4.739337426481451e-13, 7.722229482544613e-15,
244 2.5616030504147617e-15, -7.662739526444225e-17, -1.1817890172164798e-17, 8.184648689324978e-19, 2.707129500338779e-20,
245 -5.7904193842360474e-21, 1.4315394475995835e-22, 8.504450672810816e-23, -2.4996364135586805e-23},
246 0.03166825883364991,
247 0.04306883201376388},
248 {{5.7939913777071644e-05, 8.379335832127809e-05, 3.377936608738917e-05, 7.637987852998414e-06, 8.302628510075688e-07,
249 1.4927574593586637e-09, -6.691320992196064e-09, 1.2878253547929106e-10, 7.094465860674562e-11, -5.0660797908678295e-12,
250 -4.994533593074178e-13, 9.317691594005963e-14, -1.768263545468354e-15, -8.453117101310306e-16, 9.273541699666695e-17,
251 -5.0145673966434665e-19, -7.953374676921863e-19, 8.536503921547246e-20, -1.495542547495874e-20},
252 0.04306883201376388,
253 0.06586997837399182},
254 {{0.0031631846269420103, 0.003982211787182989, 0.0011297528144810199, 0.00012650572507611033, -5.2717473574936e-07,
255 -1.4260061216196563e-07, 1.3326423389224526e-07, -8.09481292393274e-09, -4.78981067790718e-10, 3.091240719345703e-10,
256 -4.0682128710022676e-11, 1.5201595949913826e-12, 6.298290797186528e-13, -1.5266145620318645e-13, 1.6769319426449512e-14,
257 2.1858532236844475e-17, -3.670075175840268e-16, 7.421194464073827e-17, -6.8516495103400354e-18},
258 0.06586997837399182,
259 0.1114722710944477},
260 {{0.02527054526018694, 0.01958885465789757, 0.0029253705571776014, 0.00022445447854577003, 2.1127284490167714e-05,
261 2.925789705565077e-06, 3.436409961475248e-07, 4.7523257336800576e-08, 6.65800338960857e-09, 9.32793360239846e-10,
262 1.3817232769183438e-10, 2.024545819618445e-11, 3.049514308607615e-12, 4.623933614472664e-13, 7.069220426050848e-14,
263 1.0914066959216706e-14, 1.6929274822274909e-15, 2.8888566885876266e-16, 4.003416521902725e-17},
264 0.1114722710944477,
265 0.15707456381490356},
266 {{0.06954212908713689, 0.023253617876107757, 0.0018817558019952863, 0.00015099612130791773, 1.6119981407421245e-05,
267 1.9323965214038813e-06, 2.477548253195308e-07, 3.3350354563480705e-08, 4.6430122303299515e-09, 6.632208966045328e-10,
268 9.665026374713892e-11, 1.4312801378119078e-11, 2.1476913129869768e-12, 3.25807089640584e-13, 4.9888478764748e-14,
269 7.651431571664702e-15, 1.1947907940790259e-15, 2.40692882291782e-16, 2.3635607360183997e-17},
270 0.15707456381490356,
271 0.1798757101751315},
272 {{0.11419041805449423, 0.020521580327712844, 0.0012740772212567466, 0.0001062161198180098, 1.1343925939054193e-05,
273 1.3588982222490983e-06, 1.7457566693114546e-07, 2.3508239255405627e-08, 3.274496806517091e-09, 4.678940377506047e-10,
274 6.82035469767861e-11, 1.0102339971507224e-11, 1.5161908187288908e-12, 2.3003040444669054e-13, 3.523483588230292e-14,
275 5.3507545616504615e-15, 8.448103328007051e-16, 2.393918396847994e-16, 2.0816681711721685e-17},
276 0.1798757101751315,
277 0.19127628335524546},
278 {{0.15165818890499952, 0.016369427376503674, 0.0008840770152282037, 7.478700795372859e-05, 7.99480167670754e-06,
279 9.58517782677533e-07, 1.2320694370814012e-07, 1.659659774975314e-08, 2.3123189231422092e-09, 3.3046648403867174e-10,
280 4.817769534010141e-11, 7.1368752921352474e-12, 1.0712420533964817e-12, 1.6248200701562965e-13, 2.4886342986363275e-14,
281 3.694961003830599e-15, 5.924080670460796e-16, 2.1337098754514727e-16, 1.7780915628762273e-17},
282 0.19127628335524546,
283 0.19697656994530244},
284 {{0.1808715039787546, 0.0124478423701576, 0.0006196163285778558, 5.2745024120972456e-05, 5.643402899935257e-06,
285 6.769284248055868e-07, 8.703564869511071e-08, 1.1726204920264882e-08, 1.6339519685187875e-09, 2.335382477680614e-10,
286 3.40492009587301e-11, 5.044305251278303e-12, 7.572241444986361e-13, 1.1483695938618865e-13, 1.7590096046404824e-14,
287 2.5847379792054426e-15, 4.198030811863873e-16, 2.3765711620882257e-16, 3.469446951953614e-18},
288 0.19697656994530244,
289 0.19982671324033094},
290 {{0.202815039861727, 0.00921945969494375, 0.00043622961797678585, 3.7243939807177565e-05, 3.986980621388872e-06,
291 4.783591503864509e-07, 6.151332734329051e-08, 8.28835361281477e-09, 1.154986554313675e-09, 1.6508787566149596e-10,
292 2.4070209367343942e-11, 3.5661248259932776e-12, 5.35387706390722e-13, 8.11677114409548e-14, 1.2444906216657614e-14,
293 1.7468665403086447e-15, 2.8102520310824275e-16, 2.3071822230491534e-16, 6.938893903907228e-18},
294 0.19982671324033094,
295 0.20125178488784518},
296 {{0.2189498032807097, 0.006721284919406446, 0.0003077893762559753, 2.6316302236593578e-05, 2.817971982508813e-06,
297 3.381439431966726e-07, 4.3485791989886224e-08, 5.859572497352028e-09, 8.165599741510876e-10, 1.16717652903775e-10,
298 1.701801546905024e-11, 2.5213789389688657e-12, 3.7863462365450573e-13, 5.725107887766256e-14, 8.748210489351038e-15,
299 1.0911410663894117e-15, 1.682681771697503e-16, 2.237793284010081e-16, 3.209238430557093e-17},
300 0.20125178488784518,
301 0.2019643207116023},
302 {{0.23065921854671798, 0.004851398420450417, 0.00021740153263174328, 1.8601571405155864e-05, 1.9921639265139957e-06,
303 2.3906594516856505e-07, 3.074531000103742e-08, 4.142926290223725e-09, 5.773459800517688e-10, 8.252565471267292e-11,
304 1.2032836532727131e-11, 1.7829522580559143e-12, 2.677597726874481e-13, 4.066538772384831e-14, 6.241535066564552e-15,
305 7.580741590018647e-16, 1.3530843112619095e-16, 1.5612511283791264e-16, -9.540979117872439e-18},
306 0.2019643207116023,
307 0.20232058862348087},
308 {{0.23908612939229767, 0.0034789916333673055, 0.00015364130799821497, 1.3150854366506329e-05, 1.4085156592926612e-06,
309 1.6903172630859664e-07, 2.173887675774311e-08, 2.9293435507143917e-09, 4.0822789593164543e-10, 5.835226572770136e-11,
310 8.508240986748739e-12, 1.2606964083783367e-12, 1.8938843548976791e-13, 2.8749572167363624e-14, 4.397524011601206e-15,
311 2.5847379792054426e-16, 4.5102810375396984e-17, -9.540979117872439e-17, -2.862293735361732e-17},
312 0.20232058862348087,
313 0.20249872257942014},
314 {{0.24511730390452105, 0.002483990450115506, 0.0001086106684613404, 9.298191920630028e-06, 9.959154303011697e-07,
315 1.1951873112384104e-07, 1.537123309712507e-08, 2.0713067459127155e-09, 2.8865461930427383e-10, 4.126050022479344e-11,
316 6.016184078694309e-12, 8.916461319286029e-13, 1.339206523454095e-13, 1.9670029494101016e-14, 3.0687258290029718e-15,
317 2.6020852139652106e-16, 7.112366251504909e-17, 2.0296264668928643e-16, -8.673617379884035e-19},
318 0.20249872257942014,
319 0.2025877895573898},
320 {{0.24941782042567914, 0.0017683273954829087, 7.678863526062486e-05, 6.57450779313444e-06, 7.041989078648142e-07,
321 8.45108257072763e-08, 1.086893550855672e-08, 1.4646166571208319e-09, 2.0410752775423813e-10, 2.9175781582346794e-11,
322 4.254084931543112e-12, 6.301330984781472e-13, 9.470722817095378e-14, 1.391421700080997e-14, 2.114627917215728e-15,
323 -5.585809592645319e-16, -1.214306433183765e-17, 2.8622937353617317e-16, 3.469446951953614e-18},
324 0.2025877895573898,
325 0.20263232304637463},
326 {{0.2524765215536145, 0.0012562994595141843, 5.429396677408306e-05, 4.648770506642322e-06, 4.979368752443952e-07,
327 5.975758369559936e-08, 7.685439031707153e-09, 1.0356339657374702e-09, 1.4432488711080271e-10, 2.0629898830892834e-11,
328 3.0079948948324997e-12, 4.4662190612498875e-13, 6.752064185544526e-14, 1.0500281200087613e-14, 1.4103301859691442e-15,
329 -1.734723475976807e-17, -1.8908485888147197e-16, -3.4867941867133823e-16, 1.2663481374630692e-16},
330 0.20263232304637463,
331 0.20265458979086703},
332 {{0.2546481887862289, 0.0008912762275735033, 3.839028581376948e-05, 3.287138762469652e-06, 3.5209208471866094e-07,
333 4.225478415602335e-08, 5.434404913920443e-09, 7.32300886596704e-10, 1.02052919934148e-10, 1.4587508284646944e-11,
334 2.1270849664967173e-12, 3.1551150581066167e-13, 4.750713711310084e-14, 7.212980213111564e-15, 1.1084883011491797e-15,
335 -6.591949208711867e-17, 1.734723475976807e-18, 9.367506770274758e-17, -9.540979117872439e-18},
336 0.20265458979086703,
337 0.20266572316311324},
338 {{0.2561881913448183, 0.0006316919590384738, 2.7145554542667982e-05, 2.3243445360920933e-06, 2.4896583211350687e-07,
339 2.9878569618446704e-08, 3.842697030367881e-09, 5.178132280597714e-10, 7.216204023219319e-11, 1.0313451481724911e-11,
340 1.5039688244788962e-12, 2.2294839585601522e-13, 3.350444921501605e-14, 3.740063814205996e-15, 7.407269242420966e-16,
341 5.967448757360216e-16, 6.591949208711867e-17, 1.8908485888147197e-16, -7.806255641895632e-18},
342 0.20266572316311324,
343 0.20267128984923632},
344 {{0.2572793323524821, 0.00044740425577668823, 1.919463685796409e-05, 1.6435549859573212e-06, 1.7604512135387107e-07,
345 2.1127313966015637e-08, 2.717194729634498e-09, 3.661506878943621e-10, 5.1026320321834184e-11, 7.29169849500444e-12,
346 1.0634045727320185e-12, 1.5748687076655443e-13, 2.3859386688585005e-14, 4.270889197854899e-15, 5.672545766444159e-16,
347 -8.448103328007051e-16, 9.71445146547012e-17, 2.0105445086571194e-15, 1.448494102440634e-16},
348 0.20267128984923632,
349 0.20267407319229788},
350 {{0.2580519807368856, 0.0003167272897560327, 1.3572598130872846e-05, 1.1621671743965861e-06, 1.2448259037282916e-07,
351 1.4939260268090337e-08, 1.921346066621754e-09, 2.589070850073094e-10, 3.6081145016186866e-11, 5.157388405230279e-12,
352 7.520546685402252e-13, 1.1097546492866428e-13, 1.7126924878319016e-14, 5.67774993687209e-15, 8.673617379884035e-16,
353 2.3071822230491534e-15, 1.43982048506075e-16, -6.661338147750939e-16, -7.892991815694472e-17},
354 0.20267407319229788,
355 0.20267546486382865},
356 {{0.2585988724599927, 0.00022414215980744862, 9.597255035097285e-06, 8.217756915021579e-07, 8.802244440969664e-08,
357 1.0563647474121085e-08, 1.358598076053874e-09, 1.8307183026478047e-10, 2.5511984885762118e-11, 3.646605586937746e-12,
358 5.308739559062303e-13, 7.936012957898697e-14, 1.395758508770939e-14, 1.1587952819525071e-15, -7.546047120499111e-16,
359 -3.0704605524789486e-16, -6.401129626354418e-16, 4.4374226515486725e-15, 1.3426759704060487e-15},
360 0.20267546486382865,
361 0.20267616069959404},
362 {{0.2592290354916159, 0.00046237072283881325, 9.327071111846566e-05, 4.04856404778442e-05, 2.2898027861355946e-05,
363 1.4911944355256584e-05, 1.0620804294380476e-05, 8.055933548441543e-06, 6.4069163158222975e-06, 5.29011720291038e-06,
364 4.504867114601269e-06, 3.9380722249553884e-06, 3.522259974053296e-06, 3.215401816561783e-06, 2.9905059784306187e-06,
365 2.829948342482e-06, 2.7222590090452553e-06, 2.66026259132697e-06, 1.3200081928118473e-06},
366 0.20267616069959404,
367 0.20267685653535944}}};
368
369const auto PR_p =
370 SuperAncillary{{{{4.2115936784941e-14, 7.082139279778615e-14, 4.281441668412217e-14, 1.9123012372347713e-14, 6.460328562307523e-15,
371 1.6765603431288853e-15, 3.36292637163962e-16, 5.1860921648633566e-17, 6.0107675456840275e-18, 4.93726813515645e-19,
372 2.4083621285564296e-20, 9.47616424537102e-23, -7.1051225501406e-23, -3.0677436333050444e-24, 1.4628333292452202e-25,
373 1.2639227645878215e-26, -3.8533659659909825e-28, -3.5261080979808146e-29, 3.32550323497344e-30},
374 0.01701444200703503,
375 0.021799753821513633},
376 {{8.938956773181632e-12, 1.3439327305351806e-11, 6.288329039800055e-12, 1.9826748553822934e-12, 4.414511850216345e-13,
377 7.088859014953733e-14, 8.181698505611952e-15, 6.527653757029151e-16, 3.162152136162365e-17, 4.279990806191533e-19,
378 -4.6206272928403434e-20, -2.0797341030133568e-21, 6.177896652744867e-23, 4.7788231227984526e-24, -1.3861706054362575e-25,
379 -1.4215273512082633e-26, -1.669229675447661e-27, 4.487040828897115e-27, 7.7150596530614955e-28},
380 0.021799753821513633,
381 0.026585065635992236},
382 {{4.085507279084059e-09, 6.410401559266648e-09, 3.231824978266208e-09, 1.0923069013593605e-09, 2.52024445187971e-10,
383 3.905509723141962e-11, 3.73471874979177e-12, 1.5022634999916855e-13, -8.12601770161866e-15, -9.644616840775853e-16,
384 2.3559108130823366e-17, 4.723565049544365e-18, -1.6713754821230258e-19, -1.9677138009092646e-20, 1.4426017766021298e-21,
385 3.847561149043651e-23, -1.0404785039052024e-23, 1.3764802380765226e-24, 4.620579202932928e-25},
386 0.026585065635992236,
387 0.03615568926494944},
388 {{1.6349625391332918e-06, 2.489669257624972e-06, 1.1427314989998866e-06, 3.2189532774728283e-07, 5.2973211090187104e-08,
389 3.881322341579814e-09, -1.402363237723129e-10, -3.26068965484856e-11, 1.5764214067874998e-12, 2.669115963311214e-13,
390 -2.6973487736840458e-14, -1.1725895938982276e-15, 3.409623244140794e-16, -1.3374770488526952e-17, -2.1340688015269687e-18,
391 3.0499875924358835e-19, -9.006032316747658e-21, 5.945360652724886e-23, 7.708806321111372e-22},
392 0.03615568926494944,
393 0.05529693652286385},
394 {{0.00018641763706717313, 0.0002549265195801485, 8.796517801636943e-05, 1.4493063101704085e-05, 5.93659937733161e-07,
395 -8.865727397666071e-08, 1.5453090824947498e-09, 1.0034143700587606e-09, -1.473603817532662e-10, 4.333381441536222e-12,
396 1.903659250210749e-12, -3.854457196096114e-13, 2.9156300395036635e-14, 2.2880752244019054e-15, -9.628463327642823e-16,
397 1.2770440460045229e-16, -4.453540417985501e-18, -1.6186270226437646e-18, 3.6149778002037437e-19},
398 0.05529693652286385,
399 0.09357943103869266},
400 {{0.005448712641404622, 0.0062362159058999755, 0.001443947803998351, 0.00010960884095892343, -2.254571049831034e-06,
401 3.108042103893788e-07, 3.183233642737454e-08, -6.3983755658182065e-09, 1.1291747205506315e-09, -1.183401464725808e-10,
402 7.412891426996499e-12, 7.92415429334923e-13, -3.6369037393225306e-13, 7.890138331101762e-14, -1.258085161656014e-14,
403 1.5166023276634577e-15, -1.0518116325825e-16, -6.600080725005508e-18, 5.5294310796760726e-18},
404 0.09357943103869266,
405 0.1701444200703503}}};
406const auto PR_rhoL =
407 SuperAncillary{{{{0.9207205305399191, -0.045064618991104796, -0.0010750229061558397, -4.150471723450566e-05, -2.0449656082804912e-06,
408 -8.411570305566496e-08, 2.630701059769258e-09, 7.618859571012493e-10, -1.2385135972348138e-10, -4.380963647410141e-11,
409 3.6138314563061158e-12, 2.0083795737591004e-12, -2.442004931602071e-13, -8.769374115757955e-14, 2.0539125955565396e-14,
410 1.4155343563970746e-15, -1.4502288259166107e-15, 9.645062526431047e-16, 4.85722573273506e-17},
411 0.01701444200703503,
412 0.05529693652286385},
413 {{0.8199443180127295, -0.056330799734005496, -0.0018219491199177318, -8.821642822268161e-05, -4.3808005871781575e-06,
414 -2.7804292488525784e-07, -2.5617864357618814e-08, -1.4936050521385802e-09, -1.1656688808647786e-10, -1.80864212495635e-11,
415 -3.4572344986827375e-13, -7.897849041427207e-14, -1.9761969838327786e-14, 1.0269562977782698e-15, -1.5265566588595902e-16,
416 -7.91033905045424e-16, -2.7755575615628914e-17, 8.049116928532385e-16, 2.0816681711721685e-17},
417 0.05529693652286385,
418 0.09357943103869266},
419 {{0.6880146598953387, -0.07711229066058617, -0.0036751053290779087, -0.00027023163542316125, -2.612667202559621e-05,
420 -3.0579327836427472e-06, -3.869841956188891e-07, -5.180305783641925e-08, -7.196452149471622e-09, -1.0250969587066727e-09,
421 -1.492256387902735e-10, -2.2068007143882795e-11, -3.3078817462950383e-12, -5.018416238122825e-13, -7.670947210769441e-14,
422 -1.2490009027033011e-14, -1.887379141862766e-15, 3.5388358909926865e-16, -2.7755575615628914e-17},
423 0.09357943103869266,
424 0.13186192555452148},
425 {{0.5539049274549523, -0.05513150079759916, -0.00226486529446273, -0.00017169038790523783, -1.771968913242411e-05,
426 -2.1044071880221837e-06, -2.6937613983174513e-07, -3.620174487267702e-08, -5.035860249635871e-09, -7.188804967972473e-10,
427 -1.0471176703497065e-10, -1.5500455086137066e-11, -2.3248417080345973e-12, -3.5293989952833726e-13, -5.399847236020605e-14,
428 -8.854028621385623e-15, -1.2975731600306517e-15, 2.8449465006019636e-16, -4.5102810375396984e-17},
429 0.13186192555452148,
430 0.1510031728124359},
431 {{0.459674826377972, -0.03799561202969537, -0.0014593552334729865, -0.00011667442436243125, -1.2328894690105674e-05,
432 -1.4734787574105512e-06, -1.89107481913392e-07, -2.5449463390836424e-08, -3.5434242970366903e-09, -5.061691760177567e-10,
433 -7.376567759398434e-11, -1.0923841692322966e-11, -1.6389077595047041e-12, -2.489328188026718e-13, -3.807371085073896e-14,
434 -6.283168429987995e-15, -9.055256544598933e-16, 3.0531133177191805e-16, -2.2551405187698492e-17},
435 0.1510031728124359,
436 0.16057379644139308},
437 {{0.39512265522451157, -0.025874636107352526, -0.000981657847521144, -8.126867623134762e-05, -8.658142312312905e-06,
438 -1.0370940123176353e-06, -1.3324415930673905e-07, -1.794336704219468e-08, -2.4994516144294376e-09, -3.5715819884929445e-10,
439 -5.20629060696276e-11, -7.711369737206653e-12, -1.157088314052146e-12, -1.7580381594939354e-13, -2.6891683324592464e-14,
440 -4.472117121068209e-15, -6.314393452555578e-16, 2.636779683484747e-16, -1.734723475976807e-17},
441 0.16057379644139308,
442 0.1653591082558717},
443 {{0.3511712698170222, -0.01762984199424723, -0.0006775212105428925, -5.710620124233304e-05, -6.102283057512342e-06,
444 -7.316593272181648e-07, -9.405098579107207e-08, -1.2669533731163307e-08, -1.7652206779628088e-09, -2.5228212227612623e-10,
445 -3.67796765265993e-11, -5.448200918189983e-12, -8.175543575461575e-13, -1.2424436479641088e-13, -1.8981344274138223e-14,
446 -3.202299536653186e-15, -4.440892098500626e-16, 3.191891195797325e-16, -3.122502256758253e-17},
447 0.1653591082558717,
448 0.167751764163111},
449 {{0.3211597705559426, -0.012077354670507117, -0.00047368246685701096, -4.0264768868699535e-05, -4.308027496135319e-06,
450 -5.167712383395695e-07, -6.644526837421005e-08, -8.952242693677226e-09, -1.247437774604121e-09, -1.7829611051456418e-10,
451 -2.5995025576541764e-11, -3.8507357025263644e-12, -5.778121037192108e-13, -8.784639682346551e-14, -1.3433698597964394e-14,
452 -2.373101715136272e-15, -3.365363543395006e-16, 1.2836953722228372e-16, -2.2551405187698492e-17},
453 0.167751764163111,
454 0.16894809211673065},
455 {{0.30054357607263954, -0.008327461617588218, -0.00033318306039584883, -2.8432365464115678e-05, -3.043795371863306e-06,
456 -3.652042762300467e-07, -4.696313324337176e-08, -6.3279062684218346e-09, -8.818025996892853e-10, -1.260411150449947e-10,
457 -1.8376970084554856e-11, -2.7223640008955385e-12, -4.0846839799435486e-13, -6.197126145579546e-14, -9.492406860545088e-15,
458 -1.7208456881689926e-15, -2.393918396847994e-16, 2.5673907444456745e-16, -8.673617379884035e-18},
459 0.16894809211673065,
460 0.16954625609354046},
461 {{0.2862916733850893, -0.005776207912322414, -0.00023501417597186075, -2.0091122712718318e-05, -2.151427414113366e-06,
462 -2.581648955793381e-07, -3.320061314066036e-08, -4.473697898244033e-09, -6.234334853916224e-10, -8.9112786594292e-11,
463 -1.2992894954377832e-11, -1.9243946713931592e-12, -2.8871002810682e-13, -4.3874626154405405e-14, -6.7133798520302435e-15,
464 -1.2906342661267445e-15, -1.5612511283791264e-16, 3.0878077872387166e-16, 1.734723475976807e-18},
465 0.16954625609354046,
466 0.16984533808194538},
467 {{0.2763847311775531, -0.004026323535076086, -0.00016598517183828362, -1.4201795987777571e-05, -1.520984803850961e-06,
468 -1.8252416650321734e-07, -2.3473785675659498e-08, -3.1630968764378986e-09, -4.408004100620033e-10, -6.300811088155722e-11,
469 -9.186814503570062e-12, -1.3607726057074387e-12, -2.0409195167214733e-13, -3.113134749987978e-14, -4.758346494604382e-15,
470 -9.957312752106873e-16, -1.682681771697503e-16, -2.445960101127298e-16, -4.2500725161431774e-17},
471 0.16984533808194538,
472 0.16999487907614785},
473 {{0.2694673741877153, -0.0028173393805495644, -0.00011730308752334363, -1.004050356021198e-05, -1.0753911961810386e-06,
474 -1.290548921391993e-07, -1.6597556396977242e-08, -2.236546208650436e-09, -3.1168101606582344e-10, -4.4551562092265407e-11,
475 -6.495835119801896e-12, -9.626032609899582e-13, -1.4432725847779437e-13, -2.216109240560371e-14, -3.3948538424866115e-15,
476 -1.0026701691145945e-15, -1.5092094240998222e-16, -2.7582103268031233e-16, -4.7704895589362195e-17},
477 0.16999487907614785,
478 0.17006964957324908},
479 {{0.264620888720384, -0.001977082335539313, -8.2923124407136e-05, -7.099113954002478e-06, -7.603784178723816e-07,
480 -9.125234246010194e-08, -1.1735920570424274e-08, -1.581440811637691e-09, -2.2038751899822184e-10, -3.1502528016758014e-11,
481 -4.593121022411495e-12, -6.799057844508738e-13, -1.0198439315267649e-13, -1.6341095143701523e-14, -2.426878142891553e-15,
482 -6.210310043996969e-16, -5.898059818321144e-17, 4.527628272299467e-16, 1.3010426069826053e-17},
483 0.17006964957324908,
484 0.17010703482179967},
485 {{0.2612166158875983, -0.001390391541082515, -5.862766135761137e-05, -5.019621645544273e-06, -5.376553057923755e-07,
486 -6.452400296876049e-08, -8.298434496858964e-09, -1.1182347825489103e-09, -1.558359847414481e-10, -2.227549741884438e-11,
487 -3.247855109855813e-12, -4.816719939571001e-13, -7.213847574849552e-14, -1.1423154089307275e-14, -1.7156415177410622e-15,
488 -5.048045315092509e-16, -7.632783294297951e-17, -9.367506770274758e-17, -3.209238430557093e-17},
489 0.17010703482179967,
490 0.170125727446075},
491 {{0.2588208891336881, -0.0009793198302267478, -4.145328900037257e-05, -3.5493342854138465e-06, -3.8017496464121114e-07,
492 -4.562495321824844e-08, -5.867838735740261e-09, -7.907071299800839e-10, -1.1019215748198086e-10, -1.5751122628415715e-11,
493 -2.296527551459704e-12, -3.4033192930493783e-13, -5.1030360492809734e-14, -9.162809400109495e-15, -1.2975731600306517e-15,
494 -4.354155924701786e-16, -1.3010426069826053e-16, -8.690964614643804e-16, -9.107298248878237e-17},
495 0.170125727446075,
496 0.17013507375821263},
497 {{0.25713261899860995, -0.0006905565301747237, -2.931094851913764e-05, -2.509732105073978e-06, -2.688226164813262e-07,
498 -3.226156955644932e-08, -4.149175109394165e-09, -5.591129538518036e-10, -7.791681362612213e-11, -1.1135805819129097e-11,
499 -1.6232518801340134e-12, -2.40765740677773e-13, -3.687848637579094e-14, -5.707240235963695e-15, -4.597017211338539e-16,
500 -1.2160411566597418e-15, 2.203098814490545e-16, -1.2923689896027213e-15, -5.828670879282072e-16},
501 0.17013507375821263,
502 0.17013974691428146},
503 {{0.2559417264393482, -0.0004873303221206906, -2.0725636255014904e-05, -1.7746393138461797e-06, -1.900857017015506e-07,
504 -2.2812321970669402e-08, -2.933903902810342e-09, -3.9535087530129243e-10, -5.5095764756041277e-11, -7.875578661442617e-12,
505 -1.1483054090932754e-12, -1.7132302521094545e-13, -2.5521251778570786e-14, -4.4114017994090204e-15, -6.29704621779581e-16,
506 -3.0184188481996443e-16, 1.8561541192951836e-16, 2.534430998402115e-15, 1.951563910473908e-16},
507 0.17013974691428146,
508 0.17014208349231588},
509 {{0.2551010899484165, -0.0003441099749644915, -1.465512048574695e-05, -1.254856211765562e-06, -1.3441067886650615e-07,
510 -1.613073148838684e-08, -2.0745819472034466e-09, -2.7955775715182707e-10, -3.895907554896105e-11, -5.572540692777572e-12,
511 -8.118037492232943e-13, -1.156644224842296e-13, -1.7319479184152442e-14, -6.123573870198129e-16, -6.765421556309548e-17,
512 1.5838025335668249e-15, 2.5326962749261384e-16, 1.56472057533108e-15, 1.1622647289044608e-16},
513 0.17014208349231588,
514 0.1701432517813331},
515 {{0.25450739757424595, -0.0002430797888991077, -1.0362693722733643e-05, -8.873161782604194e-07, -9.50426266178167e-08,
516 -1.1406137241307124e-08, -1.4669526513660935e-09, -1.976803373771041e-10, -2.754695430096099e-11, -3.937652287566706e-12,
517 -5.726478319312278e-13, -8.348009783443189e-14, -1.5083420623618338e-14, -2.8484159475539172e-15, 9.280770596475918e-16,
518 -8.326672684688674e-17, 1.0928757898653885e-15, -1.9723805921856297e-15, -1.4632392519864368e-15},
519 0.1701432517813331,
520 0.1701438359258417},
521 {{0.25382485353286033, -0.0005003082472470298, -0.00010070946646463866, -4.371453981542178e-05, -2.472424034292986e-05,
522 -1.6101233343186055e-05, -1.1467857101349344e-05, -8.698427342242881e-06, -6.917894183581727e-06, -5.7120257463023905e-06,
523 -4.864148734601281e-06, -4.252149622345491e-06, -3.803174641357071e-06, -3.471843289028567e-06, -3.2290110822119633e-06,
524 -3.0556483156078673e-06, -2.9393703138338306e-06, -2.8724294233051922e-06, -1.425284251615512e-06},
525 0.1701438359258417,
526 0.1701444200703503}}};
527const auto PR_rhoV =
528 SuperAncillary{{{{1.967544593078315e-12, 3.286395018856467e-12, 1.951259019068106e-12, 8.480414006053818e-13, 2.7638255525455143e-13,
529 6.855112175816157e-14, 1.2987941190221208e-14, 1.8596645822713178e-15, 1.9425469025161906e-16, 1.3440422453482796e-17,
530 4.1371292677837237e-19, -2.0472087922962698e-20, -2.3984414514408427e-21, -1.0726839771583605e-23, 8.190099610752978e-24,
531 1.4834694490433158e-25, -2.890640271333655e-26, -1.2318556073091862e-28, 2.6437933681383566e-28},
532 0.01701444200703503,
533 0.021799753821513633},
534 {{3.4427283919277603e-10, 5.10033605480091e-10, 2.3125713682061785e-10, 6.97923116109859e-11, 1.468781950176213e-11,
535 2.192555878654968e-12, 2.289969778559488e-13, 1.563184655125417e-14, 5.345224322369889e-16, -8.665670712890633e-18,
536 -1.4805111905363385e-18, -1.2881526260516941e-20, 3.1913825586258806e-21, 4.0303951255023627e-23, -7.672322324660242e-24,
537 -2.068961273341252e-25, -4.90734591919887e-26, 1.348005514841665e-25, 2.4183319910455338e-26},
538 0.021799753821513633,
539 0.026585065635992236},
540 {{1.1651253109754791e-07, 1.799247246805057e-07, 8.718524363492525e-08, 2.7723805947266338e-08, 5.859084478366607e-09,
541 7.937371730144063e-10, 5.851825200412916e-11, 3.5459917618408365e-13, -2.840460099622861e-13, -9.001110583611441e-15,
542 1.453688138264624e-15, 4.153752300772462e-17, -8.493292717205814e-18, 1.0460073661948098e-20, 4.4932489647971677e-20,
543 -2.1592128174018962e-21, -1.6723265540349414e-22, 6.45330124762073e-23, 1.344814730252227e-23},
544 0.026585065635992236,
545 0.03615568926494944},
546 {{3.098979961669226e-05, 4.5977523083262384e-05, 1.9714735728750365e-05, 4.9340743435473964e-06, 6.495334627828851e-07,
547 2.0013065084957464e-08, -4.62369606718499e-09, -1.6742776075828521e-10, 5.6102600385966035e-11, -2.1810195956609656e-13,
548 -6.246733592709029e-13, 4.045717710917202e-14, 3.97102187587516e-15, -7.21043417103846e-16, 1.9805582453051167e-17,
549 4.946315069940491e-18, -6.192935810062008e-19, 5.64732747802203e-20, 1.2579762755706445e-20},
550 0.03615568926494944,
551 0.05529693652286385},
552 {{0.0005902854802776641, 0.0006119857879876187, 0.000137226493734894, 1.3534511317666194e-05, 2.5757985750152563e-07,
553 -3.0381140235968494e-08, 1.4660600077037917e-09, 1.4064389556322658e-10, -1.7247649444289924e-11, 4.829482286631236e-13,
554 7.904912957394129e-14, -9.965950794102972e-15, 3.496086138144762e-16, 3.581424707580633e-17, -5.7462715141731735e-18,
555 5.929230630780102e-20, 6.776263578034403e-21, 5.166900978251232e-19, 1.1858461261560205e-20},
556 0.05529693652286385,
557 0.07443818378077825},
558 {{0.0034551514866857118, 0.002398865145025046, 0.0003121082643740536, 1.5218984619397858e-05, 9.690936261096291e-08,
559 1.2913919961681083e-08, 1.4096536882115922e-09, -3.3114702454217944e-11, 2.594155481248396e-12, 1.6231949866250123e-13,
560 -1.3332379904945624e-14, 1.0818033751788803e-15, -1.3362791775883842e-17, -2.2497195079074217e-18, -9.486769009248164e-20,
561 -1.2197274440461925e-18, -2.303929616531697e-19, 3.6591823321385775e-18, 3.9979955110402976e-19},
562 0.07443818378077825,
563 0.09357943103869266},
564 {{0.020288628115803765, 0.016610099415744563, 0.00272192651625002, 0.0002394799179501481, 2.3315294231581688e-05,
565 3.169727025417485e-06, 3.793923939678003e-07, 5.156601162595916e-08, 7.275292876224738e-09, 1.0148922060279446e-09,
566 1.5007760583319457e-10, 2.202715483970441e-11, 3.3070396464676688e-12, 5.021763712330374e-13, 7.666279720416891e-14,
567 1.1847890290378471e-14, 1.843794214528849e-15, 3.1604493327952454e-16, 4.651227319962814e-17},
568 0.09357943103869266,
569 0.13186192555452148},
570 {{0.059633242372117805, 0.021523786193835045, 0.001926244019335927, 0.00016436263238290855, 1.7587241022322224e-05,
571 2.103887459802955e-06, 2.692872191701126e-07, 3.6202589339100893e-08, 5.035822049290206e-09, 7.188798449749012e-10,
572 1.0471208969353718e-10, 1.5500948181285112e-11, 2.3252866646061854e-12, 3.5267275211303684e-13, 5.3994569232385103e-14,
573 8.295447662121092e-15, 1.2962721174236691e-15, 2.658463726934457e-16, 3.230922474006803e-17},
574 0.13186192555452148,
575 0.1510031728124359},
576 {{0.10209461339960167, 0.020078909930632285, 0.0013564703941337276, 0.00011554892995170075, 1.2319437775788929e-05,
577 1.4734155808103153e-06, 1.8910621422518065e-07, 2.5449462346532892e-08, 3.5434243221901807e-09, 5.06168969585663e-10,
578 7.376593953722921e-11, 1.0924287516256292e-11, 1.6393041438189648e-12, 2.4869169223951104e-13, 3.807978238290488e-14,
579 5.776629175002768e-15, 9.063930161978817e-16, 2.411265631607762e-16, 2.0383000842727483e-17},
580 0.1510031728124359,
581 0.16057379644139308},
582 {{0.1393729010835231, 0.016593251298797226, 0.0009532795808090732, 8.111304465426971e-05, 8.657481578122454e-06,
583 1.037091311451195e-06, 1.332441384432198e-07, 1.794336703699051e-08, 2.4994517905038705e-09, 3.571580193054147e-10,
584 5.2063129848956e-11, 7.711812959054765e-12, 1.157456075429053e-12, 1.7556355674797075e-13, 2.688300970721258e-14,
585 3.9968028886505635e-15, 6.323067069935462e-16, 2.2985086056692694e-16, 1.5178830414797062e-17},
586 0.16057379644139308,
587 0.1653591082558717},
588 {{0.1692940156782449, 0.012902057653797903, 0.0006700678810102369, 5.7085725788112024e-05, 6.102239057614867e-06,
589 7.316592307484576e-07, 9.405098538861623e-08, 1.266953380749114e-08, 1.7652208635782207e-09, 2.5228192451764997e-10,
590 3.677991071426856e-11, 5.448613782377265e-12, 8.179099758587327e-13, 1.240327285323417e-13, 1.8984813721090177e-14,
591 2.7564756033271465e-15, 4.215378046623641e-16, 2.0122792321330962e-16, 2.688821387764051e-17},
592 0.1653591082558717,
593 0.167751764163111},
594 {{0.1921856564900402, 0.00969084706538421, 0.0004717724978338892, 4.026214237729843e-05, 4.308024652975584e-06,
595 5.167712350106352e-07, 6.644526831522946e-08, 8.952242742249483e-09, 1.2474379341986808e-09, 1.7829594398111048e-10,
596 2.599524762114669e-11, 3.851164179224931e-12, 5.781538442439782e-13, 8.762435221854048e-14, 1.3431963874488417e-14,
597 1.915134717478395e-15, 3.2612801348363973e-16, 3.2439329000766293e-16, 2.3418766925686896e-17},
598 0.167751764163111,
599 0.16894809211673065},
600 {{0.2092148975305195, 0.007128445272373621, 0.0003326996220906972, 2.8432032853142192e-05, 3.043795191084303e-06,
601 3.652042760392271e-07, 4.6963133177452265e-08, 6.327906323932986e-09, 8.818027766310799e-10, 1.2604095198098797e-10,
602 1.8377181720818925e-11, 2.7227942123175808e-12, 4.087806482200307e-13, 6.178738076734192e-14, 9.485467966641181e-15,
603 1.2732870313669764e-15, 2.237793284010081e-16, 2.3418766925686896e-16, 7.806255641895632e-18},
604 0.16894809211673065,
605 0.16954625609354046},
606 {{0.22166645905817658, 0.005175245300316345, 0.0002348925657099949, 2.0091080864132957e-05, 2.1514274026867425e-06,
607 2.581648954613769e-07, 3.3200613073006147e-08, 4.473697952020461e-09, 6.234336501903526e-10, 8.911260965249745e-11,
608 1.299311526425928e-11, 1.9248335564325814e-12, 2.8905870752549134e-13, 4.368554129552393e-14, 6.711645128554267e-15,
609 8.378714388967978e-16, 1.5265566588595902e-16, 1.8214596497756474e-16, -2.6020852139652106e-18},
610 0.16954625609354046,
611 0.16984533808194538},
612 {{0.23067150083801227, 0.003725476879880729, 0.00016595467496789695, 1.4201790739628434e-05, 1.5209848030911521e-06,
613 1.8252416639913394e-07, 2.3473785595862218e-08, 3.1630968937851334e-09, 4.4080058700379787e-10, 6.3007946082827e-11,
614 9.187020935663703e-12, 1.3611941435121011e-12, 2.0445450887862648e-13, 3.09127723419067e-14, 4.751407600700475e-15,
615 5.238864897449957e-16, 1.491862189340054e-16, 7.042977312465837e-16, 4.163336342344337e-17},
616 0.16984533808194538,
617 0.16999487907614785},
618 {{0.237137473422725, 0.0026668244973612407, 0.00011729545148811069, 1.004050290311434e-05, 1.0753911961168539e-06,
619 1.290548920437895e-07, 1.659755634146609e-08, 2.2365462572226935e-09, 3.116811773951067e-10, 4.455141290604647e-11,
620 6.496051960236393e-12, 9.630022473894329e-13, 1.446689990025618e-13, 2.1937313077202703e-14, 3.3931191190106347e-15,
621 5.412337245047638e-16, 1.3357370765021415e-16, 7.268491364342822e-16, 4.597017211338539e-17},
622 0.16999487907614785,
623 0.17006964957324908},
624 {{0.24175815792274802, 0.0019018019777060826, 8.292121391923792e-05, 7.0991138717956676e-06, 7.603784178359524e-07,
625 9.125234237510049e-08, 1.17359205131784e-08, 1.5814408688835657e-09, 2.2038768553167554e-10, 3.150234934023999e-11,
626 4.593327454505136e-12, 6.803307917024881e-13, 1.023348072948238e-13, 1.6110376921396607e-14, 2.4338170367954604e-15,
627 1.5265566588595902e-16, 3.122502256758253e-17, 3.642919299551295e-17, -1.3877787807814457e-17},
628 0.17006964957324908,
629 0.17010703482179967},
630 {{0.24504950305352938, 0.001352745629684961, 5.862718355055703e-05, 5.019621635323282e-06, 5.376553057160477e-07,
631 6.452400284732984e-08, 8.298434437878366e-09, 1.118234846733679e-09, 1.5583615474434875e-10, 2.227533782428459e-11,
632 3.248068480843358e-12, 4.820623067391949e-13, 7.248195099673893e-14, 1.1211517825238104e-14, 1.7034984534092246e-15,
633 6.418476861114186e-17, 6.591949208711867e-17, 5.533767888366015e-16, 2.949029909160572e-17},
634 0.17010703482179967,
635 0.170125727446075},
636 {{0.2473887591484516, 0.0009604954409799197, 4.1453169525423536e-05, 3.5493342841735193e-06, 3.8017496460478195e-07,
637 4.5624953119369205e-08, 5.867838671555492e-09, 7.907071629398299e-10, 1.1019232575015803e-10, 1.5750949156068117e-11,
638 2.296747861341153e-12, 3.407586712800281e-13, 5.137903991148107e-14, 8.93209117780458e-15, 1.2923689896027213e-15,
639 -6.938893903907228e-18, 1.1796119636642288e-16, 1.3270634591222574e-15, 9.627715291671279e-17},
640 0.170125727446075,
641 0.17013507375821263},
642 {{0.2490487922516141, 0.0006811439771107868, 2.9310918647461326e-05, 2.509732104961221e-06, 2.6882261645530536e-07,
643 3.226156947144787e-08, 4.149175027862162e-09, 5.591129972198905e-10, 7.791697148595844e-11, 1.113566183708059e-11,
644 1.6234808636328424e-12, 2.411647270772477e-13, 3.721675745360642e-14, 5.479991460610734e-15, 4.753142324176451e-16,
645 7.563394355258879e-16, -2.2724877535296173e-16, 1.7572748811645056e-15, 5.733261088103347e-16},
646 0.17013507375821263,
647 0.17013974691428146},
648 {{0.2502255658692596, 0.0004826239559720131, 2.0725628786679925e-05, 1.774639313863527e-06, 1.9008570164603944e-07,
649 2.2812321890872123e-08, 2.933903833421403e-09, 3.953508978526976e-10, 5.5095907003366307e-11, 7.875412127988923e-12,
650 1.1485309231451524e-12, 1.7173241995127597e-13, 2.5854318685958333e-14, 4.182418300580082e-15, 6.245004513516506e-16,
651 -1.4224732503009818e-16, -1.9255430583342559e-16, -2.048708425128609e-15, -2.0036056147532122e-16},
652 0.17013974691428146,
653 0.17014208349231588},
654 {{0.25105914278296176, 0.00034175676948506976, 1.4655118618528765e-05, 1.2548562118210732e-06, 1.3441067884568947e-07,
655 1.6130731377364538e-08, 2.0745818743450606e-09, 2.7955778143795573e-10, 3.895922473517999e-11, 5.572348138471739e-12,
656 8.120119160404116e-13, 1.1612238948188747e-13, 1.7666423879347803e-14, 4.0072112295064244e-16, 5.724587470723463e-17,
657 -2.0209528495129803e-15, -2.723515857283587e-16, -1.0651202142497596e-15, -1.1188966420050406e-16},
658 0.17014208349231588,
659 0.1701432517813331},
660 {{0.25164930534191154, 0.0002419031805581083, 1.0362693255834554e-05, 8.87316178307257e-07, 9.50426266022042e-08,
661 1.140613715977512e-08, 1.4669525750382606e-09, 1.976803529896154e-10, 2.7547124303861636e-11, 3.937477080495633e-12,
662 5.728750807065808e-13, 8.391204397995011e-14, 1.5444243106621514e-14, 2.6229018956769323e-15, -9.194034422677078e-16,
663 -3.5735303605122226e-16, -1.0928757898653885e-15, 2.4494295480792516e-15, 1.4641066137244252e-15},
664 0.1701432517813331,
665 0.1701438359258417},
666 {{0.2523294961628807, 0.0004991316351717207, 0.000100709465997776, 4.37145398154426e-05, 2.472424034286394e-05,
667 1.6101233343113197e-05, 1.1467857101271281e-05, 8.698427342246351e-06, 6.917894183770812e-06, 5.712025746135857e-06,
668 4.864148734845877e-06, 4.252149622756621e-06, 3.80317464170922e-06, 3.4718432888186657e-06, 3.229011082201555e-06,
669 3.055648315165513e-06, 2.9393703138234223e-06, 2.872429423783976e-06, 1.4252842516137773e-06},
670 0.1701438359258417,
671 0.1701444200703503}}};
672
673const int SRK_CODE = 1, PR_CODE = 2, UNKNOWN_CODE = -1;
674const int P_CODE = 100, RHOL_CODE = 101, RHOV_CODE = 102;
675
676static inline double supercubic(int EOS, int prop, double Ttilde) {
677 switch (EOS) {
678 case SRK_CODE: {
679 switch (prop) {
680 case P_CODE:
681 return SRK_p.y(Ttilde);
682 case RHOL_CODE:
683 return SRK_rhoL.y(Ttilde);
684 case RHOV_CODE:
685 return SRK_rhoV.y(Ttilde);
686 default:
687 return -2;
688 }
689 }
690 case PR_CODE: {
691 switch (prop) {
692 case P_CODE:
693 return PR_p.y(Ttilde);
694 case RHOL_CODE:
695 return PR_rhoL.y(Ttilde);
696 case RHOV_CODE:
697 return PR_rhoV.y(Ttilde);
698 default:
699 return -2;
700 }
701 }
702 default:
703 return -1;
704 }
705}
706
708static inline double get_Ttilde_max(int EOS) {
709 switch (EOS) {
710 case SRK_CODE:
711 return SRK_rhoL.exps.back().xmax;
712 case PR_CODE:
713 return PR_rhoL.exps.back().xmax;
714 default:
715 return -1.0;
716 }
717}
718
719} // namespace CubicSuperAncillary
720} // namespace CoolProp