Commit Graph

523 Commits

Author SHA1 Message Date
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
a9b72ab45b Fix episode index for restart 2019-05-13 12:49:08 +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
Tor Harald Sandve
8afdf2cdb5 add a summary state member in eclBaseVanguard 2019-05-13 12:35:06 +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
Markus Blatt
781fb46e61 [bugfix] Search all NNCs when applying EDITNNC.
The latter is not sorted. Therefore we either need to search the whole
range or sort it before processing it. Io pted for the former.
2019-05-08 13:50:51 +02:00
Markus Blatt
d2efdcfaa5 Implement correct ignore thresholds for NNC with/without EDITNNC.
It seems like eclipse ignores NNCs with small transmissibility.
Small means less than 1e-6 for Eclipse (Even if it says that it
is ignoring values below 1e-5 and/or zero values)!.
This commit now implements the same threshold during IO.

Also fixes a bug when applying EDITNNC, it needs to have cell1<=cell2 to work.
2019-05-08 13:50:51 +02:00
Markus Blatt
7849ce690d Make sortNncAndApplyEditnnc return vector of NNCData ready to be processed.
Previously the vector of NNCData was passed in as a reference and sorted.
Unfortunately, it needed to be transformed later to meet all prerequisites.
With this commit we do this transformations in sortNncAndApplyEditnnc.
Furthermore EDITNNC data is passed by value as it is not needed
outside and should usually not be to big. It was copied outside anyway!
2019-05-08 13:50:50 +02:00
Markus Blatt
f02c2d4114 Factor out sorting of NNC and application of EDITNNC for reuse. 2019-05-08 13:50:50 +02:00
Markus Blatt
583741d5b1 Ignore NNCs with zero transmissibility during output. 2019-05-08 13:50:26 +02:00
Markus Blatt
5aa0399c67 Write NNCs once and honor them when writing fault transmissibility
We first add all NNCs specified in the deck to the ouput
and then determine additional NNCs by iterating over all faces that
connect cells that are not connected in the underlying cartesian grid.
Therefore we need to make sure that we do not output NNCs twice
and for faults that also have a specified NNC we need to substract
the transmissibility specified via NNC.
2019-05-08 13:50:26 +02:00
Atgeirr Flø Rasmussen
c17adf788f Moved files to opm/simulators/ subdirs. 2019-05-08 12:58:19 +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
dd74fe1027 document all methods of EclThresholdPressure 2019-05-03 14:07:15 +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
Tor Harald Sandve
e19508e599
Merge pull request #1780 from andlaus/ebos_deck_diagnostics
Ebos deck diagnostics
2019-05-03 13:49:02 +02:00
Andreas Lauser
794b043a28 ebos: use the non-multisegmented well model by default
this avoids regressions for decks that use well testing and makes
`ebos` work as expected if UMFPACK is not available, but obviously it
will not work for decks that use multisegment wells in earnest.

`flow` is unaffected by this because it does not use this type tag.
2019-05-02 13:54:40 +02:00
Markus Blatt
184be292ea [bugfix] Use NNC data with applied EDITNCC for transmissibility.
Unfortunately, we first created NNC with applied EDITNNC and then
still used the original NNC data to set the transmissibility. Thus
we were actually ignoring EDITNNC.

This commit fixes this by using the data structure that has EDITNNC
applied.
2019-04-26 21:25:59 +02:00
Markus Blatt
3aa60433ad Removes unsigned-signed integer comparison warnings. 2019-04-25 10:00:59 +02:00
Markus Blatt
48c3802bf3 Removes unused function parameter warnings. 2019-04-25 10:00:59 +02:00
Andreas Lauser
4805e9fe05 ebos: run the diagnostics code for relative permeabilities
maybe this needs to be reverted since the code in question can
cause the simulation to abort inadvertently.

