Arne Morten Kvarving
ef7b2aca4e
move computeSegmentFluidProperties to MultisegmentWellSegments
2022-12-19 16:03:54 +01:00
Arne Morten Kvarving
4a9cedf452
move getSegmentSurfaceVolume to MultisegmentWellSegments
2022-12-19 16:03:53 +01:00
Arne Morten Kvarving
5755c94256
move segment_inlets_ to MultisegmentWellSegments
2022-12-19 16:03:27 +01:00
Arne Morten Kvarving
2766427df0
move segment_perforations_ and perforation_segment_depth_diffs_ to MultisegmentWellSegments
2022-12-19 16:03:26 +01:00
Arne Morten Kvarving
aa684a10b8
added: MultisegmentWellSegments
...
this is a container class for per-segment properties in MultisegmentWell
2022-12-19 15:55:20 +01:00
Arne Morten Kvarving
654c252bb8
MultisegmentWellAssemble: simplify assembleControlEq
...
by passing primary variables
2022-12-19 13:05:39 +01:00
Arne Morten Kvarving
e1cd54b267
MultisegmentWell: move updateUpwindingSegments to MultisegmentWellPrimaryVariables
2022-12-19 13:05:39 +01:00
Arne Morten Kvarving
37607c570a
MultisegmentWell: move updateWellStateFromPrimaryVariables to MultisegmentWellPrimaryVariables
2022-12-19 13:05:39 +01:00
Arne Morten Kvarving
dbdcb2d5ce
MultisegmentWell: move getWQTotal to MultisegmentWellPrimaryVariables
...
also drop otherwise unused getSegmentWQTotal
2022-12-19 13:05:39 +01:00
Arne Morten Kvarving
6b47f9bf1a
MultisegmentWell: move getQs to MultisegmentWellPrimaryVariables
2022-12-19 13:05:39 +01:00
Arne Morten Kvarving
99020fe33b
MultisegmentWell: move getBhp to MultisegmentWellPrimaryVariables
2022-12-19 13:05:39 +01:00
Arne Morten Kvarving
bb377c0a47
MultisegmentWell: move getSegmentPressure to MultisegmentWellPrimaryVariables
2022-12-19 13:05:39 +01:00
Arne Morten Kvarving
f99ecd15ac
MultisegmentWell: move getSegmentRateUpwinding to MultisegmentWellPrimaryVariables
2022-12-19 13:05:39 +01:00
Arne Morten Kvarving
8e9b004cfc
MultisegmentWell: move surfaceVolumeFraction to MultisegmentWellPrimaryVariables
2022-12-19 13:05:39 +01:00
Arne Morten Kvarving
b112a793c5
MultisegmentWell: move updatePrimaryVariablesNewton to MultisegmentWellPrimaryVariables
2022-12-19 13:05:39 +01:00
Arne Morten Kvarving
5212e9c100
MultisegmentWell: move updatePrimaryVariables to MultisegmentWellPrimaryVariables
2022-12-19 13:05:39 +01:00
Arne Morten Kvarving
e1fccd47dc
added: MultisegmentWellPrimaryVariables
...
this is a container class for the primary variables in
multisegment well
2022-12-19 13:05:39 +01:00
Arne Morten Kvarving
10a671e88c
MultisegmentWell: make updateWellState non-const
...
this will obviously update state
2022-12-16 15:05:06 +01:00
Arne Morten Kvarving
f17a90170d
use exception classes from opm-common
2022-12-13 12:56:13 +01:00
Arne Morten Kvarving
6011a42246
added: MultisegmentWellAssemble::assemblePerforationEq
...
extracted from MultisegmentWell::assembleWellEqWithoutIteration
2022-12-05 11:07:09 +01:00
Arne Morten Kvarving
b1d1e47e28
added: MultisegmentWellAssemble::assembleInflowTerm
...
extracted from MultisegmentWell::assembleWellEqWithoutIteration
2022-12-05 11:07:09 +01:00
Arne Morten Kvarving
d5bbccde65
added: MultisegmentWellAssemble::assembleOutflowTerm
...
extracted from MultisegmentWell::assembleWellEqWithoutIteration
2022-12-05 11:07:09 +01:00
Arne Morten Kvarving
517dd49771
added: MultisegmentWellAssemble::assembleAccumulationTerm
...
extracted from MultisegmentWell::assembleWellEqWithoutIteration
2022-12-05 11:07:09 +01:00
Arne Morten Kvarving
d64508f3b8
added: MultisegmentWellAssemble::assemblePressureLoss
...
extracted from MultisegmentWellEval::handleAccelerationPressureLoss
2022-12-05 11:07:09 +01:00
Arne Morten Kvarving
4ebde4e003
added: MultisegmentWellAssemble
...
this handles assembly of the equation system for multisegment well.
start by moving assembleControlEq into the new class
2022-12-05 11:07:09 +01:00
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