Commit Graph

3744 Commits

Author SHA1 Message Date
Atgeirr Flø Rasmussen
6572aeed5e Add sequential models for black oil.
This commit adds sequential solvers, including a simulator variant
using them (flow_sequential.cpp) with an integration test (running
SPE1, same as for fully implicit).

The sequential code is capable of running several (but not all) test
cases without tuning or special parameters, but reducing ds_max a bit
(from default 0.2 to say 0.1) helps with transport solver
convergence. The Norne model runs fine (esp. with a little tuning). A
parameter iterate_to_fully_implicit (defaults to false) is available,
when set the simulator will iterate with alternating pressure and
transport solves towards the fully implicit solution. Although that
takes a lot extra time it serves as a correctness check.

Performance is not competitive with fully implicit at this point:
essentially both the pressure and transport models inherit the fully
implicit model and do a lot of double (or triple) work. The point has
been to establish a proof of concept and baseline for further
experiments, without disturbing the base model too much (or at all, if
possible).

Changes to existing code has been minimized by merging most such
changes as smaller PRs already, the only remaining such change is to
NewtonIterationBlackoilInterleaved. Admittedly, that code (to solve
the pressure system with AMG) is not ideal because it duplicates
similar code in CPRPreconditioner.hpp and is not parallel. I propose
to address this later by refactoring the "solve elliptic system" code
from CPRPreconditioner into a separate class that can be used also
from here
2016-06-28 15:50:50 +08:00
Kai Bao
a1cc880ad7 only calculating repesentative radius when having PLYSHLOG. 2016-06-28 15:50:50 +08:00
Pål Grønås Drange
d37b60c6cf Added TOPS keyword to test deck 2016-06-28 15:50:50 +08:00
Kai Bao
9dbb908b04 adding a test for flow_multisegment
it is a 2D case with H__ pressure drop specification, and it takes about
2 second to run.
2016-06-28 15:50:50 +08:00
Atgeirr Flø Rasmussen
2c50e208dd Clone the Wells pointer for output use later. 2016-06-28 15:50:50 +08:00
Tor Harald Sandve
9bfb3f909e Allow for 2 phase initialization using EQUIL 2016-06-28 15:50:50 +08:00
Markus Blatt
4c9d359638 Print all well switching in parallel.
As for each well only one process is responsible, the output process
does not see all wells. Ergo some well switching information was never
printed in a parallel run.

Therefore with this commit the well switching
message is printed regardless on which process it appears.
2016-06-28 15:50:50 +08:00
Liu Ming
ad01934670 initial IterationReport. 2016-06-28 15:48:20 +08:00
Liu Ming
4000582952 use only one ostringstream. 2016-06-28 15:00:58 +08:00
Liu Ming
ed09cfa7e4 fix indentation. 2016-06-28 14:38:20 +08:00
Liu Ming
c6586d36c8 return IterationReport for assemble and solver well eq methods. 2016-06-28 14:37:48 +08:00
Liu Ming
9bf934363c output iterations depends on conditions. 2016-06-28 13:45:20 +08:00
Liu Ming
c2285c720d output date in step output. 2016-06-21 11:30:01 +08:00
Liu Ming
5e1e0d3711 initial wellIterations members. 2016-06-21 10:01:13 +08:00
Liu Ming
922490a9d8 Merge remote-tracking branch 'remotes/opm/master' into format-step-output 2016-06-21 09:28:30 +08:00
Liu Ming
0dfe945f25 output new step messages. 2016-06-21 09:28:08 +08:00
Liu Ming
66b8a2379b write residuals to PRT file. 2016-06-21 09:27:19 +08:00
Liu Ming
d13d21231d keep the unity of the API. 2016-06-21 08:36:15 +08:00
Liu Ming
b14ebe7616 return well iterations. 2016-06-21 08:35:44 +08:00
Liu Ming
969f6f1d1b return well iteration from simulators. 2016-06-21 08:35:33 +08:00
Atgeirr Flø Rasmussen
82d0c81c13 Merge pull request from atgeirr/add-store-fluxes
Changes to well model for supporting sequential approach.
2016-06-20 22:46:35 +02:00
Joakim Hove
efa9a604a8 Merge pull request from jokva/deprecate-wellptr
Well shared_ptr alias deprecated
2016-06-20 14:57:02 +02:00
Atgeirr Flø Rasmussen
ba9e599ec7 Use 'Vector' in place of 'V'. 2016-06-20 14:08:00 +02:00
Atgeirr Flø Rasmussen
9c0ffee8e9 Changes to well model for supporting sequential approach.
The changes are:
 - Make the WellOps struct public (needed by transport solver).
 - Make it possible to store and retrieve total reservoir volume
   perforation fluxes with getStoredWellPerforationFluxes(), controlled
   by a flag set by setStoreWellPerforationFluxesFlag(), defaulting to
   false (needed by pressure solver).
