Commit Graph

5466 Commits

Author SHA1 Message Date
Kai Bao
56caffab67 fixing comments for PR#1416 2018-02-28 10:26:54 +01:00
Kai Bao
635f6c7db2 trying to add the functionality to handle oil/water polymer 2018-02-28 08:39:38 +01:00
Markus Blatt
44d31f9dcc Removed unused variable warning in addWellContributions. 2018-02-26 16:23:13 +01:00
Markus Blatt
8aa0973cfc Removed unsused friend declaration.
This seemed to be a leftover from the approach taken
before the refactoring of the well code.
2018-02-26 16:20:41 +01:00
Markus Blatt
3be954fe98 Move multMatrixTransposed for better testability.
Otherwise we need to deal with the property system of ewoms.
2018-02-26 15:49:59 +01:00
Markus Blatt
e53374b8ec Check which each well whether to call apply for well contributions.
This allows for different implementations of wells in well_container
when adding well contributions to the matrix.
2018-02-26 15:47:25 +01:00
Markus Blatt
455cf79d8d Fixed comments in StandardWell 2018-02-26 15:16:07 +01:00
Markus Blatt
5ec804d362 Prevent unused variable warning 2018-02-26 15:16:07 +01:00
Markus Blatt
3f0d6f7dca Space 2018-02-26 15:16:07 +01:00
Markus Blatt
96a636f25b Let WellModel decide whether to apply well contributions.
It queries the Well whether the jacobian also contains well contributions.
If not then it applies them in the operator in addition. Thus the
well knows whether that is needed or not.
2018-02-26 15:16:07 +01:00
Markus Blatt
afb806bc3e Remove effectless typedef in version check.
The typedef is the same and has no effect since we
switched to Dune::FMatrixHelp::invertMatrix.
2018-02-26 15:16:07 +01:00
Markus Blatt
8e78f02230 Use Dune::FMatrixHelp::invertMatrix for inversion
Thus we always take advantage of the specializations in ISTLSolver.hpp
and do need to take care about the type of the matrix block.
2018-02-26 15:12:14 +01:00
Markus Blatt
b5d55b9fb2 Fix indentation and whitespace. 2018-02-26 14:35:04 +01:00
Markus Blatt
2e7313ac08 Cater for move of CpGrid header 2018-02-26 14:35:04 +01:00
Markus Blatt
9221bc958b Added missing header includes 2018-02-26 14:35:04 +01:00
Markus Blatt
01b90bce05 Improve well matrix products 2018-02-26 14:35:04 +01:00
Markus Blatt
22dfa6f135 Setup auxiliary module only once with all possible well completions.
Clearing the auxiliary modules will result in the sparsity pattern being
recomputed. Previously we did this before each nonlinear solve. But for the
master branch the sparsity pattern was only computed once for the whole
simulation.

To get the same behaviour (one sparsity pattern computation) we change the
auxiliary module to include all well perforations that might become active
during the simulation and do this once up front of a simulator run.

Please note that the new matrix entries might also improve convergence for
the ILU if the well is not active.
2018-02-26 14:35:04 +01:00
Markus Blatt
07f61c2a2b Add auxiliary module in BlackoilModelEbos constructor.
Previously, we did this during assemble. Unfortunately, this resulted
in the sparsity pattern being recomputed every time instead of just
once for a non-linear solve.
2018-02-26 14:35:04 +01:00
Markus Blatt
799cbb4b62 Add influences by well perforations to matrix.
This is only done upon request and uses the auxiliary module approach
provided by ewoms.

