Commit Graph

553 Commits

Author SHA1 Message Date
Atgeirr Flø Rasmussen
86b71e7d48 Merge pull request #989 from jokva/read-rock-compressibility-from-eclipsestate
RockCompressibility takes only EclipseState
2017-01-09 09:33:41 +01:00
Andreas Lauser
ef731672c9 remove the BlackoilPropsAdInterface abstraction layer
instead, directly use BlackoilPropsAdFromDeck.
2017-01-02 13:19:23 +01:00
Jørgen Kvalsvik
d2b5327a72 RockCompressibility takes only EclipseState 2016-12-20 12:39:34 +01:00
Atgeirr Flø Rasmussen
e223c03647 Merge pull request #800 from OPM/frankenstein
Frankenstein V2
2016-11-18 15:49:31 +01:00
Atgeirr Flø Rasmussen
71bd419c03 Do not assign to dereferenced null pointers. 2016-11-17 13:18:02 +01:00
Andreas Lauser
d989c1e2fc Merge remote-tracking branch 'origin/master' into frankenstein
* origin/master:
  Do not throw for unrecognized file when merging log files.
  Do not populate cellData but issue a warning in parallel.
  Removed ternary operator in inline initialization.
  Correctly mark transfer of ownership for ouptut writer
  Indent nested #if
  Remove Solution.sdc assignment
  Cater variable name change in BCRSMatrix of DUNE 2.5
  Fix using local active cells for writing eclipse files in parallel.
  add restart test for SPE1CASE2_ACTNUM
  rename the 'flow' binary to 'flow_legacy' and set a symbolic link
  Added ctest for restart files
2016-11-11 18:29:46 +01:00
Atgeirr Flø Rasmussen
129db89dc0 Merge pull request #900 from blattms/fix-parallel-eclipse-writing
Fix using local active cells for writing eclipse files in parallel.
2016-11-11 15:28:46 +01:00
Markus Blatt
3eba3353d0 Correctly mark transfer of ownership for ouptut writer 2016-11-10 13:04:30 +01:00
Markus Blatt
077dc02481 Fix using local active cells for writing eclipse files in parallel.
Previously, the eclipseGrid used by EclipseWriter was constructed from
the one in the EclipseState with the current CpGrid. Unfortunately the
latter was the distributed version resembling only the local part that
the processor works on. Therefore the information about the active cells
was wrong when writing results (which raised an exception in the writer).

With this commit we construct the EclipseWriter before distributing the grid
and use this writer later on in the OutputWriter.
2016-11-07 19:35:53 +01:00
Andreas Lauser
511a9039ab rename the 'flow' binary to 'flow_legacy' and set a symbolic link
this is a precursor of merging flow_ebos into the master
branch. hopefully, this won't break any existing setups...
2016-11-04 16:19:15 +01:00
Andreas Lauser
6754bad00b Merge branch 'master' into frankenstein
* master:
  Update to shared_ptr-less parser interface.
2016-10-20 20:16:42 +02:00
Jørgen Kvalsvik
1c6a4b34da Update to shared_ptr-less parser interface. 2016-10-20 14:08:04 +02:00
Andreas Lauser
7cfe8322e2 Merge branch 'master' into frankenstein
* master:
  adapt to the removal of the unit system of opm-core
2016-10-19 13:30:44 +02:00
Andreas Lauser
d76bf11902 adapt to the removal of the unit system of opm-core
the one which is in opm-parser is now a drop-in replacement.
2016-10-10 17:00:09 +02:00
Andreas Lauser
62de30d9b2 Merge remote-tracking branch 'origin/master' into frankenstein 2016-09-12 23:18:02 +02:00
Joakim Hove
10d76d5bb1 shared_ptr<EclipseGrid> -> const EclipseGrid& 2016-08-31 19:39:39 +02:00
Atgeirr Flø Rasmussen
61af1fa53d Remove unused nnc arg from BlackoilOutputWriter constructor. 2016-08-30 13:18:06 +02:00
Andreas Lauser
2e56597d0e fix Dune 2.3 build issue
this time I tested it.
2016-08-10 15:05:31 +02:00
Andreas Lauser
4b4ecb1145 fix a build issue with dune 2.3
(hopefully)
2016-08-10 14:45:20 +02:00
Andreas Lauser
3027e1f39d flow_ebos: do no longer use the generic FlowMain class
this will allow to boil the code down.
2016-08-09 18:38:23 +02:00
Robert Kloefkorn
3db63b0a22 add flow_ebos, an ebos based simulator
it uses ebos for linearization of the mass balance equations and the
current flow code from opm-simulators for all the rest. currently, the
results match the ones from plain `flow` for SPE1, SPE9 and Norne, but
performance is not optimal: on SPE9, converting from and to the legacy
data structures takes about a third of the time to do the actual mass
balance assembly. nevertheless `flow_ebos` is almost as fast as plain
`flow` for SPE9. (for Norne `flow_ebos` is about 15% slower, even
though the results match quite closely. the reason for this is that it
requires more iterations for some reason.)
2016-08-09 18:38:23 +02:00
Pål Grønås Drange
bd58792714 TransMult, Init, and SimConfig are references, applyModifierDeck takes reference, and EclipseState constructor too 2016-08-08 10:07:09 +02:00
Atgeirr Flø Rasmussen
7489f15ee9 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-27 10:28:09 +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
Markus Blatt
9bd2f7c1dc Fix incomplete type error for std::ofstream in examples
On my system I got
```c++
error: variable ‘std::ofstream file’ has initializer but incomplete type
         std::ofstream file(fname.str().c_str());
```
This is fixed with this commit by including fstream. Previously, this include might have happened implicitely.
2016-05-27 09:10:00 +00:00
Joakim Hove
db3bbbe65e Removed stale test code 2016-04-26 17:51:11 +02:00
Pål Grønås Drange
18f6672df0 Using getInputGrid API from Parser 2016-04-19 17:03:41 +02:00
Atgeirr Flø Rasmussen
be67e0f7a5 Update include file locations. 2016-04-14 11:32:08 +02:00
Joakim Hove
6f6f1afb8f Replaced SimulatorState -> SimulationDatacontainer
Have removed the SimulatorState base class, and instead replaced with
the SimulationDatacontainer class from opm-common. The SimulatorState
objects were typcially created with a default constructor, and then
explicitly initialized with a SimulatorState::init() method. For the
SimulationDataContainer RAII is employed; the init( ) has been removed -
and there is no default constructor.
2016-04-14 11:32:08 +02:00
Liu Ming
bfb5a49af1 rename ParseMode in examples folder. 2016-04-14 11:32:08 +02:00
Jørgen Kvalsvik
6ec0594f17 Improve includes from opm-parser
Adopting to opm-parser PR#661, add previously missing includes.

