Commit Graph
93 Commits
Author SHA1 Message Date
Andreas Lauser 543d8d75b6 pass the DerivedGeology to the simulators
this was decided to be a good idea by [at]bska. (If I interpreted him
correctly, obviously.)
2014-07-24 16:37:38 +02:00
Andreas Lauser 8645d2c207 pass the EclipseState and the PhaseUsage objects to EclipseWriter 2014-07-18 11:22:28 +02:00
Andreas Lauser 6727fe28fe adapt construction of to EclipseWriter
i.e., don't pass around the UnstructuredGrid object directly, but use
the "generic" interface which is also used in the case Dune::CpGrid.
2014-07-14 17:55:30 +02:00
Andreas Lauser 9169bee053 use extended regular expressions in the test for std::regex
for some compilers (e.g., GCC < 4.9) the default is buggy and
opm-parser thus uses extended expressions...

thanks to [at]bska for digging this up!
2014-07-08 13:24:34 +02:00
Andreas Lauser 4e298bb4f9 FindCXX11Features: check for a usable std::regex
and add a config.h variable in the opm-parser test.
2014-07-07 17:58:07 +02:00
Andreas Lauser af60949051 add the boost::regex library as a prerequisite
this is required for regex-matching keywords. Once GCC 4.9 is the
minimum compiler version to be supported, this can be dropped in favor
of std::regex ...
2014-07-02 11:25:57 +02:00
Andreas Lauser 5cdece9e3e Findopm-parser.cmake: Fix it up, next try
thanks to Arne Morten Kvarving, Bård Skaflestad and Roland Kaufmann
for the discussion.
2014-07-02 11:24:14 +02:00
Andreas Lauser 778e87d710 Findopm-parser.cmake: invoke FindBoost unconditionally
even if boost was found previously, it might still miss a few
libraries. thanks to @akva2 for catching this.
2014-06-16 15:50:02 +02:00
Andreas Lauser d530dcfe17 Findopm-parser.cmake: make sure that the ERT libraries are available
and some other minor cleanups to the module. For me it still works,
but this being the build system, I can't guarantee more...
2014-06-16 15:50:01 +02:00
Andreas Lauser 99b4cf5067 allow the opm-parser test to fail
since the module currently calls the tests for cJSON and boost with
the REQUIRED flag set, cmake aborts completely even if opm-parser is
not REQUIRED. For modules which depend on opm-core that's currently a
non-issue because core has a requirement on parser, but the parser may
be useful for external projects as well, so we play nice.

Also, with this patch the config.h variable HAVE_OPM_PARSER is set...
2014-06-16 15:50:00 +02:00
Andreas Lauser 7c767e8686 sim_fibo_ad_cp: make it compile
The constructor for the simulator class changed recently...
2014-06-13 18:07:51 +02:00
Andreas Lauser 776f5e9005 explicitly include <array>
it _seems_ like this causes the build  failures of the RHEL 5 build at
statoil: http://opm-project.org/CDash/viewBuildError.php?buildid=18933
2014-06-09 13:22:40 +02:00
Andreas Lauser 0219f83563 glue in support for property modifiers
i.e. reading the grid properties from EclipseState instead of from the
raw deck. This requires that all deck files exhibit a GRID and a
SCHEDULE section or else EclipseState will throw in the constructor.
2014-06-09 12:36:46 +02:00
Andreas Lauser 2fda604c3b fix a few annoying but harmless warnings appearing on newish compilers
(i.e. clang 3.3 in my case.)
2014-05-13 13:39:27 +02:00
Andreas Lauser 756de358c0 implement multi-region PVT
this requires the multi-region PVT patch for opm-core
2014-05-13 13:39:26 +02:00
Andreas Lauser ebb1da0662 replace all boost:: smart pointers by their std:: equivalents
The std variants are part of c++-2011 and it's 2014 now. (they are
also available in GCC 4.4.)
2014-05-02 16:17:54 +02:00
Andreas Lauser b7f3ee7b79 rename "newParserDeck" to "deck" 2014-05-02 15:48:04 +02:00
Andreas Lauser dbb19403fc completely remove the EclipseGridParser from the module 2014-05-02 15:47:52 +02:00
Andreas Lauser 553698a933 remove tests/integration_tests/sim_fibo_ad_test.cpp
this test seems to compare the old and the new parser which does not
make sense anymore once the old parser is no longer available...
2014-05-02 13:59:25 +02:00
Andreas Lauser 83705279bb add the TABDIMS keyword to the data file for the fluid unit test
that's necessary because the Eclipse RM references it in the table
keywords and the opm-parser needs the keyword to be present to use
it...
2014-04-30 16:49:29 +02:00
Andreas Lauser d9920e34eb make the "-Wl,--as-needed" flag optional
as there is not much harm done if it is not used but it may cause the
build to fail if it is present (read: it causes _my_ build to fail),
it defaults to OFF.
2014-04-22 13:35:26 +02:00
Andreas Lauser 4fd75a4433 do not add the "-Wl,--as-needed" linker flag in FindSuiteSparse.cmake
because if umfpack is fully linked but some other library is
underlinked, it causes the build to fail. This flag is better dealt
with in the "UseOnlyNeeded.cmake" module...
2014-04-22 13:35:25 +02:00
Andreas Lauser 73db2c388c add support for the UG grid library
recently UG has become free software (yay!), so we can now support it
with a good conscience. The CMake module is based on the "UseUG.cmake"
module of dune-grid but it is quite a bit simpler and actually
works. (I cannot see how UseUG.cmake can work without ever including
the ug-config*.cmake files...)

