Commit Graph

359 Commits

Author SHA1 Message Date
Arne Morten Kvarving
97e1cdb662 added: MultisegmentWellEquations::extractCPRPressureMatrix()
this adds the cpr pressure matrix to a matrix.
this is the core of MultisegmentWell::addWellPressureEquations
use the new method in the implementation.
2022-12-05 10:13:55 +01:00
Arne Morten Kvarving
de8eedb9a6 added: MultisegmentWellEquations::extract(SparseMatrixAdapter)
this adds the well matrices to a sparse matrix adapter.
this is the core of MultisegmentWell::addWellContributions.
use the new method in the implementation.
2022-12-05 10:13:55 +01:00
Arne Morten Kvarving
d50aaf8ed4 added: MultisegmentWellEquations::recoverSolutionWell()
this recovers the well solution from a solution vector.
use the new method in the well implementation.
2022-12-05 10:13:55 +01:00
Arne Morten Kvarving
bc312d1117 added: MultisegmentWellEquations::solve()
this applies the inverted D matrix to the residual vector.
use the new method in the well implementation.
2022-12-05 10:13:55 +01:00
Arne Morten Kvarving
a7cb444328 MSWellHelpers: simplify interfaces
- avoid passing the matrix, only pass the solver. possible
  since setting up the solver is not done in here any more.
- avoid passing shared_ptr's
2022-12-05 10:13:55 +01:00
Arne Morten Kvarving
e67e58d0c8 added: MultisegmentWellEquations::createSolver
this applies compute the LU decomposition of the D matrix
2022-12-05 10:13:53 +01:00
Arne Morten Kvarving
abf5f94561 added: MultisegmentWellEquations::apply(r)
this applies the equation system to a vector.
use the new method in the well implementation.
2022-12-01 10:36:40 +01:00
Arne Morten Kvarving
f2acbccc1a added: MultisegmentWellEquations::apply(x,Ax)
this applies the equation system to a vector.
use the new method in the well implementation.
2022-12-01 10:36:40 +01:00
Arne Morten Kvarving
ac245a2e17 added: MultisegmentWellEquations::clear
this zeros the equation system.
use the new method in the well implementation.
2022-12-01 10:25:57 +01:00
Arne Morten Kvarving
57f09050fc add: MultisegmentWellEquations
this is a container for the multisegment well equation system
2022-12-01 10:25:28 +01:00
Arne Morten Kvarving
eadf972014 MSWellHelpers: reverse order of template parameters
this way the matrix type and be deduced from passed parameters
2022-11-30 23:05:29 +01:00
Kai Bao
6102249466 Merge pull request #4289 from akva2/fix_thp_regression
fix regression in wells
2022-11-28 10:46:35 +01:00
Arne Morten Kvarving
c9856b9b2a WellInterface: make updatePrimaryVariables non-const
this will obviously modify well state
2022-11-25 13:09:29 +01:00
Arne Morten Kvarving
fba6249dd8 WellInterface: make recoverWellSolutionAndUpdateWellState non-const
this will obviously modify well state
2022-11-25 13:09:29 +01:00
Arne Morten Kvarving
147f0eb2bd WellInterface: make initPrimaryVariablesEvaluation non-const
this will obviously modify well state
2022-11-25 13:09:29 +01:00
Arne Morten Kvarving
2da1322697 fix regression in wells
we need to call WellInterface::getTHPConstraint,
not WellBhpThpCalculator::getTHPConstraint
2022-11-23 15:37:04 +01:00
Arne Morten Kvarving
d2c028fb74 StandardWell_impl.hpp: remove some unused headers 2022-11-22 10:37:41 +01:00
Atgeirr Flø Rasmussen
5107bcfada Merge pull request #4226 from hnil/remove_assert_cprw
removed assert in cprw for strictly positive diagonal well coupling
2022-11-14 12:42:37 +01:00
hnil
9c76c96f21 moved debug code into #if section 2022-11-14 11:36:48 +01:00
Kai Bao
97b016ef44 fixing some typos in MultisegmentWell_impl.hpp 2022-11-05 22:51:59 +01:00
hnil
85bfa13c46 change std:cout to OPM::debug 2022-11-04 16:26:12 +01:00
hnil
a86bd1c585 removed assert in cprw for strictly positive diagonal well coupling 2022-11-01 21:39:55 +01:00
Arne Morten Kvarving
e8152a1b65 changed: tidy up computeBhpAtThpLimitProdWithAlq interface
put deferred_logger at the end of the parameter list.
similar to the rest of this family of methods
2022-10-31 13:16:16 +01:00
Arne Morten Kvarving
42fff132b0 changed: drop wrapper MultisegmentWellGeneric::computeBhpAtThpLimitProdWithAlq 2022-10-31 13:16:16 +01:00
Arne Morten Kvarving
f214ccc138 changed: move computeBhpFromThpLimitInj to WellBhpThpCalculator 2022-10-31 13:15:56 +01:00
Arne Morten Kvarving
4fcb1e9d37 changed: move calculateThpFromBhp to WellBhpThpCalculator 2022-10-31 13:15:18 +01:00
Arne Morten Kvarving
f7f4352b68 changed: move mostStrictBhpFromBhpLimits to WellBhpThpCalculator 2022-10-31 13:15:18 +01:00
Bård Skaflestad
36ca7d11e9 Merge pull request #4149 from totto82/improve_conv_thp
Improve convergence for newly opened wells with thp control
2022-10-18 10:26:55 +02:00
Tor Harald Sandve
74eb0d048f Improve convergence for newly opened wells with thp control 2022-10-17 15:32:27 +02:00
Kai Bao
9056bf3d98 removing the usage of GTotal 2022-10-13 22:13:45 +02:00
Markus Blatt
a4360b4961 Merge pull request #4028 from akva2/reduce_dup
changed: get rid of duplicate MatrixBlock headers/classes
2022-09-09 15:30:30 +02:00
Tor Harald Sandve
f36ac3eeed Merge pull request #3837 from totto82/wvfpexp
Add option for explicit vfp lookup for problematic wells
2022-09-09 10:00:02 +02:00
Arne Morten Kvarving
a9590215dc changed: consistently use std::array 2022-08-26 08:28:46 +02:00
Arne Morten Kvarving
1a348c0d29 changed: get rid of duplicate MatrixBlock headers/classes
this has already led to some confusion. move some of the code
upstream to opm-models and remove the rest of the duplicated code.

