27 std::vector<CoolPropDbl>
a,
54 for (std::size_t i = 0; i <
N; ++i) {
55 s[i] =
a[i] * pow(THETA,
n[i]);
57 return std::accumulate(
s.begin(),
s.end(), 0.0);
87 Eigen::MatrixXd num_coeffs,
89 std::vector<double> n, t, s;
103 enum ancillaryfunctiontypes
106 TYPE_NOT_EXPONENTIAL,
108 TYPE_RATIONAL_POLYNOMIAL
110 ancillaryfunctiontypes type;
121 return type != TYPE_NOT_SET;
140 double invert(
double value,
double min_bound = -1,
double max_bound = -1);
165 std::vector<MeltingLinePiecewiseSimonSegment>
parts;
178 std::vector<CoolPropDbl>
a,
t;
182 for (std::size_t i = 0; i <
a.size(); ++i) {
183 summer +=
a[i] * (pow(T /
T_0,
t[i]) - 1);
185 return p_0 * (1 + summer);
190 std::vector<MeltingLinePiecewisePolynomialInTrSegment>
parts;
203 std::vector<CoolPropDbl>
a,
t;
208 for (std::size_t i = 0; i <
a.size(); ++i) {
209 summer +=
a[i] * pow(T /
T_0 - 1,
t[i]);
211 return p_0 * (1 + summer);
216 std::vector<MeltingLinePiecewisePolynomialInThetaSegment>
parts;