the UG source code is available here:

https://github.com/ugfem/ug
2014-04-22 13:35:23 +02:00
Andreas Lauser e92cac6d0c fix typo: it's PVCDO, not PVDCO 2014-04-11 11:54:56 +02:00
Andreas Lauser 8437051416 make everything compile with the newly refactored EclipseWriter
the states needed to be removed from the call to writeInit()...
2014-04-02 17:06:20 +02:00
Andreas Lauser 5e7064b337 sim_fibo_ad: remove compatibility code for old parser
this makes the simulator quite a bit more maintainable: setting
USE_NEW_PARSER to 0 did not even compile after the the constructor for
the wells manager which took the old deck was removed last
week. Since, according to Atgeirr, SPE-1 is now producing exactly the
same results as before, it also does no longer make too much sense to
keep that code on life support...
2014-03-31 16:39:17 +02:00
Andreas Lauser 8cd93bf70a FullyImplicitBlackoilSolver: cleanup the residualNorm() method 2014-03-26 15:16:43 +01:00
Andreas Lauser 2f84156b91 FullyImplicitBlackoilSolver: Throw an exception uppon encountering a non-finite residual 2014-03-26 12:54:46 +01:00
Andreas Lauser 168b4379d5 don't pass the eclipsewriter to the simulator anymore
i.e., the simulator does not deal with any output operations
anymore. This makes sense because report steps are handled by
Opm::TimeMap and the constructor for the simulator already needs more
arguments than appropriate even without this...
2014-03-25 13:17:30 +01:00
Andreas Lauser 9237aa2443 FullyImplicitBlackoilSolver: make constantState() and variableState() consistent
With this, constantState() just calls variableState() and throws away
the derivatives. This might be a bit slower than necessary, but it
makes these two methods automatically consistent and constantState()
is only called once per timestep anyway...

