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
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
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
7fd640bb9e
make all header files includeable on their own right again
...
some property definitions and includes were missing.
2018-10-29 10:05:46 +01:00
Andreas Lauser
1d16dfc3fa
fix some warnings produced by clang 6
...
they are all harmless.
2018-10-29 10:05:46 +01:00
Andreas Lauser
f03711aff6
replace tabs by spaces
...
for whatever reason a few tabulator characters crept in...
2018-10-29 10:05:46 +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
Joakim Hove
709723d7ca
Merge pull request #402 from totto82/minpvv
...
add support for minpvv
2018-10-25 09:04:54 +02:00
Joakim Hove
4929108b6a
Merge pull request #400 from totto82/supportEditMult
...
Support modifying trans from deck
2018-10-24 10:37:01 +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
Tor Harald Sandve
7ad5a4d29b
Support modifying trans from deck
2018-10-15 12:36:22 +02:00
Joakim Hove
cee74bb2b5
Add commandline parameter --ignore-keywords=
2018-10-08 23:41:18 +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
Joakim Hove
0ca788f2f7
Set default value of EnableOpmRstFile to true
2018-09-24 14:18:02 +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
49442af4cc
Merge pull request #382 from totto82/ppcw
...
Output PPCW when SWATINIT is enabled
2018-09-12 12:38:53 +02:00
Tor Harald Sandve
dcb1e96606
Output and read PPCW when SWATINIT is enabled
2018-09-11 14:57:32 +02:00
Joakim Hove
67d4439cce
Merge pull request #361 from joakim-hove/wellconnection-updates
...
Wellconnection updates
2018-09-11 13:18:52 +02:00
Andreas Lauser
403ad6ee56
Merge pull request #381 from totto82/fix_nofill_minpv
...
Return modified ntg's only when minpv mode is OPMFIL
2018-09-10 16:21:07 +02:00
Tor Harald Sandve
dbcfb7af24
Return modified ntg's only when minpv mode is OPMFIL
2018-09-07 09:09:03 +02:00
Joakim Hove
f2992099d5
Merge pull request #380 from joakim-hove/thpres-fixup
...
Fixup THPRESPR -> THPRESPR
2018-09-05 21:11:07 +02:00
Joakim Hove
400f505a2c
Fixup THPRESPR -> THPESHPR
2018-09-05 14:59:02 +02:00
Joakim Hove
621028f6e6
Store capillary pressure in SOLUTION section
2018-09-04 14:14:48 +02:00
Joakim Hove
bdbf417887
Change string used for THPRES in restartfile
2018-09-03 16:59:23 +02:00
Joakim Hove
59238803bb
Get connection CF and Kh directly from parser Connecton object
2018-08-31 08:47:15 +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
095a529f28
add some quotes to the user output
...
this makes it clearer that no deck has been specified.
2018-08-17 13:08:23 +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
e7606d2afd
ebos: complain more explicitly about the input deck being unspecified
...
the previous error message was a bit confusing.
2018-08-07 11:37:12 +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
Atgeirr Flø Rasmussen
118e3f6dac
Restore const-ness accidentally lost.
2018-07-31 15:35:15 +02:00
Atgeirr Flø Rasmussen
a63aac0491
Merge pull request #352 from andlaus/ebos_allow_no_fip
...
ebos: add possibility to disable the FIP output even if requested in the deck
2018-07-31 11:32:15 +02:00
Andreas Lauser
935b5a5a9d
adapt to the fluid system naming convention change in opm-material
2018-07-27 12:56:19 +02:00
Andreas Lauser
ef845bb4f4
ebos: add possibility to disable the FIP output even if requested in the deck
...
this significantly reduces the noise level of debug files if the FIP
values are not of interest.
2018-07-26 12:31:32 +02:00
Andreas Lauser
29e113f1fd
ebos: get rid of HAVE_ECL_{IN,OUT}PUT
...
there are about a trillion places within ebos where the availability
of the ECL I/O routines is hardcoded, so it does not make sense to
pretent that the EclWriter can be useful without them.
(in fact, ebos is deactivated at build system level if the ECL I/O
routines have not been detected.)
2018-07-12 13:47:01 +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
24fc04a102
collecttoiorank.hh: use camelCase consistently
2018-07-12 11:15:37 +02:00
Andreas Lauser
b92aee90b5
CollectToIORank: remove unnecessary whitespace, braces
2018-07-12 11:15:24 +02:00
Andreas Lauser
4342210b5e
CollectToIORank: fix formatting of function declarations reduce unnecessary usage of whitespace
2018-07-12 11:00:56 +02:00
Andreas Lauser
88135e9f7c
CollectToIORank: minor fixes to the boiler plate
2018-07-12 11:00:31 +02:00
Andreas Lauser
d9b3b5c2e5
CollectToIORank: reindent code
2018-07-12 11:00:26 +02:00
Andreas Lauser
4b2d114f90
properly handle exceptions in auxiliary modules and the problems pre- and postprocessing routines
...
so far, exceptions thrown there caused MPI to desynchronize.
2018-07-11 13:59:29 +02:00
Andreas Lauser
ed0542b53b
ebos: make it work in parallel
2018-07-11 13:59:29 +02:00
Andreas Lauser
2c97fa302f
auxiliary modules: add a callback that is called after the linear solver but before the solution update
...
amongst others, this allows to properly implement Schur complements.
2018-07-09 12:13:58 +02:00
Andreas Lauser
a395a6d6ce
switch auxiliary modules from std::shared_ptr to raw pointers
...
lifetime management of these objects by shared pointers is not always
feasible; at least it is not always doable without awful hacks.
2018-07-09 12:13:58 +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
Andreas Lauser
be881c6b00
Merge pull request #335 from totto82/fix_thpress_init
...
WIP Fix thpress restart
2018-07-05 09:08:12 +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
Tor Harald Sandve
22d144c3cd
rename completion to connection
2018-06-28 15:49:45 +02:00
Joakim Hove
edbeb4538e
Merge pull request #328 from joakim-hove/rename-connection-set
...
Rename ConnectionSet -> WellConnections
2018-06-21 08:15:19 +02:00
Andreas Lauser
57f98d1612
ebos: allow to specify the ECL case name
...
... instead of just the full file name of the deck. this mirrors
flow's behavior.
2018-06-20 09:24:29 +02:00
Joakim Hove
7d972ab223
Rename ConnectionSet -> WellConnections
2018-06-17 14:39:23 +02:00
Andreas Lauser
c402ae4854
implement an "ECL output interval"
...
i.e., the ECL restart files are not necessarily updated after each
report step, but only each N-th (where N is the number specified by
the EclOutputInterval parameter). if this value is set to something
smaller than zero, the value which is computed by the EclipseState
object is used.
2018-06-15 20:27:42 +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
Andreas Lauser
91c209eb09
some stylistic cleanups of the ECL writer
2018-06-14 11:13:30 +02:00
Joakim Hove
2bd9c0ea78
Rename Completions -> Connections
2018-06-11 14:11:32 +02:00
Joakim Hove
3b5e746702
Load the THPRES values from the restart file
2018-05-31 11:58:27 +02:00
Robert Kloefkorn
3a9b7dc7b5
[bgufix][femcompat] remove operator << and operator >> for __float128
...
that accidentally came into the code again.
2018-05-23 14:50:16 +02:00
Andreas Lauser
1d573e02d5
Merge pull request #322 from dr-robertk/PR/fix-fieldtraits-issue
...
[bugfix][PrimaryVariables] Implement FieldTraits for PrimaryVariables
2018-05-23 11:28:52 +02:00
Robert Kloefkorn
5c19ead909
[bugfix][Ewoms] make compile with dune-fem 2.5
2018-05-22 22:17:04 +02:00
Joakim Hove
a58e7a19d9
Merge pull request #316 from joakim-hove/use-restart-value
...
Use RestartValue when calling Ecl writeTimeStep
2018-05-18 08:57:33 +02:00
Joakim Hove
324a4ad307
Save THPRES values to restart file
2018-05-14 16:13:53 +02:00
Tor Harald Sandve
98c2b03667
change ecl output name from SSOL to SSOLVENT
2018-05-09 14:52:43 +02:00
Andreas Lauser
a53ef08699
ecloutputblackoilmodule.hh: adapt coding style to the rest of eWoms
...
the style was mostly fine, but there were a few leftovers from the
pre-eWoms epoch of that code.
2018-04-30 19:06:07 +02:00
Tor Harald Sandve
91139efa27
Merge pull request #311 from andlaus/fixes
...
ebos fix and compiler workaround
2018-04-13 13:53:43 +02:00
Tor Harald Sandve
a697b523a3
Merge pull request #310 from andlaus/update_changelog
...
Update changelog
2018-04-13 10:46:26 +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
ae779f2132
make all headers autonomous again
2018-04-11 13:06:56 +02:00
Andreas Lauser
b64ca374c3
make ebos compile with dune-fem being around for dune 2.6
...
dune 2.6 seems to expect a referenceElement(geo) free function.
2018-04-10 13:31:04 +02:00
Andreas Lauser
ede2ef35af
rename compatibility.hh to ebos/femcpgridcompat.hh
...
the purpose of this seems to be to make 'Opm::CpGrid' usable with
'dune-fem'. This is quite a fringe case, and the code should better go
to opm-grid.
2018-04-10 13:31:04 +02:00
Andreas Lauser
1af2996b2a
move the base class for auxiliary modules to ewoms/disc/common
...
that's where it belonged in the first place.
2018-04-10 10:05:18 +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
4241986e94
equil initializer: use TEMPI to specify the initial temperature
...
this also implicitly takes care of RTEMPVD, RTEMP and all the other
ways of specifying the initial reservoir temperature.
2018-04-05 19:31:12 +02:00
Andreas Lauser
ddb6ef2acb
generalize the tasklet mechanism to an arbitrary number of worker threads
...
this has been quite a bit more complicated than I initially thought.
2018-03-15 11:05:10 +01:00
Andreas Lauser
b39b60109d
cosmetic changes to EclWriter
...
this commit does not do any logic changes, just identation, variable
names, etc.
2018-03-12 16:51:30 +01: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
Andreas Lauser
5f8fdb2324
make all headers fully autonomous again
2018-03-12 14:31:37 +01:00
Arne Morten Kvarving
397c69dded
Merge pull request #293 from akva2/adjust_ecl
...
adjustments for eclipse support in opm-common
2018-03-06 15:34:52 +01:00
Arne Morten Kvarving
a1601afd21
adjustments for eclipse support in opm-common
2018-03-06 09:09:17 +01:00
Tor Harald Sandve
6a1f7c8006
BUGfix enableEclOutput false
2018-03-05 14:56:48 +01:00
Andreas Lauser
21cce7514e
fix a few "unused variable" warnings that occur on more uncommon compilers
...
i.e. on ICC. the compiler is right in producing warnings here, though.
2018-03-03 13:27: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
Tor Harald Sandve
44ab370fae
Make the restart code more robust.
...
Don't assume all needed data is given in the restart file.
i.e. make it possible to run a solvent restart run from a standard
blackoil run.
2018-02-21 10:38:52 +01:00
Tor Harald Sandve
f90e074947
Demand the hystereris values if enalbed.
2018-02-21 10:38:52 +01:00
Tor Harald Sandve
b89a960a50
Fix bug in setting the max oil saturation after restart
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
afe26e8f12
Split the PackUnPack class
...
into PackUnPackBlockData, PackUnPackCellData and PackUnPackWellData
2018-02-19 13:18:56 +01:00
Tor Harald Sandve
3ede6ecc69
Rename ThreadHandle.hpp -> threadHandle.hh
...
Also adding some comments.
2018-02-19 13:18:56 +01:00
Tor Harald Sandve
76edfa7789
clean up after rebase
2018-02-19 13:18:56 +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
bbe2ae4a7b
fix rebase failure
2018-02-19 13:18:56 +01:00
Tor Harald Sandve
56bcb419fb
Add async 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
Atgeirr Flø Rasmussen
39793ec932
Adapt to moved opm-grid headers.
2018-02-12 10:20:09 +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
61461dd61c
Merge pull request #282 from andlaus/separate_opm-common_concerns
...
adapt to the move of code from opm-common to opm-material
2018-02-08 16:25:10 +01:00
Kai Bao
2c298b2b99
removing the completions after createGrid in eclbasegridmanager
2018-02-08 14:28:20 +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
d3cb81a7ba
Minor clean-up based on review
2018-02-05 14:24:11 +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
Tor Harald Sandve
fb27ebd4eb
Add output of temperature
2018-02-05 14:24:11 +01:00
Tor Harald Sandve
d771810562
Some more minor clean-up
2018-02-05 14:24:11 +01:00
Tor Harald Sandve
7ed66f0cf2
pass the mcmg element layout as a parameter for dune 2.6
2018-02-05 14:24:11 +01:00
Tor Harald Sandve
af7d031875
Minor clean-up after review
2018-02-05 14:24:11 +01:00
Tor Harald Sandve
51c1201fa6
Fix bug in pv output
...
Output current not orignal pore volumes
2018-02-05 14:24:11 +01:00
Tor Harald Sandve
eca5d8aff5
Fix slow code
...
Avoid checking summaryConfig at every cell
Add temporary fix around issue with RPTSCHED in restartConfig
2018-02-05 14:24:11 +01:00
Tor Harald Sandve
5fa7b130dc
Output double precision restart output if asked for
2018-02-05 14:24:11 +01:00
Tor Harald Sandve
b021ee54ca
Some clean-up
...
Dont' output rs, rv, somax and hysteresis if they are not enabled.
We no longer output the same as legacy.
2018-02-05 14:24:11 +01:00
Tor Harald Sandve
85ed4bffbf
Pass block values to OPM-output
2018-02-05 14:24:11 +01:00
Tor Harald Sandve
2264b44f38
Pass region and field FIP to opm-output
2018-02-05 14:24:11 +01:00
Tor Harald Sandve
5d5c6bad75
Fix parallel restart and pav in water zone
2018-02-05 14:24:11 +01:00
Tor Harald Sandve
de3df0d81d
Clean up PR review
2018-02-05 14:24:11 +01:00
Tor Harald Sandve
f62498440d
Add FIP, INIT and EGRID output
...
Writes INIT and EGRID files initially
Adds Fip to summary output if required.
Output Fip to log (.PRT) if Opm-logger is set
2018-02-05 14:24:11 +01:00
Andreas Lauser
9e7857ec1c
allow to specify the ECL output directory
...
by default, it is the current directory.
2018-02-05 14:24:11 +01:00
Andreas Lauser
8b7c14c4db
adapt to the reordering template arguments of get*_(fluidState) in opm-material
2018-01-19 11:49:06 +01:00
Andreas Lauser
49289c272d
use a named constant for the value of saturation that determines the presence of free gas
2018-01-10 15:06:24 +01:00
Andreas Lauser
7c2c0052b2
use infinity as the value for the last Rs
...
hopefully this does not screw anything up.
2018-01-10 15:06:24 +01:00
Andreas Lauser
3b30134a29
adress [at]atgeirr's review comments
2018-01-10 15:06:24 +01:00
Andreas Lauser
5a1413476a
implement support for the 'FREE' option of DRSDT
...
funnily enough, DRVDT does not exhibit such a flag...
2018-01-10 15:06:23 +01:00
Andreas Lauser
9a5a8c53dc
move the maximum oil saturation stuff into the problem
...
this also simplifies creating a more proper selection logic for the
DR[SV]DT keywords or VAPPARS.
2018-01-10 15:06:23 +01:00
Andreas Lauser
853d64c12c
deactivate DR[SV]DT if VAPPARS is present
...
actually, it depends on the ordering of these keywords, but this
requires some probably rather extensive changes in opm-parser.
2018-01-10 15:01:43 +01:00
Andreas Lauser
404b8d38b9
implement the ebos part of DRSDT
2018-01-10 15:01:43 +01:00
Andreas Lauser
ab11d2cf27
Merge pull request #262 from totto82/useOPM-output
...
Add ecl output from opm-output
2018-01-10 15:01:02 +01:00
Tor Harald Sandve
f0ee6df136
Only compute auxiliary values if asked for
...
Ask the restartConfig if restart files are written. Solution variables are
always written since they may be needed by the summary files
Remove output of saturated data to align with legacy code.
2018-01-09 14:01:30 +01:00
Tor Harald Sandve
abd3271f1c
Only collect to globalData for mpi
2018-01-09 13:08:05 +01:00
Atgeirr Flø Rasmussen
2d9285dbab
Merge pull request #269 from totto82/addPBDVandPDDV
...
Add support for PBDV and PDDV in initstateequil.hh
2018-01-09 11:40:34 +01:00
Tor Harald Sandve
1969c3711d
Move instead of copy data to solution vector
2018-01-09 11:28:20 +01:00
Tor Harald Sandve
0132c3326e
Add ecl output from opm-output
...
The new eclwriter output and restart using the eclIO from opm-output
All tests in opm-simulator pass and
MPI restart works.
Standard initialization is done prior to restart in order
to compute correct initial thpressure values. This is not
necessary if thpressures are written to the restart file
TODO: Some trivial fields are written out in order mimic legacy code,
this should be cleaned up
TODO: Output of wells, FIP, NNC is still done in opm-simulators.
This should be moved later.
2018-01-09 11:05:50 +01:00
Tor Harald Sandve
9192380308
Add support for PBDV and PDDV in initstateequil.hh
2018-01-09 10:42:04 +01:00
Andreas Lauser
4957a301f1
fix all Dune 2.6 related compiler warnings in ebos
2018-01-08 12:23:58 +01:00
Andreas Lauser
c8d7be3848
make all headers autonomous again
2018-01-03 19:03:22 +01:00
Andreas Lauser
4e37c53038
restore the hydrostatic equilibration test from opm-core
...
This involved quite a bit of kicking and screaming. The result
certainly is not pretty, but it works.
2018-01-03 12:28:12 +01:00
Andreas Lauser
f65e9fbb69
remove the runtime parameter system from all time critical code paths
...
it was not supposed to be used there in the first place, but it crept
into the discretization code.
2018-01-02 14:28:52 +01:00
Andreas Lauser
794fc3f588
equil init: reduce the tolerance of the regula falsi solvers to 1e-10
2018-01-02 14:28:06 +01:00
Andreas Lauser
2f00e7804a
equil init: rename the files according to the eWoms standard convention
...
the eWoms file naming convention should probably be changed to the one
of the remaining OPM modules, but this is quite a bit of work and IMO
it is more important to be consistent within the module.
2018-01-02 14:28:06 +01:00
Andreas Lauser
69b1a5ca5a
equil init: formating fixes to make it more consistent with the rest of ewoms
...
in particular, this removes excessive whitespace usage.
2018-01-02 14:28:06 +01:00
Andreas Lauser
79856b3b0a
equil init: change all variables to camelCase
...
this makes it more integrated with the rest of eWoms.
2018-01-02 14:28:06 +01:00
Andreas Lauser
01c2a2da97
equil init: re-indent
...
this makes the indentation style of the equil init code consistent
with the rest of eWoms.
2018-01-02 14:28:06 +01:00
Andreas Lauser
0690cad957
equil init: get rid of boost::iterator_range
...
this class is rather simple and it was the only thing from Boost used
by the hydrostatic equilibrium code...
2018-01-02 14:28:06 +01:00
Andreas Lauser
d142060386
equil init: replace opm-core's linear interpolation function by Tabulated1DFunction
2018-01-02 14:28:06 +01:00
Andreas Lauser
3f875fb8f2
equel init: pass the type tag to the InitialStateComputer
...
also, get rid of Opm::extractPvtTableIndex()
2018-01-02 14:28:06 +01:00
Andreas Lauser
028a8c808b
equil init: get rid of opm-core's "root finders"
...
instead, let's bit the bullet and add the few lines required for
regula-falsi-Pegasus method whenever the old RegulaFalsi class was
used. note that this leads to slightly different results for the
SPE5CASE1 flow test. I suspect that the old solvers behave in
unexpected ways, though...
Note that because the inverted functions are usually piecewise linear,
inversion can be done in a much smarter way.
2018-01-02 14:28:06 +01:00
Andreas Lauser
db9e26761f
equil init: get rid of some UgGridHelpers usage
...
this only deals with the easy things, i.e. UgGridHelpers::numCells()
and UgGridHelpers::dimensions(). a more thorough cleanup is needed in
the future to make ebos work with grids other than Dune::CpGrid again.
2018-01-02 14:28:06 +01:00
Andreas Lauser
669d3fcd2a
equil init: re-indent EquilibrationHelpers.hpp
2018-01-02 14:28:06 +01:00
Andreas Lauser
6f07f38fb1
equil init: get rid of initStateEquil_impl.hpp
...
now, all the beauty of that part of the code can be admired in
initStateEquil.hpp.
During this exercise, I stumbled over some serious code-quality issues
like a different order of the template arguments for the declaration
and the definition, mismatching argument names and no forward
definition of some functions. besides this, some functions were
already defined in the non-_impl.hpp file and EquilibrationHelpers.hpp
used that approach from the outset.
2018-01-02 14:28:06 +01:00
Andreas Lauser
6871e1cf88
move the hydrostatic equilibrium code to its proper location and make it compile
...
this just moves the hydrostatic equilibrium code from its historc
location at opm/core to ebos/equil and adds minimal changes to make it
compile. this allows to clean up that code without disturbing the
legacy simulators.
2018-01-02 14:28:06 +01:00
Tor Harald Sandve
321af5ff4d
Start using the BlackoilFluidState
2017-12-15 08:20:09 +01:00
Andreas Lauser
ab72522e6c
grid managers: update the GridPart / GridView after loadBalance()
...
depending on the grid implementation, the grid view / grid part object
does not necessarily follow the change. For some reason, the grid part
still does not work in the parallel case (tested with dune-fem 2.4),
but that seems to be an issue on the dune-fem side.
2017-12-11 15:19:09 +01:00
Andreas Lauser
0cad40e420
black-oil: do not write the saturated oil formation factor to VTK anymore
...
this quantity is pretty useless, and the analogous one for wet gas was
never written...
2017-12-06 15:06:29 +01:00
Atgeirr Flø Rasmussen
6a5c6ea227
Merge pull request #241 from totto82/removeInitDupl
...
Prepare for using the initial solution from ebos directly
2017-12-05 08:44:29 +01:00
Tor Harald Sandve
8ac306b50a
Prepare flow for ebos initialization
...
Apply swatInit in the initialization
Stop using the equilGrid in the initialization code
Keep The initialFluidState until end of first time step to make it
possible for flow to output it.
2017-11-30 09:30:26 +01:00
Tor Harald Sandve
c979ba1f95
Communicate the default thpress
2017-11-29 16:02:18 +01:00
Tor Harald Sandve
2070247244
Avoid shared pointe for MaterialLawManager
2017-11-21 13:28:53 +01:00
Tor Harald Sandve
5a9123c1b1
Use the Equil initializer directly
...
Do not relay on opm-core objects like phaseUsage and BlackoilState but
instead use the initializer directly.
2017-11-21 13:28:53 +01:00
Joakim Hove
029de3542e
Schedule: explicitly instantiated
2017-10-31 13:14:12 +01:00
Andreas Lauser
6598df59cc
Revert "ebos: don't break the downstream build because of the SimulatorParameter mess"
...
This reverts commit c873e8c92da389bc1d6bc4ed2a5241faddfa7630.
since OPM/opm-simulators#1287 has been merged there are no "in tree"
upstreams which use that mechanism anymore.
2017-10-11 16:12:41 +02:00
Andreas Lauser
d51934ce37
ebos: don't break the downstream build because of the SimulatorParameter mess
...
this now works with the unmodified master version of flow from
opm-simulators. we take the liberty to emit a deprecation warning,
though. this complicates things quite a bit.
2017-10-10 13:18:09 +02:00
Andreas Lauser
ef2e60e454
ebos: simplify passing of pre-parsed ECL decks
...
This gets rid of some special-purpose code in generic places (i.e. the
`SimulatorParameter` class) and no special hacks to the property and
parameter system are required anymore.
2017-10-07 21:28:25 +02:00
Andreas Lauser
415fdfd113
EclCpGridManager: remove unused private typedef
2017-10-03 12:48:21 +02:00
Arne Morten Kvarving
fde56c93b2
Merge pull request #209 from andlaus/remove_dune_2_3_support
...
remove support for dune < 2.4
2017-09-22 11:39:59 +02:00