Commit Graph
7882 Commits
Author SHA1 Message Date
Markus Blatt af3c45dd6a Do not add additional entries to matrix when not adding well contributions. 2018-03-02 20:55:58 +01:00
Atgeirr Flø Rasmussen b276aaa16b Changes made to test variations of matrix vs matrixless(ish) operator. 2018-03-02 14:22:59 +01:00
Atgeirr Flø Rasmussen 0db0e83843 Merge pull request #1414 from GitPaean/hack_to_fix_weird_well_rate_situation
trying to fix a problematic situation when updateWellState
2018-02-28 16:00:42 +01:00
Atgeirr Flø Rasmussen 320ae1b229 Merge pull request #1416 from GitPaean/support_oil_water_polymer
trying to add the functionality to handle oil/water polymer
2018-02-28 12:30:37 +01:00
Kai Bao 56caffab67 fixing comments for PR#1416 2018-02-28 10:26:54 +01:00
Kai Bao ec8dc4f534 trying to fix a problematic situation when updateWellState
for example, distr = 0 1 0, for rate control, F = 1 0 0, we will get a
zero F_target, then it is wrong to do the division with F_target.

It is okay when target = 0. When target != 0, the result is already very
wrong. Non-linear iteration can send us anywhere, not sure the best
solution for this kind of strange situation.
2018-02-28 09:47:22 +01:00
Kai Bao b71949b09e adding a test for polymer oil water 2018-02-28 08:39:38 +01:00
Kai Bao 635f6c7db2 trying to add the functionality to handle oil/water polymer 2018-02-28 08:39:38 +01:00
Atgeirr Flø Rasmussen 10887ddaca Merge pull request #1183 from blattms/matrix-with-well-connections
Add possibility to use matrix with well connections for preconditioner.
2018-02-27 16:25:06 +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 247241c037 Added test for multMatrixTransposed. 2018-02-26 16:11:53 +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
Atgeirr Flø Rasmussen f0b8e586a6 Merge pull request #1405 from GitPaean/populating_reservoir_rated_output
[WIP] Populating reservoir rate related output
2018-02-21 17:11:40 +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 e3e4f3acac Merge pull request #1408 from atgeirr/add-nowells-test
Add integration test with no wells.
2018-02-15 13:33:58 +01:00
Atgeirr Flø Rasmussen 5f8124bfbf Add integration test with no wells. 2018-02-15 10:07:58 +01:00
Arne Morten Kvarving 8ff91c83e7 Merge pull request #1406 from akva2/dyn_boost_test_bs
changed: let the build system handle the dynamic boost test defines
2018-02-15 08:14:46 +01:00
Arne Morten Kvarving adee0a1649 changed: let the build system handle the dynamic boost test defines 2018-02-14 16:04:48 +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
Atgeirr Flø Rasmussen 17a524e42c Merge pull request #1404 from atgeirr/fix-no-wells
Ensure we do not dereference nullptr.
2018-02-14 09:56:43 +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
Atgeirr Flø Rasmussen dd93a67086 Merge pull request #1402 from atgeirr/fix-binary-path
Use PROJECT_BINARY_DIR instead of CMAKE_BINARY_DIR.
2018-02-13 15:51:22 +01:00
Atgeirr Flø Rasmussen cf51303697 Merge pull request #1387 from akva2/buildsystem_conditionals
changed: only add conditionally built files if they are to be built
2018-02-13 15:51:04 +01:00
Atgeirr Flø Rasmussen 7b1d377e82 Use PROJECT_BINARY_DIR instead of CMAKE_BINARY_DIR. 2018-02-13 13:04:54 +01:00
Arne Morten Kvarving 371ae786ca changed: only add conditionally built files if they are to be built
instead of unconditionally adding, and then conditionally removing
again.
2018-02-13 12:35:39 +01:00
Arne Morten Kvarving 5ac22e9f42 Merge pull request #1401 from atgeirr/moved-opm-grid-headers
Adapt to moved opm-grid headers.
2018-02-12 16:32:06 +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