thanks to @atgeirr for the suggestion!
2014-03-25 11:55:13 +01:00
Andreas Lauser 79c93953f8 sim_fibo_ad: don't instantiate an old parser object if USE_NEW_PARSER is set anymore
I thought I included this in a previous PR. Seems like I was wrong...
2014-03-20 15:44:53 +01:00
Andreas Lauser dee6f683cb sim_fibo_ad: re-add ouputting of the current report step when using opm-parser
in the old parser, this was called 'epoch'...
2014-03-20 13:14:34 +01:00
Andreas Lauser 49a5b67137 sim_fibo_ad: fix writing
the initial condition was written multiple times. We now fix this by
not writing anything in the simulator and moving this logic to the
main loop..
2014-03-19 17:40:51 +01:00
Andreas Lauser 66d73083b2 sim_fibo_ad: convert to the new-style wells manager
i.e. it now uses Opm::EclipseState. This change required to re-add the
the epoch concept in some sense, but the loop variables now call it
"episode" which sounds less ethernal IMO.
2014-03-19 17:40:38 +01:00
Andreas Lauser 0ce6093b69 go back to incrementing the current simulation time first, then calling EclipseWriter::writeSolution()
for this not to trigger an assertation after the last time step, the
changes of OPM/opm-parser#141 are required.
2014-03-11 16:05:00 +01:00
Andreas Lauser 1383eadf8f fix the fallout of the SimulatorTimer::currentTime() -> SimulatorTimer::simulationTimeElapsed() rename 2014-03-11 16:01:59 +01:00
Andreas Lauser d9228403d4 OpmFind.cmake: also check for CAPITALIZED found variables
thanks to @rolk for catching this
2014-02-28 17:52:24 +01:00
Andreas Lauser 113162263d OpmFind.cmake: prevent multiple calls to the same module in the same run
this prevents to check for the same module more than once in the same
cmake run and should thus speed things up a bit as well as make the
output a bit cleaner. For this I assumed that the ${name}_FOUND cmake
variable does not get cached, which it seems like it does not...
2014-02-28 17:52:23 +01:00
Andreas Lauser 5601eece73 cmake: make sure all calls to message() exhibit a type 2014-02-28 17:52:22 +01:00
Andreas Lauser 5de11630d5 use the SimulatorTimer which is based on opm-parser's TimeMap
at least if the USE_NEW_PARSER preprocessor macro in sim_fibo_ad.cpp
is set to 1. (if it is false, nothing changes.)
2014-02-27 11:56:33 +01:00
Andreas Lauser dd080c4515 first write out the result of a time step, then increment the timer
if done the other way round we would make an assertation in TimeMap
false and also the values returned by SimulationTimer would be for the
next time step and not the current one...
2014-02-21 16:06:26 +01:00
Andreas Lauser c23b38f60b re-add the epoch stuff
this is required until the new time step handling code lands...
2014-02-14 17:57:08 +01:00
Andreas Lauser d7d25253f3 adapt to the changes in the APIs of the parser-integrate branch in opm-core
Since the SimulationTimer, EclipseWriter and WellsManager stuff has
not (yet?) been merged, the old parser is required to be around. Use
my parser-integrate-hacks_for_norne branches to test your stuff on the
Norne deck...
2014-02-14 17:57:08 +01:00
Andreas Lauser 09f56b416f sim_fibo_ad: add macro to easily switch between the old and the new parser 2014-02-14 17:56:25 +01:00
Andreas Lauser f7541aa27a BlackoilPropsAdFromDeck: Add support for PVTO 2014-02-14 17:56:20 +01:00
Andreas Lauser 6b0e1d4562 sim_fibo_ad: completely replace the old eclipse parser by the new one
this required to abandon the "Epoch" stuff which the new parser does
not have (as well as the ECLIPSE file format knows nothing about
epochs). Handling well controls properly thus has to wait until Joakim
and Kristian finish refurbishing the WellsManager, so as a stop-gap
measure, only the first "epoch" is run.
2014-02-14 17:56:20 +01:00
Andreas Lauser 198f805c2a switch to the new parser's table utility classes 2014-02-14 17:56:08 +01:00
Andreas Lauser 2deeeef4e4 really use the new parser
in the previous commit this was #if 0'ed...
2014-02-14 17:56:08 +01:00
Andreas Lauser 7f485626a2 use the new parser to read the PVT and grid data from the deck
the old code has not yet been removed, but in the long term, this is
probably the way to go.
2014-02-14 17:56:07 +01:00
Andreas Lauser 627b1f3906 make the deck from opm-parser available to the black-oil PVT property classes 2014-02-14 17:56:07 +01:00
Andreas Lauser 58afaa5069 fix the rebase fallout 2013-12-06 10:33:58 +01:00
Andreas Lauser 6f2fd5ae69 use the reference pressure to calculate the transmiscibility factors 2013-12-06 10:19:08 +01:00
Andreas Lauser 977395fccd include capillary pressure in the PDEs
I'm neither sure that this is fully correct nor that I found all
occurences (so far, the output writing code is missing in this patch),
but it seems to work for SPE1...
2013-12-06 10:17:58 +01:00
Andreas Lauser 65d86c4dec make the phase-presence docstring understandable for mere mortals 2013-12-04 12:35:21 +01:00
Andreas Lauser 633dd9c945 configure: fix all except one warning produced by shellcheck
thanks to @bska for pointing this tool out!
2013-11-25 18:33:26 +01:00
Andreas Lauser d07b201656 fix syntax error in configure shell script
strangly enough, it seems to work like it was in some circumstances...
2013-11-25 13:29:45 +01:00
Andreas Lauser 4c246092b6 include the latest review comments by Roland Kaufmann 2013-11-25 11:38:21 +01:00
Andreas Lauser 5e73968b57 configure script: add a stub implementation for the --config-cache argument
so far, it is only a flag which prevents the cache from being
deleted. To warn the user about a potential infinite loop, a warning
is printed if this flag was specified and some compiler or some compiler
flags were set by the user. This idea was proposed by Roland Kaufmann.
2013-11-25 11:38:15 +01:00
Andreas Lauser ba4c7400ba configure script: also delete the cmake cache
This replicates the autotools behavior and was suggested by Roland
Kaufmann.
2013-11-25 11:38:14 +01:00
Andreas Lauser 2e9272384d build system: prevent endless loop when using dunecontrol
this seems to be a bug in cmake 2.8.10.2: if the user sets the
CMAKE_CXX_COMPILER variable for a build directory where this variable
has already been set, one gets an endless loop. This stings especially
if using the dunecontrol compatibility layer as the compiler flags are
unconditionally set via the CXX_FLAGS environment variable in the
options file. Running duncontrol on a module twice will thus trigger the
infinite loop if some compiler flags are set by the user.

