test if apple clang likes this better
This commit is contained in:
parent
e58a660235
commit
75b2609336
@ -62,6 +62,17 @@ public:
|
||||
resize(minX, maxX, m, minY, maxY, n);
|
||||
}
|
||||
|
||||
UniformTabulated2DFunction(Scalar minX, Scalar maxX, unsigned m,
|
||||
Scalar minY, Scalar maxY, unsigned n,
|
||||
const std::vector<std::vector<Scalar>>& vals)
|
||||
{
|
||||
resize(minX, maxX, m, minY, maxY, n);
|
||||
|
||||
for (unsigned i = 0; i < m; ++i)
|
||||
for (unsigned j = 0; j < n; ++j)
|
||||
this->setSamplePoint(i, j, vals[i][j]);
|
||||
}
|
||||
|
||||
/*!
|
||||
* \brief Resize the tabulation to a new range.
|
||||
*/
|
||||
|
@ -23,7 +23,7 @@ struct TabulatedDensityTraits {
|
||||
static const Scalar yMin;
|
||||
static const Scalar yMax;
|
||||
|
||||
static const Scalar vals[numX][numY];
|
||||
static const std::vector<std::vector<Scalar>> vals;
|
||||
};
|
||||
|
||||
inline const double TabulatedDensityTraits::xMin = 2.800000000000000e+02;
|
||||
@ -32,7 +32,7 @@ inline const double TabulatedDensityTraits::yMin = 1.000000000000000e+05;
|
||||
inline const double TabulatedDensityTraits::yMax = 1.000000000000000e+08;
|
||||
inline const char *TabulatedDensityTraits::name = "density";
|
||||
|
||||
inline const double TabulatedDensityTraits::vals[200][500] =
|
||||
inline const std::vector<std::vector<double>> TabulatedDensityTraits::vals =
|
||||
{
|
||||
{
|
||||
1.902062465274410e+00, 5.782408947482105e+00, 9.764909779046345e+00, 1.385694970929571e+01, 1.806682704790397e+01,
|
||||
@ -20445,7 +20445,7 @@ struct TabulatedEnthalpyTraits {
|
||||
static const int numY = 500;
|
||||
static const Scalar yMin;
|
||||
static const Scalar yMax;
|
||||
static const Scalar vals[numX][numY];
|
||||
static const std::vector<std::vector<Scalar>> vals;
|
||||
};
|
||||
|
||||
inline const double TabulatedEnthalpyTraits::xMin = 2.800000000000000e+02;
|
||||
@ -20454,7 +20454,7 @@ inline const double TabulatedEnthalpyTraits::yMin = 1.000000000000000e+05;
|
||||
inline const double TabulatedEnthalpyTraits::yMax = 1.000000000000000e+08;
|
||||
inline const char *TabulatedEnthalpyTraits::name = "enthalpy";
|
||||
|
||||
inline const double TabulatedEnthalpyTraits::vals[200][500] =
|
||||
inline const std::vector<std::vector<double>> TabulatedEnthalpyTraits::vals =
|
||||
{
|
||||
{
|
||||
5.700580815972213e+03, 3.531328941638982e+03, 1.311308233079838e+03, -9.631993272332195e+02, -3.296365473729317e+03,
|
||||
@ -40862,46 +40862,28 @@ typedef Opm::UniformTabulated2DFunction< double > TabulatedFunction;
|
||||
|
||||
// this class collects all the tabulated quantities in one convenient place
|
||||
struct CO2Tables {
|
||||
static TabulatedFunction tabulatedEnthalpy;
|
||||
static TabulatedFunction tabulatedDensity;
|
||||
static const double brineSalinity;
|
||||
static const TabulatedFunction tabulatedEnthalpy;
|
||||
static const TabulatedFunction tabulatedDensity;
|
||||
static constexpr double brineSalinity = 1.000000000000000e-01;
|
||||
};
|
||||
|
||||
inline TabulatedFunction CO2Tables::tabulatedEnthalpy;
|
||||
inline TabulatedFunction CO2Tables::tabulatedDensity;
|
||||
inline const double CO2Tables::brineSalinity = 1.000000000000000e-01;
|
||||
inline const TabulatedFunction CO2Tables::tabulatedEnthalpy
|
||||
{TabulatedEnthalpyTraits::xMin,
|
||||
TabulatedEnthalpyTraits::xMax,
|
||||
TabulatedEnthalpyTraits::numX,
|
||||
TabulatedEnthalpyTraits::yMin,
|
||||
TabulatedEnthalpyTraits::yMax,
|
||||
TabulatedEnthalpyTraits::numY,
|
||||
TabulatedEnthalpyTraits::vals};
|
||||
|
||||
// initialize the static tables once. this is a bit hacky in so far as it uses some
|
||||
// advanced C++ features (static initializer functions)
|
||||
inline int initCO2Tables_();
|
||||
int initCO2Tables_()
|
||||
{
|
||||
CO2Tables::tabulatedEnthalpy.resize(TabulatedEnthalpyTraits::xMin,
|
||||
TabulatedEnthalpyTraits::xMax,
|
||||
TabulatedEnthalpyTraits::numX,
|
||||
TabulatedEnthalpyTraits::yMin,
|
||||
TabulatedEnthalpyTraits::yMax,
|
||||
TabulatedEnthalpyTraits::numY);
|
||||
inline const TabulatedFunction CO2Tables::tabulatedDensity
|
||||
{TabulatedDensityTraits::xMin,
|
||||
TabulatedDensityTraits::xMax,
|
||||
TabulatedDensityTraits::numX,
|
||||
TabulatedDensityTraits::yMin,
|
||||
TabulatedDensityTraits::yMax,
|
||||
TabulatedDensityTraits::numY,
|
||||
TabulatedDensityTraits::vals};
|
||||
|
||||
for (unsigned i = 0; i < TabulatedEnthalpyTraits::numX; ++i)
|
||||
for (unsigned j = 0; j < TabulatedEnthalpyTraits::numY; ++j)
|
||||
CO2Tables::tabulatedEnthalpy.setSamplePoint(i, j, TabulatedEnthalpyTraits::vals[i][j]);
|
||||
|
||||
CO2Tables::tabulatedDensity.resize(TabulatedDensityTraits::xMin,
|
||||
TabulatedDensityTraits::xMax,
|
||||
TabulatedDensityTraits::numX,
|
||||
TabulatedDensityTraits::yMin,
|
||||
TabulatedDensityTraits::yMax,
|
||||
TabulatedDensityTraits::numY);
|
||||
|
||||
for (unsigned i = 0; i < TabulatedDensityTraits::numX; ++i)
|
||||
for (unsigned j = 0; j < TabulatedDensityTraits::numY; ++j)
|
||||
CO2Tables::tabulatedDensity.setSamplePoint(i, j, TabulatedDensityTraits::vals[i][j]);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
extern int co2TablesInitDummy__;
|
||||
inline int co2TablesInitDummy__ = initCO2Tables_();
|
||||
|
||||
#endif /* CO2TABLES_INC */
|
||||
|
Loading…
Reference in New Issue
Block a user