As usual, `flow` is unaffected because this functionality is only
called in experimental mode and flow calls it itself.
2019-04-05 16:21:22 +02:00
Andreas Lauser
67a8283000 ebos: call Opm::checkDeck() after parsing
this catches at least some common issues with ECL decks.
2019-04-05 16:21:22 +02:00
Joakim Hove
c9dcfc8be0 Use RFTConfig() object to query for RFT active wells 2019-04-04 07:27:39 +02:00
Tor Harald Sandve
ae6edf6a06
Merge pull request #1774 from andlaus/support_THPRESFT
Support THPRESFT
2019-04-03 09:20:53 +02:00
Tor Harald Sandve
c88806a5bc
Merge pull request #1770 from blattms/allow-empty-fipnum-vector
Cater for empty fipnum vectors in output code.
2019-04-02 14:59:34 +02:00
Tor Harald Sandve
2c51bc6219
Merge pull request #1772 from andlaus/ebos_maintainance
ebos: make its core headers self sufficient
2019-03-29 13:49:18 +01:00
Andreas Lauser
11439bca80 ebos: some small fixes to EclProblem::checkDeckCompatibility_() 2019-03-28 13:12:29 +01:00
Andreas Lauser
7b967d0498 ebos: implement experimental support for THPRESFT
as usual, `flow` is unaffected.
2019-03-28 13:09:44 +01:00
Tor Harald Sandve
2156f15d5f Adapt to new deck specification for the boundary condition 2019-03-27 09:27:03 +01:00
Andreas Lauser
cd681c6445 ebos: make its core headers self sufficient
this is part of the release maintainance. in this context "core
headers" means the ones which do not include the well model headers,
and only those which are concerned with non-exotic functionality,
e.g., the PolyhedralGrid and ALUGrid vanguards are not changed.
2019-03-26 13:17:54 +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
Markus Blatt
831f41c0e3 Cater for empty fipnum vectors in output code.
Due to loadbalancing this vector might be empty under some circumstances.
Hence the old code would dereference the end iterator which is a bug.
2019-03-22 15:14:08 +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
076f18c5d5
Merge pull request #1768 from andlaus/ebos_deck_check
ebos: add some checks to make sure that the simulator produces what the deck specifies
2019-03-22 15:02:00 +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
Andreas Lauser
fe62b4fe5e add an ebos variant which uses completely different numbering for phases and components
for some reason, this yields quite different results for norne than
the default variant, e.g. when comparing PRESSURE, we get

```
> compareECL -k PRESSURE -t UNRST ebos/NORNE_ATW2013 ebos_altidx/NORNE_ATW2013 1 1e-4
Comparing 'ebos/NORNE_ATW2013' to 'ebos_altidx/NORNE_ATW2013'.
Comparing PRESSURE...
Occurrence in first file    = 9
Occurrence in second file   = 9
Value index                 = 0
(first value, second value) = (254.195, 253.191)

Program threw an exception: [/home/and/src/opm-common/build-cmake/fake-src/examples/test_util/EclRegressionTest.cpp:161] Deviations exceed tolerances.
The absolute deviation is 1.00311, and the tolerance limit is 1.
The relative deviation is 0.00394624, and the tolerance limit is 0.0001.
```

