Commit Graph

99 Commits

Author SHA1 Message Date
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
Arne Morten Kvarving
5052a09d6e make MSWellHelpers templates private 2022-09-01 15:17:04 +02:00
Kai Bao
1b3cee8088 using C++17 style for to reduce nesting level of for loop 2022-06-29 14:20:35 +02:00
Kai Bao
64143cd417 when a valve is shut, the rate and pressure drop will be zero 2022-06-29 11:54:36 +02:00
Paul Egberts
a255613452
Merge branch 'master' into vapoilwat 2022-05-11 11:55:54 +02:00
Kai Bao
7145ec32ee renaming function updateWellState
to updatePrimaryVariablesNewton

this should be a fallout during the well code refactoring
2022-04-29 12:55:54 +02:00
Tor Harald Sandve
edf8786a58 avoid throw for nan residuals instead return well as unconverged 2022-04-11 09:52:25 +02:00
Paul Egberts
ab3be6dce4 adjustments to account for vaporized water 2022-04-08 22:36:39 +02:00
Tor Harald Sandve
69ffed06de Address comments from review
1) Add debug messages
2) Fix bug of missing else in the code
2022-04-04 08:24:32 +02:00
Tor Harald Sandve
5b53fcd8a6 guard against d = 0 2022-04-04 08:24:32 +02:00
Tor Harald Sandve
2e91d2f353 Do not throw when d = 0 instead continue with rs/rv = 0 2022-04-04 08:24:32 +02:00
goncalvesmachadoc
b15b893b3a add Index Traits 2021-12-08 16:52:23 +01:00
Tor Harald Sandve
4f75d1ab8d Add gasoil + energy simulator
Useful when combining CO2STORE + THERMAL

This PR also fixes an issue with missing phases in computation of output temperature
2021-12-07 09:18:38 +01:00
Tor Harald Sandve
f6f5badfde Add brine and thermal simulator 2021-10-15 11:50:17 +02:00
daavid00
48b175904a first version of micp implementation in flow 2021-10-14 17:44:57 +02:00
Tor Harald Sandve
cb9254636b rename and cleanup 2021-09-30 09:01:07 +02:00
Tor Harald Sandve
972a832d65 make scalar version of computePerfRate 2021-09-13 09:36:16 +02:00
Joakim Hove
755de65eb4 Use SingleWellState to manage well surface rates 2021-08-24 12:46:24 +02:00
Joakim Hove
77a9fd352b Add SegmentState member to SingleWellState 2021-08-23 13:17:24 +02:00
Joakim Hove
581f571c9d Use SingleWellState for production and injection control 2021-08-15 09:07:39 +02:00
Joakim Hove
a54daf75e8 Add trivial class SingleWellState with bhp and thp 2021-08-15 09:01:21 +02:00
Arne Morten Kvarving
8443306fb6 remove ebos_altidx
building a whole simulator for this, and then not even
running a test for it, seems rather excessive. if a test for
index-conformance is wanted, a better approach should be taken.
2021-07-05 13:17:13 +02:00
Arne Morten Kvarving
68fc2b0bc6 add MultisegmentWellEval 2021-06-09 15:17:36 +02:00