The solution is relatively simple: Delete the CMakeFiles directory
before calling cmake. for the dunecontrol compatibility mode, we do
this in the configure script. For details about the cmake bug, see
http://www.cmake.org/Bug/view.php?id=14119
2013-11-25 11:38:13 +01:00
Andreas Lauser c1d8d953c1 fix test for HAVE_QUAD on some instances of ubuntu 13.10
I haven't figured out why this happens, but on one of my computers
running kubuntu 13.10 g++ says the following if one tries to use
quadruple precision math:

/home/erne/src/ewoms/ewoms/common/quad.hh: In static member function ‘static quad std::numeric_limits<__float128>::min()’:
/home/erne/src/ewoms/ewoms/common/quad.hh:52:14: error: unable to find numeric literal operator ‘operator"" Q’
     { return FLT128_MIN; }

since this happens only on this machine and only with the c++ (but
not the C) compiler, i suppose that this is either an upgrade issue
with kubuntu or an issue with the ubuntu gcc stack. Strangely enough,
my other kubuntu machine does not have a problem with that...

In any case also testing for assignability of constants and using the
C++ compiler for the quadmath test won't hurt...
2013-11-25 11:38:11 +01:00
Andreas Lauser 0dfb58bc52 Findewoms.cmake: fix typo
it's 'start.hh', not 'start.h'...
2013-10-06 18:04:55 +02:00
Andreas Lauser cf38685acd remove the dune-istl from the list of opm-material prerequisites
the only reason dune-istl was required was that the spline class used
ISTL's tridiagonal matrix. Since the spline class moved into the core
(along with a more capable tridiagonal matrix), ISTL is no longer
required by opm-material.
2013-09-24 15:39:50 +02:00
Andreas Lauser 4e3d76a090 add opm-core to the ewoms prerequisites 2013-09-24 15:39:49 +02:00
Andreas Lauser 15ff9d8076 require opm-core from the opm-material module
this is required to use the exception code of opm-core in
opm-material. Also, the Dune prerequisites of opm-material can be
removed once PR #345 is merged into opm-core...
2013-09-11 13:16:53 +02:00
Andreas Lauser c28f2bc0a0 C++-11 Features: add test for std::is_integral 2013-09-05 13:00:45 +02:00
Andreas Lauser 0582ef08d8 explicitly include <iostream>
instead of relying on relying that some header includes it...
2013-09-05 12:28:16 +02:00
Andreas Lauser 8ee63106c5 Replace THROW by OPM_THROW 2013-09-05 12:28:16 +02:00
Andreas Lauser 51cb4f2cb8 Add exception handlers to all tutorials and examples 2013-09-05 12:28:04 +02:00
Andreas Lauser a26483b51d Replace the ASSERT and ASSERT2 macros by assert 2013-09-03 15:27:08 +02:00
Andreas Lauser a9b287f472 cmake: fix the SuperLU test
for me, it was completely broken. (it worked fine if you did not want
to use it, though.) Now it (hopefully) follows the standard OPM
variable naming conventions, allows to use the internal SuperLU BLAS
library, and works fine if superLU is not installed on a system-wide
basis.

v2: cache the POST_2005 variable to make writing it to config.h more
    reliable (on my kubuntu 13.04 system it did not work without it)