IMO this is a bug, but the reasons for it are currently unknown.
2019-03-13 11:14:22 +01:00
Andreas Lauser
6452fbc3cd
Merge pull request #1752 from totto82/fixTUNING
Fix bugs in the TUNING implementation in ebos
2019-03-11 12:00:56 +01:00
Tor Harald Sandve
a6e82886bb Fix bugs in the TUNING implementation in ebos 2019-03-11 10:18:27 +01:00
Joakim Hove
39525dbf9c
Merge pull request #1749 from joakim-hove/move-wells
Move well includes to subdirectory Well/
2019-03-08 12:42:30 +01:00
Joakim Hove
485db348f0 Move well includes to subdirectory Well/ 2019-03-07 15:30:33 +01:00
Andreas Lauser
383009e031 add some ebos variants
these variants should cover most of the common use cases. That said,
there are no plans to provide simulators for combinations of blackoil
extensions or a "multiplexing" simulator like `flow`: If someone is
interested in e.g., an oil-water simulator with polymer and energy
enabled, a separate self-compiled executable should be added locally.
2019-03-05 18:30:35 +01:00
Tor Harald Sandve
81c709fabd
Merge pull request #1746 from andlaus/drift_compensation
ebos: implement partial elimination of systematic mass defects
2019-03-05 15:07:22 +01:00
Atgeirr Flø Rasmussen
ec408ed6da
Merge pull request #1744 from GitPaean/warning_nnc_inactive_active
warning instead of throwing for nnc between active cells and inactive cells
2019-03-05 14:01:34 +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
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
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
Kai Bao
a83db39cce warning instead of throwing for nnc between active cells and inactive cells 2019-03-04 12:49:17 +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
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
Andreas Lauser
3cd1252079 ebos: remove the code to calculate a mass conservative initial condtion if the specified condition is inconsistent
As far as I can see, this was always set to `false` anyway.
2019-02-15 13:45:23 +01:00
Andreas Lauser
0423676305 ebos: remove the DisableWells property
the purpose of this was a hack to be able to manipulate the Jacobian
matrix directly from outside code. Since `flow` has been converted to
the eWoms wells API, this is not required anymore.
2019-02-15 13:39:58 +01:00
Arne Morten Kvarving
c02ca868d6 Merge pull request #466 from atgeirr/handle-nnc
Use NNC support from CpGrid.
2019-02-14 10:22:42 +01:00
Andreas Lauser
0e761010a8 Merge pull request #472 from totto82/freeBC
Add support for using free boundary conditions in Flow
2019-02-08 20:50:02 +01:00
Tor Harald Sandve
a5463ed1a0 Add support for using free boundary conditions in Flow
The OPM spesific keywords FREEBC[XYZ[-]] can be used to specify
boundary cells that are open. Default is a closed boundary.
2019-02-07 14:56:55 +01:00
Atgeirr Flø Rasmussen
e926f557b8 Fix: indexInInside() and indexInOutside() return signed integers. 2019-02-07 12:00:49 +01:00
Atgeirr Flø Rasmussen
d087d7c41b Use NNC support from CpGrid. 2019-02-07 12:00:49 +01:00
Andreas Lauser
51b24d33d5 EclWriter: remove obsolete writeOutput() overload
this has been unused for any simulator for a while. the only code
which called it was the ECL output test, but this one could be easily
ported.
2019-02-06 12:21:08 +01:00
Andreas Lauser
dc1b92521a ebos: make it possible to account for external setup costs 2019-02-06 12:21:08 +01:00
Andreas Lauser
4ecda15b11 coding style fixes for the black-oil model and more style fixes for ebos 2019-02-01 17:33:30 +01:00
Andreas Lauser
7f27c4fb4b fix coding style of the ECL tracer model 2019-02-01 17:33:30 +01:00
Andreas Lauser
9afa62b78b fix some minor coding style issues in Ewoms::EclOutputBlackOilModule 2019-02-01 17:33:30 +01:00
Andreas Lauser
8b89e6ed97 unify coding style of Ewoms::AluCartesianIndexMapper 2019-02-01 17:33:30 +01:00
Andreas Lauser
c600d807b6 use the eWoms coding style conventions for Ewoms::TracerVdTable 2019-02-01 17:33:30 +01:00
Andreas Lauser
a9359602fc fix some minor coding style inconsistencies in EclWriter 2019-02-01 17:33:30 +01:00
Andreas Lauser
80e04aa8b4 fix style issues in EclTransmissibility and make the editNnc handling a bit simpler
the new editNNC code might be slightly slower, but I doubt that the
difference is even measureable for real decks.
2019-02-01 17:33:30 +01:00
Andreas Lauser
0aa9a2c6b8 make the coding style of femcpgridcompat.hh consistent with the rest of eWoms/ebos 2019-02-01 17:33:30 +01:00
Tor Harald Sandve
fb34eb304c Fix generic boundary conditions for blackoil model
Currently it doesn't allow for polymer or solvent influx
on the boundary with the free flow option
2019-01-31 15:41:47 +01:00
Andreas Lauser
70a7207578 Merge pull request #465 from GitPaean/fixing_single_precision_restart
each phase needs to be above certain value to be treated to be present
2019-01-22 16:11:53 +01:00
Kai Bao
56e829329f each phase needs to be above certain value to be treated to be present
it helps to recover some RESTART running based on single precision
format.
2019-01-22 13:53:08 +01:00
Andreas Lauser
dc6de0c31a Merge pull request #463 from totto82/convertFIPtoLAB
convert FIP values to LAB scale
2019-01-21 16:19:04 +01:00
Tor Harald Sandve
ee7b47e0f9 convert FIP values to LAB scale 2019-01-21 14:55:40 +01:00
Tor Harald Sandve
22097d4c10 Add trivial connection output to silence the output code
In this PR only trivial data is added.
2019-01-18 14:57:25 +01:00
Markus Blatt
3b8ef5f004 one line per variable as requested. 2019-01-16 13:16:45 +01:00
Markus Blatt
d87c5764b9 Use doxygen style suggested by reviewer. 2019-01-16 13:16:45 +01:00
Markus Blatt
ace49a2c22 Adhere to CamelCase for types, functions, and variables.
This seems to be covered for types and functions by our coding style
with room for interpretation. For variables the coding styles asks for
underlines though, but nevermind.
2019-01-16 13:16:45 +01:00
Markus Blatt
fb0f04d814 [bugfix] Cater for multiple EDITNNC entry for same cell pair. 2019-01-16 13:16:45 +01:00
Markus Blatt
64326dad53 [bugfix] Prevent accessing elements beyond end of NNC entries. 2019-01-16 13:16:45 +01:00
Markus Blatt
362476a494 [bugfix] Prevent double scaling of NNC with EDITNNC resembled trans
The former order resulted of first apply NCC to the grid
transmissibilities and then applying EDITNNC resulted in NNCs being
scaled twices. The reason is that applyNNCToGridTrans_ scales the NNC
with EDITNNC. With the patch the order of the function calls is
reversed to prevent double scaling.
2019-01-16 13:16:45 +01:00
Markus Blatt
5e83a26908 Process values from NNC keyword for those connection resembled by grid.
This is includes neighboring connection and NNCs due to faults. In both
cases the transmissibilities of specified via NNC are added to the set or
computed ones.

