changed: do not set the ebos well model as default type

rather, only set it where we want to use it. this avoids including
eclwellmanager.hh and eclpeacemanwell.hh unnecessarily in
simulator objects (where BlackoilWellModel is used).
This commit is contained in:
Arne Morten Kvarving 2021-05-28 11:27:15 +02:00
parent ca455ba4b6
commit d65a9a5f70
5 changed files with 24 additions and 7 deletions

View File

@ -28,6 +28,7 @@
#include "config.h"
#include "eclproblem.hh"
#include "eclwellmanager.hh"
#include <opm/models/utils/start.hh>
@ -39,6 +40,11 @@ struct EbosPlainTypeTag {
};
}
template<class TypeTag>
struct EclWellModel<TypeTag, TTag::EbosPlainTypeTag> {
using type = EclWellManager<TypeTag>;
};
} // namespace Opm::Properties
int main(int argc, char **argv)

View File

@ -53,7 +53,6 @@
#include "eclcpgridvanguard.hh"
#endif
#include "eclwellmanager.hh"
#include "eclequilinitializer.hh"
#include "eclwriter.hh"
#include "ecloutputblackoilmodule.hh"
@ -307,12 +306,6 @@ struct EclAquiferModel<TypeTag, TTag::EclBaseProblem> {
using type = EclBaseAquiferModel<TypeTag>;
};
// use the built-in proof of concept well model by default
template<class TypeTag>
struct EclWellModel<TypeTag, TTag::EclBaseProblem> {
using type = EclWellManager<TypeTag>;
};
// Enable aquifers by default in experimental mode
template<class TypeTag>
struct EclEnableAquifers<TypeTag, TTag::EclBaseProblem> {

View File

@ -21,6 +21,7 @@
#include <opm/parser/eclipse/EclipseState/Schedule/ScheduleTypes.hpp>
#include <opm/simulators/utils/DeferredLoggingErrorHelpers.hpp>
#include <opm/simulators/wells/GroupState.hpp>
#include <opm/simulators/wells/TargetCalculator.hpp>
namespace Opm

View File

@ -26,6 +26,7 @@
#include <ebos/equil/equilibrationhelpers.hh>
#include <ebos/eclproblem.hh>
#include <ebos/eclwellmanager.hh>
#include <opm/models/utils/start.hh>
#include <opm/grid/UnstructuredGrid.h>
@ -67,19 +68,27 @@
namespace Opm::Properties {
namespace TTag {
struct TestEclOutputTypeTag {
using InheritsFrom = std::tuple<EclBaseProblem, BlackOilModel>;
};
}
template<class TypeTag>
struct EnableGravity<TypeTag, TTag::TestEclOutputTypeTag> {
static constexpr bool value = false;
};
template<class TypeTag>
struct EnableAsyncEclOutput<TypeTag, TTag::TestEclOutputTypeTag> {
static constexpr bool value = false;
};
template<class TypeTag>
struct EclWellModel<TypeTag, TTag::TestEclOutputTypeTag> {
using type = EclWellManager<TypeTag>;
};
} // namespace Opm::Properties
namespace {

View File

@ -26,6 +26,7 @@
#include <ebos/equil/equilibrationhelpers.hh>
#include <ebos/eclproblem.hh>
#include <ebos/eclwellmanager.hh>
#include <opm/models/utils/start.hh>
#include <opm/grid/UnstructuredGrid.h>
@ -64,10 +65,17 @@
namespace Opm::Properties {
namespace TTag {
struct TestEquilTypeTag {
using InheritsFrom = std::tuple<EclBaseProblem, BlackOilModel>;
};
}
template<class TypeTag>
struct EclWellModel<TypeTag, TTag::TestEquilTypeTag> {
using type = EclWellManager<TypeTag>;
};
} // namespace Opm::Properties
template <class TypeTag>