Commit Graph

9307 Commits

Author SHA1 Message Date
Tor Harald Sandve
d4d518fd35
Merge pull request #1740 from andlaus/use_flow_well_model
ebos: use the same well model, aquifer model and linear solver as flow
2019-03-05 10:57:18 +01:00
Andreas Lauser
a5863a1f36 CMakeLists.txt: remove unecessary condition
thanks to [at]akva2 for catching this.
2019-03-04 15:42:57 +01:00
Andreas Lauser
f4435a5de9 fix the default build system
for some reason, libraries produced for a module are not linked to the
executables of the module by the default build system. so far this did
not matter for `ebos` but with this PR, it starts using stuff from
`libopmsimulators`...
2019-03-04 15:38:07 +01:00
Tor Harald Sandve
d0bacde369
Merge pull request #1739 from andlaus/misc_fixes
Miscellaneous fixes and improvements
2019-03-04 15:21:04 +01:00
Andreas Lauser
d9c67ef551 ebos: use the same well model, aquifer model and linear solver as flow
This enables `ebos` to run Norne and other non-trivial data
sets. While at it, adapt the tolerances by `ebos`.

This patch only affects the research simulator, i.e. `flow` is
unaffected by it.
2019-03-04 14:23:59 +01:00
Andreas Lauser
d7e74e7c4e fix review comment by [at]totto82 2019-03-04 13:59:50 +01:00
Andreas Lauser
c37bc1cf38 flow: hide a few unused eWoms parameters
these parameters where introduced with support for the TUNIING keyword
in `ebos`. since `flow` implements its own time stepping these
parameters are unused and should thus be hidden from view in it.
2019-03-04 13:58:38 +01:00
Andreas Lauser
21f5c1fbd3 ISTLSolverEbos: throw NumericalIssue instead of LinearSolverProblem
the former is caught by `ebos`, while the latter isn't. Alternatively,
this can be fixed by deriving `LinearSolverProblem` from
`NumericalIssue`, if preferred.
2019-03-04 13:58:38 +01:00
Andreas Lauser
b60305082d EclBaseProblem: fix the parent type tags for the EclBaseProblem tag in the non-default cases
this bitrot a bit because it was never seen by the compiler. (I still
did not check if `ebos` compiles and works if `CpGrid` is replaced by
dune-alugrid or `PolyhedralGrid`.)
2019-03-04 13:58:38 +01:00
Andreas Lauser
3ca8b8f285 ebos: improve the messages printed during the run
the convergence behaviour can now be understood and the report step
information is printed, too. This does not affect `flow`, becase it
implements its own newton and time stepping routines.
2019-03-04 13:58:38 +01:00
Andreas Lauser
8e5f1279f3 EclWellManager: do not use parallelism
the speedup gained by parallelism here are simply not worth the
headaches.

note that `flow` is unaffected by this because it uses
`Opm::BlackoilWellModel`.
2019-03-04 13:58:38 +01:00
Andreas Lauser
43dd9928b4 EclNewtonMethod: Fix convergence criterion if the residual is volumetric 2019-03-04 13:58:38 +01:00
Andreas Lauser
0a9d6a0760 include missing header files
this makes the well model and the equil initializer header more autonomous.
2019-03-04 13:58:38 +01:00
Tor Harald Sandve
40f4a2656f
Merge pull request #1741 from andlaus/NewtonRawTolerance_to_NewtonTolerance
EclProblem: Rename NewtonRawTolerance to NewtonTolerance
2019-03-04 13:13:04 +01:00
Andreas Lauser
f36680bf3a EclProblem: Rename NewtonRawTolerance to NewtonTolerance
this property is not used by `flow` because `flow` implements its own
Newton method, but it not renaming the property prevents `flow` from
building.
2019-03-01 10:48:06 +01:00
Atgeirr Flø Rasmussen
9c6fea72ac
Merge pull request #1737 from akva2/import_ebos
Import ebos from eWoms
2019-03-01 10:19:09 +01:00
Arne Morten Kvarving
55dec3d2eb
Merge pull request #5 from andlaus/move_ebos
make the build system happy about the imported ebos binary
2019-02-28 10:04:35 +01:00
Andreas Lauser
ef956da9b5 make the build system happy about the imported ebos binary
also, a few data files changed their location.
2019-02-27 22:34:10 +01:00
Arne Morten Kvarving
8d6e903c3f Import ebos from eWoms 2019-02-27 10:48:51 +01:00
Kai Bao
83fc76e6a3
Merge pull request #1736 from andlaus/fix_aquifers
aquifers: add missing serialize() and deserialize() methods
2019-02-25 20:51:27 +01:00
Andreas Lauser
6753e9ca31 aquifers: add missing serialize() and deserialize() methods
the original purpose of those is to provide a checkpoint/restart
mechanism using an ad-hoc file format. They might also be useful for
implementing the adjoint functionality, though.
2019-02-25 15:04:16 +01:00
Tor Harald Sandve
5163131f59
Merge pull request #1735 from andlaus/fix_wells_Schur
well model: fix application of Schur complements
2019-02-25 14:21:17 +01:00
Andreas Lauser
46e41228b5 flow: call getConvergence() on the raw reservoir residual
i.e., the residual without the Schur complement for the wells being
applied. This hopefully fixes the issue pointed out by
[at]totto82.
2019-02-25 11:24:30 +01:00
Andreas Lauser
f5e7ca9bb3 well model: fix application of Schur complements
using the eWoms API for wells, the Schur compliment was not applied at
all. If `BlackOilWellModel::linearize()` was made non-trivial, the
Schur complement was applied twice in `flow`. With this patch, we only
apply this using the eWoms API (in
`BlackOilWellModel::linearize()`). I could not observe a signficant
effect on the convergence behaviour of `flow` for the cases which I
tested (Norne and realization 5 of Model 2).
2019-02-25 10:51:30 +01:00
Joakim Hove
935642ba88
Merge pull request #1716 from joakim-hove/unsupported-keywords
The missing features check takes a ParseContext argument
2019-02-22 07:49:43 +01:00
Tor Harald Sandve
f540a83542
Merge pull request #1733 from andlaus/hide_ebos_params
do not print the new core-ebos time step tuning parameters in the usage message
2019-02-20 13:53:22 +01:00
Andreas Lauser
c9dfad2a3d prefix the ECL timestep tuning parameters with 'Ecl' 2019-02-20 12:47:12 +01:00
Andreas Lauser
148728973f fix the output of the size of the next time step if timestepping is done externaly 2019-02-20 12:47:12 +01:00
Andreas Lauser
b1a526e5c2 ebos: remove unused deprecated function 2019-02-20 12:47:12 +01:00
Andreas Lauser
a34a8d6b9e ebos: implement partial support for the TUNING keyword
this only implements the parameters that are currently supported by
`flow`.
2019-02-20 12:47:12 +01:00
Andreas Lauser
0b600cb824 Merge pull request #483 from totto82/massratebc
Add option for setting mass boundary rate from deck
2019-02-20 12:15:21 +01:00
Tor Harald Sandve
430e667517 Add option for setting mass boundary rate from deck
Usage
BCRATE
1 1 1 1 1 10 X WATER 1e-7 /

