Commit Graph

317 Commits

Author SHA1 Message Date
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
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
Andreas Lauser
a5493919da ecl base vanguard: make the schedule and summaryConfig objects user-replaceable
thanks to [at]atgeirr for the suggestion.
2018-11-08 11:32:56 +01:00
Andreas Lauser
868c4b1cc5 ebos: clean up the mess that is the schedule and summaryConfig objects a bit
IMO the simulator should not be in the business of managing low-level
parser objects in the first place, because that's what EclipseState is
supposed to do?!

anyway, since these objects are not needed to decide which simulator
to use, they are now always managed internally by the vanguard, i.e.,
setExternalDeck() does not take them anymore.
2018-11-07 12:31:20 +01:00
Tor Harald Sandve
38dd81ba7e Avoid output of trivial fipnum regions 2018-11-06 09:02:30 +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