In the case of adding the influences we do not execute applyWellModelScaleAdd
or applyWellModel in the operator
2018-02-26 14:35:04 +01:00
Markus Blatt
d0fcd1a8e9 Add non neighboring connections induced by well perforations to matrix sparsity pattern
This is only done upon request and uses the auxiliary module approach
provided by ewoms.
2018-02-26 14:32:50 +01:00
Kai Bao
a8f560b046 addressing the comments. 2018-02-21 14:45:22 +01:00
Kai Bao
89bb589755 update the reservoir volume in WellState 2018-02-21 12:20:43 +01:00
Kai Bao
abfe9d445b recoring solution gas rate and solutiion oil rate in StandardWell 2018-02-21 12:20:43 +01:00
Kai Bao
f33657aabf adding a few memebers to WellStateFullyImplicitBlackoil
to get ready for populating well reservoir rates, solution gas
production rates and solution oil production rates.
2018-02-21 12:20:43 +01:00
Atgeirr Flø Rasmussen
d4ca28ec61
Merge pull request #1409 from totto82/fix_default_output_dir
Fix default output dir
2018-02-19 17:04:35 +01:00
Atgeirr Flø Rasmussen
1b33769922
Merge pull request #1399 from totto82/MoveWell
Some more cleaning in the output code in opm-output, ewoms and opm-simulator
2018-02-19 15:05:20 +01:00
Tor Harald Sandve
bcb501e3d3 Fix default output dir 2018-02-19 13:09:07 +01:00
Atgeirr Flø Rasmussen
8e9b13584d
Merge pull request #1403 from lars-petter-hauge/empty_wells_init
Allow Wells struct initialization without wells
2018-02-14 10:31:52 +01:00
Lars Petter Øren Hauge
011143829d Allow Wells struct initialization without wells
Calling wells()->number_of_wells on nullptr causes segmentation fault. This
occurs when running a deck without wells. Allowing WellsManager::init to
continue for decks without wells enables the well struct to be set.

Authored by Sveinung Rundhovde & Lars Petter Hauge
2018-02-13 16:43:10 +01:00
Atgeirr Flø Rasmussen
4f414b78ed Ensure we do not dereference nullptr. 2018-02-13 16:22:11 +01:00
Tor Harald Sandve
a89a6af854 Some more cleaning in the output code in opm-output, ewoms and opm-
simulator

1) Don't depend on legacy code for communicating the data::wells
2) Bugfix. Store globalIdx instead localIdx in data::wells::complitions
3) Move ThreadHandle to ebos
2018-02-12 08:44:43 +01:00
Atgeirr Flø Rasmussen
cf9b7c39b9 Adapt to moved opm-grid headers. 2018-02-10 08:33:33 +01:00
Andreas Lauser
3d0fca2f08 adapt to the gridManager() -> vanguard() change in ewoms 2018-02-08 16:27:42 +01:00
Andreas Lauser
7f3a9f1f43 catch NumericalIssue instead of NumericalProblem
the underlying problem is that the OPM build system does not define a
HAVE_OPM_COMMON macro in config.h.
2018-02-08 12:02:25 +01:00
Andreas Lauser
58a1b7df1f adapt to the move of infrastructure from opm-common to opm-material 2018-02-07 13:32:52 +01:00
Atgeirr Flø Rasmussen
532403c5fb
Merge pull request #1391 from totto82/RFIP
Use FIP, EGRID and INIT output code in ebos.
2018-02-06 12:54:01 +01:00
Arne Morten Kvarving
2da361414e changed: relocate the remaining files in opm/core/utility
move to opm/common/utility/numeric
2018-01-30 16:33:46 +01:00
Arne Morten Kvarving
141186ad1d changed: opm/[core -> common]/utility/parameters 2018-01-30 16:33:45 +01:00
Arne Morten Kvarving
e9e5c15e99 changed: opm/[core/linalg -> common/utility/numeric]/blas_lapack.h 2018-01-30 12:47:10 +01:00
Arne Morten Kvarving
e9404486bb changed: opm/common/[->utility]/ResetLocale.hpp 2018-01-30 12:34:04 +01:00
Arne Morten Kvarving
742d2d2158 changed: opm/common/[util->utility]/numeric/cmp.hpp 2018-01-30 12:13:30 +01:00
Tor Harald Sandve
cdeefc3a34 Fix command line argument for double precision restart output 2018-01-29 08:56:55 +01:00
Tor Harald Sandve
84a8b8eca6 Pass empty regionSummaryData and blockSummaryData to output 2018-01-29 08:56:55 +01:00
Tor Harald Sandve
b38430ea2e Output TCPU for every substep. 2018-01-29 08:56:55 +01:00
Tor Harald Sandve
6d0c716d76 Clean-up FIP 2018-01-29 08:56:55 +01:00
Tor Harald Sandve
36f6b7ad00 Remove writInit()
The EGRID and INIT files are written using ebos
2018-01-29 08:56:55 +01:00
Andreas Lauser
386ade39f4 flow: let core ebos handle the output directory for the result files
this adds a new parameter --ecl-output-dir=$FOO to the "virtual"
command line arguments of the ebos simulator.
2018-01-29 08:54:30 +01:00
Tor Harald Sandve
137ff53ae7 Remove output of FIP 2018-01-29 08:54:30 +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