Commit Graph
113 Commits
Author SHA1 Message Date
Andreas Lauser 0a1fa8de81 make it possible to explicitly compute the storage term of the previous time step
some weird hacks (hello, DR[SV]DT) cause a change of the storage term
in the first Newton-Raphson iteration compared to the solution of the
previous time level. In order to use the correct values, one thus must
explicitly recompute the storage term for the previous time step
instead of just reusing the result of the first Newton-Raphson
iteration of the current time step.
2018-12-20 15:52:06 +01:00
Kai Bao c9d9023039 addressing reviewing comments from PR #444 2018-12-12 14:50:22 +01:00
Kai Bao 932e4d1bf1 cleaning up of the code
there should be no functionality change
2018-12-11 21:55:20 +01:00
Kai Bao 31c18bd70e adding the functionality to track the polymer molecular weight
it is used to evaluate the water-polymer mixture viscosities
2018-12-11 21:55:20 +01:00
Tor Harald Sandve 704fbb7b60 Add parameter for (dis)enable the tracer model
The tracer model slows down the simulation time and is disabled by
default, until the performance is improved.
2018-12-10 11:13:35 +01:00
Trine S Mykkeltvedt ac931d1713 Add ecl tracer model
reads tracer input from deck, solves tracer equation fully implicit as a post processing step in endTimeStep

tested on a simple modified SPE1CASE1 deck and compared with eclipse

TODO: restart and parallel
2018-11-19 13:46:10 +01:00
Tor Harald Sandve 513b0b462f Add support for drsdtr and drvdtr
This PR also adds possibility for schedule dependent drsdt values
2018-11-05 13:50:44 +01:00
Tor Harald Sandve fad7c68446 Add support for region DR[SV]DTR 2018-11-05 13:40:23 +01:00
Tor Harald Sandve 3185e8662b Merge pull request #408 from andlaus/aquifer_api_v2
extend the aquifer model so that it can initialize itself
2018-10-31 12:47:54 +01:00
Andreas Lauser 1f28aba47e Merge pull request #404 from totto82/speedup2p
Blackoil: Prepare for 2p conditional storage of fluidstate
2018-10-30 12:39:05 +01:00
Andreas Lauser ec898fa8c2 extend the aquifer model so that it can initialize itself
nothing is perfect on first try...
2018-10-30 11:22:26 +01:00
Andreas Lauser 3c94807b85 Merge pull request #405 from andlaus/aquifier_api
ebos: add an API for aquifiers
2018-10-25 16:45:57 +02:00
Andreas Lauser 23670c6797 ebos: add an API for aquifiers
this is similar to the mechanism for well models: the API is defined
here, but can be overloaded by downstream modules. In contrast to the
well model where the default class follows a simplistic approach the
default class for aquifiers does nothing, i.e., the actual
implemenentation must be provided by downstream.
2018-10-23 17:47:38 +02:00
Tor Harald Sandve 656f055992 Blackoil: Prepare for 2p conditional storage of fluidstate
Also fix pseudo 2p case for ebos
2018-10-18 12:55:49 +02:00
Tor Harald Sandve 3a408619da add support for minpvv 2018-10-15 13:35:45 +02:00
Andreas Lauser d5328fe69c EclProblem: only create the eclWriter_ object once
thanks to [at]bska for catching this.
2018-09-29 10:59:42 +02:00
Andreas Lauser 1a8f3e72ee move registration of the EnableOpmRstFile parameter to EclBaseVanguard
before this patch, the parameter was registered by the problem but not
used there. Since this is quite confusing, let's move registration to
where the parameter is actually used, i.e., the vanguard.
2018-09-17 11:25:35 +02:00
Joakim Hove b766260db7 Add --opm-rst-file parameter 2018-09-13 17:03:11 +02:00
Andreas Lauser e5ab52b773 ebos: avoid sign-comparison warning
seems like I didn't compile #364 with pedantic warning flags enabled.
2018-08-20 13:13:57 +02:00
Andreas Lauser fe5ccc2194 ebos: complain about old-style parameter specification explicitly
i.e., complain when detecting foo=bar positional parameters. this is
not a bullet-proof solution because it will not work if the deck file
name contains an equals character. Anyway, it's better than before
IMO.
2018-08-17 13:51:11 +02:00
Andreas Lauser ed7d4d47c1 implement line breaks in the usage message
i.e. for `--help`. this is surprisingly complicated...
2018-08-16 15:55:51 +02:00
Andreas Lauser 6e7be50610 make the "OutputDir" parameter apply universally
all disc output, i.e. VTK, restart files, ECL and -- in the future --
logfiles, goes to that directory. before this, only the ECL output
could be directed to a different than the current working directory
and the parameter for this was called "EclOutputDir".

note that the Dune VTK writing infrastructure makes it harder than it
needs to be: suddenly Dune::VTKWriter::write() does not work in
parallel anymore, but Dune::VTKWriter::pwrite() must be called with
the right arguments.
2018-08-14 12:04:51 +02:00
Andreas Lauser 0d864f8e71 ebos: handle positional parameters more robustly
previously, the exact behaviour was dependent on wheter the
--ecl-deck-file-name parameter was defined or not. now the positional
parameter is hopefully an exact alias for the value of --ecl-deck-file-name.
2018-08-10 18:21:16 +02:00
Andreas Lauser 2f1f14483b ebos: change the brief description slightly
the purpose is to make it exceedingly clear that ebos is not developed
by the ECL group who started ECLIPSE which is an backcronym for
"ECL's Implicit Program for Simulation Engineering" and ECL stands for
"Exploration Consultants Limited" which is now a division of
Schlumberger Limited.

