Commit Graph

180 Commits

Author SHA1 Message Date
Andreas Lauser
c2aebbb5da EclProblem: use the generic time integration mechanism
i.e., the EclProblem does no longer need to implement the
`timeIntegration()` method itself. since `flow` does not use this code
path, it is unaffected.
2019-06-25 12:39:00 +02:00
Tor Harald Sandve
4b1544469d Only apply timestep after event at the beginning of an episode 2019-06-21 08:43:13 +02:00
Joakim Hove
2950faece0 Extract the Summary::eval() call from the output call 2019-06-19 09:51:46 +02:00
Tor Harald Sandve
ba3598a6ae Let the output writer determine what to write in ebos 2019-06-14 13:57:41 +02:00
Tor Harald Sandve
9d6f20b172
Merge pull request #1870 from andlaus/ebos_cleanups
Ebos cleanups
2019-06-03 14:32:17 +02:00
Tor Harald Sandve
2df734f00e output .INIT and .GRID also on restart 2019-06-03 12:21:34 +02:00
Andreas Lauser
c315a9a473 ebos: make it possible to disable aquifiers
for now, disabling aquifers is an experimental feature...
2019-06-03 11:20:41 +02:00
Andreas Lauser
ef74025523 ebos: tone down the warning in the startup message slightly
The intend is to make the purpose of `ebos` clearer: while it can be
used in production, the stability guarantees are somewhat lower than
for `flow` and testing is a bit less rigorous (most of the time).
2019-06-03 11:11:41 +02:00
Andreas Lauser
c86470e768 tracer model: fix a few output messages
fixes some typos, adds better wording and fixes some duplication
issues on parallel runs.
2019-06-03 11:11:41 +02:00
Andreas Lauser
b699f40cee fix "checking conservativeness" debug message for parallel runs 2019-06-03 11:11:41 +02:00
Andreas Lauser
18d989c394 ebos: replace tabs with spaces and remove trailing white space
for some reason this keeps creping back in...
2019-06-03 11:11:41 +02:00
Tor Harald Sandve
8f60a5f9fc
Merge pull request #1841 from andlaus/remove_isSubstep
EclProblem: remove the isSubstep parameter from writeOutput()
2019-06-03 10:41:12 +02:00
Tor Harald Sandve
ae78cb86df Make it possible to restart without computing initial conditions 2019-05-28 13:04:28 +02:00
Andreas Lauser
8657f18075 EclProblem: remove the isSubstep parameter from writeOutput()
Now that the book keeping for time stepping is correct even in `flow`,
this parameter has become redundant.
2019-05-13 13:05:39 +02:00
Tor Harald Sandve
6887f3bc73
Merge pull request #1821 from andlaus/tickling_the_dragon
flow: provide the correct episode size
2019-05-13 12:40:35 +02:00
Arne Morten Kvarving
3327e69c7f fixed: use of restartTimeStep() before it has been read
it is read in the beginRestart() method, reorder code accordingly
2019-05-09 14:33:48 +02:00
Andreas Lauser
9b0be0f8ad flow: provide the correct episode size 2019-05-09 13:28:56 +02:00
Tor Harald Sandve
890d34a9e1 Add support for water induced compaction using
ROCKCOMP, ROCK2D, ROCK2DTR, ROCKWNOD and OVERBURD
2019-05-07 13:17:29 +02:00
Andreas Lauser
d329547463 EclProblem: clean up the time management code
- when an episode/report step is over, the next is started by endEpisode()
- the problem does not deal with updating the simulation time anymore
- rename `episodeIdx` in to `reportStepIdx` the 'EclWriter' because
  this variable is -- and always has been -- the report step number
  used by some parts of `opm-output`'s ECL writing code (the report
  step number is equivalent to the episode index plus 1). IMO, the
  output and parser code should be made more consistent in regard of
  whether it expects 0-based or 1-based indices, but this is a story
  for another day.
2019-05-03 14:07:15 +02:00
Andreas Lauser
17a4092c82 EclProblem: introduce a simulator auxiliary variable in most most cases
in most instances, this reduces the visual clutter a bit...
2019-05-03 14:07:15 +02:00
Andreas Lauser
6e351fef2e EclProblem: limit the limitTimeStepSize() to ebos
also, fix a few mistakes in that function.
2019-05-03 14:07:15 +02:00
Andreas Lauser
b9995f697f well models: remove superfluous arguments
concretely this means the `eclState` and `schedule` arguments to the
`init()` and `beginTimeStep()` methods.
2019-05-03 14:07:15 +02:00
Andreas Lauser
7868e420c0 EclProblem: print "checking conservativeness" messages in debug mode 2019-05-03 14:06:41 +02:00
Andreas Lauser
0be0de38cb EclProblem: ensure that eclWriter_ is always present
before patch, setting the `EnableEclOutput` parameter to `false`
resulted in the `eclWriter_` not to be allocated; yet it was used in
some places. this resulted in segfaults.
2019-05-03 14:06:41 +02:00
Andreas Lauser
701eb0edd3 ebos: never write restart files using the ad-hoc format
medium term, the output and restart file writing should be refactored:
the simulator does not need to be aware of this because it can be
accomplised in the problem's endTimeStep() method.
2019-05-03 14:06:41 +02:00
Andreas Lauser
11439bca80 ebos: some small fixes to EclProblem::checkDeckCompatibility_() 2019-03-28 13:12:29 +01:00
Tor Harald Sandve
2156f15d5f Adapt to new deck specification for the boundary condition 2019-03-27 09:27:03 +01:00
Tor Harald Sandve
d1d7d0e0f5
Merge pull request #1769 from andlaus/api_tracking_stub
ebos: add a stub implementation for API tracking
2019-03-26 12:39:32 +01:00
Tor Harald Sandve
17c249fa46
Merge pull request #1765 from andlaus/minor_cleanups
Minor cleanups
2019-03-26 12:38:50 +01:00
Andreas Lauser
cdb2c6312a ebos: add a stub implementation for API tracking
the only thing which this does so far is to introduce the respective
property and `ebos` will abort the run if the deck requests API tracking.

As usual for experimental features, `flow` is unaffected.
2019-03-22 15:04:07 +01:00
Andreas Lauser
0b0eb6df5e ebos: add some checks to make sure that the simulator produces what the deck specifies
this should significantly reduce surprising behavior for users. since
this is an experimental feature, `flow` is unaffected.
2019-03-22 13:38:58 +01:00
Andreas Lauser
1b8124cc31 EclProblem: remove the initialTemperature_ array
this was not used since the fluid states that correspond to the
initial condition are kept permanently.
2019-03-21 12:35:10 +01:00
Tor Harald Sandve
a6e82886bb Fix bugs in the TUNING implementation in ebos 2019-03-11 10:18:27 +01:00
Andreas Lauser
a812041184 ebos: implement partial elimination of systematic mass defects
the idea is to compensate the residual of the final solution of a time
step by means of an opposing source term in the next time step.

This patch has been developed as a joint project with [at]totto82 and
[at]osae.

(`flow` is unaffected by this because for now drift compensation is an
experimental feature and thus disabled within the production
simulator.)
2019-03-05 11:32:11 +01:00
Andreas Lauser
d7e74e7c4e fix review comment by [at]totto82 2019-03-04 13:59:50 +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
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
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
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
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