This is the first step for supporting NNC in flow.
2019-01-16 13:16:45 +01:00
Joakim Hove
c4c0d4ab9f Set default value of parameter EnableOpmRstFile to false 2019-01-15 13:05:45 +01:00
Kai Bao
9e483bed45 updating more quantities when restart
lastRs_, lastRv_, maxDRs_, maxDRv_

to get better restart.
2019-01-12 17:20:44 +01:00
Tor Harald Sandve
f971caeae9 Merge pull request #428 from andlaus/EclNewtonMethod
ebos: introduce an EclNewtonMethod
2019-01-11 13:06:20 +01:00
Andreas Lauser
c2377e7b10 EclNewtonMethod: make the exponent of the tolerance scaling settable by a parameter
the parameter is called `EclNewtonSumToleranceExponent`. if it is set
to 1, the specified tolerance will be used directly. (this is not
desireable in the general case though, because at the same result
quality, the sum error for large reservoirs can be larger than for
small ones.)
2019-01-11 11:24:20 +01:00
Andreas Lauser
0492796e85 address review comments 2019-01-11 11:21:23 +01:00
Andreas Lauser
ec391f529d make the ebos-Newton specific parameters setable from the command line
also, tweak them a bit: increase the sum tolerance before scaling to
1e-3 and reduce the default number of strict iterations to 4.
2019-01-11 11:21:23 +01:00
Andreas Lauser
c08f0008ad EclNewtonMethod: tweak the parameters a bit 2019-01-11 11:21:23 +01:00
Andreas Lauser
85a9b75076 ebos: allow larger errors for larger reservoirs
albeit, we scale the error only to the cube root of the pore
volume. the rationale is that the same amount of mass can get lost
"along" a line for each timestep.

maybe it would be a good idea to do something like this for time step
size as well because taking multiple small time steps currently allows
a much larger error in the result than doing it in one big step.
2019-01-11 11:21:23 +01:00
Andreas Lauser
07e1b4ecde ebos: introduce an EclNewtonMethod
this calculates the error and convergence differently from the
standard Newton method.
2019-01-11 11:21:23 +01:00
Joakim Hove
c223b4f4d4 Add StrictParsing commandline option 2019-01-11 09:01:30 +01:00
Andreas Lauser
18e64d0e7e fix some masochistic compiler warnings for the GCC 9 pre-release
the flags which I used are
```
-pedantic \
-Wall \
-Wextra \
-Wformat-nonliteral \
-Wcast-align
-Wpointer-arith \
-Wmissing-declarations \
-Wcast-qual \
-Wshadow
-Wwrite-strings \
-Wchar-subscripts \
-Wredundant-decls \
-fstrict-overflow \
-O3 \
-march=native \
-DNDEBUG=1
```

note that some heavy filtering is not the worst idea because DUNE is
far from not emiting any warnings with these flags.

Also, there were some pesky warnings in test_ecl_output which I don't
know how to fix:

```
tests/test_ecl_output.cc:218:73: warning: missing initializer for member ‘Opm::data::Connection::effective_Kh’ [-Wmissing-field-initializers]
```
2019-01-09 09:34:26 +01:00
Andreas Lauser
5d581bab7e ebos: fix explicit init for twophase cases
since OPM/opm-material#310 has been merged, data for deactivated
phases is not stored anymore and can thus no longer be accessed/set.

