Commit Graph

15009 Commits

Author SHA1 Message Date
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
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
Markus Blatt
81b296a682
Merge pull request #4182 from totto82/bc_dirichlet
implement dirichlet boundary conditions
2022-11-11 22:23:14 +01:00
Bård Skaflestad
622321a8e6
Merge pull request #4164 from bska/state-indep-resv-calc
Make Reservoir Voidage Rate Calculator Independent
2022-11-10 13:06:18 +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
627c7d50ac Removed outdated version checks 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
Bård Skaflestad
d8c0057601
Merge pull request #4249 from bska/fix-reported-water-visc
Report Water Viscosity as WAT_VISC
2022-11-07 13:55:34 +01:00
Bård Skaflestad
bbb91effae Report Water Viscosity as WAT_VISC
A misprint led to erroneously reporting the gas viscosity here.

Reported by: [at]EdmundStephens on GitHub.
2022-11-07 11:48:41 +01:00
Bård Skaflestad
87bf1b6020
Merge pull request #4245 from GitPaean/typo_correction
fixing some typos in MultisegmentWell_impl.hpp
2022-11-06 12:50:38 +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
Bård Skaflestad
de3de2cf3b
Merge pull request #4236 from akva2/wellinterface_move_is_pressurecontrolled
changed: move isPressureControlled to WellInterfaceGeneric
2022-11-04 15:46:51 +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
Tor Harald Sandve
2af2df3a92 implement dirichlet boundary conditions 2022-11-04 12:12:08 +01:00
Tong Dong Qiu
5dea01b9dc Remove unnecessary release() 2022-11-03 15:47:38 +01:00