Commit Graph

2942 Commits

Author SHA1 Message Date
Markus Blatt
28e566ba02 [bugfix] Prevent indexing an array of zero size for matrices with zero rows. 2018-02-06 12:45:13 +01:00
Markus Blatt
cfa311e055 recover compilation support for dune versions <2.6 2018-02-05 22:09:37 +00:00
Markus Blatt
cf1cdbd375 Improved documentation 2018-02-05 22:37:01 +01:00
Markus Blatt
8fc20456c5 Allow user to request aggregating the pressure system before solving it.
For this we added a new parameter cpr_pressure_aggregation. If it is true
we will aggregate the pressure already for the first system.
2018-02-05 22:37:01 +01:00
Markus Blatt
e24d338ddc Resort to support the usual parameters (as for flow_legacy)
These are solver_approach=cpr cpr_use_amg=(true|false), etc.
2018-02-05 22:37:01 +01:00
Markus Blatt
c367382a59 Prepare to use ILU for pressure system. 2018-02-05 22:37:01 +01:00
Markus Blatt
abacbe2cfc Do not use expensive aggregation when forming pressure system unless requested.
That means that for traditional CPR no aggregation is used and we simply extract
the pressure component.
2018-02-05 22:37:01 +01:00
Markus Blatt
5d8da52679 Use decoupling strategy of Scheichl/Masson in the CPR preconditioner.
Often it is claimed by CPR-AMG evangelists that this will make the pressure
system more elliptic. That may be the case. But even more important it also
decouples the pressure from the saturations.

Without this approach the pressure correction influences the smoothing of the
full system too much and e.g. for Norne CPR is worse than simple block ILU0.
2018-02-05 22:37:01 +01:00
Markus Blatt
6d21214fa7 Switch to ParallelOverlappingILU0 for CPRPreconditioner.
This seems to have been forgotten previously. Now the code int CPRPreconditioner.hpp
uses ParallelOverlappingILU0 instead of SeqILU[0n]/BlockPreconditioner which
makes the code more slim.
2018-02-05 22:37:01 +01:00
Markus Blatt
e6e18a3aa9 Make Blackoil system amg / CPR (flow_ebos) DUNE 2.6 aware. 2018-02-05 22:37:01 +01:00
Markus Blatt
c089a59cba Fix compiler lookup of get method. 2018-02-05 22:37:01 +01:00
Markus Blatt
f5d81513da First version of a AMG for the Blackoil equations.
The approach is inspired by Geiger's system-amg but we use dune-istl
aggregation AMG for it. On the fine level all unknowns attached to a cell
form a matrix block and are treated fully coupled. To form the first
coarse level system we use only the pressure component to guide the aggregation
and neglect all other unknowns on the fine level. All other level are formed
in the usual way by scalar aggregation.

Currently,it has to be requested for flow_ebos manually by passing
"linear_solver_use_amg=true amg_blackoil_system=true" to it.
2018-02-05 22:37:01 +01:00
Arne Morten Kvarving
141186ad1d changed: opm/[core -> common]/utility/parameters 2018-01-30 16:33:45 +01:00
Arne Morten Kvarving
e9404486bb changed: opm/common/[->utility]/ResetLocale.hpp 2018-01-30 12:34:04 +01:00
Arne Morten Kvarving
4945c9b2ed changed: pass the mcmg element layout as a parameter for dune 2.6
the template parameter is deprecated
2018-01-22 17:25:14 +01:00
Arne Morten Kvarving
2aa0043550 changed: use Dune::createScalarProduct for dune 2.6
ScalarProductChooser is no more
2018-01-22 17:24:58 +01:00
Arne Morten Kvarving
4315665b64 changed: expose category as member for dune 2.6
the enum can only be used with a define, and that would
just be a temporary solution in any case
2018-01-22 17:23:22 +01:00
Andreas Lauser
f34cfafc22 Merge pull request #1377 from totto82/useEbosEclOutput
Start using ecl output from Ebos
2018-01-10 15:01:27 +01:00
Atgeirr Flø Rasmussen
6c8b0d68ca Remove use of old implicit imcomp 2p transport. 2018-01-08 17:23:43 +01:00
Atgeirr Flø Rasmussen
aca95895c9 Fix: set precision of the correct stream. 2018-01-08 17:18:47 +01:00
Tor Harald Sandve
0e6fe26a61 Start using ecl output from Ebos
The wells, FIP and initial output of NNCs is still handled
by code in opm-simulators. The plan is to move more of the
functionality to ebos.

