Markus Blatt
dc86d972d2
Removed hack to access StandardWell::addWellContributions.
2018-03-05 16:48:03 +01:00
Markus Blatt
12d2114bd7
Add well contribution to preconditioner matrix and always use old operator approach for wells.
...
It turned out that applying the well part of the full matrix has to be
done after the application of the non-well interactions. Otherwise we
screw up the ordering so much that convergence suffers a lot.
Kudos got Atgeirr for inspiration based on his testing.
2018-03-02 20:57:43 +01:00
Markus Blatt
f07874cf42
Cleanup code.
...
Removed unused boolean switch in WellModelMatrixAdapter and removed commented code.
2018-03-02 20:57:10 +01:00
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
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
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