mirror of
https://github.com/OPM/opm-simulators.git
synced 2025-02-25 18:55:30 -06:00
Merge pull request #2928 from akva2/simplify_buildsystem_models
Use lists in buildsystem and rename some ebos models to be consistent with flow
This commit is contained in:
commit
b7e3ca1326
@ -227,10 +227,11 @@ set_property(TARGET moduleVersion PROPERTY POSITION_INDEPENDENT_CODE ON)
|
|||||||
# but this is not exposed in a super-build.
|
# but this is not exposed in a super-build.
|
||||||
add_dependencies(moduleVersion opmsimulators)
|
add_dependencies(moduleVersion opmsimulators)
|
||||||
|
|
||||||
|
set(COMMON_MODELS brine energy extbo foam gasoil oilwater oilwater_polymer polymer solvent)
|
||||||
|
set(FLOW_MODELS blackoil oilwater_brine oilwater_polymer_injectivity)
|
||||||
|
|
||||||
set(FLOW_TGTS)
|
set(FLOW_TGTS)
|
||||||
foreach(OBJ blackoil brine energy foam gasoil oilwater
|
foreach(OBJ ${COMMON_MODELS} ${FLOW_MODELS})
|
||||||
oilwater_brine oilwater_polymer
|
|
||||||
oilwater_polymer_injectivity polymer solvent extbo)
|
|
||||||
add_library(flow_lib${OBJ} OBJECT flow/flow_ebos_${OBJ}.cpp)
|
add_library(flow_lib${OBJ} OBJECT flow/flow_ebos_${OBJ}.cpp)
|
||||||
list(APPEND FLOW_TGTS $<TARGET_OBJECTS:flow_lib${OBJ}>)
|
list(APPEND FLOW_TGTS $<TARGET_OBJECTS:flow_lib${OBJ}>)
|
||||||
endforeach()
|
endforeach()
|
||||||
@ -344,7 +345,7 @@ endif()
|
|||||||
# the research oriented general-purpose ECL simulator ("ebos" == &ecl
|
# the research oriented general-purpose ECL simulator ("ebos" == &ecl
|
||||||
# &black-&oil &simulator)
|
# &black-&oil &simulator)
|
||||||
set(MEBOS_TARGETS "")
|
set(MEBOS_TARGETS "")
|
||||||
foreach(OBJ blackoil solvent extbo polymer foam brine gasoil oilwater oilwaterpolymer thermal)
|
foreach(OBJ ${COMMON_MODELS} blackoil)
|
||||||
add_library(ebos_lib${OBJ} OBJECT EXCLUDE_FROM_ALL ebos/ebos_${OBJ}.cc)
|
add_library(ebos_lib${OBJ} OBJECT EXCLUDE_FROM_ALL ebos/ebos_${OBJ}.cc)
|
||||||
list(APPEND MEBOS_TARGETS $<TARGET_OBJECTS:ebos_lib${OBJ}>)
|
list(APPEND MEBOS_TARGETS $<TARGET_OBJECTS:ebos_lib${OBJ}>)
|
||||||
endforeach()
|
endforeach()
|
||||||
@ -368,7 +369,7 @@ else()
|
|||||||
set(EBOS_EXTENSIONS_DEFAULT_ENABLE_IF "TRUE")
|
set(EBOS_EXTENSIONS_DEFAULT_ENABLE_IF "TRUE")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
foreach(OBJ solvent extbo polymer foam brine gasoil oilwater oilwaterpolymer thermal)
|
foreach(OBJ ${COMMON_MODELS})
|
||||||
opm_add_test(ebos_${OBJ}
|
opm_add_test(ebos_${OBJ}
|
||||||
ONLY_COMPILE
|
ONLY_COMPILE
|
||||||
DEFAULT_ENABLE_IF ${EBOS_EXTENSIONS_DEFAULT_ENABLE_IF}
|
DEFAULT_ENABLE_IF ${EBOS_EXTENSIONS_DEFAULT_ENABLE_IF}
|
||||||
@ -408,10 +409,12 @@ opm_add_test(ebos_plain
|
|||||||
LIBRARIES opmsimulators)
|
LIBRARIES opmsimulators)
|
||||||
|
|
||||||
if (BUILD_EBOS_EXTENSIONS)
|
if (BUILD_EBOS_EXTENSIONS)
|
||||||
foreach(TGT ebos_solvent ebos_extbo ebos_polymer ebos_foam ebos_brine ebos_gasoil ebos_oilwater ebos_oilwaterpolymer ebos_thermal mebos)
|
foreach(TGT ${COMMON_MODELS})
|
||||||
install(TARGETS ${TGT} DESTINATION bin)
|
install(TARGETS ebos_${TGT} DESTINATION bin)
|
||||||
opm_add_bash_completion(${TGT})
|
opm_add_bash_completion(ebos_${TGT})
|
||||||
endforeach()
|
endforeach()
|
||||||
|
install(TARGETS mebos DESTINATION bin)
|
||||||
|
opm_add_bash_completion(mebos)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if (OPM_ENABLE_PYTHON)
|
if (OPM_ENABLE_PYTHON)
|
||||||
|
@ -33,14 +33,14 @@
|
|||||||
namespace Opm::Properties {
|
namespace Opm::Properties {
|
||||||
|
|
||||||
namespace TTag {
|
namespace TTag {
|
||||||
struct EbosThermalTypeTag {
|
struct EbosEnergyTypeTag {
|
||||||
using InheritsFrom = std::tuple<EbosTypeTag>;
|
using InheritsFrom = std::tuple<EbosTypeTag>;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
// enable the energy extension of the black oil model
|
// enable the energy extension of the black oil model
|
||||||
template<class TypeTag>
|
template<class TypeTag>
|
||||||
struct EnableEnergy<TypeTag, TTag::EbosThermalTypeTag> {
|
struct EnableEnergy<TypeTag, TTag::EbosEnergyTypeTag> {
|
||||||
static constexpr bool value = true;
|
static constexpr bool value = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -48,12 +48,12 @@ struct EnableEnergy<TypeTag, TTag::EbosThermalTypeTag> {
|
|||||||
|
|
||||||
namespace Opm {
|
namespace Opm {
|
||||||
|
|
||||||
void ebosThermalSetDeck(std::unique_ptr<Opm::Deck> deck,
|
void ebosEnergySetDeck(std::unique_ptr<Opm::Deck> deck,
|
||||||
std::unique_ptr<Opm::ParseContext> parseContext,
|
std::unique_ptr<Opm::ParseContext> parseContext,
|
||||||
std::unique_ptr<Opm::ErrorGuard> errorGuard,
|
std::unique_ptr<Opm::ErrorGuard> errorGuard,
|
||||||
double externalSetupTime)
|
double externalSetupTime)
|
||||||
{
|
{
|
||||||
using ProblemTypeTag = Properties::TTag::EbosThermalTypeTag;
|
using ProblemTypeTag = Properties::TTag::EbosEnergyTypeTag;
|
||||||
using Vanguard = GetPropType<ProblemTypeTag, Properties::Vanguard>;
|
using Vanguard = GetPropType<ProblemTypeTag, Properties::Vanguard>;
|
||||||
|
|
||||||
Vanguard::setExternalSetupTime(externalSetupTime);
|
Vanguard::setExternalSetupTime(externalSetupTime);
|
||||||
@ -62,9 +62,9 @@ void ebosThermalSetDeck(std::unique_ptr<Opm::Deck> deck,
|
|||||||
Vanguard::setExternalDeck(std::move(deck));
|
Vanguard::setExternalDeck(std::move(deck));
|
||||||
}
|
}
|
||||||
|
|
||||||
int ebosThermalMain(int argc, char **argv)
|
int ebosEnergyMain(int argc, char **argv)
|
||||||
{
|
{
|
||||||
using ProblemTypeTag = Properties::TTag::EbosThermalTypeTag;
|
using ProblemTypeTag = Properties::TTag::EbosEnergyTypeTag;
|
||||||
return Opm::startEbos<ProblemTypeTag>(argc, argv);
|
return Opm::startEbos<ProblemTypeTag>(argc, argv);
|
||||||
}
|
}
|
||||||
|
|
@ -25,20 +25,20 @@
|
|||||||
*
|
*
|
||||||
* \brief The function prototypes required to start the thermal variant of ebos
|
* \brief The function prototypes required to start the thermal variant of ebos
|
||||||
*/
|
*/
|
||||||
#ifndef EBOS_THERMAL_HH
|
#ifndef EBOS_ENERGY_HH
|
||||||
#define EBOS_THERMAL_HH
|
#define EBOS_ENERGY_HH
|
||||||
|
|
||||||
#include <opm/parser/eclipse/Deck/Deck.hpp>
|
#include <opm/parser/eclipse/Deck/Deck.hpp>
|
||||||
#include <opm/parser/eclipse/Parser/ParseContext.hpp>
|
#include <opm/parser/eclipse/Parser/ParseContext.hpp>
|
||||||
#include <opm/parser/eclipse/Parser/ErrorGuard.hpp>
|
#include <opm/parser/eclipse/Parser/ErrorGuard.hpp>
|
||||||
|
|
||||||
namespace Opm {
|
namespace Opm {
|
||||||
void ebosThermalSetDeck(std::unique_ptr<Opm::Deck> deck,
|
void ebosEnergySetDeck(std::unique_ptr<Opm::Deck> deck,
|
||||||
std::unique_ptr<Opm::ParseContext> parseContext,
|
std::unique_ptr<Opm::ParseContext> parseContext,
|
||||||
std::unique_ptr<Opm::ErrorGuard> errorGuard,
|
std::unique_ptr<Opm::ErrorGuard> errorGuard,
|
||||||
double externalSetupTime);
|
double externalSetupTime);
|
||||||
|
|
||||||
int ebosThermalMain(int argc, char** argv);
|
int ebosEnergyMain(int argc, char** argv);
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif
|
@ -29,9 +29,9 @@
|
|||||||
*/
|
*/
|
||||||
#include "config.h"
|
#include "config.h"
|
||||||
|
|
||||||
#include "ebos_thermal.hh"
|
#include "ebos_energy.hh"
|
||||||
|
|
||||||
int main(int argc, char** argv)
|
int main(int argc, char** argv)
|
||||||
{
|
{
|
||||||
return Opm::ebosThermalMain(argc, argv);
|
return Opm::ebosEnergyMain(argc, argv);
|
||||||
}
|
}
|
@ -29,7 +29,7 @@
|
|||||||
*/
|
*/
|
||||||
#include "config.h"
|
#include "config.h"
|
||||||
|
|
||||||
#include "ebos_oilwaterpolymer.hh"
|
#include "ebos_oilwater_polymer.hh"
|
||||||
|
|
||||||
int main(int argc, char** argv)
|
int main(int argc, char** argv)
|
||||||
{
|
{
|
@ -33,10 +33,10 @@
|
|||||||
|
|
||||||
#include "ebos_blackoil.hh"
|
#include "ebos_blackoil.hh"
|
||||||
#include "ebos_oilwater.hh"
|
#include "ebos_oilwater.hh"
|
||||||
#include "ebos_oilwaterpolymer.hh"
|
#include "ebos_oilwater_polymer.hh"
|
||||||
#include "ebos_gasoil.hh"
|
#include "ebos_gasoil.hh"
|
||||||
// TODO (?): #include "ebos_watergas.hh"
|
// TODO (?): #include "ebos_watergas.hh"
|
||||||
#include "ebos_thermal.hh"
|
#include "ebos_energy.hh"
|
||||||
#include "ebos_solvent.hh"
|
#include "ebos_solvent.hh"
|
||||||
#include "ebos_polymer.hh"
|
#include "ebos_polymer.hh"
|
||||||
#include "ebos_foam.hh"
|
#include "ebos_foam.hh"
|
||||||
@ -295,11 +295,11 @@ int main(int argc, char **argv)
|
|||||||
// run ebos_thermal
|
// run ebos_thermal
|
||||||
if (myRank == 0)
|
if (myRank == 0)
|
||||||
std::cout << "Using thermal mode" << std::endl;
|
std::cout << "Using thermal mode" << std::endl;
|
||||||
Opm::ebosThermalSetDeck(std::move(deck),
|
Opm::ebosEnergySetDeck(std::move(deck),
|
||||||
std::move(parseContext),
|
std::move(parseContext),
|
||||||
std::move(errorGuard),
|
std::move(errorGuard),
|
||||||
externalSetupTimer.elapsed());
|
externalSetupTimer.elapsed());
|
||||||
return Opm::ebosThermalMain(argc, argv);
|
return Opm::ebosEnergyMain(argc, argv);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
if (myRank == 0)
|
if (myRank == 0)
|
||||||
|
Loading…
Reference in New Issue
Block a user