2016-06-20 11:02:49 +02:00
Atgeirr Flø Rasmussen
6dfd5ec63d Merge pull request from atgeirr/refine-nonlinear-solver-interface
Refine nonlinear solver interface
2016-06-17 12:37:15 +02:00
Atgeirr Flø Rasmussen
b811ec7715 Merge pull request from atgeirr/improve-solverselection
Refine setting of (linear) solver_approach.
2016-06-17 12:23:19 +02:00
Atgeirr Flø Rasmussen
f1af4f945c Make variable const. 2016-06-17 11:48:04 +02:00
Atgeirr Flø Rasmussen
82e935d92b Merge pull request from atgeirr/use-update-stabilization
Add use_update_stabilization parameter.
2016-06-17 11:40:09 +02:00
Atgeirr Flø Rasmussen
d29355d17d Remove unneeded (implicit) template argument. 2016-06-17 11:39:00 +02:00
Atgeirr Flø Rasmussen
19f4cef6c1 Add new step() overload taking initial states separately. 2016-06-17 11:14:32 +02:00
Atgeirr Flø Rasmussen
fab64f5afb Add non-const overload of model(). 2016-06-17 11:14:21 +02:00
Atgeirr Flø Rasmussen
d8390590f8 Refine setting of (linear) solver_approach.
Ensure that the parameter is printed also if defaulted.
2016-06-17 11:00:56 +02:00
Atgeirr Flø Rasmussen
3776ccab9e Add use_update_stabilization parameter.
This makes it easier to run without, for example for debugging.
The default is 'true', preserving existing behaviour.
2016-06-17 10:44:53 +02:00
Atgeirr Flø Rasmussen
6fed5a50c3 Merge pull request from atgeirr/const-preparestep
Use const reference parameters for prepareStep()
2016-06-17 09:21:27 +02:00
Atgeirr Flø Rasmussen
b21f4e16da Merge pull request from atgeirr/add-to-helperops
Add connection_cells member of HelperOps.
2016-06-17 09:03:26 +02:00
Atgeirr Flø Rasmussen
194288865b Fix forgotten prepareStep() signatures. 2016-06-17 08:41:12 +02:00
Atgeirr Flø Rasmussen
bf5fecfe9a Make prepareStep() parameters const. 2016-06-17 08:41:02 +02:00
Atgeirr Flø Rasmussen
5f51fea874 Add connection_cells member of HelperOps. 2016-06-16 16:21:37 +02:00
Joakim Hove
d6b3650160 Merge pull request from jokva/eclipse-writer-nnc-constructor
Pass NNC to OutputWriter constructor
2016-06-16 15:56:14 +02:00
Jørgen Kvalsvik
dfac3adaea Pass NNC to OutputWriter constructor
Keep up with an interface change in opm-output.
2016-06-16 13:34:29 +02:00
Jørgen Kvalsvik
ef51e9a2eb Well shared_ptr alias deprecated
The shared_ptr aliasing is deprecated, and in the Well case this has
been removed upstream.
2016-06-16 10:01:04 +02:00
Atgeirr Flø Rasmussen
691969eb86 Merge pull request from qilicun/minor-format-change
Add blank line before and after "Reading Parameters"
2016-06-16 08:57:55 +02:00
Liu Ming
49fbf5e493 document function and switch implementation. 2016-06-16 14:02:34 +08:00
Liu Ming
8224e7cef9 switch function calling order. 2016-06-16 09:48:39 +08:00
Atgeirr Flø Rasmussen
77562c8cbb Merge pull request from akva2/move_opm_output_upstream
update jenkins build scripts
2016-06-15 15:12:16 +02:00
Liu Ming
936cd8dc33 Add separate function for setup logging. 2016-06-15 15:24:05 +08:00
Joakim Hove
9c146eb611 Merge pull request from joakim-hove/travis-reorg
Using build-all travis configuration.
2016-06-13 10:29:09 +02:00
Liu Ming
969ce5ca53 add blank line before and after "Reading Parameters" 2016-06-13 13:43:50 +08:00
Joakim Hove
56574d529a Using build-all travis configuration. 2016-06-10 13:52:16 +02:00
Arne Morten Kvarving
07ef957352 update jenkins build scripts
update build order, opm-output moved in the dependency tree
2016-06-10 13:29:21 +02:00