Atgeirr Flø Rasmussen
30cab9dbe6
Merge pull request #2819 from totto82/rocktab
...
Add support for ROCKTAB
2020-10-01 09:32:31 +02:00
Markus Blatt
6e1f729e8d
Work around MPIGuard which is broken in DUNE 2.7.0
...
Otherwise compilation aborts with:
flow_ebos_gasoil.cpp:(.text+0xa5d0): multiple definition of `Dune::GuardCommunicator::create(ompi_communicator_t* const&)';
2020-09-30 20:34:36 +02:00
Atgeirr Flø Rasmussen
0096035a97
Merge pull request #2818 from totto82/updateHystTime
...
Change when hysteresis and vappers are updated
2020-09-29 15:59:56 +02:00
Tor Harald Sandve
4f84ca4716
Add support for ROCKTAB
2020-09-28 20:32:34 +02:00
Tor Harald Sandve
56fc29beb1
move update of hysteresis and vappars from beginEpisode to beginTimestep
2020-09-28 10:02:31 +02:00
Atgeirr Flø Rasmussen
0cdd1eda69
Merge pull request #2812 from totto82/fixBC_2p
...
fix BC code for 2p simulations.
2020-09-28 09:51:01 +02:00
Atgeirr Flø Rasmussen
e8460b384e
Merge pull request #2804 from totto82/updateAndInvalid
...
Invalidate and update the intensive quantities at the same time
2020-09-28 09:02:25 +02:00
Atgeirr Flø Rasmussen
b5c5c28c16
Merge pull request #2788 from alfbr/new-defaults
...
New numerical defaults
2020-09-28 08:57:08 +02:00
Tor Harald Sandve
80fcccdd66
fix 2p BC code
2020-09-25 09:59:45 +02:00
Tor Harald Sandve
85e25f7e0e
Invalidate and update the intensive quantities instead of just invalidate them
2020-09-23 11:39:04 +02:00
Joakim Hove
0565d6f402
Remove unused #include of exceptions
2020-09-21 11:12:15 +02:00
Alf Birger Rustad
345597f5f7
Enable drift compensation
2020-09-16 16:09:14 +02:00
Bård Skaflestad
2bd80947b9
Fix Debug Build
...
Remove left parenthesis character left over from transitioning to
the type-based parameter system. The '(' produced a build failure
which only manifested in debug builds.
Thanks to Håkon Hægland for bringing the issue to our attention.
2020-08-31 16:33:52 +02:00
Arne Morten Kvarving
9a000c6d07
changed: remove SET_TAG_PROP macro usage
2020-08-28 10:44:53 +02:00
Arne Morten Kvarving
3b21a8a481
changed: remove SET_TYPE_PROP macro usage
2020-08-28 10:44:53 +02:00
Arne Morten Kvarving
93a3ebf8f7
changed: remove NEW_PROP_TAG macro usage
2020-08-28 10:44:53 +02:00
Arne Morten Kvarving
941e4916f8
changed: remove SET_PROP macro usage
2020-08-27 14:02:05 +02:00
Arne Morten Kvarving
7d853d2e05
changed: remove SET_SCALAR_PROP macro usage
2020-08-27 13:01:51 +02:00
Arne Morten Kvarving
fca83318aa
changed: remove SET_INT_PROP macro usage
2020-08-27 13:01:51 +02:00
Arne Morten Kvarving
a79c37a041
changed: remove SET_STRING_PROP macro usage
2020-08-27 13:01:51 +02:00
Arne Morten Kvarving
0e71c0e29b
changed: remove SET_BOOL_PROP macro usage
2020-08-27 13:01:51 +02:00
Arne Morten Kvarving
e8248b44ff
changed: remove NEW_TYPE_TAG macro usage
2020-08-27 13:01:51 +02:00
Arne Morten Kvarving
914053ac3c
changed: remove GET_PROP_VALUE macro usage
2020-08-27 13:01:51 +02:00
Markus Blatt
322bc8d9cc
only check deck on process 0
2020-08-27 09:05:09 +02:00
Arne Morten Kvarving
74fac38d85
changed: remove GET_PROP_TYPE / GET_PROP macro usage
2020-08-27 08:19:39 +02:00
Arne Morten Kvarving
70908d9017
changed: remove BEGIN_PROPERTIES/END_PROPERTIES macro usage
2020-08-21 15:50:35 +02:00
Tor Harald Sandve
bd9186b41d
implement Saltvd
2020-08-18 10:55:43 +02:00
Joakim Hove
8f78a15938
Add WListManager argument when constructing ActionContext
2020-07-09 07:30:37 +02:00
Joakim Hove
b52366926a
Add Action::State member to EclPropblem and pass it to io/ActionX
2020-06-17 12:25:03 +02:00
Joakim Hove
5a09624ad6
Add call to evaluate PYACTION in eclproblem::applyActions()
2020-04-14 08:48:32 +02:00
Arne Morten Kvarving
c40c733a57
fixed: build without MPI
2020-03-13 17:52:37 +01:00
Arne Morten Kvarving
51ee5205cb
changed: no need to serialize EclMaterialLawManager any longer
2020-03-09 11:23:12 +01:00
Markus Blatt
8bab43ffbd
Removed now unused variables.
2020-03-08 15:18:55 +01:00
Arne Morten Kvarving
09a7c00ed5
changed: no need to serialize PolymerModule any longer
2020-03-06 20:45:53 +01:00
Arne Morten Kvarving
9413425a78
changed: no need to serialize BrineModule any longer
2020-03-06 20:28:34 +01:00
Arne Morten Kvarving
3a559fb9fb
changed: no need to serialize FoamModule any longer
2020-03-04 15:05:37 +01:00
Arne Morten Kvarving
30892a006e
changed: no need to serialize SolventModule any longer
2020-03-04 10:01:03 +01:00
Arne Morten Kvarving
03a2129df3
changed: no need to serialize the FluidSystem any more
...
setup is now done all from state, which means it can be done
independently on all processes
2020-03-03 14:24:18 +01:00
Bård Skaflestad
8ed3b82c8a
Merge pull request #2385 from akva2/use_compressed_rock
...
use compressed field properties setting up rock parameters
2020-03-02 13:06:29 -06:00
Arne Morten Kvarving
888f0190b7
use compressed field properties setting up rock parameters
2020-03-02 15:34:12 +01:00
Arne Morten Kvarving
da901a1d11
Merge pull request #2379 from akva2/use_compressed_expl_init
...
use compressed field properties setting up explicit initial conditions
2020-03-02 13:01:25 +01:00
Arne Morten Kvarving
766410ff7c
Merge pull request #2378 from akva2/use_compressed_blackoil_ext
...
changed: use compressed field properties for blackoil extension init conds
2020-03-02 11:39:07 +01:00
Markus Blatt
9faf2979b9
Merge pull request #2377 from akva2/use_compressed_numbers
...
changed: use compressed field properties setting up numbers
2020-03-02 11:32:22 +01:00
Arne Morten Kvarving
d5d32e235c
use compressed field properties setting up explicit initial conditions
2020-03-02 11:21:20 +01:00
Arne Morten Kvarving
f0062d5913
changed: use compressed field properties setting up numbers
2020-03-02 11:20:26 +01:00
Arne Morten Kvarving
8d528daaa5
changed: use compressed field properties for blackoil extension intial conditions
2020-03-02 10:32:40 +01:00
Arne Morten Kvarving
ef27c1d110
use compressed field properties setting up ThermalLawManager
2020-02-28 12:31:14 +01:00
Arne Morten Kvarving
3c050f4dda
use compressed field properties setting up MaterialLawManager
2020-02-28 12:31:14 +01:00
Arne Morten Kvarving
ac28bbfd15
changed: avoid usage of eclipseGrid on non-root processes setting up transmissibilities
...
obtain data from root process
2020-02-28 10:24:00 +01:00
Arne Morten Kvarving
ef89d656fb
communicate global size setting up blackoil extension boundary conditions
2020-02-28 10:24:00 +01:00
Atgeirr Flø Rasmussen
8cd9da0d83
Merge pull request #2361 from akva2/removeNTGfill
...
remove minpvFillNtg a temporary solution while not supporting standard minpv
2020-02-24 13:34:43 +01:00
Tor Harald Sandve
06df233055
remove minpvFillNtg a temporary solution while not supporting standard minpv
2020-02-24 11:43:07 +01:00
Tor Harald Sandve
76682497e8
Merge pull request #2318 from akva2/fix_brine_module_init
...
fixed: call initFromDeck for Brine module
2020-02-17 14:17:17 +01:00
Robert Kloefkorn
526f1f9bb1
[bugfix][AsyncOutput] Restore asynchronicity for output and make sure
...
that all output is written before the simulator is finalized.
2020-02-10 12:11:30 +01:00
Arne Morten Kvarving
403a78e1cf
fixed: call initFromDeck for Brine module
2020-02-05 09:14:47 +01:00
Arne Morten Kvarving
df62305673
update for simplified Tuning data structure in opm-common
2020-01-31 13:45:05 +01:00
Joakim Hove
fcdd5874a3
Use RockConfig in eclproblem
2020-01-29 15:06:53 +01:00
Arne Morten Kvarving
35a085fe0d
changed: adjust to ThermalLawManager initialization changes
2020-01-29 08:54:50 +01:00
Arne Morten Kvarving
6cb300c0f9
initialize variable to avoid warning spew
2020-01-28 14:09:53 +01:00
Joakim Hove
bc718bafc8
Use BCConfig when setting up boundary conditions
2020-01-27 15:55:04 +01:00
Joakim Hove
2cfe1dce7f
Merge pull request #2295 from akva2/noecl_flush_matman
...
Avoid deck usage on non-root processes setting up MaterialLawManager
2020-01-22 15:09:57 +01:00
Arne Morten Kvarving
b7a2612ecf
avoid deck usage on non-root processes checking for EQUIL
...
this is achieved by using the InitConfig member from EclipseState
instead
2020-01-22 12:57:25 +01:00
Arne Morten Kvarving
7f9f65811f
changed: avoid deck usage on non-root processes setting up gravity
...
this is achieved by using the InitConfig member from EclipseState
instead
2020-01-22 12:57:25 +01:00
Arne Morten Kvarving
60f3fea67a
avoid deck usage on non-root processes setting up MaterialLawManager
2020-01-22 11:35:55 +01:00
Arne Morten Kvarving
3396b31852
changed: add helper template to serialize and broadcast static types
2020-01-22 00:32:46 +01:00
Arne Morten Kvarving
02ce13c800
Merge pull request #2291 from akva2/reorganize_matlaw
...
changed: adjust to split of initFromDeck in EclMaterialManager
2020-01-21 12:59:29 +01:00
Arne Morten Kvarving
f57a2bf089
changed: adjust to split of initFromDeck in EclMaterialManager
2020-01-20 15:33:45 +01:00
Arne Morten Kvarving
c3ecedadb1
avoid deck usage on non-root processes setting up FluidSystem
2020-01-20 11:17:31 +01:00
Arne Morten Kvarving
cfc9cb3513
changed: avoid near-duplicate code
2020-01-17 14:55:36 +01:00
Joakim Hove
0e9535319b
Simulate with only active cells ( #2213 )
...
Use FieldProps implementation for 3D properties
2020-01-13 15:46:50 +01:00
Bård Skaflestad
646e7d4eb1
Merge pull request #2265 from akva2/fix_serial_build
...
fix build without mpi
2020-01-06 17:02:08 +01:00
Arne Morten Kvarving
bd9ca91df2
fix build without mpi
2020-01-06 15:43:16 +01:00
Bård Skaflestad
dfb4946f13
Restart: Don't Access Solvent Saturation Unless Active
...
This commit ensures that the previous solvent restart fix (commit
afba6c8e8
, PR #2023 ) does not attempt to index into the data member
solventSaturation_ unless solvent is activated.
2020-01-06 14:11:11 +01:00
Arne Morten Kvarving
e5c44ce1f2
avoid usage of deck on all processes setting up EclFoamModule
2020-01-06 11:20:46 +01:00
Arne Morten Kvarving
777d38e550
avoid usage of deck on all processes setting up EclPolymerModule
2020-01-06 11:20:02 +01:00
Arne Morten Kvarving
3b27df91b4
avoid usage of deck on all processes setting up EclSolventModule
2020-01-06 11:19:12 +01:00
Joakim Hove
dc5340046a
Call applyActions at the end of every timestep
2019-12-06 13:18:49 +01:00
Bård Skaflestad
8a764568e1
EclProblem: Provide Mutable Access to Aquifer Model Object
...
This commit adds a new public member function,
EclProblem::mutableAquiferModel()
that returns a read/write reference to the contained EclAquiferModel
object. The immediate use-case is initializing analytic aquifers
from restart data.
2019-12-05 09:41:21 +01:00
Joakim Hove
ad00a3a891
SummaryState is updated at the end of simulator timestep
2019-12-03 15:52:47 +01:00
Joakim Hove
deb397cf0e
Update output from applyActions() to show date
2019-12-03 00:44:08 +01:00
Joakim Hove
f97b76a9b5
List the matching wells for Action eval
2019-11-29 19:18:38 +01:00
dr-robertk
18c31bda0b
Merge pull request #2047 from totto82/enableRockcompFlow
...
enable rockcomp in flow
2019-10-17 14:12:35 +02:00
Tor Harald Sandve
8c7d7e3d2e
enables rockcomp in flow
2019-10-17 12:44:49 +02:00
Tor Harald Sandve
86ef30950d
Add logging in ebos
...
With this .PRT and .DBG files are created also for ebos
2019-10-14 10:39:10 +02:00
Halvor M. Nilsen
d873ae165d
Enable single-phase runs.
2019-10-11 08:19:18 +02:00
Atgeirr Flø Rasmussen
96af6ca5f0
Merge pull request #2023 from totto82/fix_solvent_restart
...
Fix solvent restart
2019-10-01 15:35:22 +02:00
Tor Harald Sandve
afba6c8e8e
Fix solvent restart
2019-10-01 13:07:29 +02:00
Tor Harald Sandve
dfede36018
Make is possible to test driftCompensation i Flow, Default is still false
2019-09-25 09:03:32 +02:00
Arne Morten Kvarving
1aba020ea3
changed: ewoms/disc -> opm/models/discretization
2019-09-19 11:16:26 +02:00
Arne Morten Kvarving
d3d9831fc3
changed: ewoms/common -> opm/models/utils
2019-09-19 11:14:36 +02:00
Arne Morten Kvarving
7048589ec1
changed: ewoms/models/blackoil -> opm/models/blackoil
2019-09-19 11:12:45 +02:00
Arne Morten Kvarving
5599bb6d8c
changed: namespace Ewoms -> namespace Opm
2019-09-05 17:14:38 +02:00
Joakim Hove
ef3a159e89
Merge pull request #1986 from joakim-hove/enum-refactor
...
Adapt to enum changes
2019-09-04 16:29:32 +02:00
Joakim Hove
3d36565db7
Adapt to enum changes
2019-09-03 22:18:34 +02:00
Joakim Hove
750184cdf6
Add reportStep argument to Schedule::actions()
2019-08-29 19:38:27 +02:00
Joakim Hove
9b4c9e7dae
Add applyActions() to Simulator
2019-08-19 16:26:22 +02:00
Franz G. Fuchs
7fb90bff47
Use foam module.
2019-08-07 10:39:16 +02:00
Tor Harald Sandve
fd26b61599
Merge pull request #1907 from andlaus/improve_time_integration
...
Improve time integration
2019-06-27 14:08:07 +02:00
Kai Bao
9a2fcdbfd5
fixing warnings in other folder under opm-simulators
2019-06-26 10:48:41 +02:00
Andreas Lauser
c2aebbb5da
EclProblem: use the generic time integration mechanism
...
i.e., the EclProblem does no longer need to implement the
`timeIntegration()` method itself. since `flow` does not use this code
path, it is unaffected.
2019-06-25 12:39:00 +02:00
Tor Harald Sandve
4b1544469d
Only apply timestep after event at the beginning of an episode
2019-06-21 08:43:13 +02:00
Joakim Hove
2950faece0
Extract the Summary::eval() call from the output call
2019-06-19 09:51:46 +02:00
Tor Harald Sandve
ba3598a6ae
Let the output writer determine what to write in ebos
2019-06-14 13:57:41 +02:00
Tor Harald Sandve
9d6f20b172
Merge pull request #1870 from andlaus/ebos_cleanups
...
Ebos cleanups
2019-06-03 14:32:17 +02:00
Tor Harald Sandve
2df734f00e
output .INIT and .GRID also on restart
2019-06-03 12:21:34 +02:00
Andreas Lauser
c315a9a473
ebos: make it possible to disable aquifiers
...
for now, disabling aquifers is an experimental feature...
2019-06-03 11:20:41 +02:00
Andreas Lauser
ef74025523
ebos: tone down the warning in the startup message slightly
...
The intend is to make the purpose of `ebos` clearer: while it can be
used in production, the stability guarantees are somewhat lower than
for `flow` and testing is a bit less rigorous (most of the time).
2019-06-03 11:11:41 +02:00
Andreas Lauser
c86470e768
tracer model: fix a few output messages
...
fixes some typos, adds better wording and fixes some duplication
issues on parallel runs.
2019-06-03 11:11:41 +02:00
Andreas Lauser
b699f40cee
fix "checking conservativeness" debug message for parallel runs
2019-06-03 11:11:41 +02:00
Andreas Lauser
18d989c394
ebos: replace tabs with spaces and remove trailing white space
...
for some reason this keeps creping back in...
2019-06-03 11:11:41 +02:00
Tor Harald Sandve
8f60a5f9fc
Merge pull request #1841 from andlaus/remove_isSubstep
...
EclProblem: remove the isSubstep parameter from writeOutput()
2019-06-03 10:41:12 +02:00
Tor Harald Sandve
ae78cb86df
Make it possible to restart without computing initial conditions
2019-05-28 13:04:28 +02:00
Andreas Lauser
8657f18075
EclProblem: remove the isSubstep parameter from writeOutput()
...
Now that the book keeping for time stepping is correct even in `flow`,
this parameter has become redundant.
2019-05-13 13:05:39 +02:00
Tor Harald Sandve
6887f3bc73
Merge pull request #1821 from andlaus/tickling_the_dragon
...
flow: provide the correct episode size
2019-05-13 12:40:35 +02:00
Arne Morten Kvarving
3327e69c7f
fixed: use of restartTimeStep() before it has been read
...
it is read in the beginRestart() method, reorder code accordingly
2019-05-09 14:33:48 +02:00
Andreas Lauser
9b0be0f8ad
flow: provide the correct episode size
2019-05-09 13:28:56 +02:00
Tor Harald Sandve
890d34a9e1
Add support for water induced compaction using
...
ROCKCOMP, ROCK2D, ROCK2DTR, ROCKWNOD and OVERBURD
2019-05-07 13:17:29 +02:00
Andreas Lauser
d329547463
EclProblem: clean up the time management code
...
- when an episode/report step is over, the next is started by endEpisode()
- the problem does not deal with updating the simulation time anymore
- rename `episodeIdx` in to `reportStepIdx` the 'EclWriter' because
this variable is -- and always has been -- the report step number
used by some parts of `opm-output`'s ECL writing code (the report
step number is equivalent to the episode index plus 1). IMO, the
output and parser code should be made more consistent in regard of
whether it expects 0-based or 1-based indices, but this is a story
for another day.
2019-05-03 14:07:15 +02:00
Andreas Lauser
17a4092c82
EclProblem: introduce a simulator
auxiliary variable in most most cases
...
in most instances, this reduces the visual clutter a bit...
2019-05-03 14:07:15 +02:00
Andreas Lauser
6e351fef2e
EclProblem: limit the limitTimeStepSize()
to ebos
...
also, fix a few mistakes in that function.
2019-05-03 14:07:15 +02:00
Andreas Lauser
b9995f697f
well models: remove superfluous arguments
...
concretely this means the `eclState` and `schedule` arguments to the
`init()` and `beginTimeStep()` methods.
2019-05-03 14:07:15 +02:00
Andreas Lauser
7868e420c0
EclProblem: print "checking conservativeness" messages in debug mode
2019-05-03 14:06:41 +02:00
Andreas Lauser
0be0de38cb
EclProblem: ensure that eclWriter_ is always present
...
before patch, setting the `EnableEclOutput` parameter to `false`
resulted in the `eclWriter_` not to be allocated; yet it was used in
some places. this resulted in segfaults.
2019-05-03 14:06:41 +02:00
Andreas Lauser
701eb0edd3
ebos: never write restart files using the ad-hoc format
...
medium term, the output and restart file writing should be refactored:
the simulator does not need to be aware of this because it can be
accomplised in the problem's endTimeStep() method.
2019-05-03 14:06:41 +02:00
Andreas Lauser
11439bca80
ebos: some small fixes to EclProblem::checkDeckCompatibility_()
2019-03-28 13:12:29 +01:00
Tor Harald Sandve
2156f15d5f
Adapt to new deck specification for the boundary condition
2019-03-27 09:27:03 +01:00
Tor Harald Sandve
d1d7d0e0f5
Merge pull request #1769 from andlaus/api_tracking_stub
...
ebos: add a stub implementation for API tracking
2019-03-26 12:39:32 +01:00
Tor Harald Sandve
17c249fa46
Merge pull request #1765 from andlaus/minor_cleanups
...
Minor cleanups
2019-03-26 12:38:50 +01:00
Andreas Lauser
cdb2c6312a
ebos: add a stub implementation for API tracking
...
the only thing which this does so far is to introduce the respective
property and `ebos` will abort the run if the deck requests API tracking.
As usual for experimental features, `flow` is unaffected.
2019-03-22 15:04:07 +01:00
Andreas Lauser
0b0eb6df5e
ebos: add some checks to make sure that the simulator produces what the deck specifies
...
this should significantly reduce surprising behavior for users. since
this is an experimental feature, `flow` is unaffected.
2019-03-22 13:38:58 +01:00
Andreas Lauser
1b8124cc31
EclProblem: remove the initialTemperature_ array
...
this was not used since the fluid states that correspond to the
initial condition are kept permanently.
2019-03-21 12:35:10 +01:00
Tor Harald Sandve
a6e82886bb
Fix bugs in the TUNING implementation in ebos
2019-03-11 10:18:27 +01:00
Andreas Lauser
a812041184
ebos: implement partial elimination of systematic mass defects
...
the idea is to compensate the residual of the final solution of a time
step by means of an opposing source term in the next time step.
This patch has been developed as a joint project with [at]totto82 and
[at]osae.
(`flow` is unaffected by this because for now drift compensation is an
experimental feature and thus disabled within the production
simulator.)
2019-03-05 11:32:11 +01:00
Andreas Lauser
d7e74e7c4e
fix review comment by [at]totto82
2019-03-04 13:59:50 +01:00
Andreas Lauser
b60305082d
EclBaseProblem: fix the parent type tags for the EclBaseProblem tag in the non-default cases
...
this bitrot a bit because it was never seen by the compiler. (I still
did not check if `ebos` compiles and works if `CpGrid` is replaced by
dune-alugrid or `PolyhedralGrid`.)
2019-03-04 13:58:38 +01:00
Andreas Lauser
3ca8b8f285
ebos: improve the messages printed during the run
...
the convergence behaviour can now be understood and the report step
information is printed, too. This does not affect `flow`, becase it
implements its own newton and time stepping routines.
2019-03-04 13:58:38 +01:00
Andreas Lauser
f36680bf3a
EclProblem: Rename NewtonRawTolerance to NewtonTolerance
...
this property is not used by `flow` because `flow` implements its own
Newton method, but it not renaming the property prevents `flow` from
building.
2019-03-01 10:48:06 +01:00
Andreas Lauser
c9dfad2a3d
prefix the ECL timestep tuning parameters with 'Ecl'
2019-02-20 12:47:12 +01:00
Andreas Lauser
148728973f
fix the output of the size of the next time step if timestepping is done externaly
2019-02-20 12:47:12 +01:00
Andreas Lauser
b1a526e5c2
ebos: remove unused deprecated function
2019-02-20 12:47:12 +01:00
Andreas Lauser
a34a8d6b9e
ebos: implement partial support for the TUNING keyword
...
this only implements the parameters that are currently supported by
`flow`.
2019-02-20 12:47:12 +01:00
Andreas Lauser
0b600cb824
Merge pull request #483 from totto82/massratebc
...
Add option for setting mass boundary rate from deck
2019-02-20 12:15:21 +01:00
Tor Harald Sandve
430e667517
Add option for setting mass boundary rate from deck
...
Usage
BCRATE
1 1 1 1 1 10 X WATER 1e-7 /
This will inject 1e-7 of water (mass/time/length/length) on the x side of the
boundary cells with cartesian index [1 1 1] to [1 1 10]
2019-02-20 10:56:53 +01:00
Tor Harald Sandve
b4382c23e8
Merge pull request #481 from andlaus/add_experimental_mode
...
introduce an "experimental mode"
2019-02-20 09:39:33 +01:00
Andreas Lauser
c80e4c40c4
fix missing semicolon
2019-02-19 11:04:40 +01:00
Andreas Lauser
10d1d5c9a7
introduce an "experimental mode"
...
this is a compile time switch with the intention to be able to more
easily turn experimental features that are not yet considered to be
production quality on and off. DUNE has a similar mechanism (i.e., the
`DUNE_GRID_EXPERIMENTAL_GRID_EXTENSIONS` macro), but it relies on
the preprocessor.
For now, the property does not have any effect.
2019-02-19 10:22:34 +01:00
Tor Harald Sandve
9de0e54b63
Merge pull request #475 from andlaus/fix_ecl_restart
...
ebos: Fix restart from ECL files
2019-02-19 10:11:02 +01:00
Andreas Lauser
7165ae246a
ebos: clarify startup message
...
this hopefully makes the purpose of `ebos` clear in its
description. this prose should be interpreted as "if you use ebos in
production, you are on your own and you should only expect a very
limited amount of support (or even sympathy) if something breaks".
2019-02-19 10:07:01 +01:00
Andreas Lauser
5b032a6a28
fix the issues found by [at]tosa82 in his review
...
in particular the missing synchronization after restarts was very
nasty to find. thanks a ton for pointing this out!
also, IIRC changing DR[SV]DT in the schedule section has been working
properly for a while, so the comment which stated the opposite is
removed as well.
2019-02-19 09:07:12 +01:00
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
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
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
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
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
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
Kai Bao
9e483bed45
updating more quantities when restart
...
lastRs_, lastRv_, maxDRs_, maxDRv_
to get better restart.
2019-01-12 17:20:44 +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
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
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
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
2264b44f38
Pass region and field FIP to opm-output
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
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
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
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
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
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
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
Robert Kloefkorn
f18b1cdf59
[feature][Simulator] allow parameters to be passed from outside to
...
simulator. The default behavior is unchanged and the parameters are
empty.
2017-08-23 15:51:51 +02:00
Andreas Lauser
79fc6c68cd
add a template class for conditionally storing attributes and use it in ebos
2017-07-21 21:38:13 +02:00
Andreas Lauser
96381e3ed7
remove support for dune < 2.4
...
this allows quite a substantial amount of code decluttering, mainly
because Dune 2.4 renamed mapper.map() to mapper.index().
2017-07-13 14:08:02 +02:00
Robert Kloefkorn
f1da775f41
[bugfix] dimension was renamed in Geometry, so use from Element to be
...
consistent with earlier DUNE versions.
2017-06-23 22:58:50 +02:00
Robert Kloefkorn
2aada96d8c
[bugfix] fix build of ebos for Grid != CpGrid.
2017-06-23 22:58:49 +02:00
Tor Harald Sandve
195209982e
Add support for PLMIXNUM
...
also fix some issues with the MISCNUM
2017-06-21 10:27:25 +02:00
Tor Harald Sandve
ecae9d3a78
Address comments frow the review.
2017-06-21 08:03:44 +02:00
Tor Harald Sandve
3dd7fd0b3a
Add polymer model to ebos
...
Adds a conservation equation for polymer.
Polymer concentration in the water phase is used as primary variable
The polymer influences the viscosity of the water, and leaves gas and oil
uneffected.
A shear multiplier is computed if PLYSHLOG and/or SHRATE is specified
based on either velocity or shrate.
The shear multiplier effects the water and polymer viscosity.
Tested and verified on the test cases in polymer_test_suite
2017-06-21 08:00:31 +02:00
Robert Kloefkorn
c8bf519e5e
[bugfix] fix propName for ROCKNUM.
2017-06-20 18:08:12 +02:00
Joakim Hove
05bc61e4ba
Using std::time_t from TimeMap
2017-06-19 22:13:25 +02:00
Andreas Lauser
bff4c8ade9
ebos: add the raw array of PVT numbers.
...
this can be used by flow_ebos to be passed to legacy code.
2017-06-16 15:12:27 +02:00
Andreas Lauser
f334bb32b9
ebos: add support for the ROCKOPTS keyword
...
this becomes important if th region which is supposed to be used by
ROCK is not the same as the region for the PVT properties.
2017-06-16 15:12:26 +02:00