Loading...
Searching...
No Matches
LogiHEAD.hpp
/*
Copyright 2019 Equinor ASA.
Copyright 2016, 2017 Statoil ASA.
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_LOGIHEAD_HEADER_INCLUDED
#define OPM_LOGIHEAD_HEADER_INCLUDED
#include <vector>
namespace Opm { namespace RestartIO {
class LogiHEAD
{
public:
struct PVTModel
{
bool isLiveOil { false };
bool isWetGas { false };
bool constComprOil { false };
};
struct SatfuncFlags
{
bool useDirectionalRelPerm { false };
bool useReversibleRelPerm { true };
bool useEndScale { false };
bool useDirectionalEPS { false };
bool useReversibleEPS { true };
bool useAlternateEPS { false };
};
LogiHEAD();
~LogiHEAD() = default;
LogiHEAD(const LogiHEAD& rhs) = default;
LogiHEAD(LogiHEAD&& rhs) = default;
LogiHEAD& operator=(const LogiHEAD& rhs) = default;
LogiHEAD& operator=(LogiHEAD&& rhs) = default;
LogiHEAD& variousParam(const bool e300_radial,
const bool e100_radial,
const int nswlmx,
const bool enableHyster
);
LogiHEAD& pvtModel(const PVTModel& pvt);
LogiHEAD& saturationFunction(const SatfuncFlags& satfunc);
const std::vector<bool>& data() const
{
return this->data_;
}
LogiHEAD& network(const int maxNoNodes);
private:
std::vector<bool> data_;
};
}} // Opm::RestartIO
#endif // OPM_LOGIHEAD_HEADER_INCLUDED
Opm::RestartIO::LogiHEAD
Definition LogiHEAD.hpp:29
Opm::RestartIO::LogiHEAD::network
LogiHEAD & network(const int maxNoNodes)
Logical switch to indicate that the network option is used.
Definition LogiHEAD.cpp:224
Opm::RestartIO::LogiHEAD::pvtModel
LogiHEAD & pvtModel(const PVTModel &pvt)
Assign PVT model characteristics.
Definition LogiHEAD.cpp:201
Opm::RestartIO::LogiHEAD::saturationFunction
LogiHEAD & saturationFunction(const SatfuncFlags &satfunc)
Assign saturation function characteristics.
Definition LogiHEAD.cpp:211
Opm
This class implements a small container which holds the transmissibility mulitpliers for all the face...
Definition Exceptions.hpp:30
Opm::RestartIO::LogiHEAD::PVTModel
Key characteristics of simulation run's PVT model.
Definition LogiHEAD.hpp:33
Opm::RestartIO::LogiHEAD::PVTModel::constComprOil
bool constComprOil
Whether or not simulation run uses a constant compressibility oil model (keyword PVCDO).
Definition LogiHEAD.hpp:44
Opm::RestartIO::LogiHEAD::PVTModel::isWetGas
bool isWetGas
Whether or not simulation run uses a wet gas model (with vaporised oil).
Definition LogiHEAD.hpp:40
Opm::RestartIO::LogiHEAD::PVTModel::isLiveOil
bool isLiveOil
Whether or not simulation run uses a live oil model (with dissolved gas).
Definition LogiHEAD.hpp:36
Opm::RestartIO::LogiHEAD::SatfuncFlags
Key characteristics of simulation model's saturation functions.
Definition LogiHEAD.hpp:49
Opm::RestartIO::LogiHEAD::SatfuncFlags::useDirectionalRelPerm
bool useDirectionalRelPerm
Whether or not simulation run uses directionally dependent relative permeability.
Definition LogiHEAD.hpp:52
Opm::RestartIO::LogiHEAD::SatfuncFlags::useReversibleRelPerm
bool useReversibleRelPerm
Whether or not simulation run uses reversible relative permeability functions.
Definition LogiHEAD.hpp:56
Opm::RestartIO::LogiHEAD::SatfuncFlags::useDirectionalEPS
bool useDirectionalEPS
Whether or not simulation run uses directionally dependent end-point scaling.
Definition LogiHEAD.hpp:63
Opm::RestartIO::LogiHEAD::SatfuncFlags::useEndScale
bool useEndScale
Whether or not simulation run uses end-point scaling.
Definition LogiHEAD.hpp:59
Opm::RestartIO::LogiHEAD::SatfuncFlags::useReversibleEPS
bool useReversibleEPS
Whether or not simulation run uses reversible end-point scaling.
Definition LogiHEAD.hpp:67
Opm::RestartIO::LogiHEAD::SatfuncFlags::useAlternateEPS
bool useAlternateEPS
Whether or not simulation run activates the alternative (three-point) end-point scaling feature.
Definition LogiHEAD.hpp:71