mirror of
https://github.com/OPM/opm-simulators.git
synced 2024-12-28 18:21:00 -06:00
a4d254b749
this is used transferring ownership of setup structures to the simulator. drop all the flowEbosXXX set deck methods and use the generic vanguard. also means various structs that were only passed in the blackoil simulator are now passed in all simulators.
61 lines
1.8 KiB
C++
61 lines
1.8 KiB
C++
/*
|
|
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/>.
|
|
*/
|
|
#include "config.h"
|
|
|
|
#include <flow/flow_ebos_solvent.hpp>
|
|
|
|
#include <opm/material/common/ResetLocale.hpp>
|
|
#include <opm/grid/CpGrid.hpp>
|
|
#include <opm/simulators/flow/SimulatorFullyImplicitBlackoilEbos.hpp>
|
|
#include <opm/simulators/flow/Main.hpp>
|
|
|
|
namespace Opm {
|
|
namespace Properties {
|
|
namespace TTag {
|
|
struct EclFlowSolventProblem {
|
|
using InheritsFrom = std::tuple<EclFlowProblem>;
|
|
};
|
|
}
|
|
template<class TypeTag>
|
|
struct EnableSolvent<TypeTag, TTag::EclFlowSolventProblem> {
|
|
static constexpr bool value = true;
|
|
};
|
|
}}
|
|
|
|
namespace Opm {
|
|
|
|
// ----------------- Main program -----------------
|
|
int flowEbosSolventMain(int argc, char** argv, bool outputCout, bool outputFiles)
|
|
{
|
|
// we always want to use the default locale, and thus spare us the trouble
|
|
// with incorrect locale settings.
|
|
resetLocale();
|
|
|
|
FlowMainEbos<Properties::TTag::EclFlowSolventProblem>
|
|
mainfunc {argc, argv, outputCout, outputFiles};
|
|
return mainfunc.execute();
|
|
}
|
|
|
|
int flowEbosSolventMainStandalone(int argc, char** argv)
|
|
{
|
|
using TypeTag = Properties::TTag::EclFlowSolventProblem;
|
|
auto mainObject = Opm::Main(argc, argv);
|
|
return mainObject.runStatic<TypeTag>();
|
|
}
|
|
|
|
}
|