This will inject 1e-7 of water (mass/time/length/length) on the x side of the
boundary cells with cartesian index [1 1 1] to [1 1 10]
2019-02-20 10:56:53 +01:00
Andreas Lauser
d1fa4e3248 do not print the new core-ebos time step tuning parameters in the usage message
they are not used by `flow`.
2019-02-20 10:51:24 +01:00
Tor Harald Sandve
b4382c23e8 Merge pull request #481 from andlaus/add_experimental_mode
introduce an "experimental mode"
2019-02-20 09:39:33 +01:00
Joakim Hove
657c45be92
Merge pull request #1732 from joakim-hove/trivial-change
Remove unused ParameterGroup.hpp header file
2019-02-19 16:23:14 +01:00
Andreas Lauser
c80e4c40c4 fix missing semicolon 2019-02-19 11:04:40 +01:00
Andreas Lauser
10d1d5c9a7 introduce an "experimental mode"
this is a compile time switch with the intention to be able to more
easily turn experimental features that are not yet considered to be
production quality on and off. DUNE has a similar mechanism (i.e., the
`DUNE_GRID_EXPERIMENTAL_GRID_EXTENSIONS` macro), but it relies on
the preprocessor.

For now, the property does not have any effect.
2019-02-19 10:22:34 +01:00
Tor Harald Sandve
9de0e54b63 Merge pull request #475 from andlaus/fix_ecl_restart
ebos: Fix restart from ECL files
2019-02-19 10:11:02 +01:00
Andreas Lauser
7165ae246a ebos: clarify startup message
this hopefully makes the purpose of `ebos` clear in its
description. this prose should be interpreted as "if you use ebos in
production, you are on your own and you should only expect a very
limited amount of support (or even sympathy) if something breaks".
2019-02-19 10:07:01 +01:00
Andreas Lauser
5b032a6a28 fix the issues found by [at]tosa82 in his review
in particular the missing synchronization after restarts was very
nasty to find. thanks a ton for pointing this out!

also, IIRC changing DR[SV]DT in the schedule section has been working
properly for a while, so the comment which stated the opposite is
removed as well.
2019-02-19 09:07:12 +01:00
Andreas Lauser
65d44a055f EclProblem: fix a few minor style issues 2019-02-18 15:30:28 +01:00
Andreas Lauser
427741fe84 ebos: Fix restart from ECL files
Some time loop stuff was missing in the doobly-doo, the init() method
of the well model was not called and there was the slightly deeper
issue that the initial solutions where not calculated on restarts
which breaks everything that relies on them. (at the moment, that's
everything which is related to non-trivial boundary contitions.)
2019-02-18 15:29:27 +01:00
Andreas Lauser
2e75eaa0ac Merge pull request #390 from joakim-hove/opm-rst-default-false
[Equinor internal]: Opm rst default false
2019-02-18 12:19:13 +01:00
Tor Harald Sandve
a86ee61bf6 Merge pull request #478 from andlaus/ebos_remove_mass_conservative_init
ebos: remove the code to calculate a mass conservative initial condtion if the specified condition is inconsistent
2019-02-18 11:18:12 +01:00
Kai Bao
2d933f2303
Merge pull request #1695 from WesselDeZeeuw/BaseClassAquifer
Base class aquifer
2019-02-18 10:44:51 +01:00
WesselDeZeeuw
73faaf95b4 added aquiferConstants() 2019-02-18 09:19:26 +01:00
Arne Morten Kvarving
2bba0a395f fix initialization order 2019-02-18 09:19:26 +01:00
WesselDeZeeuw
fd4bdd6492 Trying to fix the WReorder Warning 2019-02-18 09:19:26 +01:00
WesselDeZeeuw
a72d61cb50 Base Class and AquiferCarterTracy and AquiferFetkovich implementation
Reordering of Aquifer Codes
2019-02-18 09:19:26 +01:00
Joakim Hove
e20037167f Remove unused ParameterGroup.hpp header file 2019-02-17 12:44:28 +01:00