thanks to [at]atgeirr for pushing this.
2018-08-07 10:48:43 +02:00
Andreas Lauser 0a8a791c49 ebos: make the brief description settable from the exterior
this allows `flow` to print something else than plain-`ebos`.
2018-08-06 10:46:28 +02:00
Andreas Lauser b5ac85b5d0 ebos: simplify the output writing code if the default timeloop is used
`flow` doesn't, so it is unaffected.
2018-07-12 13:47:01 +02:00
Andreas Lauser ed0542b53b ebos: make it work in parallel 2018-07-11 13:59:29 +02:00
Andreas Lauser cd725aeb8a ebos ECL output: move the parameter extraction code for the well data to the well model
this is supposed to be an implementation detail of the well model.
2018-07-09 12:13:58 +02:00
Andreas Lauser 8319a67862 ebos: make the well model user definable
this introduces a new property `EclWellModel` and uses the class which
it specifies instead of `EclWellManager` directly.
2018-07-09 12:13:57 +02:00
Tor Harald Sandve 95578a5d79 Fix thpress restart
THPRES is read from the restart file
We no longer need to compute it from the initial conditions if
defaulted.
2018-06-29 15:26:08 +02:00
Andreas Lauser 26e6d56930 do explicit put properties into the the Ewoms::Properties namespace anymore
instead, do it implicitly by using the BEGIN_PROPERTIES and
END_PROPERTIES macros.
2018-06-15 20:22:07 +02:00
Andreas Lauser 739a0ef0d0 parameter system: add support for positional parameters
further, this cleans up the code of the parameter system and the
startup routines a bit and finally, it adds positional parameters
support to ebos as well as brief descriptions to ebos and the lens
problem.
2018-06-14 11:13:30 +02:00
Joakim Hove 3b5e746702 Load the THPRES values from the restart file 2018-05-31 11:58:27 +02:00
Joakim Hove 324a4ad307 Save THPRES values to restart file 2018-05-14 16:13:53 +02:00
Andreas Lauser f96d553d8e ebos: salvage temperature from the initial fluid states for isothermal simulations
this is required because temperature needs to be always specified. in
the case of isothermal simulations, the temperature is assumed to be
the initial one, i.e., freeing up the initial fluid states also makes
the temperature undefined.

I suspect that the reason why this did not lead to crashes is that for
isothermal `BlackOilFluidState` objects, the temperature is stored in
a static member variable.

thanks to at [at]bska for catching this issue.
2018-04-12 14:22:10 +02:00
Andreas Lauser ffe3914ddd thermal blackoil: fix a few issues with thermal conductivity 2018-04-05 19:31:55 +02:00
Andreas Lauser 26228ec5f3 fix the issues that emerged in the context of [at]totto82's review 2018-04-05 19:31:55 +02:00
Andreas Lauser 54c96aa1c2 blackoil, ebos: implement non-trivial boundary conditions
with this, it is possible do define fluxes of conservation quantities
over the domain boundaries by specifying the thermodynamic state on
the boundary when using the black-oil model. The main motivation is
are thermal fluxes which are required to maintain geothermal
temperature gradients over time.
2018-04-05 19:31:55 +02:00
Andreas Lauser 815be1451b implement the ebos part of energy conservation
I.e. everything which is ECL specific.
2018-04-05 19:31:55 +02:00
Andreas Lauser 8f61fe03fa switch the EclWriter to the new tasklet infrastructure 2018-03-12 16:51:30 +01:00
Andreas Lauser 7b56e9e9df clean up the determination of the directory for output
this should be done by the vanguard, not by the problem!
2018-03-12 16:51:30 +01:00
Tor Harald Sandve 6a1f7c8006 BUGfix enableEclOutput false 2018-03-05 14:56:48 +01:00
Tor Harald Sandve d15a86b039 clean up 2018-02-21 10:41:27 +01:00
Tor Harald Sandve 9372f9d2ca Make sure the updateMaxOilSaturation_ is called
The order of operation is left-to-right.
2018-02-21 10:38:52 +01:00
Atgeirr Flø Rasmussen 875aafe0f9 Merge pull request #289 from totto82/fix_default_output_dir
Fix default output directory
2018-02-19 17:04:41 +01:00
Tor Harald Sandve 932527d772 Pass RFT output via data::well
With this no cell data is used by the output code in opm-output
2018-02-19 13:18:56 +01:00
Tor Harald Sandve 27beb2faec Fix default output directory
Get default ecl output directory from IOConfig.
2018-02-19 13:16:49 +01:00
Andreas Lauser 436c9f8791 rename the "grid manager" to "vanguard"
IMO the term "vanguard" expresses better what these classes are
supposed to do: level the ground for the cavalry. Normally this simply
means to create and distribute a grid object, but it can become quite
a bit more complicated, as exemplified by the vanguard classes of
ebos..
2018-02-08 16:26:58 +01:00
Andreas Lauser 260d62c2b8 adapt to the move of code from opm-common to opm-material 2018-02-08 12:11:20 +01:00
Tor Harald Sandve 154e4fd97a Obey the input given by the deck.
Don't try to make the initial condition consistent for explicitly given
initial values.
2018-02-05 14:24:11 +01:00