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
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
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
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
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
4988f98060
Merge pull request #4178 from Tongdongq/rocalution
...
Add rocalutionSolver
2022-11-09 16:44:35 +01:00
Tong Dong Qiu
b51a4a863e
Fix reduction calculation
2022-11-09 10:27:10 +01:00
Tong Dong Qiu
1dd6af15dc
Print via fmt
2022-11-08 13:05:57 +01:00
Tong Dong Qiu
d3d9743b81
Simplify parameter
2022-11-08 10:03:15 +01:00
Tong Dong Qiu
8fbfd473ab
Removed unnecessary stream clear
2022-11-08 10:03:15 +01:00
Tong Dong Qiu
f91154c165
Autodetect if transposing is needed
2022-11-08 10:03:09 +01:00
Kai Bao
97b016ef44
fixing some typos in MultisegmentWell_impl.hpp
2022-11-05 22:51:59 +01:00
Bård Skaflestad
1c0f1ad4d0
Merge pull request #4243 from blattms/drop-unused-LinearSolverRequireFullSparsityPattern
...
Remove ununsed ancient LinearSolverRequireFullSparsityPattern option.
2022-11-04 21:47:27 +01:00
Bård Skaflestad
6607121bcc
Merge pull request #4239 from GitPaean/well_state_change_num_segments
...
we do not copy SegmentState if the segment number changes
2022-11-04 21:22:52 +01:00
Bård Skaflestad
d095c8c287
Merge pull request #4242 from blattms/reactivate-use-gmres-flexible-solver
...
[bugfix] recover support for selecting GMRes as solver.
2022-11-04 21:18:30 +01:00
Markus Blatt
6f5931ca1b
Remove ununsed ancient LinearSolverRequireFullSparsityPattern option.
...
It is unused since 2018 when we moved away from autodiff implementation.
2022-11-04 21:04:40 +01:00
Markus Blatt
2dc73a7c47
[bugfix] recover support for selecting GMRes as solver.
...
Previously, passing --use-gmres=true had now effect. Probably was lost
when introducing FlexibleSolver. With this change the FlexibleSolver
will now use GMRes if the option is true.
Closes #4240
2022-11-04 20:30:13 +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
Tong Dong Qiu
5dea01b9dc
Remove unnecessary release()
2022-11-03 15:47:38 +01:00