58
opm/parser/eclipse/Utility/PlyadsTable.hpp
Normal file
58
opm/parser/eclipse/Utility/PlyadsTable.hpp
Normal file
@@ -0,0 +1,58 @@
|
||||
/*
|
||||
Copyright (C) 2014 by Andreas Lauser
|
||||
|
||||
This file is part of the Open Porous Media project (OPM).
|
||||
|
||||
OPM is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
OPM is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with OPM. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
#ifndef OPM_PARSER_PLYADS_TABLE_HPP
|
||||
#define OPM_PARSER_PLYADS_TABLE_HPP
|
||||
|
||||
#include "SimpleTable.hpp"
|
||||
|
||||
namespace Opm {
|
||||
class PlyadsTable : protected SimpleTable {
|
||||
typedef SimpleTable ParentType;
|
||||
|
||||
public:
|
||||
/*!
|
||||
* \brief Read the PLYADS keyword and provide some convenience
|
||||
* methods for it.
|
||||
*/
|
||||
PlyadsTable(Opm::DeckKeywordConstPtr keyword, int recordIdx = 0)
|
||||
: ParentType(keyword,
|
||||
std::vector<std::string>{
|
||||
"PolymerConcentration",
|
||||
"AdsorbedPolymer"
|
||||
},
|
||||
recordIdx,
|
||||
/*firstEntityOffset=*/0)
|
||||
{}
|
||||
|
||||
int numRows() const
|
||||
{ return ParentType::numRows(); };
|
||||
|
||||
int numColumns() const
|
||||
{ return ParentType::numColumns(); };
|
||||
|
||||
const std::vector<double> &getPolymerConcentrationColumn() const
|
||||
{ return ParentType::getColumn(0); }
|
||||
|
||||
const std::vector<double> &getAdsorbedPolymerColumn() const
|
||||
{ return ParentType::getColumn(0); }
|
||||
};
|
||||
}
|
||||
|
||||
#endif // OPM_PARSER_PLYADS_TABLE_HPP
|
||||
|
||||
55
opm/parser/eclipse/Utility/PlymaxTable.hpp
Normal file
55
opm/parser/eclipse/Utility/PlymaxTable.hpp
Normal file
@@ -0,0 +1,55 @@
|
||||
/*
|
||||
Copyright (C) 2014 by Andreas Lauser
|
||||
|
||||
This file is part of the Open Porous Media project (OPM).
|
||||
|
||||
OPM is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
OPM is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with OPM. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
#ifndef OPM_PARSER_PLYMAX_TABLE_HPP
|
||||
#define OPM_PARSER_PLYMAX_TABLE_HPP
|
||||
|
||||
#include "SimpleTable.hpp"
|
||||
|
||||
namespace Opm {
|
||||
class PlymaxTable : protected SimpleTable {
|
||||
typedef SimpleTable ParentType;
|
||||
|
||||
public:
|
||||
/*!
|
||||
* \brief Read the PLYMAX keyword and provide some convenience
|
||||
* methods for it.
|
||||
*/
|
||||
PlymaxTable(Opm::DeckKeywordConstPtr keyword, int recordIdx = 0)
|
||||
: ParentType(keyword,
|
||||
std::vector<std::string>{"C_POLYMER", "C_POLYMER_MAX"},
|
||||
recordIdx,
|
||||
/*firstEntityOffset=*/0)
|
||||
{}
|
||||
|
||||
int numRows() const
|
||||
{ return ParentType::numRows(); };
|
||||
|
||||
int numColumns() const
|
||||
{ return ParentType::numColumns(); };
|
||||
|
||||
const std::vector<double> &getPolymerConcentrationColumn() const
|
||||
{ return ParentType::getColumn(0); }
|
||||
|
||||
const std::vector<double> &getMaxPolymerConcentrationColumn() const
|
||||
{ return ParentType::getColumn(1); }
|
||||
};
|
||||
}
|
||||
|
||||
#endif // OPM_PARSER_SIMPLE_TABLE_HPP
|
||||
|
||||
78
opm/parser/eclipse/Utility/PlyrockTable.hpp
Normal file
78
opm/parser/eclipse/Utility/PlyrockTable.hpp
Normal file
@@ -0,0 +1,78 @@
|
||||
/*
|
||||
Copyright (C) 2014 by Andreas Lauser
|
||||
|
||||
This file is part of the Open Porous Media project (OPM).
|
||||
|
||||
OPM is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
OPM is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with OPM. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
#ifndef OPM_PARSER_PLYROCK_TABLE_HPP
|
||||
#define OPM_PARSER_PLYROCK_TABLE_HPP
|
||||
|
||||
#include "SimpleTable.hpp"
|
||||
|
||||
namespace Opm {
|
||||
class PlyrockTable : protected SimpleTable {
|
||||
typedef SimpleTable ParentType;
|
||||
|
||||
public:
|
||||
/*!
|
||||
* \brief Read the PLYROCK keyword and provide some convenience
|
||||
* methods for it.
|
||||
*/
|
||||
PlyrockTable(Opm::DeckKeywordConstPtr keyword, int recordIdx = 0)
|
||||
: ParentType(keyword,
|
||||
std::vector<std::string>{
|
||||
"DeadPoreVolume",
|
||||
"ResidualResistanceFactor",
|
||||
"RockDensityFactor",
|
||||
"AdsorbtionIndex",
|
||||
"MaxAdsorbtion"
|
||||
},
|
||||
recordIdx,
|
||||
/*firstEntityOffset=*/0)
|
||||
{}
|
||||
|
||||
int numRows() const
|
||||
{ return ParentType::numRows(); };
|
||||
|
||||
int numColumns() const
|
||||
{ return ParentType::numColumns(); };
|
||||
|
||||
const std::vector<double> &getDeadPoreVolumeColumn() const
|
||||
{ return ParentType::getColumn(0); }
|
||||
|
||||
const std::vector<double> &getResidualResistanceFactorColumn() const
|
||||
{ return ParentType::getColumn(1); }
|
||||
|
||||
const std::vector<double> &getRockDensityFactorColumn() const
|
||||
{ return ParentType::getColumn(2); }
|
||||
|
||||
// is column is actually an integer, but this is not yet
|
||||
// supported by opm-parser (yet?) as it would require quite a
|
||||
// few changes in the table support classes (read: it would
|
||||
// probably require a lot of template vodoo) and some in the
|
||||
// JSON-to-C conversion code. In the meantime, the index is
|
||||
// just a double which can be converted to an integer in the
|
||||
// calling code. (Make sure, that you don't interpolate
|
||||
// indices, though!)
|
||||
const std::vector<double> &getAdsorbtionIndexColumn() const
|
||||
{ return ParentType::getColumn(3); }
|
||||
|
||||
const std::vector<double> &getMaxAdsorbtionColumn() const
|
||||
{ return ParentType::getColumn(4); }
|
||||
};
|
||||
}
|
||||
|
||||
#endif // OPM_PARSER_PLYROCK_TABLE_HPP
|
||||
|
||||
58
opm/parser/eclipse/Utility/PlyviscTable.hpp
Normal file
58
opm/parser/eclipse/Utility/PlyviscTable.hpp
Normal file
@@ -0,0 +1,58 @@
|
||||
/*
|
||||
Copyright (C) 2014 by Andreas Lauser
|
||||
|
||||
This file is part of the Open Porous Media project (OPM).
|
||||
|
||||
OPM is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
OPM is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with OPM. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
#ifndef OPM_PARSER_PLYVISC_TABLE_HPP
|
||||
#define OPM_PARSER_PLYVISC_TABLE_HPP
|
||||
|
||||
#include "SimpleTable.hpp"
|
||||
|
||||
namespace Opm {
|
||||
class PlyviscTable : protected SimpleTable {
|
||||
typedef SimpleTable ParentType;
|
||||
|
||||
public:
|
||||
/*!
|
||||
* \brief Read the PLYVISC keyword and provide some convenience
|
||||
* methods for it.
|
||||
*/
|
||||
PlyviscTable(Opm::DeckKeywordConstPtr keyword, int recordIdx = 0)
|
||||
: ParentType(keyword,
|
||||
std::vector<std::string>{
|
||||
"PolymerConcentration",
|
||||
"ViscosityMultiplier"
|
||||
},
|
||||
recordIdx,
|
||||
/*firstEntityOffset=*/0)
|
||||
{}
|
||||
|
||||
int numRows() const
|
||||
{ return ParentType::numRows(); };
|
||||
|
||||
int numColumns() const
|
||||
{ return ParentType::numColumns(); };
|
||||
|
||||
const std::vector<double> &getPolymerConcentrationColumn() const
|
||||
{ return ParentType::getColumn(0); }
|
||||
|
||||
const std::vector<double> &getViscosityMultiplierColumn() const
|
||||
{ return ParentType::getColumn(0); }
|
||||
};
|
||||
}
|
||||
|
||||
#endif // OPM_PARSER_PLYVISC_TABLE_HPP
|
||||
|
||||
55
opm/parser/eclipse/Utility/TlmixparTable.hpp
Normal file
55
opm/parser/eclipse/Utility/TlmixparTable.hpp
Normal file
@@ -0,0 +1,55 @@
|
||||
/*
|
||||
Copyright (C) 2014 by Andreas Lauser
|
||||
|
||||
This file is part of the Open Porous Media project (OPM).
|
||||
|
||||
OPM is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
OPM is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with OPM. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
#ifndef OPM_PARSER_TLMIXPAR_TABLE_HPP
|
||||
#define OPM_PARSER_TLMIXPAR_TABLE_HPP
|
||||
|
||||
#include "SimpleTable.hpp"
|
||||
|
||||
namespace Opm {
|
||||
class TlmixparTable : protected SimpleTable {
|
||||
typedef SimpleTable ParentType;
|
||||
|
||||
public:
|
||||
/*!
|
||||
* \brief Read the TLMIXPAR keyword and provide some convenience
|
||||
* methods for it.
|
||||
*/
|
||||
TlmixparTable(Opm::DeckKeywordConstPtr keyword, int recordIdx = 0)
|
||||
: ParentType(keyword,
|
||||
std::vector<std::string>{"ViscosityParameter", "DensityParameter"},
|
||||
recordIdx,
|
||||
/*firstEntityOffset=*/0)
|
||||
{}
|
||||
|
||||
int numRows() const
|
||||
{ return ParentType::numRows(); };
|
||||
|
||||
int numColumns() const
|
||||
{ return ParentType::numColumns(); };
|
||||
|
||||
const std::vector<double> &getViscosityParameterColumn() const
|
||||
{ return ParentType::getColumn(0); }
|
||||
|
||||
const std::vector<double> &getDensityParameterColumn() const
|
||||
{ return ParentType::getColumn(1); }
|
||||
};
|
||||
}
|
||||
|
||||
#endif // OPM_PARSER_SIMPLE_TABLE_HPP
|
||||
|
||||
5
opm/parser/share/keywords/M/MISCIBLE
Normal file
5
opm/parser/share/keywords/M/MISCIBLE
Normal file
@@ -0,0 +1,5 @@
|
||||
{"name" : "MISCIBLE", "size" : 1, "items" : [
|
||||
{"name" : "NTMISC" , "value_type" : "INT" , "default" : 1},
|
||||
{"name" : "NSMISC" , "value_type" : "INT" , "default" : 20},
|
||||
{"name" : "TWOPOINT" , "value_type" : "STRING" , "default" : "NONE"},
|
||||
]}
|
||||
@@ -1,8 +1,6 @@
|
||||
{"name" : "PLYMAX" , "size" : {"keyword" : "REGDIMS" , "item" : "NPLMIX"} , "items" :
|
||||
{"name" : "PLYMAX" , "size" : {"keyword" : "MISCIBLE" , "item" : "NTMISC"} , "items" :
|
||||
[
|
||||
{"name" : "MAX_PLOYMER_CONCENTRATION" , "value_type" : "DOUBLE" , "dimension" : "PolymerDensity"},
|
||||
{"name" : "MAX_POLYMER_CONCENTRATION" , "value_type" : "DOUBLE" , "dimension" : "PolymerDensity"},
|
||||
{"name" : "MAX_SALT_CONCENTRATION" , "value_type" : "DOUBLE" , "dimension" : "PolymerDensity"}
|
||||
]
|
||||
}
|
||||
|
||||
|
||||
|
||||
7
opm/parser/share/keywords/T/TLMIXPAR
Normal file
7
opm/parser/share/keywords/T/TLMIXPAR
Normal file
@@ -0,0 +1,7 @@
|
||||
{"name" : "TLMIXPAR" , "size" : {"keyword" : "MISCIBLE" , "item" : "NTMISC"} , "items" :
|
||||
[
|
||||
{"name" : "TL_VISCOSITY_PARAMETER" , "value_type" : "DOUBLE" , "dimension" : "1"},
|
||||
{"name" : "TL_DENSITY_PARAMETER" , "value_type" : "DOUBLE" , "dimension" : "1"}
|
||||
]
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user