v3: re-add a proper "post 2005" check from newer versions of the dune tests
2013-08-27 09:24:27 +02:00
Andreas Lauser 2a92529ff2 fix the test for the quadmath library
Seems like I forgot to include the "CheckCSourceCompiles" macro before
using it. Since it worked for me before, I'm wondering what made this
happen. Anyway, it should now work correctly in all cases.
2013-08-27 09:24:26 +02:00
Andreas Lauser ed5f17a471 add opm-material to the eWoms prerequisites
this is needed by the imminent switch of eWoms to the OPM build
system.
2013-08-27 09:24:25 +02:00
Andreas Lauser fd781af125 cmake: do not quote variables for config.h anymore
v2: incorporate Roland's nitpicks (I hope)
v3: It was decided that it's better to change the default behavior
v4: make sure the CMake syntax is correct even if the value of the
    variable contains spaces (if it contains double quotes it's a
    different matter, but that's pretty much a corner case, IMHO)
v5: properly escape backslash and double quote characters in the cmake
    syntax
2013-08-27 09:24:23 +02:00
Andreas Lauser eed47decf2 tweak the configure script
we should recognize the --with-{alugrid,metis} options...
2013-08-16 23:55:41 +02:00
Andreas Lauser 044e07be58 make the FindALUGrid module compatible with the OPM build system 2013-08-16 23:55:40 +02:00
Andreas Lauser 00c5fb427c add cmake module to detect ewoms 2013-08-16 23:55:40 +02:00
Andreas Lauser 00344dc20f Add HAVE_CXA_DEMANGE config.h variable to Finddune-common.cmake
This will make Dune::classname usable on Dune master. (the 2.2 release
should be fine even without it.)
2013-08-16 23:55:39 +02:00
Andreas Lauser b5c27dbe7d Finddune-grid.cmake: test for ALUGrid and METIS
ALUGrid is needed to avoid unresolved symbols if dune-grid was
compiled with it. METIS is used by the parallel version of
ALUGrid. (Although it is not open source...)
2013-08-16 23:55:38 +02:00
Andreas Lauser 9ef6a91bb5 add cmake modules to find ALUGrid and METIS 2013-08-16 23:55:37 +02:00
Andreas Lauser 1ae9e7cb89 CMake: add module for dune-localfunctions 2013-08-16 23:55:37 +02:00
Andreas Lauser a2d4a32736 make the build system link to the "quadmath" library if it is supported
Thanks a lot to Roland Kaufmann for the support.
2013-08-16 23:55:31 +02:00
Andreas Lauser cd6f18ed90 add a cmake check for the abi::__cxa_demangle() function
this was also forgotten. sorry...
2013-08-16 23:55:30 +02:00
Andreas Lauser 9f5ab8e257 add test for <type_traits> to FindCXX11Features.cmake
I fogot this one yesterday...
2013-08-16 23:55:30 +02:00
Andreas Lauser 694fc0c98a add and use CMake modules for valgrind client requests and quadruple precision math 2013-08-16 23:55:29 +02:00
Andreas Lauser 6ff3b56b49 also test for std::unique_ptr 2013-08-16 23:55:29 +02:00
Andreas Lauser 113238badb add a few config.h macros useful for dune-common 2013-08-16 23:55:28 +02:00
Andreas Lauser 999d198181 detect the presence of std::shared_ptr
since GCC 4.4 supports it, make it mandatory as well...
2013-08-16 23:55:27 +02:00
Andreas Lauser a79fcc063a Build system: make it work for modules which do not need libraries 2013-08-14 23:39:05 +02:00
Andreas Lauser bec3d5db2c make the c++-2011 feature set of GCC 4.4 mandatory
we now produce an error even if the module in question does not
actually use some of these features.
2013-07-30 21:12:23 +02:00
Andreas Lauser e6cf509ea9 check for the C++-2011 'auto' keyword.
It seems like the corresponding FindCXX11Features.cmake file
was not updated for this module.
2013-07-30 21:12:23 +02:00
Andreas Lauser 23088686a6 autodiff: make it compatible with dunecontrol
the 'configure' script was missing...
2013-07-30 21:12:23 +02:00
Andreas Lauser 7139f4addf do use eigen's umfpack support anymore
use BiCGStab instead. it might be slower, but at least it is always
available...
2013-07-09 13:33:57 +02:00