All tests pass and MPI restart works
2018-01-04 09:29:58 +01:00
Tor Harald Sandve
969d8f238d Use phase and comp info from FluidSystem
TODO: The output, fip and restart still uses a mixture of old and
new phase indices. This needs to be adressed in future PRs
2018-01-03 08:44:37 +01:00
Atgeirr Flø Rasmussen
9f14b63b82 Merge pull request #1370 from totto82/changeDpMaxDefault
Change dp_max_rel default from 1.0 to 0.3
2017-12-20 16:59:43 +01:00
Tor Harald Sandve
7567748f2d Adapt to changed initial FluidState type in ebos 2017-12-15 08:19:01 +01:00
Tor Harald Sandve
4097a07572 Change dp_max_rel default from 1.0 to 0.3 2017-12-14 11:16:16 +01:00
Arne Morten Kvarving
dfd91d162b quell signed/unsigned comparison mismatch warning 2017-12-05 16:50:58 +01:00
Arne Morten Kvarving
b702d3834b remove unused variable 2017-12-05 16:50:52 +01:00
Atgeirr Flø Rasmussen
03a0baf447 Merge pull request #1343 from GitPaean/single_phase_resv
making the single phase RESV injection work.
2017-12-05 14:06:44 +01:00
Tor Harald Sandve
095b82212c Use the initial solution from Ebos 2017-12-04 10:35:30 +01:00
Atgeirr Flø Rasmussen
65034250d1 Merge pull request #1356 from dr-robertk/PR/fix-minor-issue-gridview
[bugfix] make code compile when GridView is not Grid::LeafGridView.
2017-12-04 09:25:43 +01:00
Kai Bao
9317c1f023 removing the current argument in updateWellStateWithTarget
and some other cleaning up.
2017-11-30 17:14:29 +01:00
Kai Bao
ea3cbd1fe8 removing numComponents() from WellInterface
which is dumplicated from BlackoilWellModel.
2017-11-30 16:31:48 +01:00
Robert Kloefkorn
3a35a495a8 [bugfix] make code compile when GridView is not Grid::LeafGridView. 2017-11-29 23:26:38 +01:00
Atgeirr Flø Rasmussen
eef7b8ea94 Merge pull request #1348 from totto82/refactorBlackoilModelEbos
Put the ebosSimulator start and end methods where it belongs
2017-11-29 20:49:18 +01:00
Tor Harald Sandve
2d2f9285c5 Only read use_TUNING param once.
Just to clean up the .DEBUG file.
2017-11-28 14:25:25 +01:00
Kai Bao
7b61f3e692 moving polymer related to updateWaterMobilityWithPolymer
in StandardWell.

And not calculating the shear effect for the injecting wells when the
injection wells do not inject polymer.
2017-11-27 09:24:02 +01:00
Atgeirr Flø Rasmussen
46e958af43 Merge pull request #1337 from totto82/removeBlackOilPropsFromInit
Adapt to the refactoring of the Equil initialization code
2017-11-27 07:26:22 +01:00
Atgeirr Flø Rasmussen
f62275cb06 Merge pull request #1339 from blattms/write-ranks-without-nonactive
Disregard non-active cells when writing MPI_RANK in writeInitial.
2017-11-27 07:22:34 +01:00
Atgeirr Flø Rasmussen
401aa28c08 Merge pull request #1340 from totto82/solventAndResv
Make it possible to combine solvent and RESV
2017-11-27 07:20:24 +01:00
Atgeirr Flø Rasmussen
3fd27d9bd6 Merge pull request #1346 from GitPaean/removing_more_multisegment_legacy
removing more legacy Multisegment Wells related.
2017-11-24 15:30:39 +01:00
Tor Harald Sandve
9edb351d34 Put the ebosSimulator start and end methods were it belongs
Move the beginEpisode/endEpisode call to ebos to beginReportStep/
endReportStep and beginTimeStep/endTimeStep call to ebos to prepareStep/
afterStep
2017-11-24 15:16:03 +01:00
Kai Bao
f87e6d35db removing more legacy Multisegment Wells related. 2017-11-24 12:27:43 +01:00
Kai Bao
59722e552c making the single phase RESV injection work. 2017-11-24 11:44:53 +01:00
Tor Harald Sandve
ba358c0522 Only update TUNING when TUNING_CHANGE event 2017-11-23 14:24:40 +01:00
Tor Harald Sandve
dd97fc8908 Some clean up. 2017-11-23 11:15:50 +01:00
Tor Harald Sandve
c076ed6485 Move Rateconverter and pvtIdx to the wellInterface 2017-11-23 08:37:30 +01:00
Tor Harald Sandve
054361d537 Make it possible to combine solvent and RESV
Compute the conversion factor for solvent using the RateConverter.hpp
2017-11-22 15:21:21 +01:00
Markus Blatt
f32743cf31 Disregard non-active cells when writing MPI_RANK in writeInitial.
This saves space and it is allowed and recommended (spacewise) to
use integer arrays with only values for active cells in writeInitial.
2017-11-22 14:18:32 +01:00
Atgeirr Flø Rasmussen
796f6cd13c Merge pull request #1338 from totto82/scheduleTUNING
Support TUNING in schedule section.
2017-11-22 14:03:58 +01:00
Andreas Lauser
ef76d0a8cc Merge pull request #1335 from atgeirr/refactor-sim
Removing unused code parts and minor refactoring
2017-11-22 13:57:58 +01:00