this fixes OPM/opm-simulators#1686
2019-01-08 11:18:17 +01:00
Joakim Hove
1706ae1ae4 Merge pull request #453 from joakim-hove/error-guard
Add ErrorGuard argument when parsing
2019-01-08 07:49:10 +01:00
Joakim Hove
c8564cfad3 Add ErrorGuard argument when parsing 2019-01-07 12:05:30 +01:00
Andreas Lauser
cf88834f67 Merge pull request #450 from totto82/add_support_for_multz_all
Add support for the Multz option ALL in PINCH
2019-01-07 10:04:09 +01:00
Tor Harald Sandve
227c0eab90 Merge pull request #452 from andlaus/recompute_old_storage
make it possible to explicitly compute the storage term of the previous time step
2019-01-04 13:11:40 +01:00
Tor Harald Sandve
625a4cd303 Merge pull request #433 from andlaus/conditional_temperature
ebos: only write out temperature in thermal runs
2018-12-21 12:48:54 +01:00
Andreas Lauser
af0d02b03d use enableEnergy consistently
thanks to [at]totto82 for noticing.
2018-12-21 10:07:58 +01:00
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
Tor Harald Sandve
4e65234acb Add support for the Multz option ALL in PINCH 2018-12-20 12:56:10 +01:00
Bård Skaflestad
1f3a9cc84a Fixed potential derefernce of end operator when applying EDITNNC. 2018-12-20 11:44:46 +01:00
Andreas Lauser
6a29318adf ebos: only write out temperature in thermal runs 2018-12-17 11:37:47 +01:00
Tor Harald Sandve
af45c893cf Merge pull request #445 from totto82/remove_nnc
Remove only nnc trans
2018-12-13 12:27:10 +01:00
Tor Harald Sandve
a5499ce576 remove only small nnc trans 2018-12-13 11:00:27 +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
Atgeirr Flø Rasmussen
c26aed1d42 Merge pull request #436 from totto82/remove_small_trans
remove transmissibilities less then 1e-6 in the given unit system
2018-12-11 11:26:35 +01:00
Atgeirr Flø Rasmussen
39571de366 Merge pull request #443 from totto82/disableTracer
Add parameter for (dis)enable the tracer model
2018-12-10 11:40:48 +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
Atgeirr Flø Rasmussen
4c7dcb1aba Merge pull request #441 from blattms/do-silent-getWriteRestartFile-call-on-nonzero-procs
Do not log messages during getWriteRestartFile query on all procs.
2018-12-07 18:53:45 +01:00
Atgeirr Flø Rasmussen
e8628c35d6 Merge pull request #425 from blattms/process-editnnc
Apply multiplicators from EDITNNC from the Deck.
2018-12-07 18:45:22 +01:00
Markus Blatt
84acf3965f Do not log messages during getWriteRestartFile query on all procs.
Previously all processes reported
Warning: Fast restart using SAVE is not supported. Standard restart file is written instead.
Now this is done only on the master process where logging is activated.
2018-12-07 15:56:45 +01:00
Markus Blatt
d7d9a3ecd8 bugfix: Fallback to SeqILUn in tracer code for DUNE < 2.6
In that versions SeqILU was not there.
2018-12-07 12:08:03 +01:00
Markus Blatt
a2be89d586 bugfix: Use a typedef that is actually defined.
Fixes `error: ‘LinearSolverScalar’ was not declared in this scope`.
2018-12-07 12:06:29 +01:00
Markus Blatt
7c2f6d9275 Refactored loop which applies the EDITNCC. 2018-12-05 10:15:42 +01:00
Markus Blatt
7a4b817010 Add spaces where requested by coding standard 2018-12-03 16:46:03 +01:00
Tor Harald Sandve
f9af2c5084 remove transmissibilities less then 1e-6 in the given unit system 2018-11-30 10:28:17 +01:00
Markus Blatt
cfac47ddbc Apply multiplicators from EDITNNC from the Deck. 2018-11-20 14:00:45 +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
Andreas Lauser
781825121d some cleanups 2018-11-12 12:48:33 +01:00
Robert Kloefkorn
cfcf04ed00 add an abstraction layer for the matrix between the linearizer and linear solver
this allows to assemble the Jacobian matrices directly into the native
format expected by linear solver. So far, only backends using
Dune::BCRSMatrix are provided, but there are work-in-progress patches
for dune-fem, vienna-CL and PETSc backends.
2018-11-12 12:48:22 +01:00