mirror of
https://github.com/OPM/opm-simulators.git
synced 2025-02-25 18:55:30 -06:00
Merge remote-tracking branch 'opm/master'
This commit is contained in:
commit
825d4a1609
@ -91,16 +91,37 @@ try
|
|||||||
{
|
{
|
||||||
using namespace Opm;
|
using namespace Opm;
|
||||||
|
|
||||||
std::cout << "\n================ Test program for fully implicit three-phase black-oil-polymer flow ===============\n\n";
|
std::cout << "*********************************************************************************************\n";
|
||||||
parameter::ParameterGroup param(argc, argv, false);
|
std::cout << "* *\n";
|
||||||
std::cout << "--------------- Reading parameters ---------------" << std::endl;
|
std::cout << "* This is Flow-Polymer (version 2015.04) *\n";
|
||||||
|
std::cout << "* *\n";
|
||||||
|
std::cout << "* Flow-Polymer is a simulator for three-phase black-oil-polymer flow that is a part of OPM. *\n";
|
||||||
|
std::cout << "* For more information see: *\n";
|
||||||
|
std::cout << "* http://opm-project.org *\n";
|
||||||
|
std::cout << "* *\n";
|
||||||
|
std::cout << "*********************************************************************************************\n\n";
|
||||||
|
|
||||||
// If we have a "deck_filename", grid and props will be read from that.
|
// Read parameters, see if a deck was specified on the command line.
|
||||||
bool use_deck = param.has("deck_filename");
|
std::cout << "--------------- Reading parameters ---------------" << std::endl;
|
||||||
if (!use_deck) {
|
parameter::ParameterGroup param(argc, argv, false);
|
||||||
OPM_THROW(std::runtime_error, "This program must be run with an input deck. "
|
if (!param.unhandledArguments().empty()) {
|
||||||
"Specify the deck with deck_filename=deckname.data (for example).");
|
if (param.unhandledArguments().size() != 1) {
|
||||||
|
OPM_THROW(std::runtime_error, "You can only specify a single input deck on the command line.");
|
||||||
|
} else {
|
||||||
|
param.insertParameter("deck_filename", param.unhandledArguments()[0]);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// We must have an input deck. Grid and props will be read from that.
|
||||||
|
if (!param.has("deck_filename")) {
|
||||||
|
std::cerr << "This program must be run with an input deck.\n"
|
||||||
|
"Specify the deck filename either\n"
|
||||||
|
" a) as a command line argument by itself\n"
|
||||||
|
" b) as a command line parameter with the syntax deck_filename=<path to your deck>, or\n"
|
||||||
|
" c) as a parameter in a parameter file (.param or .xml) passed to the program.\n";
|
||||||
|
OPM_THROW(std::runtime_error, "Input deck required.");
|
||||||
|
}
|
||||||
|
|
||||||
std::shared_ptr<GridManager> grid;
|
std::shared_ptr<GridManager> grid;
|
||||||
std::shared_ptr<BlackoilPropertiesInterface> props;
|
std::shared_ptr<BlackoilPropertiesInterface> props;
|
||||||
std::shared_ptr<BlackoilPropsAdFromDeck> new_props;
|
std::shared_ptr<BlackoilPropsAdFromDeck> new_props;
|
||||||
|
50
m4/opm.m4
50
m4/opm.m4
@ -1,50 +0,0 @@
|
|||||||
dnl -*- autoconf -*-
|
|
||||||
|
|
||||||
dnl OPM_PKG_CONFIG_MODULE (name, version, description)
|
|
||||||
dnl
|
|
||||||
dnl Common routine to include configuration module for an OPM project
|
|
||||||
AC_DEFUN([OPM_CHECK_PKG_MODULE],[
|
|
||||||
dnl local variables representing parameters
|
|
||||||
m4_pushdef([_opm_name], [$1])
|
|
||||||
m4_pushdef([_opm_version], [$2])
|
|
||||||
m4_pushdef([_opm_description], [$3])
|
|
||||||
|
|
||||||
dnl macro-friendly version of the name; uppercase and with dashes
|
|
||||||
dnl replaced with underscores
|
|
||||||
m4_pushdef([_opm_module], [m4_translit(_opm_name,[-],[_])])
|
|
||||||
m4_pushdef([_OPM_MODULE], [m4_toupper(_opm_module)])
|
|
||||||
|
|
||||||
dnl if we are given the location as a parameter, look there first
|
|
||||||
AC_ARG_WITH(_opm_name,
|
|
||||||
AS_HELP_STRING([--with-_opm_name=PATH],[_opm_description directory]))
|
|
||||||
|
|
||||||
AS_IF([test -n "$with_[]_opm_module"],[
|
|
||||||
export PKG_CONFIG_PATH=$with_[]_opm_module:$PKG_CONFIG_PATH
|
|
||||||
])
|
|
||||||
|
|
||||||
dnl let pkg-config do the heavy lifting of finding the .pc file
|
|
||||||
PKG_CHECK_MODULES(_OPM_MODULE,[_opm_name = _opm_version],[
|
|
||||||
AC_DEFINE(HAVE_[]_OPM_MODULE,[1],[_opm_description available])
|
|
||||||
])
|
|
||||||
|
|
||||||
dnl TODO: here we could call PKG_CONFIG --variable if we need more
|
|
||||||
|
|
||||||
dnl make flag available for Makefiles too
|
|
||||||
AM_CONDITIONAL(HAVE_[]_OPM_MODULE, test x$HAVE_[]_OPM_MODULE = x1)
|
|
||||||
|
|
||||||
dnl add our libraries to the global list of compiler and linker options
|
|
||||||
DUNE_CPPFLAGS="$DUNE_CPPFLAGS $_OPM_MODULE[]_CFLAGS"
|
|
||||||
DUNE_LIBS="$DUNE_LIBS $_OPM_MODULE[]_LIBS"
|
|
||||||
|
|
||||||
# add this module to summary (if we are used with dunecontrol)
|
|
||||||
ifdef([DUNE_MODULE_ADD_SUMMARY_ENTRY],[
|
|
||||||
DUNE_MODULE_ADD_SUMMARY_ENTRY(_opm_name)
|
|
||||||
])
|
|
||||||
|
|
||||||
dnl cleanup
|
|
||||||
m4_popdef([_OPM_MODULE])
|
|
||||||
m4_popdef([_opm_module])
|
|
||||||
m4_popdef([_opm_description])
|
|
||||||
m4_popdef([_opm_version])
|
|
||||||
m4_popdef([_opm_name])
|
|
||||||
])
|
|
@ -1,12 +0,0 @@
|
|||||||
dnl -*- autoconf -*-
|
|
||||||
|
|
||||||
dnl locate opm-polymer library itself; this macro is called by every module
|
|
||||||
dnl that depends on opm-polymer.
|
|
||||||
AC_DEFUN([OPM_POLYMER_CHECK_MODULE],
|
|
||||||
[
|
|
||||||
OPM_CHECK_PKG_MODULE([opm-polymer],[1.0],[OPM module for polymer simulations])
|
|
||||||
])
|
|
||||||
|
|
||||||
dnl find all prerequisites of opm-polymer; nothing to do here since this
|
|
||||||
dnl is done by the CMake module and then stored in the -config file.
|
|
||||||
AC_DEFUN([OPM_POLYMER_CHECKS],[])
|
|
Loading…
Reference in New Issue
Block a user