Vegard Kippe
a75f58f19a
Moved two lines
2023-08-31 16:11:29 +02:00
Vegard Kippe
deeecfcd1f
Fixing indent
2023-08-31 16:11:28 +02:00
Vegard Kippe
edd421ac93
Adding hydrostatic and acceleration pressure losses to icd segments
2023-08-31 16:11:28 +02:00
Kai Bao
f7bd386402
adding the support for filtration_summary_keywords
2023-08-29 21:31:24 +02:00
Stein Krogstad
e7a0dbacf2
don't do rate-init for stopped/zero target
2023-08-29 14:52:09 +02:00
Håkon Hægland
2f9b136bb1
Implement support for GECON keyword
...
Implement support for item 2 and 3 of the GECON keyword
2023-08-29 01:07:21 +02:00
Kai Bao
6d011131cd
UDQ for the injection concentration for WINJFCNC
2023-08-23 11:44:50 +02:00
Arne Morten Kvarving
92fa9577da
consistently use std::size_t
2023-08-15 09:32:10 +02:00
Arne Morten Kvarving
896cb8484d
added: option to disable the BDA solvers
2023-08-11 11:00:07 +02:00
Atgeirr Flø Rasmussen
1a59c91c51
Silence release-mode warning.
2023-08-09 12:06:20 +02:00
Kai Bao
c46f60103e
adding perf_data comparison in equality operator for SingleWellState
2023-08-08 14:52:49 +02:00
hnil
c065d34d0e
-- added more timing to get better coverage of amg solver
...
-- added includes needed
2023-07-24 12:28:08 +02:00
Bård Skaflestad
ac6b9b2f34
Merge pull request #4748 from plgbrts/gconprod
...
Enable items, 11, 12 and 13 of GCONPROD
2023-07-14 21:30:14 +02:00
Paul
ae553787ba
Use struct for collecting group limit actions
2023-07-14 11:20:03 +02:00
Paul
1796b3343b
improved messages text
2023-07-13 13:15:54 +02:00
Paul
7302c37b78
Enable items, 11, 12 and 13 of GCONPROD
2023-07-12 20:44:10 +02:00
Bård Skaflestad
8c9682ab7a
Split Well and Group Initialization Out to Helper
...
In preparation of adding support for opening/creating wells or
groups in the middle of a report step. This is needed if an
ACTIONX block runs something like WELOPEN or WELSPECS/COMPDAT.
2023-07-12 17:23:14 +02:00
Bård Skaflestad
e965f6f27f
Prune Unused Well State Parameter
...
The WellState parameter in setCmodeGroup() became unused when we
split the GroupState out of the WellState in commit e1d117c59f
.
2023-07-12 17:23:14 +02:00
Bård Skaflestad
7f89276fe8
Hook New WBPn Calculation Up to Well Model
...
This commit activates the support for calculating WBPn summary
result values per well in parallel. To affect the calculation we
add two new data members in BlackoilWellModelGeneric:
- conn_idx_map_:
Maps well's connection index (0..getConnections().size() - 1) to
connections on current rank. Its local() connections are
negative 1 (-1) if the connection is not on current rank, and a
non-negative value otherwise. The global() function maps well
connections on current rank to global connection ID for each
well. Effectively the reverse of local(). Finally, the open()
function maps well connections on current rank to open/flowing
connections on current rank. Negative 1 if connection is not
flowing.
- wbpCalculationService:
Parallel collection of WBPn calculation objects that knows how
to exchange source and result information between all ranks in a
communicator. Also handles distributed wells.
We furthermore need a way to compute connection-level fluid mixture
density values. For the standard well class we add a way to access
the StandardWellConnection's 'perf_densities_' values. However,
since these are defined for open/flowing connections only, this
means we're not able to fully meet the requirements of the
WELL/ALL
WPAVE depth correction procedure for standard wells. The
multi-segmented well type, on the other hand, uses the fluid mixture
density in the associated well segment and is therefore well defined
for ALL connections. OPEN well connections are supported for both
well types.
2023-07-10 13:42:46 +02:00
Bård Skaflestad
ff9e6ca18a
Merge pull request #4745 from akva2/filtercake_separate_class
...
FilterCake: put code in separate class
2023-07-07 16:51:23 +02:00
Arne Morten Kvarving
60b92d02eb
WellFilterCake: make stateful
2023-07-07 16:08:42 +02:00
Arne Morten Kvarving
dcf8a444fd
changed: put calculation of filter cake multiplier in WellFilterCake
2023-07-07 16:08:20 +02:00
Arne Morten Kvarving
aaeedf4091
put updating of FilterCake multiplier in separate method
2023-07-07 16:08:20 +02:00
Arne Morten Kvarving
1e7ca08702
changed: put handling of filtration particle volume in separate class
2023-07-07 16:08:17 +02:00
Bård Skaflestad
95d715b807
Add Parallel Calculation Support for WBPn/WPAVE
...
This commit adds a parallel calculation object derived from the serial
PAvgCalculator class. This parallel version is aware of MPI
communicators and knows how to aggregate contributions from wells that
might be distributed across ranks.
We also add a wrapper class, ParallelWBPCalculation, which knows how to
exchange information from PAvgCalculatorCollection objects on different
ranks and, especially, how to properly prune inactive cells/connections.
2023-07-07 15:01:05 +02:00
Stein Krogstad
b1c11f6d88
Move function to WellInterfaceGeneric
2023-07-07 13:13:43 +02:00
Stein Krogstad
252d08f1bd
No need to loop over phases here
2023-07-07 13:13:43 +02:00
Stein Krogstad
2f8d210896
Also do explicit fallback for double-interp
2023-07-07 13:13:43 +02:00
Stein Krogstad
2dcebd4bdd
Rephrase explicit to prev(uous)
2023-07-07 13:13:43 +02:00
Stein Krogstad
ab98e477c4
Use explicit rates as fallback for small FLO
2023-07-07 13:13:42 +02:00
Stein Krogstad
5212d20a96
Add explicit rates to well state
2023-07-07 13:12:34 +02:00
Kai Bao
e264042c62
refining the function updateInjFCMult
...
for code improvements.
2023-07-07 09:32:03 +02:00
Kai Bao
22269c92c3
adding regression tests for filtration cake model
2023-07-06 23:38:53 +02:00
Kai Bao
1981a3bf4d
switching to scale the mobility instead of the well index
...
mostly to make the calculation of productivity easier.
2023-07-06 15:58:30 +02:00
Kai Bao
cb74d26e85
WIP in storing the filtration_particle_volume in BlackoilWellModelGeneric
...
instead of PerfData to handle the situation that well can be SHUT and
OPEN again.
2023-07-05 13:25:03 +02:00
Kai Bao
274c431492
tracking filtration particle volume instead of water injection volume
...
for filter cake calculation. The main reason is that the injection
concentration may vary during the simulation, which makes the tracking
of water injection volume is not very helpful when used for filter cake
calculation.
2023-07-05 13:25:03 +02:00
Kai Bao
eb08e2e863
cleaning up implementation related to filter cake
2023-07-05 13:25:03 +02:00
Kai Bao
7e5f1a1642
slightly different way to calculate the skin factor
...
for the radial model of the filter cake.
not tested yet.
2023-07-05 13:25:03 +02:00
Kai Bao
4cb3574e0f
incoporate keyword WINJCLN
...
still in draft state.
2023-07-05 13:25:03 +02:00
Kai Bao
43196800b6
a draft version for for RADIAL model for WINJDAM
2023-07-05 13:25:03 +02:00
Kai Bao
aa5062683d
a draft version for the linear geomery WINJDAM
2023-07-05 13:25:03 +02:00
Kai Bao
5e4cb8aeed
WIP in using the filter cake to generate the skin factor
2023-07-05 13:25:03 +02:00
Kai Bao
49774186ab
calculating the accumulative water injection volume
...
for each connection
2023-07-05 13:25:03 +02:00
Bård Skaflestad
77fe28979e
Calculate Segment Phase and Mixture Densities for Summary Output
...
This commit adds logic and backing storage in the SegmentState to
provide the segment level summary vectors
- SDENx -- Phase density of phase 'x' (O, G, W)
- SDENM -- Mixture density without flowing fraction exponents
- SMDEN -- Mixture density with flowing fraction exponents
We defer the calculation of SDENM and, especially, SMDEN, to the
MultisegmentWellSegments class since this class maintains the
current flowing fractions.
2023-07-05 11:05:26 +02:00
Alf Birger Rustad
93a0bb0de3
improve message when shutting well due to convergence issues
2023-07-04 14:15:53 +02:00
Atgeirr Flø Rasmussen
363163b156
Silence unused capture warning.
2023-06-28 16:21:05 +02:00
Bård Skaflestad
9de535098f
Merge pull request #3764 from atgeirr/aspin
...
Add nonlinear solver based on domain decomposition method
2023-06-28 15:49:56 +02:00
Bård Skaflestad
82a2d284fb
Merge pull request #4686 from GitPaean/support_winjmult_rebase
...
Support WINJMULT
2023-06-27 15:40:06 +02:00
Bård Skaflestad
37fe56451b
Merge pull request #4719 from akva2/connection_rate_to_connections
...
Move connection rate helpers to StandardWellConnections
2023-06-27 15:19:57 +02:00
Kai Bao
f78f8e45f7
addressing the review comments
2023-06-27 14:46:11 +02:00
Arne Morten Kvarving
fffb3d9f0e
suppress unused lambda capture warnings with clang
2023-06-27 14:35:35 +02:00
Arne Morten Kvarving
adfe80cba0
avoid dead stores
2023-06-27 13:40:54 +02:00
Arne Morten Kvarving
62a2ee1713
StandardWell: move connectionRatezFraction to Connections class
2023-06-27 13:23:21 +02:00
Arne Morten Kvarving
56014ccff9
StandardWell: move connectionRatePolymer to Connections class
2023-06-27 13:22:08 +02:00
Arne Morten Kvarving
bf5108d09f
StandardWell: move connectionRatesMICP to Connections class
2023-06-27 13:22:08 +02:00
Arne Morten Kvarving
2f6623993a
StandardWell: move connectionRateFoam to Connections class
2023-06-27 13:22:08 +02:00
Arne Morten Kvarving
73ece47d97
StandardWell: move connectionRateBrine to Connections class
2023-06-27 13:22:08 +02:00
Arne Morten Kvarving
41a38cc9d6
WellInterfaceGeneric: add accessor for well_efficiency_factor
2023-06-27 13:22:08 +02:00
Arne Morten Kvarving
d1a2d27acb
changed: move Eval and restrictEval to WellInterfaceIndices
2023-06-27 13:22:08 +02:00
Kai Bao
cacec2739c
moving the inj_multiplier to BlackoilWellModelGeneric
...
to handle the situation that a well can be `SHUT` in the Schedule.
If stored in PerfData, when a well is `SHUT`, the inforamtion related to
WINJMULT will be discarded.
Before we want to change how the `PerfData` works, storing
`inj_multiplier` in BlackoilWellModelGeneric is the viable approach.
2023-06-27 12:49:25 +02:00
Kai Bao
b50c404247
adjusting the implementation of WINJMULT support
...
addn relaxed the absolute tolearnce of the parallel running test for
WINJMUT_MSW
2023-06-27 12:49:25 +02:00
Kai Bao
b1fad4bb10
store the inj_multiper in PerfData in WellState
2023-06-27 12:49:25 +02:00
Kai Bao
cc9ee9c059
support WINJMULT
2023-06-27 12:49:25 +02:00
Atgeirr Flø Rasmussen
15c1e38533
Silence unused variable/parameter warnings.
2023-06-23 16:24:18 +02:00
Arne Morten Kvarving
9f681e8193
put formating of invalid d-value error in helper function
2023-06-23 10:49:19 +02:00
Arne Morten Kvarving
bbdfa35a62
changed: put calculation of injection gas-water perf rates in separate method
2023-06-23 10:45:10 +02:00
Arne Morten Kvarving
79c4797cd5
changed: put calculation of injection gas-oil perf rates in separate method
2023-06-23 10:33:07 +02:00
Arne Morten Kvarving
e0003eb6d6
changed: put calculation of gas-oil volume ratio in separate method
2023-06-23 09:40:09 +02:00
Arne Morten Kvarving
fdfd181629
changed: put calculation of vaporized and dissolved water volume ratio in separate method
2023-06-23 09:40:07 +02:00
Arne Morten Kvarving
516320699e
changed: put calculation of production gas-water perf rates in separate method
2023-06-23 09:35:02 +02:00
Arne Morten Kvarving
21aa783d88
changed: put calculation of production gas-oil perf rates in separate method
2023-06-23 09:29:49 +02:00
Arne Morten Kvarving
e7bb51740e
cosmetics
2023-06-23 08:47:11 +02:00
Arne Morten Kvarving
a994394dca
changed: use {fmt} in connectionRateEnergy
2023-06-22 14:40:45 +02:00
Arne Morten Kvarving
9574e40ac4
changed: put calculation of energy connection rate in separate method
2023-06-22 14:40:45 +02:00
Arne Morten Kvarving
b3fd64d915
changed: put calculation of polymer connection rate in separate method
2023-06-22 14:40:45 +02:00
Arne Morten Kvarving
4041644171
changed: put calculation of foam connection rate in separate method
2023-06-22 14:40:45 +02:00
Arne Morten Kvarving
c239cbd14f
changed: put calculation of zFraction connection rate in separate method
2023-06-22 14:35:41 +02:00
Arne Morten Kvarving
b1cafa25ca
changed: put calculation of micp connection rates in separate method
2023-06-22 14:35:41 +02:00
Arne Morten Kvarving
8b38943485
changed: put calculation of brine connection rate in separate method
2023-06-22 14:35:40 +02:00
Arne Morten Kvarving
768a4903a3
reorganize (Std|MS)Well::computeWellPotentials
...
put shared parts in WellInterfaceGeneric::computeWellPotentials and
WellInterfaceGeneric::checkNegativeWellPotentials
2023-06-22 11:28:59 +02:00
Arne Morten Kvarving
7b33cc6d62
move computeConnLevel(Inj|Prod)Ind to WellInterface
...
now code is shared between STW and MSW
2023-06-22 09:58:58 +02:00
Arne Morten Kvarving
c234d4faa5
StandardWell: use scalar mobilities in computeConnLevel(Inj|Prod)Ind
...
unifies code with MultisegmentWell
2023-06-22 09:56:48 +02:00
Bård Skaflestad
b5517c8600
Merge pull request #4652 from akva2/update_ws_thp_prod_shared
...
move updateWellStateWithTHPTargetProd to WellInterface
2023-06-22 09:54:35 +02:00
Bård Skaflestad
3219b9d36e
Merge pull request #4631 from akva2/unify_perf_rate
...
changed: unify computePerfRate(Eval|Scalar)
2023-06-22 09:35:36 +02:00
Arne Morten Kvarving
01c4aa1927
move updateWellStateWithTHPTargetProd to WellInterface
...
to share implementation between STW and MSW
2023-06-22 09:10:38 +02:00
Arne Morten Kvarving
b55ca83917
changed: unify MultisegmentdWell::computePerfRate(Eval|Scalar)
2023-06-22 08:46:06 +02:00
Arne Morten Kvarving
58bed1e30a
changed: unify StandardWell::computePerfRate(Eval|Scalar)
2023-06-22 08:46:06 +02:00
Arne Morten Kvarving
e7738e70dc
BlackoilWellModel: move numLocalNonshutWells to generic class
2023-06-22 08:27:05 +02:00
Arne Morten Kvarving
aaa1006e2b
BlackoilWellModel: move numLocalWellsEnd to generic class
2023-06-22 08:26:01 +02:00
Arne Morten Kvarving
dd9a2835fe
BlackoilWellModel: move getMaxWellConnections to generic class
2023-06-22 08:26:01 +02:00
Arne Morten Kvarving
7ab8d94215
BlackoilWellModel: move assignWellTracerRates to generic class
2023-06-22 08:26:00 +02:00
Bård Skaflestad
77adc6ea3b
Add Container for Dynamic WBPn Source Values
...
This commit adds a new container class,
ParallelPAvgDynamicSourceData
which inherits from PAvgDynamicSourceData and provides a parallel
view of source contributions. Member function
collectLocalSources
will call the user-provided source term evaluation function for each
source location in its purview--typically those locations owned by
the current MPI rank. Those values will be distributed to other MPI
ranks through member function synchroniseSources which will fill the
base class' 'src_' data member, and become available to clients
through read-only item spans.
2023-06-21 12:06:49 +02:00
Bård Skaflestad
6464f5ee4e
Merge pull request #4716 from akva2/janitoring
...
Some janitoring
2023-06-21 09:46:57 +02:00
Arne Morten Kvarving
3c566a9e4e
avoid dead store
2023-06-21 08:59:26 +02:00
Arne Morten Kvarving
2327768db6
anonymize unused parameter
2023-06-21 08:55:11 +02:00
Arne Morten Kvarving
f88bf57388
use temporary helper variable
2023-06-21 08:54:53 +02:00
Kai Bao
5f344eef26
avoid dividing by zero in updateWellStateRates()
2023-06-20 23:14:50 +02:00
Vegard Kippe
d6d4b94b25
Parameterized iteration limits in network solver
2023-06-16 12:15:06 +02:00
Atgeirr Flø Rasmussen
654df6fd59
Well additions for local solves.
...
Also, remove uneeded function updatePerforationIntensiveQuantities().
2023-06-15 16:49:12 +02:00
Atgeirr Flø Rasmussen
d46d23befd
Silence shadowing warning.
2023-06-13 20:54:06 +02:00
Atgeirr Flø Rasmussen
bc9cfc8cd5
Add methods for getting and setting primary variables.
...
These can be used to manage state in the well models, and will
be used in the NLDD solver option. Also added the setupDomains()
method, as the getters and setters are working on a domain basis.
2023-06-13 15:31:30 +02:00
Kai Bao
62f5040aea
addressing reviewing comments for PR #4682
...
no functionality change.
2023-06-08 12:32:55 +02:00
Kai Bao
1d7b33aa55
fixing the perf rates initialization with zero total_mobility
2023-06-08 11:41:17 +02:00
Atgeirr Flø Rasmussen
39825391b0
Merge pull request #4687 from plgbrts/resv-fix
...
correct reservoir rate constraint calculation
2023-06-06 13:21:58 +02:00
Tor Harald Sandve
0702b7d3e5
stop using saturated b-factors for case with zero rates
2023-06-06 09:51:19 +02:00
Paul
83c23b123a
correct wrong flag for reservoir rate constraint calculation
2023-06-05 11:49:20 +02:00
Tor Harald Sandve
b99fbe0a97
Merge pull request #4620 from hakonhagland/wvfpdp
...
Add support for WVFPDP
2023-06-05 09:14:10 +02:00
Kai Bao
5d950eea46
fixing the fraction calculation when initializing perf rates
2023-06-02 23:26:20 +02:00
Håkon Hægland
7d68261d0b
Removed unused variable
...
Removed an unused variable and fixed a bug that caused a warning.
2023-06-02 09:25:34 +02:00
Håkon Hægland
8843e8af66
Find thp iteratively
2023-06-02 09:25:34 +02:00
Håkon Hægland
79af105de5
Rebased on master
2023-06-02 09:25:34 +02:00
Håkon Hægland
64c041d08f
Account for pressure loss also in thp
2023-06-02 09:25:34 +02:00
Håkon Hægland
54c7af85d4
Use new name from opm-common
2023-06-02 09:25:34 +02:00
Håkon Hægland
69a0d1e20e
Add support for WVFPDP
2023-06-02 09:25:34 +02:00
Arne Morten Kvarving
f50c9a70ed
fixed: forward struct as struct
2023-05-31 09:35:16 +02:00
Arne Morten Kvarving
127ddd44a2
supress unused capture warning with clang
...
a bug in clang causes it to emit unused lambda captures
here due to the if constexpr usage. use standard (void)
trick to suppress it
2023-05-31 09:35:16 +02:00
Atgeirr Flø Rasmussen
ed91f7528b
Merge pull request #4664 from totto82/fix_gpmaint
...
dont store history of inactive gpmaint rates
2023-05-30 11:38:27 +02:00
Bård Skaflestad
3549d85d83
Merge pull request #4568 from totto82/2psolvent
...
Add gaswater solvent
2023-05-30 11:36:16 +02:00
Kai Bao
23c0126095
Merge pull request #4640 from steink/ms_pressure_eq_derivatives
...
Update of multisegment well pressure equations - testing
2023-05-26 22:57:23 +02:00
Tor Harald Sandve
7cf3f69cf9
Add gaswater solvent
...
Fix some places that assumed 3p + solvent
2023-05-26 16:24:38 +02:00
Kai Bao
35621058c6
Merge pull request #4654 from totto82/solvent_foam
...
Add solvent + foam simulator
2023-05-24 22:50:20 +02:00
Tor Harald Sandve
1592ef8bd2
solvent + foam simulator
2023-05-24 16:03:09 +02:00
Stein Krogstad
3beef758e4
Merge branch 'OPM:master' into ms_pressure_eq_derivatives
2023-05-24 13:35:11 +02:00
Arne Morten Kvarving
2630522d7f
avoid unused variable warning with NDEBUG
2023-05-24 12:39:24 +02:00
Tor Harald Sandve
cf169167d0
Merge pull request #4591 from totto82/fix_rswrvw_well
...
Fixes related to rsw/rvw handling in standard well
2023-05-24 08:27:06 +02:00
Stein Krogstad
5c0b76f337
Revert to original segment density computations
...
(keep average version as option)
2023-05-23 12:44:06 +02:00
Tor Harald Sandve
86edaeae77
dont store history of inactive gpmaint rates
2023-05-23 11:02:22 +02:00
Stein Krogstad
51604e5956
Move hydro p-loss assembly to end of function
2023-05-16 13:26:58 +02:00
Stein Krogstad
a3860e7d0c
Updates as requested PR review
2023-05-16 12:58:19 +02:00
Stein Krogstad
0417f101bf
Use average density for hydro p-drop
2023-05-16 12:58:19 +02:00
Stein Krogstad
8ee3493aed
don't upwind densitiy
2023-05-16 12:58:19 +02:00
Stein Krogstad
e5ac9f9dec
Inluding all derivatives for reversed flow
2023-05-16 12:58:19 +02:00
Tor Harald Sandve
f5b44ad26d
Merge pull request #4650 from totto82/addPrecEnergy
...
Add energy + precipitation of salt in brine-gas simulator
2023-05-16 12:17:35 +02:00
Arne Morten Kvarving
0406a033a2
introduce getMobility in WellInterface
...
we now share implementation between StandardWell and MultisegmentWell
2023-05-15 21:39:59 +02:00
Arne Morten Kvarving
e406d2f0a1
StandardWell::getMobility: use if constexpr
2023-05-15 21:38:39 +02:00
Arne Morten Kvarving
c0bc0abc73
StandardWell::getMobility: use Scalar relperms when possible
2023-05-15 21:38:39 +02:00
Arne Morten Kvarving
5126097d7b
changed: unify MultisegmentWell::getMobility(Eval|Scalar)
2023-05-15 21:38:39 +02:00
Arne Morten Kvarving
35c56e4ce4
changed: unify StandardWell::getMobility(Eval|Scalar)
2023-05-15 21:38:37 +02:00
Arne Morten Kvarving
1b073185a1
fixed: copy the mobility values into the temporary Eval vector
2023-05-12 15:13:34 +02:00
Tor Harald Sandve
ee39117771
Add energy + precsalt simulator
2023-05-12 10:49:17 +02:00
Tor Harald Sandve
23e9bf599d
Fixes related to rsw/rvw handling in standard well
2023-05-12 09:44:11 +02:00
Kai Bao
49a327f372
we should not request alq_value for injectors
...
through the function { return well_.wellEcl().alq_value(); }.
It will throw a runtime_error which is not properly caught.
2023-05-11 15:23:25 +02:00
Arne Morten Kvarving
c18fb6a577
changed: store rates in an array in SingleWellState
...
introduce an enum for indexing into the array. this again
allows us to coalesce 4 parallel reductions into one.
2023-05-09 12:26:18 +02:00
Kai Bao
d30e1f7a2a
adding comment to address reviewing comments for PR#4598
2023-05-08 13:55:30 +02:00
Kai Bao
926228401a
moving function needRebalanceNetwork to BlackoilWellModelGeneric
2023-05-08 13:26:23 +02:00
Kai Bao
fa39f1f183
adding max_iter and relaxation_iter for updateWellControlsAndNetwork
...
to avoid getting stuck during the iteration.
2023-05-08 10:43:49 +02:00
Kai Bao
b9348ee435
try to honor the network balance tolerance
...
without considering the iteration number. Because of the different
implementaion from other simulators, it is difficult to honour
procedure-dependent parameters.
2023-05-08 10:43:49 +02:00
Kai Bao
6148e97771
we dampen the nodal pressure update for each iteration
...
to improve the network update convergence. The current network update is
somehow explicit.
2023-05-08 10:43:49 +02:00
Kai Bao
ee77fa122c
updating the thp of the wells during the network update iteration
2023-05-08 10:43:49 +02:00
Kai Bao
bb7ed4d78e
making sure to update the pressure when needing network balance
2023-05-08 10:43:49 +02:00
Kai Bao
5536b24a84
fixing the comilation from the reverted commit
...
the interface has changed.
2023-05-08 10:43:49 +02:00
Kai Bao
2d67d819e7
Revert "removing unused function solveEqAndUpdateWellState"
...
This reverts commit 7931e6e00a
.
2023-05-08 10:43:49 +02:00
Kai Bao
8644801ac8
adding function balanceNetwork
...
not compiling yet due to the change in the master branch
2023-05-08 10:43:49 +02:00
Kai Bao
b3a6009b1b
network pressure needs to be updated even without wells open
...
mostly to make the comparison plot against reference results easier for
the network nodal pressures.
2023-05-08 10:43:49 +02:00
Kai Bao
0f4da07aaf
when a well is in a network node with nodal pressure
...
setting the dynamic thp limit with the the nodal pressure.
2023-05-08 10:43:49 +02:00
Arne Morten Kvarving
e4c15531a8
Merge pull request #4626 from akva2/simplify_wellconnection_pressures
...
Simplify WellconnectionPressures properties signatures
2023-05-08 10:22:44 +02:00
Bård Skaflestad
b4945a0a5e
Merge pull request #4615 from GitPaean/only_prediction_well_has_thp_constraint
...
only prediction wells can have THP constraint
2023-05-05 09:37:26 +02:00
Arne Morten Kvarving
59c9a139cc
changed: simplify WellConnectionPressure calculation by passing a struct
2023-05-04 14:30:55 +02:00
Arne Morten Kvarving
fafca7b382
changed: introduce a struct StandardWellConnections::Properties
...
this holds the various properties for a connection
2023-05-04 14:30:33 +02:00
Arne Morten Kvarving
f06cc1f626
changed: simplify computePerfRate signatures
...
pass a PerforationRates ref instead of multiple references
to doubles
2023-05-04 13:33:45 +02:00
Arne Morten Kvarving
9bfe835652
changed: introduce a struct PerforationRates
...
this holds various rates for a perforation that used to be
kept as separate variables
2023-05-04 13:33:45 +02:00
Kai Bao
2b054ce2a2
updating the interval when doing bisectBracket()
...
to avoid getting stuck and iterate for no purpose. It might not affect the
result much, while from the code, it looks like it should be updated
iteratively.
2023-05-01 16:01:35 +02:00
Kai Bao
a2c6e674dc
only prediction wells can have THP constraint
2023-04-27 14:00:49 +02:00
Markus Blatt
5a2b25ec31
Merge pull request #4609 from akva2/fix_wtest_for_newly_created_well
...
WellGroupHelpers: make sure we have a GuideRate value or potential for well
2023-04-27 09:17:14 +02:00
Arne Morten Kvarving
7f58ad69ac
WellGroupHelpers: make sure we have a GuideRate value or potential for well
...
this is not the case when WTEST executes at the beginning
of (the first time step of) a report step if the well was created
at that report step. this led to an exception being thrown trying
to deref the potentials array
2023-04-26 15:55:56 +02:00
Atgeirr Flø Rasmussen
8ac8b207ca
Minor adjustment avoids exception when used with FIELD group.
2023-04-26 11:51:57 +02:00
Kai Bao
79eeeae16e
addressing the reviewing comments for PR #4596
2023-04-20 15:47:31 +02:00
Kai Bao
1542f2c087
refactor the network update
...
moving the well controls and network update out of assembleImpl to avoid
call assmebleImpl in a recursive manner
2023-04-20 14:59:50 +02:00
Tor Harald Sandve
ec4a927d1b
Merge pull request #4579 from hakonhagland/glwtest_it
...
Check all ALQ values when testing a gaslift well for reopening
2023-04-18 14:46:10 +02:00
Kai Bao
ceba5c468b
Merge pull request #4572 from GitPaean/tightenging_tolerance_for_zero_rate_wells
...
stricter tolerance for wells with zero rate target
2023-04-14 11:19:35 +02:00
Tor Harald Sandve
fcb6eeb0ea
Merge pull request #4575 from totto82/wgrupcon_no
...
Support WGRUPCON item 2 = no
2023-04-14 08:16:28 +02:00
Håkon Hægland
e241fccbca
Only iterate wells activated for gaslift
2023-04-13 11:08:30 +02:00
Håkon Hægland
4ba5e3efad
Iterate ALQ when testing gaslift well
...
When testing a gaslift well under THP control, if the
well does not converge with maximum alq, try to reduce alq
in increments until well equations converge.
2023-04-13 10:40:29 +02:00
Kai Bao
688d575802
Merge pull request #4584 from GitPaean/fixing_unopen_injector
...
checking Producer or Injector when comparing bhp against BHP constraint during well operability check
2023-04-13 09:27:46 +02:00
Arne Morten Kvarving
f2983ac6af
minimum dune version required is now 2.7
2023-04-12 09:41:23 +02:00
Kai Bao
ed4aa75721
checking Producer or Injector when comparing bhp against BHP constraint
...
during well operability check.
2023-04-11 14:34:47 +02:00
Markus Blatt
734eb76910
Merge pull request #4573 from hakonhagland/glift_grad
...
Fix bug when recalculating gaslift gradient
2023-04-03 11:20:15 +02:00
Tor Harald Sandve
dbe8c3d294
Support WGRUPCON item 2 = no
2023-03-31 11:47:33 +02:00
Bård Skaflestad
c52ab4ccd5
Merge pull request #4347 from atgeirr/afr_well_assemble_separate
...
Implement functionality to add well source terms to the residual separately
2023-03-31 11:10:01 +02:00
Håkon Hægland
973a883043
Some minor changes as requested in review.
2023-03-31 09:26:28 +02:00
Håkon Hægland
c2916bc7d9
Fix bug when recalculating gaslift gradient
...
Fixes a bug in recalculateGradientAndUpdateData_() if gaslift stage2.
Also adds some more debugging output.
2023-03-30 17:44:21 +02:00
Kai Bao
7c06ec38a3
stricter tolerance for wells with zero rate target
...
for StandardWell only at this moment.
2023-03-30 15:49:27 +02:00
Bård Skaflestad
e9b372ff1c
Merge pull request #4563 from GitPaean/treating_zero_injection_rate_well_as_stoppped
...
for the wells under zero rate target control, the THP output will be zero
2023-03-30 13:03:36 +02:00
Bård Skaflestad
5a3deaf57b
Merge pull request #4571 from totto82/fixgl
...
Increase alq to its minimum value while checking that is does not violate its rate limits
2023-03-30 10:31:51 +02:00
Tor Harald Sandve
77ed90ceb8
Increase alq to its minimum value while checking that is does not violate its rate limits
2023-03-30 08:59:59 +02:00
Kai Bao
9304542dbe
combining wellIsStopped and wellUnderZeroRateTaget
...
for better readability.
2023-03-29 14:40:50 +02:00
Kai Bao
b6eecf5c55
not updating the THP for zero rate controlled wells
2023-03-29 13:48:34 +02:00
Kai Bao
f4e0a996b9
wells under zero injection target are also treated as stopped well
...
when formulating the well control equations
2023-03-29 13:48:34 +02:00
Bård Skaflestad
9524348401
Merge pull request #4549 from totto82/resv_undersat
...
fix RESV for undersaturated wells
2023-03-29 10:35:33 +02:00
Tor Harald Sandve
57c1e52019
fix error message for rs/rsw =1
2023-03-29 08:47:28 +02:00
Tor Harald Sandve
a73f4078ef
add missing include
2023-03-28 12:45:39 +02:00
Tor Harald Sandve
a2ae7d5bed
Fix resv for groups
2023-03-27 16:03:40 +02:00
Tor Harald Sandve
42527ac829
fix RESV for undersaturated wells
2023-03-27 16:03:40 +02:00
Kai Bao
7931e6e00a
removing unused function solveEqAndUpdateWellState
...
from MultisegmentWell and WellInterface .
2023-03-27 13:26:00 +02:00
Kai Bao
2c5a4398c9
make sure zero production rates are obtained for the following wells
...
1. stopped production wells
2. production wells under zero rate control
We guarantee the objective through enforce zero values for the WQTotal
primary variable during the initialization and update process during the
Newton solution.
2023-03-27 13:24:08 +02:00
hnil
aa40d2f0f3
-- prepared for possibliy of not using cached intentensive quantities
2023-03-24 19:57:31 +01:00
Bård Skaflestad
0a9d2a7099
Merge pull request #4543 from hnil/more-timings
...
added more timing macros
2023-03-22 10:51:28 +01:00
hnil
122a478341
added more timing macros
2023-03-21 22:44:14 +01:00
steink
c997b438dd
assembleWellEq
2023-03-20 13:15:59 +01:00
Markus Blatt
5c1d964478
Merge pull request #4512 from akva2/rateconverter_compile_unit
...
RateConverter: introduce a compile unit
2023-03-15 20:54:26 +01:00
Bård Skaflestad
1ac190e4a0
Merge pull request #4518 from atgeirr/fix-zero-rate-control-eq
...
Treat rate control with zero target same as stopped well.
2023-03-10 16:12:08 +01:00
Atgeirr Flø Rasmussen
2964bd409e
Use diagonal matrix block pointers for well source terms.
2023-03-08 16:41:36 +01:00
hnil
e705dc41c2
modification to to well assembly form well side to avoid asking for wells on all cells
2023-03-08 16:41:36 +01:00
Arne Morten Kvarving
3967eb001b
RateConverter: prefer using
2023-03-08 15:40:18 +01:00
Arne Morten Kvarving
173e3900d4
RateConverter: move inferDissolvedVaporisedRatio to compile unit
2023-03-08 15:40:18 +01:00
Arne Morten Kvarving
8c233ffba2
RateConverter: move calcReservoirVoidageRates to compile unit
2023-03-08 15:40:18 +01:00
Arne Morten Kvarving
ae9ed506e8
RateConverter: move calcCoeff to compile unit
2023-03-08 15:40:18 +01:00
Arne Morten Kvarving
11602bbdda
RateConverter: move calcInjCoeff to compile unit
2023-03-08 15:40:18 +01:00
Arne Morten Kvarving
7672e14890
RateConvert: introduce compile unit
...
move global rate reductions into it
2023-03-08 15:40:15 +01:00
Atgeirr Flø Rasmussen
60cdbb8cfd
Treat rate control with zero target same as stopped well.
2023-03-08 15:32:55 +01:00
Arne Morten Kvarving
917af4e28e
RateConverter: coalesce global reductions
2023-03-08 12:55:04 +01:00
Atgeirr Flø Rasmussen
fc06fc77c3
Merge pull request #4500 from GitPaean/unifying_interface_assemble_noiteration
...
make sure computeWellRatesWithBhpIterations honor bhp limit (can change) for StandardWell
2023-03-07 21:02:44 +01:00
Arne Morten Kvarving
7a90bd48b8
GasLiftSingleWell: avoid unused variable warning with NDEBUG
2023-03-07 11:22:01 +01:00
Arne Morten Kvarving
aeee2ad9d3
RateConverter: throw an exception, not a bare string
2023-03-06 13:08:33 +01:00
Kai Bao
2152ac6465
make sure computeWellRatesWithBhpIterations honor bhp limit
...
for StandardWell
2023-03-02 23:53:56 +01:00
Atgeirr Flø Rasmussen
8efb30d2bb
Merge pull request #4482 from totto82/addGasWaterEnergy
...
Add gaswater energy simulator
2023-02-28 08:01:06 +01:00
Kai Bao
460aa5027b
not considering wells with wrong flow direction as converged
...
under THP constraint, well can get converged with wrong flow direction
(e.g. a producer is injecting), becasue we cut off the wrong flow
direction as zero rate in the VFP evaluation
2023-02-24 14:30:45 +01:00
Tor Harald Sandve
5028e0fbf1
Add gaswater energy simulator
2023-02-23 09:25:50 +01:00
Bård Skaflestad
4e8381b6f9
Merge pull request #4370 from totto82/computeCVIR
...
compute CVIR and CVPR
2023-02-22 17:38:33 +01:00
Arne Morten Kvarving
bdd75a3a59
SingleWellState: serialize PerfData
2023-02-22 13:59:59 +01:00
Arne Morten Kvarving
8d339c464c
PerfData: add serialization support
2023-02-22 13:59:59 +01:00
Tor Harald Sandve
054d832bff
compute CVIR and CVPR
2023-02-22 08:54:47 +01:00
Bård Skaflestad
37959ee26a
Merge pull request #4468 from vkip/fix_connpress_report
...
Fixing MSW connection pressure output
2023-02-17 17:44:39 +01:00
Vegard Kippe
f527267593
Fixing MSW connection pressure output
2023-02-17 12:17:41 +01:00
Bård Skaflestad
981299c2e0
Merge pull request #4461 from totto82/injalq
...
Fix default alq injector
2023-02-17 11:58:03 +01:00
Arne Morten Kvarving
72133deadc
added: support for loading serialized state from .OPMRST file
2023-02-16 13:48:36 +01:00
Arne Morten Kvarving
28e7da5468
BlackoilWellModelGeneric: add serialization support
2023-02-16 11:19:06 +01:00
Arne Morten Kvarving
90fbdcee0a
WGState: add serialization support
2023-02-16 10:48:34 +01:00
Arne Morten Kvarving
d9c801033a
cosmetics
2023-02-16 09:52:36 +01:00
Arne Morten Kvarving
b7a531b93a
WellState: add serialization support
2023-02-16 09:43:39 +01:00
Arne Morten Kvarving
6d93b2d12f
ALQState: add serialization support
2023-02-16 08:35:34 +01:00
Arne Morten Kvarving
b87bf2b3ae
GroupState: add serialization support
2023-02-15 22:57:44 +01:00
Arne Morten Kvarving
1a5ae624b1
GroupState: add gpmaint_state to comparison operator
2023-02-15 22:51:19 +01:00
Arne Morten Kvarving
7f36bac579
WellContainer: add serialization support
2023-02-15 21:55:19 +01:00
Atgeirr Flø Rasmussen
e1942d145f
Merge pull request #4437 from akva2/singlewellstate_serialize
...
SingleWellState: add serialization support
2023-02-15 15:29:08 +01:00
Bård Skaflestad
3be62f4bb6
Merge pull request #4460 from totto82/fixVREP
...
FIX VREF for groups with both gas and water injectors
2023-02-15 14:34:52 +01:00
Arne Morten Kvarving
60a5273d0e
SingleWellState: add serialization of dynamic state
2023-02-15 13:56:25 +01:00
Tor Harald Sandve
be2b021167
Fix default alq injector
2023-02-15 13:42:50 +01:00
Tor Harald Sandve
5356dbbaa8
FIX VREF for groups with both gas and water injectors
2023-02-15 13:35:12 +01:00
Arne Morten Kvarving
482c32b117
SegmentState: add serialization support
2023-02-15 12:59:18 +01:00
Atgeirr Flø Rasmussen
358d9997ee
Fix a few warnings in recently added code.
2023-02-14 15:46:08 +01:00
Bård Skaflestad
d45a08a6cf
Merge pull request #4455 from akva2/perforationdata_missing_include
...
PerforationData: add missing include
2023-02-13 17:40:50 +01:00
Arne Morten Kvarving
2ed2734365
PerforationData: add missing include
2023-02-13 16:15:45 +01:00
Arne Morten Kvarving
a72a9e55a0
BlackoilWellModel: prefer std::make_unique
2023-02-13 16:04:03 +01:00
Kai Bao
0d00337275
Merge pull request #4409 from GitPaean/update_well_state_with_thp_target2
...
update well state when switching to THP control for producers
2023-02-10 16:08:32 +01:00
Bård Skaflestad
2156e16478
Merge pull request #4453 from akva2/regionaveragecalculator_missing_include
...
RegionAverageCalculator: add missing include
2023-02-10 16:02:47 +01:00
Arne Morten Kvarving
7a5f60a7bd
RegionAverageCalculator: add missing include
2023-02-10 15:09:16 +01:00
Markus Blatt
8b7c87ba52
Merge pull request #4434 from akva2/parwelmorepriv
...
ParallelWellinfo: make some more templates private
2023-02-09 16:51:32 +01:00
Arne Morten Kvarving
997284ca52
TargetCalculator: add missing include
2023-02-08 09:26:11 +01:00
Arne Morten Kvarving
8bc996e291
ParallelWellinfo: make some more templates private
...
to encapsulate some headers in compile unit. also clean
up include list in the process
2023-02-07 15:53:11 +01:00