Arne Morten Kvarving
62297b2a63
MultisegmentWell: move getSegmentRate 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
2e2a49b935
MultisegmentWell: move volumeFractionScaled to MultisegmentWellPrimaryVariables
2022-12-19 13:05:39 +01:00
Arne Morten Kvarving
e539614fff
MultisegmentWell: move volumeFraction 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
6404d69201
MultisegmentWell: move processFractions 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
f782673b2d
MultisegmentWell: make updatePrimaryVariables non-const
...
this will obviously update state
2022-12-16 15:07:35 +01:00
Arne Morten Kvarving
ef992080cf
MultisegmentWell: make updatePrimaryVariablesNewton non-const
...
this will obviously update state
2022-12-16 15:07:12 +01:00
Arne Morten Kvarving
ac91db281a
MultisegmentWell: make processFractions non-const
...
this updates state
2022-12-16 15:06:36 +01:00
Arne Morten Kvarving
6b61af21b3
MultisegmentWell: make initPrimaryVariablesEvaluation non-const
...
this will obviously update state
2022-12-16 15:06:03 +01:00
Arne Morten Kvarving
2d154b50bb
added: MultisegmentWellEquations::residual()
...
this returns a const reference to the residual vector.
use this in MultisegmentWellEval
2022-12-05 11:07:09 +01:00
Arne Morten Kvarving
1952ca1e5c
use MultisegmentWellAssemble::assemblePressureEq in assembleICDPressureEq
2022-12-05 11:07:09 +01:00
Arne Morten Kvarving
32dce644d3
added: MultisegmentWellAssemble::assembleTrivialEq
...
extracted from MultisegmentWellEval::assembleICDPressureEq
2022-12-05 11:07:09 +01:00
Arne Morten Kvarving
05a4ca85a7
added: MultisegmentWellAssemble::assemblePressureEq
...
extracted from MultisegmentWellEval::assembleDefaultPressureEq
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
4a2fcd5f09
added: MultisegmentWellEquations::extract(WellContributions&)
...
this adds the well matrices to a WellContributions object.
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
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
8fe6b3968e
added: MultisegmentWellEquations::init
...
this initializes the equation system.
use the new method in the well implementation.
2022-12-01 10:36:40 +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
2f0c68f574
MultisegmentWellEval: make assembleICDPressureEq non-const
...
this changes class state
2022-11-30 23:15:25 +01:00
Arne Morten Kvarving
c15925858f
MultisegmentWellEval: make assembleDefaultPressureEq non-const
...
this changes class state
2022-11-30 23:15:25 +01:00
Arne Morten Kvarving
f6e12a86b3
MultisegmentWellEval: make assemblePressureEq non-const
...
this changes class state
2022-11-30 23:15:25 +01:00
Arne Morten Kvarving
1cde1335ac
MultisegmentWellEval: make handleAccelerationPressureLoss non-const
...
this changes class state
2022-11-30 23:15:25 +01:00
Arne Morten Kvarving
fcf4da30d3
MultisegmentWellEval: make initMatrixAndVector non-const
...
this changes class state
2022-11-30 23:15:25 +01:00
Bård Skaflestad
5b69890ece
Report Solution GOR and OGR at Segment Level
...
This enables calculating the SOFRF and SGFRF summary vectors.
2022-11-22 18:06:05 +01:00
Bård Skaflestad
910f10d43b
Merge pull request #4280 from akva2/well_instantations_simplify
...
simplify instantations
2022-11-21 16:27:16 +01:00
Arne Morten Kvarving
8a32d6bf33
simplify instantations
...
more readable
2022-11-21 12:48:50 +01:00
Kai Bao
5e35477ce1
a little different form to keep the derivatives
2022-11-17 22:57:42 +01:00
Kai Bao
3ddb830ae9
not calculating emulsionViscosity for small liquid_fraction
...
it might introduce inf/nan in the Jacobian matrix.
2022-11-17 15:20:56 +01:00
Bård Skaflestad
085ccccb1e
Capture More Dynamic State Per Segment
...
In particular, calculate segment flow velocities, segment holdup
fractions, and segment phase viscosities when updating the well
state. This is purely for reporting purposes and does not affect
the multisegmented model.
2022-11-17 11:49:29 +01:00
Kai Bao
178d554d2c
we do not copy SegmentState if the segment number changes
2022-11-04 16:38:57 +01:00
Arne Morten Kvarving
b700ec9b53
rename WellInterfaceEval to WellAssemble
2022-11-01 12:55:00 +01:00
Arne Morten Kvarving
411e4d07e7
WellInterfaceEval: separate from inheritance hierarcy
2022-11-01 11:45:15 +01:00
Arne Morten Kvarving
796aa51e79
changed: move calculateBhpFromThp to WellBhpThpCalculator
2022-10-31 13:16:51 +01:00
Arne Morten Kvarving
0577516cfe
changed: move updateThp to WellBhpThpCalculator
2022-10-31 13:16:16 +01:00
Arne Morten Kvarving
4fcb1e9d37
changed: move calculateThpFromBhp to WellBhpThpCalculator
2022-10-31 13:15:18 +01:00
Arne Morten Kvarving
0f8ca0c529
add WellConvergence
...
move checkConvergenceControlEq into it
2022-10-28 19:47:55 +02:00
Tor Harald Sandve
7b90d35f21
fixup from PR comments
2022-10-18 12:58:07 +02:00
Tor Harald Sandve
9538db85b1
set thp msw
2022-10-18 10:55:17 +02:00
Atgeirr Flø Rasmussen
31ac961834
Merge pull request #4157 from blattms/wellcontrib-available-always
...
Fix compilation with amgcl/vexcl and without CUDA/OpenCL.
2022-10-17 15:03:37 +02:00
Kai Bao
9056bf3d98
removing the usage of GTotal
2022-10-13 22:13:45 +02:00
Markus Blatt
c2963560d2
Fix compilationw with amgcl/vexcl and without CUDA/OpenCL.
...
There is no reason to omit WellContributions if neither CUDA nor
OpenCL is found as the implementations/functions only use C++-
To the contrary, the defines used for deactivating were not
consistent with usage elsewhere and resulted in compiler erorrs
for exotic configuration
2022-10-11 10:42:08 +02:00
Kai Bao
2f19d4586e
avoiding wrong sign for QTotal primary variable for top segment
...
for multisegment wells.
2022-09-14 14:21:03 +02:00