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