Commit Graph

3879 Commits

Author SHA1 Message Date
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
Tong Dong Qiu
5620b08033 Fix segfaults rocalutionSolver 2022-11-18 14:19:10 +01:00
Tong Dong Qiu
21b23b7aa4 Combine multiple defines into one 2022-11-18 13:09:39 +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
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
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
Arne Morten Kvarving
0e2f7649e2 improve encapsulation 2022-11-03 15:47:38 +01:00
Arne Morten Kvarving
9ce8d1ceca adjust for ILU reorder removal 2022-11-03 15:47:38 +01:00
Tong Dong Qiu
5466fdd289 Add missing macro guards 2022-11-03 15:47:38 +01:00
Tong Dong Qiu
7e2a6800de Add test for rocalutionSolver 2022-11-03 15:47:32 +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
Tong Dong Qiu
ea73a1bf3c Add rocalutionSolver 2022-11-02 15:55:07 +01:00
Bård Skaflestad
a49f0bc8c2 Merge pull request #4189 from plgbrts/rwgsalt
removed RWGSALT from unsupported keywords list
2022-11-01 22:11:31 +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