the remainder of MatrixBlock.hpp is renamed to SmallDenseMatrixUtils.hpp
2022-08-25 12:48:53 +02:00
Bård Skaflestad
a56cd6752c Revert "changed: reduce some code duplication" 2022-08-24 20:34:52 +02:00
Arne Morten Kvarving
447d77b579 changed: get rid of duplicate MatrixBlock headers/classes
this has already led to some confusion. move some of the code
upstream to opm-models and remove the rest of the duplicated code.

the remainder of MatrixBlock.hpp is renamed to SmallDenseMatrixUtils.hpp
2022-08-24 15:54:01 +02:00
Tor Harald Sandve
96222f8afb dont use explicit vfp lookup for newly opened wells 2022-08-19 10:33:19 +02:00
Tor Harald Sandve
cf1abb086f remove msw(ms) from regulariztion parameter 2022-06-29 15:39:51 +02:00
Arne Morten Kvarving
da57e15271 fixed: fix build with dune 2.6 2022-06-20 14:16:43 +02:00
Atgeirr Flø Rasmussen
ffb09ee53e Merge pull request #3937 from atgeirr/pressure-bhp-cpr
Pressure bhp cpr
2022-06-16 17:15:49 +02:00
Tor Harald Sandve
60d0fe0f87 Merge pull request #3879 from totto82/rsrvinj2
WIP implement rsrv item 10 WCONINJE
2022-06-16 08:30:31 +02:00
hnil
8f4cf8a952 removed compiler warnings 2022-06-08 17:03:27 +02:00
hnil
6c407506a9 cleaning code 2022-06-08 17:03:27 +02:00
hnil
5a917dd11e changed diagonal elements for cprw on multiscale wells 2022-06-08 17:03:27 +02:00
hnil
a8acd40f4a Changes to make ms wells work with cprw 2022-06-08 17:03:27 +02:00
Tor Harald Sandve
1f876d1800 implement rsrv item 10 WCONINJE
MSW not supported yet
2022-06-08 13:55:29 +02:00
Tor Harald Sandve
46c8aa3306 fix hydrostatic correction for branched wells in IPR 2022-06-08 12:29:05 +02:00
Tor Harald Sandve
3adaa1b987 fix component/phase mixup 2022-06-07 14:14:13 +02:00
Tor Harald Sandve
e965dac3ee Only flag a bhp producer/injector operable if the sum of IPR are negative/positive 2022-06-07 10:47:22 +02:00
Bård Skaflestad
be4221ea92 Merge pull request #3869 from plgbrts/vapoilwat
adding three-phase simulator including water evaporation and salt precipitation
2022-05-25 15:33:53 +02:00