Commit Graph
15038 Commits
Author SHA1 Message Date
Arne Morten Kvarving 65efe8e1fc added: StandardWellEquations::extract(WellContributions&)
this adds the well matrices to a WellContributions object.
this is the core of StandardWellEval::addWellContributions.
use the new method in the implementation.
2022-11-22 10:36:54 +01:00
Arne Morten Kvarving 40640e9da6 added: StandardWellEquations::recoverSolutionWell()
this recovers the well solution from a solution vector.
use the new method in the well implementation.
2022-11-22 10:36:54 +01:00
Arne Morten Kvarving daf0f90fe5 added: StandardWellEquations::solve()
this applies the inverted D matrix to the residual vector.
use the new method in the well implementation.
2022-11-22 10:36:54 +01:00
Arne Morten Kvarving 83c41e3f9c added: StandardWellEquations::invert()
this inverts the D matrix.
use the new method in the well implementation.
2022-11-22 10:36:54 +01:00
Arne Morten Kvarving 033718f027 added: StandardWellEquations::apply(r)
this applies the equation system to a vector.
use the new method in the well implementation.
2022-11-22 10:36:54 +01:00
Arne Morten Kvarving 21bb4dc955 added: StandardWellEquations::apply(x,Ax)
this applies the equation system to a vector.
use the new method in the well implementation.
2022-11-22 10:36:54 +01:00
Arne Morten Kvarving 97d158da38 added: StandardWellEquations::init
this initializes the equation system.
use the new method in the well implementation.
2022-11-22 10:36:54 +01:00
Arne Morten Kvarving d05081417e added: StandardWellEquations::clear
this zeros the equation system.
use the new method in the well implementation.
2022-11-22 10:36:54 +01:00
Arne Morten Kvarving a8c912ccfa add: StandardWellEquations
this is a container for the standard well equation system
2022-11-22 10:36:54 +01:00
Markus Blatt 58d8ca144e Merge pull request #4259 from blattms/do-dereference-unset-optional
[bugfix] Do not unconditionally dereference std::optional.
2022-11-22 10:26:30 +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
Bård Skaflestad a9cb568ed0 Merge pull request #4281 from OPM/revert-4262-fixInjTemp2
Revert "remove derivative in thermal flux for injectors"
2022-11-21 15:52:57 +01:00
Bård Skaflestad eeae2442a8 Revert "remove derivative in thermal flux for injectors" 2022-11-21 15:20:45 +01:00
Tor Harald Sandve 5c26be0c28 Merge pull request #4214 from totto82/glift3_fix
Fixes related to gaslift stage 2
2022-11-21 14:40:52 +01:00
Bård Skaflestad c3dceef6e0 Merge pull request #4237 from akva2/relax_factor_pass_double
changed: pass the actual update value to relaxationFactorRate
2022-11-21 13:49:02 +01:00
Kai Bao 48fa688a17 Merge pull request #4274 from GitPaean/handle_small_fractions_for_sicd
not calculating emulsionViscosity for small liquid_fraction
2022-11-21 13:26:17 +01:00
Kai Bao 9a1520a367 Merge pull request #4262 from totto82/fixInjTemp2
remove derivative in thermal flux for injectors
2022-11-21 13:25:24 +01:00
Arne Morten Kvarving 8a32d6bf33 simplify instantations
more readable
2022-11-21 12:48:50 +01:00
Tor Harald Sandve c45d90650e fix checking of group target
- use the actual delta rate in checkOilTarget etc
- add check for total gas rate = gas rate + alq
2022-11-21 09:17:24 +01:00
Tor Harald Sandve 7d7b2803a5 renaming and adding more comments based on review 2022-11-21 08:58:49 +01:00
Tor Harald Sandve 9c8f778495 Compute the group rates that takes into account limitation on the sublevels 2022-11-21 08:58:49 +01:00
Tor Harald Sandve 1a09608263 Fix removeSurplus alq
Add water rate target limit
Add the gradient to the checkXXXTarget so that surplus alq is removed
until it would go below the target. I.e. the group still want to produce it  target
2022-11-21 08:58:49 +01:00
Tor Harald Sandve cd09c130b3 pass group name to getRateWithGroupLimit to avoid checking for that 2022-11-21 08:58:49 +01:00
Håkon Hægland c313a0a4b2 Remove unused variables 2022-11-21 08:58:49 +01:00
Håkon Hægland 43244c2132 Change condition under which stage 2 is done.
It only makes sense to try to optimize the distribution of lift gas if
the amount of lift gas is constrained either by the maximum allowed
gaslift or total gas or the group is under individual control.
2022-11-21 08:58:49 +01:00
Håkon Hægland 686a6a969d Calculate gradients with group limits.
Take into account group limits when calculating gradients for individual
wells in stage 2 of gas lift optimization.
2022-11-21 08:58:49 +01:00
Håkon Hægland 9c61262329 Changed formatting. 2022-11-21 08:58:49 +01:00
Håkon Hægland bc566e3981 Also check LRAT group target in stage2
Also account for a group LRAT limit when removing surplus ALQ in gaslift
optimization stage 2.
2022-11-21 08:58:49 +01:00
Håkon Hægland 61ed803740 Do stage2 even if GLIFTOPT is not defined 2022-11-21 08:58:49 +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 4845ad0107 Merge pull request #4180 from bska/report-segment-dyn-data
Convey More Dynamic State Values per Segment to Output Layer
2022-11-17 12:39:29 +01:00
Bård Skaflestad 936e9e87e7 Convey More Dynamic State Values per Segment to Output Layer
In particular, report local condition segment flow velocities,
segment holdup fractions, and segment phase viscosities.
2022-11-17 11:49:29 +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
Bård Skaflestad 2da83fa680 Expose Internal Support for Inferring Rs/Rv From Surface Volumes 2022-11-17 11:49:29 +01:00
Bård Skaflestad 7d9beb3506 Support Using Different Types for Surface and Reservoir Rates
Simplifies using pointers here.
2022-11-17 11:49:29 +01:00
Arne Morten Kvarving 3c31b7bafe Merge pull request #4271 from Tongdongq/remove_fpga
Remove fpgaSolver
2022-11-17 10:57:38 +01:00
Tong Dong Qiu 65128d1616 Removed unused reordering functions, file, header inclusions 2022-11-17 09:38:23 +01:00
Tong Dong Qiu 35287a61ff Remove FPGASolver and references 2022-11-17 09:38:01 +01:00
Markus Blatt ccdb2eda93 Merge pull request #4269 from akva2/istlsolverebos_alugrid
ISTLSolverEbos: instance for ALUGrid
2022-11-16 21:36:43 +01:00
Arne Morten Kvarving d7c468575b disable flow_alugrid in buildsystem if dune-alugrid was not found 2022-11-15 13:52:02 +01:00
Arne Morten Kvarving d15c2607f5 fixed: eclalugridvanguard did not build in serial
while the comm object is implicitly castable to a mpi_comm
with mpi, it is not implicitly castable to a no_comm
without.
2022-11-15 11:25:54 +01:00
Arne Morten Kvarving f7de591682 EclOutputBlackoilModule: explicitly cast to int to avoid narrowing warning 2022-11-14 15:40:57 +01:00
Arne Morten Kvarving f9f6fdb3bf BlackoilAquiferModel: only include alugrid if it is to be used 2022-11-14 15:11:12 +01:00
Arne Morten Kvarving 4bbb9656b0 EclProblem: use of alugrid is known at compile time
use the proper define, no need for type gymnastics
2022-11-14 15:10:59 +01:00
Arne Morten Kvarving 73b6c9fdf8 EclTransmissibility: no need to include alugrid in header 2022-11-14 15:07:34 +01:00
Arne Morten Kvarving e50aec63d8 EclGenericWriter: no need to include alugrid in header 2022-11-14 15:06:27 +01:00
Arne Morten Kvarving bdb2738034 ISTLSolverEbos: instance for ALUGrid 2022-11-14 14:54:11 +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