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
Tor Harald Sandve
f9ab7e6b07
remove derivative in thermal flux for injectors
2022-11-22 09:40:39 +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
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
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
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
Tor Harald Sandve
76dc8255fc
adapt to changes in temperature location in opm-common
2022-11-11 13:19:38 +01:00
Tor Harald Sandve
7553e22726
remove derivative in thermal flux for injectors
2022-11-10 12:57:21 +01:00
Bård Skaflestad
d388ce40e5
Revert to Original Rs/Rv Calculation Scheme for RESV Rates
...
Keep the alternative approach in place for reference and
experimental purposes, but disabled by a macro.
2022-11-10 09:41:47 +01:00
Bård Skaflestad
f0e2a1efe0
Make Reservoir Voidage Rate Calculator Independent
...
This commit adds a new overload of the calcReservoirVoidageRates()
member function. The new overload does not depend on the user
calling defineState(), but instead takes state variables as direct
input arguments.
Reimplement the state-dependent overload in terms of the new
function. The immediate use case is calculating additional dynamic
quantities per segment in a multisegmented well model, mostly for
reporting purposes.
2022-11-09 17:08:30 +01:00
Markus Blatt
9cb6d53dcb
[bugfix] Do not unconditionally dereference std::optional.
...
In WellGroupHelpers we unconditional referenced the region
member of GPMaint. Unfortunately, that is a std:optional and
doing this can create quite some havoc.
Now we stop processing if it is unset.
2022-11-09 16:49:07 +01:00
Kai Bao
97b016ef44
fixing some typos in MultisegmentWell_impl.hpp
2022-11-05 22:51:59 +01:00
Kai Bao
178d554d2c
we do not copy SegmentState if the segment number changes
2022-11-04 16:38:57 +01:00
hnil
85bfa13c46
change std:cout to OPM::debug
2022-11-04 16:26:12 +01:00
Arne Morten Kvarving
35b66886a9
changed: pass the actual update value to relaxationFactorRate
...
this to avoid ussage of BVectorWell in interface. in preparation
for moving BVectorWell out of the well hierarchy.
2022-11-04 14:57:11 +01:00
Arne Morten Kvarving
26d9f18687
changed: move isPressureControlled to WellInterfaceGeneric
...
no typetag dependence. also no need for this to be virtual
2022-11-04 14:24:19 +01:00
Bård Skaflestad
203ade29b8
Support Variable Length Connection Data in Distributed Wells
...
With the addition of tracer information in the data::Rates object
we must relax the assumption that the object is POD. Switch to
using the Point2PointCommunicator protocol for gathering connection
solutions on the well's owner before transferring well solution
objects to the I/O rank.
2022-11-03 11:37:53 +01:00
Tor Harald Sandve
e33d7c6561
fix group switch logging
2022-11-03 09:40:58 +01:00
hnil
a86bd1c585
removed assert in cprw for strictly positive diagonal well coupling
2022-11-01 21:39:55 +01:00
Bård Skaflestad
daf65f6472
Merge pull request #4225 from GitPaean/removing_number_segments
...
removing unused number_segments from MultisegmentWell
2022-11-01 15:24:22 +01:00
Kai Bao
cbb2e04b05
removing unused number_segments from MultisegmentWell
2022-11-01 14:42:23 +01:00
Bård Skaflestad
73466da197
Merge pull request #4224 from akva2/wellinterface_eval_rename_assemble
...
Rename WellinterfaceEval to WellAssemble
2022-11-01 13:51:08 +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
97367a1e95
move checkIndividualConstraints to WellConstraints
2022-11-01 08:57:02 +01:00