https://github.com/OPM/opm-parser/pull/661
2016-04-14 11:32:08 +02:00
Atgeirr Flø Rasmussen
6d80b5b03f In sim_2p_incomp, avoid running everything twice.
There were loops (over all timesteps) both in the
main() function and the simulator class.

Note:
This simulator cannot properly handle changing
well configurations, and will now use only the
initial configuration (first report step), instead
of possibly crashing later.
2016-04-14 11:32:08 +02:00
Andreas Lauser
29f4be0f6c use the error macros from opm-common 2016-04-14 11:32:08 +02:00
Joakim Hove
d23c4e5518 Updated to use ParseMode. 2016-04-14 11:32:08 +02:00
Atgeirr Flø Rasmussen
03a84a3ac4 Use existing TimeMap, instead of creating new. 2016-04-14 11:32:08 +02:00
Atgeirr Flø Rasmussen
9f587fee21 Bugfix: avoid using TimeMap without deck.
This made the simulator crash when there is no deck involved.
2016-04-14 11:32:07 +02:00
Andreas Lauser
b27aadc083 adapt the the table related API changes of opm-parser 2016-04-14 11:32:07 +02:00
Atgeirr Flø Rasmussen
e439084f81 Fix: eclipseState no longer shadowed. 2016-04-14 11:32:07 +02:00
Andreas Lauser
5b5f6e6aa6 Glue in support for the grid property modifier keywords
this basically means using Opm::EclipseState instead of the raw deck
for these keywords.

with this, property modifiers like ADD, MULT, COPY and friends are
supported for at least the PERM* keywords. If additional keywords are
required these can be added relatively easily as well.

no ctest regressions have been observed with this patch on my machine.
2016-04-14 11:32:07 +02:00
Andreas Lauser
12ece55907 rename all "newParserDeck" objects to "deck"
The "new" parser is now "the" parser...
2016-04-14 11:32:07 +02:00
Andreas Lauser
c89e1ed0b6 convert the examples and the tests to opm-parser 2016-04-14 11:32:07 +02:00
Joakim Hove
9f6d658486 Removed WellsManager constructor which takes an ole Eclipsegridparser instance. 2016-04-14 11:32:07 +02:00
Andreas Lauser
f0e86b98e3 catch all exceptions in all tutorials and examples 2016-04-14 11:32:07 +02:00
Andreas Lauser
e8458e9a23 convert THROW to OPM_THROW 2016-04-14 11:32:07 +02:00
Andreas Lauser
068519bd19 replace boost::scoped_ptr by std::unique_ptr
thanks to Bård Skaflestad, Atgeirr Rasmusen and Roland Kaufmann for
the hint.
2016-04-14 11:32:07 +02:00
Atgeirr Flø Rasmussen
fbf938ef91 Changed #ifdef HAVE_... to #if HAVE_... 2016-04-14 11:32:07 +02:00
Atgeirr Flø Rasmussen
c1e6c7c778 Fixed conditional compilation issues with UMFPACK.
This should fix the issue reported in #208 introduced in #203.
2016-04-14 11:32:07 +02:00
Atgeirr Flø Rasmussen
3ba94c0a68 Moved ColumnExtract and initState.
ColumnExtract -> opm/core/grid/ and initState -> opm/core/simulator/.
2016-04-14 11:32:07 +02:00
Atgeirr Flø Rasmussen
b312dfac6a Renamed newwells.h -> wells.h.
Also moved implementation file to subdir.
2016-04-14 11:32:07 +02:00
Atgeirr Flø Rasmussen
9aa64340e4 Move GridManager to grid subdir.
Also remove GridAdapter (moved to dune-cornerpoint), and
moved grid.c implementation file to grid subdir.
2016-04-14 11:32:07 +02:00