Arne Morten Kvarving
d1c1aecac7
move implementation of computePropertiesForWellConnectionPressure to StandardWellConnections
2022-11-25 12:56:20 +01:00
Arne Morten Kvarving
100a7b0582
rename computeConnectionDensities to computeDensities
...
that it applies to connections are now implied by class
2022-11-25 12:55:39 +01:00
Arne Morten Kvarving
5d1b5d9426
rename computeConnectionPressureDelta to computePressureDelta
...
that it applies to connections are now implied by class
2022-11-25 12:55:39 +01:00
Arne Morten Kvarving
0d72bba326
move computeConnectionDensities to StandardWellConnections
...
this necessitates expanding the template parameter list
2022-11-25 12:55:36 +01:00
Arne Morten Kvarving
7cadeb5206
changed: move StandardWellConnections out of inheritance hierarchy
...
instead hold a member in StandardWellEval
2022-11-25 12:54:56 +01:00
Bård Skaflestad
e524acd5b2
Merge pull request #4283 from akva2/stdwellass_simplify
...
StandardWellAssemble: simplify by using primary variables class
2022-11-23 23:29:42 +01:00
Arne Morten Kvarving
4f6665076c
StandardWellAssemble: simplify by using primary variables class
...
- pass primary variables as parameter
- use the evaluation type
2022-11-23 21:19:06 +01:00
Arne Morten Kvarving
2da1322697
fix regression in wells
...
we need to call WellInterface::getTHPConstraint,
not WellBhpThpCalculator::getTHPConstraint
2022-11-23 15:37:04 +01:00
Bård Skaflestad
fa1ea7f997
Merge pull request #4282 from totto82/fixInjTemp2
...
remove derivative in thermal flux for injectors
2022-11-22 17:29:24 +01:00
Arne Morten Kvarving
8e3121113c
drop unnecessary wrapper StandardWell::updateExtraPrimaryVariables
2022-11-22 13:11:17 +01:00
Arne Morten Kvarving
f64628f72d
StandardWellPrimaryVariables: make data members private
...
and add generic read-only accessors
2022-11-22 13:11:17 +01:00
Arne Morten Kvarving
4bbcdf0646
add checkFinite to StandardWellPrimaryVariables
2022-11-22 13:11:17 +01:00
Arne Morten Kvarving
999d4c6be9
add StandardWellPrimaryVariables::updateNewtonPolyMW
...
extracted from StandardWell::updatePrimaryVariablesNewton
2022-11-22 13:11:17 +01:00
Arne Morten Kvarving
23a8aed4e8
move getWQTotal to StandardWellPrimaryVariables
2022-11-22 13:11:17 +01:00
Arne Morten Kvarving
fbf99889b2
move getBhp to StandardWellPrimaryVariables
2022-11-22 13:11:17 +01:00
Arne Morten Kvarving
ff26a9e001
remove StandardWell::updatePrimaryVariables
...
no need for the wrapper any longer as the implementation
is now in StandardWellPrimaryVariables.
2022-11-22 13:11:17 +01:00
Arne Morten Kvarving
3f6c4922b0
move updatePrimaryVariablesNewton to StandardWellPrimaryVariables
2022-11-22 13:11:17 +01:00
Arne Morten Kvarving
435bd67732
move getQs to StandardWellPrimaryVariables
2022-11-22 13:11:17 +01:00
Arne Morten Kvarving
1aa74a9830
move wellSurfaceVolumeFraction to StandardWellPrimaryVariables
2022-11-22 13:11:17 +01:00
Arne Morten Kvarving
412e561cd8
move updateWellStateFromPrimaryVariablesPolyMW to StandardWellPrimaryVariables
2022-11-22 13:11:17 +01:00
Arne Morten Kvarving
f964169914
move updatePrimaryVariablesPolyMW to StandardWellPrimaryVariables
2022-11-22 13:11:17 +01:00
Arne Morten Kvarving
15d49e745e
added: StandardWellPrimaryVariables
...
this is a container class for the primary variables in
standard well
2022-11-22 13:11:17 +01:00
Arne Morten Kvarving
68bc90b3be
added: StandardWellAssemble::assembleSourceEq
...
extracted from StandardWell::assembleWellEqWithoutIterationImpl
2022-11-22 12:22:18 +01:00
Arne Morten Kvarving
5bbf205619
added: StandardWellAssemble::asembleZFracEq
...
extracted from StandardWell::assembleWellEqWithoutIterationImpl
2022-11-22 12:22:18 +01:00
Arne Morten Kvarving
f720cc6dde
added: StandardWellAssemble::assemblePerforationEq
...
extracted from StandardWell::assembleWellEqWithoutIterationImpl
2022-11-22 12:22:18 +01:00
Arne Morten Kvarving
57ecd2a5e9
added: StandardWellAssemble::assembleInjectivityEq
...
extracted from StandardWell::handleInjectivityEquations
2022-11-22 12:22:18 +01:00
Arne Morten Kvarving
10e967653b
added: StandardWellAssemble
...
this handles assembly of the equation system for standardwell.
start by moving assembleControlEq into the new class
2022-11-22 12:22:18 +01:00
Arne Morten Kvarving
d2c028fb74
StandardWell_impl.hpp: remove some unused headers
2022-11-22 10:37:41 +01:00
Arne Morten Kvarving
4b4898d6ec
added: StandardWellEquations::sumDistributed
...
this sums up the global equation system for distributed wells
2022-11-22 10:37:41 +01:00
Arne Morten Kvarving
e9ed80d644
added: StandardWellEquations::extractCPRPressureMatrix()
...
this adds the cpr pressure matrix to a matrix.
this is the core of StandardWellEval::addWellPressureEquations
use the new method in the implementation.
2022-11-22 10:37:41 +01:00
Arne Morten Kvarving
f2d8a073f9
added: StandardWellEquations::extract(SparseMatrixAdapter)
...
this adds the well matrices to a sparse matrix adapter.
this is the core of StandardWellEval::addWellContributions.
use the new method in the implementation.
2022-11-22 10:36:54 +01:00
Arne Morten Kvarving
40640e9da6
added: StandardWellEquations::recoverSolutionWell()
...
this recovers the well solution from a solution vector.
use the new method in the well implementation.
2022-11-22 10:36:54 +01:00
Arne Morten Kvarving
daf0f90fe5
added: StandardWellEquations::solve()
...
this applies the inverted D matrix to the residual vector.
use the new method in the well implementation.
2022-11-22 10:36:54 +01:00
Arne Morten Kvarving
83c41e3f9c
added: StandardWellEquations::invert()
...
this inverts the D matrix.
use the new method in the well implementation.
2022-11-22 10:36:54 +01:00
Arne Morten Kvarving
033718f027
added: StandardWellEquations::apply(r)
...
this applies the equation system to a vector.
use the new method in the well implementation.
2022-11-22 10:36:54 +01:00
Arne Morten Kvarving
21bb4dc955
added: StandardWellEquations::apply(x,Ax)
...
this applies the equation system to a vector.
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
Tor Harald Sandve
f9ab7e6b07
remove derivative in thermal flux for injectors
2022-11-22 09:40:39 +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
7553e22726
remove derivative in thermal flux for injectors
2022-11-10 12:57:21 +01:00
Arne Morten Kvarving
e8152a1b65
changed: tidy up computeBhpAtThpLimitProdWithAlq interface
...
put deferred_logger at the end of the parameter list.
similar to the rest of this family of methods
2022-10-31 13:16:16 +01:00
Arne Morten Kvarving
db05f1d73f
changed: drop wrapper StandardWellGeneric::computeBhpAtThpLimitProdWithAlq
2022-10-31 13:16:15 +01:00
Arne Morten Kvarving
f214ccc138
changed: move computeBhpFromThpLimitInj to WellBhpThpCalculator
2022-10-31 13:15:56 +01:00
Arne Morten Kvarving
4fcb1e9d37
changed: move calculateThpFromBhp to WellBhpThpCalculator
2022-10-31 13:15:18 +01:00
Arne Morten Kvarving
f7f4352b68
changed: move mostStrictBhpFromBhpLimits to WellBhpThpCalculator
2022-10-31 13:15:18 +01:00
Arne Morten Kvarving
5d4c7f49a2
move checkConvergencePolyMW into WellConvergence
2022-10-28 19:47:59 +02:00
Tor Harald Sandve
74eb0d048f
Improve convergence for newly opened wells with thp control
2022-10-17 15:32:27 +02:00
Markus Blatt
a4360b4961
Merge pull request #4028 from akva2/reduce_dup
...
changed: get rid of duplicate MatrixBlock headers/classes
2022-09-09 15:30:30 +02:00
Tor Harald Sandve
f36ac3eeed
Merge pull request #3837 from totto82/wvfpexp
...
Add option for explicit vfp lookup for problematic wells
2022-09-09 10:00:02 +02:00
Arne Morten Kvarving
a9590215dc
changed: consistently use std::array
2022-08-26 08:28:46 +02:00
Arne Morten Kvarving
1a348c0d29
changed: get rid of duplicate MatrixBlock headers/classes
...
this has already led to some confusion. move some of the code
upstream to opm-models and remove the rest of the duplicated code.
the remainder of MatrixBlock.hpp is renamed to SmallDenseMatrixUtils.hpp
2022-08-25 12:48:53 +02:00
Bård Skaflestad
a56cd6752c
Revert "changed: reduce some code duplication"
2022-08-24 20:34:52 +02:00
Arne Morten Kvarving
447d77b579
changed: get rid of duplicate MatrixBlock headers/classes
...
this has already led to some confusion. move some of the code
upstream to opm-models and remove the rest of the duplicated code.
the remainder of MatrixBlock.hpp is renamed to SmallDenseMatrixUtils.hpp
2022-08-24 15:54:01 +02:00
Tor Harald Sandve
96222f8afb
dont use explicit vfp lookup for newly opened wells
2022-08-19 10:33:19 +02:00
Arne Morten Kvarving
d2ba2e75e8
remove include of Well header
2022-08-11 11:49:42 +02:00
Markus Blatt
941957c13e
Fix shadowed variable warning.
2022-07-28 19:50:24 +02:00
Markus Blatt
f7dec58ee2
Fix deadlock for distributed wells when calculating densities/pressures
...
There was a check that is supposed that all rates are zero but for
distributed wells it only checked local perforations. Of course that
can lead to different outcome on processes for distributed wells.
2022-07-15 17:58:04 +02:00
Markus Blatt
412cf1d6cd
Merge pull request #3976 from blattms/well-fix-distributed-tw
...
[bugfix] Fix well transmissibility weights for distributed wells.
2022-07-15 10:39:48 +02:00
Markus Blatt
bfd1d3187a
[bugfix] Fix well transmissibility weights for distributed wells.
...
If we compute a sum over all perforations than we need to cater for the
case of distributed wells. That is we need to also sum up over all processes
involved after performing the local sum.
One of these global sums was missing in computeWellConnectionDensitesPressures
for producers when we compute the weights based on well transmissibilities.
2022-07-13 13:40:16 +02:00
Tor Harald Sandve
cf1abb086f
remove msw(ms) from regulariztion parameter
2022-06-29 15:39:51 +02:00
Tor Harald Sandve
eef455106d
regularize equation for std wells
2022-06-29 12:47:44 +02:00
Arne Morten Kvarving
da57e15271
fixed: fix build with dune 2.6
2022-06-20 14:16:43 +02:00
hnil
4ead854b69
- taking pullrequest information into account
...
- Moving transfere level to be template of OwningTwolevelPrecontitioner
2022-06-08 17:03:27 +02:00
hnil
8f4cf8a952
removed compiler warnings
2022-06-08 17:03:27 +02:00
hnil
541edeaf67
- add default for CPRW
...
- cleanded code
2022-06-08 17:03:27 +02:00
hnil
6c407506a9
cleaning code
2022-06-08 17:03:27 +02:00
hnil
a8acd40f4a
Changes to make ms wells work with cprw
2022-06-08 17:03:27 +02:00
hnil
4975d5d9e7
- fixed extended communicator
...
- fixed scaling of well cpr
2022-06-08 17:02:02 +02:00
hnil
da572d1f60
-Fixed buges related to cpr with wells.
...
- change interfaces to have access to pressureVarIndex
- added option in cmake files to propagate checking in dune-istl
2022-06-08 17:02:02 +02:00
Atgeirr Flø Rasmussen
fef06a77af
Updated for upstream changes.
2022-06-08 17:02:02 +02:00
hnil
f3acfcde0b
Adding functions for pressure system manipulation to well models.
...
Also add well-aware operator and transfer policy.
This will be used for CPR with custom operators.
2022-06-08 17:01:33 +02:00
Tor Harald Sandve
3adaa1b987
fix component/phase mixup
2022-06-07 14:14:13 +02:00
Tor Harald Sandve
e965dac3ee
Only flag a bhp producer/injector operable if the sum of IPR are negative/positive
2022-06-07 10:47:22 +02:00
Paul Egberts
a255613452
Merge branch 'master' into vapoilwat
2022-05-11 11:55:54 +02:00
Paul Egberts
5a23084846
restored MultisegmentWellEval.cpp
2022-05-03 11:54:41 +02:00
Tor Harald Sandve
c8bef3bcd5
only check if wells has negative potentials if check_well_operabilty=true(default)
2022-04-22 08:19:33 +02:00
Håkon Hægland
9d04895ddb
Fix assertion error for 2p oil water
...
VFP calculations for two phase gas lift does not work unless the
rates are adpated to include a zero gas rate.
2022-04-20 21:47:15 +02:00
Paul Egberts
17f2365406
clean up comments
2022-04-11 22:15:35 +02:00
Paul Egberts
c2fa5fc5a8
adding three-phase simulator including water evaporation and saltpreciopitation
2022-04-11 21:56:44 +02:00
Paul Egberts
ab3be6dce4
adjustments to account for vaporized water
2022-04-08 22:36:39 +02:00
Tor Harald Sandve
fba9046201
Some more clean-up based on review
2022-04-04 11:37:31 +02:00
Tor Harald Sandve
69ffed06de
Address comments from review
...
1) Add debug messages
2) Fix bug of missing else in the code
2022-04-04 08:24:32 +02:00
Tor Harald Sandve
5b53fcd8a6
guard against d = 0
2022-04-04 08:24:32 +02:00
Kai Bao
aa633ff98f
reconstructing the if structure for has_energy
...
in StandardWell<TypeTag>::
calculateSinglePerf()
2022-03-31 22:38:55 +02:00
Tor Harald Sandve
519b5dd8cc
Merge pull request #3810 from totto82/refactor_bhpFromThpLimit_1
...
Refactor bhp from thp limit
2022-03-22 13:57:52 +01:00
Tor Harald Sandve
c067e5fafd
Merge pull request #3834 from totto82/avoid_closing
...
Handle case where bhp target is violated
2022-03-22 11:56:21 +01:00
Tor Harald Sandve
7d5a0a74eb
Handle case where bhp target is violated
2022-03-21 09:52:41 +01:00
Håkon Hægland
438a712e54
Gas lift optimization for two-phase oil-water.
...
Add gas lift optimization support for two-phase oil-water flow.
2022-03-07 15:19:43 +01:00
Tor Harald Sandve
cb99a2fc74
check also the validity of the iterated solution
2022-02-15 12:39:42 +01:00
Tor Harald Sandve
e0573e99b1
iterate in computeBhpAtThpLimitProdWithAlq if no solution or potentials are negative
2022-02-15 12:39:42 +01:00
Tor Harald Sandve
1001d35418
Move computeBhpAtThpLimitProd MSW code to common and apply it for both MSW and STW
...
The computeBhpAtThpLimitProd for MSW is faster and sufficiently robust and should also be used by STW
2022-02-15 12:39:42 +01:00
Håkon Hægland
54160827de
Add gaslift optimization support for MSW.
...
Implements gas lift optimization support for multisegmented wells (MSW).
2022-02-14 21:38:50 +01:00
Håkon Hægland
4970b0641e
Improve debugging tools in gaslift code.
...
Introduces a gaslift debugging variable in ALQState in WellState. This
variable will persist between timesteps in contrast to when debugging
variables are defined in GasLiftSingleWell, GasLiftGroupState, or GasLiftStage2.
Currently only an integer variable debug_counter is added to ALQState,
which can be used as follows: First debugging is switched on globally
for BlackOilWellModel, GasLiftSingleWell, GasLiftGroupState, and
GasLiftStage2 by setting glift_debug to a true value in BlackOilWellModelGeneric.
Then, the following debugging code can be added to e.g. one of
GasLiftSingleWell, GasLiftGroupState, or GasLiftStage2 :
auto count = debugUpdateGlobalCounter_();
if (count == some_integer) {
displayDebugMessage_("stop here");
}
Here, the integer "some_integer" is determined typically by looking at
the debugging output of a previous run. This can be done since the
call to debugUpdateGlobalCounter_() will print out the current value
of the counter and then increment the counter by one. And it will be
easy to recognize these values in the debug ouput. If you find a place
in the output that looks suspect, just take a note of the counter
value in the output around that point and insert the value for
"some_integer", then after recompiling the code with the desired value
for "some_integer", it is now easy to set a breakpoint in GDB at the
line
displayDebugMessage_("stop here").
shown in the above snippet. This should improve the ability to quickly
to set a breakpoint in GDB around at a given time and point in the simulation.
2022-01-23 20:37:26 +01:00
Bård Skaflestad
abf92eed52
Accumulate Dissolved Gas and Vaporized Oil Flow Rates Across Ranks
...
This is needed to get consistent estimates for the summary vectors
* {F,G,W}OP{R,T}{F,S} -- Free/Vaporized Oil Production
* {F,G,W}GP{R,T}{F,S} -- Free/Dissolved Gas Production
in the case of distributed wells.
Thanks to [at]blattms for the suggested fix.
2022-01-10 14:14:39 +01:00
Joakim Hove
6b92443cb4
Downstream filesystem reorganisation in opm-common
2022-01-02 14:33:34 +01:00
Tor Harald Sandve
51d9b7ee11
Merge pull request #3719 from totto82/noIterPot
...
Do not iterate when computing well potentials for standard wells
2021-12-10 16:20:10 +01:00
Tor Harald Sandve
fac3ca3507
do not iterate when computing well potentials
2021-12-02 13:48:22 +00:00
Tor Harald Sandve
2c17b1942c
Move getPerfCellPressure to wellInterface
...
The cell pressure is independent of well model and belongs to the interface
This should move the MSW model one step closer to supporting GasWater cases
2021-11-30 10:48:02 +00:00
Tor Harald Sandve
50ab26c330
cleanup
2021-11-23 14:01:07 +00:00
Tor Harald Sandve
43fd50e355
only mark negative potentials as not operable
2021-11-22 11:27:45 +00:00
Tor Harald Sandve
b5cdb1048a
Mark wells with negative and trivial potentials as not operable
...
The simulator will try to compute potentials at every iterations to
try to reopen the well.
2021-11-22 08:44:17 +00:00
Tor Harald Sandve
1c9c5c484b
check operability injectors
2021-10-15 12:32:02 +02:00
Tor Harald Sandve
70c9d2e237
Merge pull request #3590 from daavid00/micp-2021-10
...
micp
2021-10-14 22:28:28 +02:00
daavid00
48b175904a
first version of micp implementation in flow
2021-10-14 17:44:57 +02:00
Tor Harald Sandve
fdf6ce9c54
change assert with throw for isfinite primary variable
2021-10-08 15:26:52 +02:00
Tor Harald Sandve
cb9254636b
rename and cleanup
2021-09-30 09:01:07 +02:00
Joakim Hove
a527dc7fdd
Remove stale TODO
2021-09-28 23:45:40 +02:00
Joakim Hove
3aaaa23ed1
Implement connection rate summation in SingleWellState
2021-09-28 23:45:40 +02:00
Joakim Hove
a11e3222bd
Merge pull request #3534 from joakim-hove/use-single-well-state
...
Use single well state
2021-09-22 12:35:15 +02:00
Tor Harald Sandve
21942f0cc2
use getMobilityScalar in updateIPR
2021-09-21 09:50:20 +02:00
Joakim Hove
5531120411
Use SingleWellState argument instead of full WellState
2021-09-20 11:45:24 +02:00
Tor Harald Sandve
bd066d9300
Merge pull request #3524 from totto82/speedUpPot
...
Do not iterate inside computeBhpFromThp in MSW
2021-09-15 12:44:52 +02:00
Tor Harald Sandve
81d9a8c178
add option for relaxed convergence for stw
2021-09-14 14:32:14 +02:00
Tor Harald Sandve
43a858ef25
rename computeBhpFromThpPotential to computeBhpFromThpIterations in std wells
2021-09-13 14:07:21 +02:00
Arne Morten Kvarving
ae212ff883
drop using statement for ipr_b_
...
rather qualify member variable with this->
2021-09-07 11:26:33 +02:00
Arne Morten Kvarving
870cb04e68
drop using statement for ipr_a_
...
rather qualify member variable with this->
2021-09-07 11:26:33 +02:00
Arne Morten Kvarving
ad39dbdaf0
drop using statement for bore_diameters_
...
rather qualify member variable with this->
2021-09-07 11:26:33 +02:00
Arne Morten Kvarving
001d69c17b
drop using statement for perf_length_
...
rather qualify member variable with this->
2021-09-07 11:26:33 +02:00
Arne Morten Kvarving
475bea085c
drop using statement for perf_rep_radius_
...
rather qualify member variable with this->
2021-09-07 11:26:33 +02:00
Arne Morten Kvarving
2cc38ed396
drop using statement for connectionRates_
...
rather qualify member variable with this->
2021-09-07 11:26:33 +02:00
Arne Morten Kvarving
9b92837673
drop using statement for num_components_
...
rather qualify member variable with this->
2021-09-07 11:26:33 +02:00
Arne Morten Kvarving
1d15c3064a
drop using statement for index_of_well_
...
rather qualify member variable with this->
2021-09-07 11:25:09 +02:00
Arne Morten Kvarving
10b756d08c
drop using statement for well_index_
...
rather qualify member variable with this->
2021-09-07 11:25:09 +02:00
Arne Morten Kvarving
aaf216a29a
drop using statement for saturation_table_number_
...
rather qualify member variable with this->
2021-09-07 11:25:09 +02:00
Arne Morten Kvarving
55b52c3bd4
drop using statement for number_of_phases_
...
rather qualify member variable with this->
2021-09-07 11:25:09 +02:00
Arne Morten Kvarving
79801bb63a
drop using statement for number_of_perforations_
...
rather qualify member variable with this->
2021-09-07 11:25:09 +02:00
Arne Morten Kvarving
66e938b13e
drop using statement for well_cells_
...
rather qualify member variable with this->
2021-09-07 11:24:51 +02:00
Arne Morten Kvarving
97cbbe910a
drop using statement for perf_depth_
...
rather qualify member variable with this->
2021-09-07 11:24:51 +02:00
Arne Morten Kvarving
68786651f5
drop using statement for well_efficiency_factor_
...
rather qualify member variable with this->
2021-09-07 11:24:51 +02:00
Arne Morten Kvarving
73be71bff5
drop using statement for param_
...
rather qualify member variable with this->
2021-09-07 11:24:06 +02:00
Arne Morten Kvarving
79d8cf90fd
drop using statement for well_ecl_
...
rather qualify member variable with this->
2021-09-07 11:24:06 +02:00
Arne Morten Kvarving
874a7a3830
drop using statement for getALQ
...
rather qualify member function calls with this->
2021-09-07 11:24:06 +02:00
Arne Morten Kvarving
45de63f0f5
drop using statement for mostStrictBhpFromBhpLimits
...
rather qualify member function calls with this->
2021-09-07 11:24:06 +02:00
Arne Morten Kvarving
83671b3448
drop using statement for wfoam
...
rather qualify member function calls with this->
2021-09-07 11:24:06 +02:00
Arne Morten Kvarving
6cfd259f2f
drop using statement for wpolymer
...
rather qualify member function calls with this->
2021-09-07 11:24:06 +02:00
Arne Morten Kvarving
fd2185d3f9
drop using statement for wsolvent
...
rather qualify member function calls with this->
2021-09-07 11:23:25 +02:00
Arne Morten Kvarving
2c0743c888
drop using statement for wsalt
...
rather qualify member function calls with this->
2021-09-07 11:23:25 +02:00
Arne Morten Kvarving
dae0e73327
drop using statement for ebosCompIdxToFlowCompIdx
...
rather qualify member function calls with this->
2021-09-07 11:23:25 +02:00
Arne Morten Kvarving
9ebb315002
drop using statement for flowPhaseToEbosPhaseIdx
...
rather qualify member function calls with this->
2021-09-07 11:23:24 +02:00
Arne Morten Kvarving
35cc1b9a2a
drop using statement for flowPhaseToEbosCompIdx
...
rather qualify member function calls with this->
2021-09-07 11:23:24 +02:00
Arne Morten Kvarving
48e282bd65
drop using statement for getAllowCrossFlow
...
rather qualify member function calls with this->
2021-09-07 11:23:24 +02:00
Arne Morten Kvarving
2b1ac22c99
drop aliases for Indices entries
...
using Indices directly more clearly shows where the data comes
from without having to hop through hoops to do so.
2021-09-06 12:49:01 +02:00
Tor Harald Sandve
7c8a39fdb6
fix after rebase
2021-08-26 10:32:58 +02:00
Tor Harald Sandve
514c2a67a9
always compute potentials
2021-08-26 10:29:25 +02:00
Tor Harald Sandve
7e3cca1316
iterate to get more accurate potentials for stw wells
2021-08-26 10:29:25 +02:00
Joakim Hove
579aba8d08
Include perforation data in SingleWellState
2021-08-24 12:46:24 +02:00
Joakim Hove
755de65eb4
Use SingleWellState to manage well surface rates
2021-08-24 12:46:24 +02:00
Joakim Hove
67bd2fd333
Add productivity_index to SingleWellState
2021-08-23 12:05:26 +02:00
Joakim Hove
e84eaa3179
Add dissolved_gas_rate and vaporized_oil_rate to SingleWellState
2021-08-23 12:05:26 +02:00
Joakim Hove
581f571c9d
Use SingleWellState for production and injection control
2021-08-15 09:07:39 +02:00
Joakim Hove
a54daf75e8
Add trivial class SingleWellState with bhp and thp
2021-08-15 09:01:21 +02:00
Tor Harald Sandve
ac4ee51a5f
Merge pull request #3465 from totto82/updateWTS
...
Make sure potentials are computed in some corner cases
2021-08-10 14:15:22 +02:00
Tor Harald Sandve
5cb81d36c9
re-compute potentials for pressure controlled wells with trivial rates
2021-08-09 13:41:50 +02:00
Tor Harald Sandve
153cd678c6
Add a derivative free version of the well rate calculations
2021-08-04 11:32:50 +02:00
Tor Harald Sandve
60f59cd6e6
Potentially reduce gaslift when under well is under group control
...
Current implemention only support ORAT and GRAT controlled groups
2021-06-30 09:59:09 +02:00
Håkon Hægland
fbb24e2a5a
Check group limits in gas lift stage 1.
...
Check group limits in gas lift stage 1 to avoid adding too much ALQ which must
anyway later be removed in stage 2. This should make the optimization
more efficient for small ALQ increment values. Also adds MPI support.
2021-06-16 12:00:54 +02:00
Joakim Hove
3c3a4afcfc
Use PerfData for connection productivity index
2021-06-10 14:32:45 +02:00
Joakim Hove
81c5ce8843
Use PerfData for water throughput, water velocity and skin pressure
2021-06-10 14:32:45 +02:00
Joakim Hove
db02b9f112
Use PerfData for solvent perforation rates
2021-06-10 14:27:37 +02:00
Joakim Hove
49e9b51269
Use PerfData for polymer rates
2021-06-10 07:19:21 +02:00
Joakim Hove
3010b96611
Use PerfData for perforation rates
2021-06-10 07:19:21 +02:00
Joakim Hove
76838cd8a4
Use PerfData for perforation pressure
2021-06-10 07:19:21 +02:00
Arne Morten Kvarving
eb06c4bd70
add StandardWellEval
2021-06-09 08:32:30 +02:00
Joakim Hove
023edc67e5
Remove first perf member from Well classes
2021-06-08 14:24:26 +02:00
Arne Morten Kvarving
10ff86af52
add StandardWellGeneric
...
avoid rebuilding this for all simulators when code
is only dependent on Scalar. specialized for double
2021-06-08 08:08:50 +02:00
Arne Morten Kvarving
4c09b5dde3
add WellInterfaceEval
2021-06-07 08:26:43 +02:00
Joakim Hove
32a6f32660
Use WellContainer to manage perf phase rate
2021-06-05 07:50:56 +02:00
Joakim Hove
6a21371b59
Use WellContainer to manage perf phase rates
2021-06-04 18:23:20 +02:00
Joakim Hove
76292552ec
Use WellContainer for perf rate of polymer/solvent/brine
2021-06-04 18:23:20 +02:00
Joakim Hove
104036d4b8
Use WellContainer for perf water velocity
2021-06-04 18:23:20 +02:00
Joakim Hove
b0fd14a597
Use WellContainer<> for perforation skin pressure
2021-06-04 18:23:20 +02:00
Joakim Hove
1a6737aff3
Use well index for perforation rates
2021-06-03 13:29:45 +02:00
Joakim Hove
739f6ad28a
Use well index for solvent perf rates
2021-06-03 13:21:23 +02:00
Joakim Hove
a2195f367d
Use well index for brine perf rates
2021-06-03 13:21:23 +02:00
Joakim Hove
fa829cce7a
Use well index for polymer perforation rates
2021-06-03 13:21:23 +02:00
Joakim Hove
f62b0a5d1e
Use well index for well water perf velocity
2021-06-03 13:21:23 +02:00
Joakim Hove
8f9a3f0140
Use Well index for perf skin pressure
2021-06-03 13:21:23 +02:00
Joakim Hove
89ae75b46c
Use well index to access WellState::perfThroughput()
2021-06-03 13:21:23 +02:00
Arne Morten Kvarving
c76803b913
changed: make bhp template hidden and use explicit instantations
...
this to avoid includes in headers.
2021-05-31 11:42:29 +02:00
Tor Harald Sandve
cccece4104
use rates for potentials for pressure controlled (bhp or thp) controled wells
2021-05-26 13:54:14 +02:00
Joakim Hove
86c75ee4fe
Merge pull request #3298 from akva2/no_opm_in_opm
...
fixed: do not use Opm:: prefix when inside namespace Opm
2021-05-26 10:15:46 +02:00
Joakim Hove
c400b6eeef
Merge pull request #3290 from joakim-hove/wellcontainer-rsrv
...
Use WellContainer<double> for RS / RV
2021-05-26 07:22:51 +02:00
Arne Morten Kvarving
d55df4330e
fixed: do not use Opm:: prefix when inside namespace Opm
2021-05-25 12:06:06 +02:00
Joakim Hove
b34c161805
Use WellContainer<double> for RS / RV
2021-05-24 10:01:00 +02:00
Joakim Hove
89a712603f
Use well index for misc perforation data
2021-05-24 09:14:36 +02:00
Joakim Hove
d6151e2f00
Use well index for perf water throughput
2021-05-24 09:14:36 +02:00
Joakim Hove
2f901f1012
Use well index when iterating over brine perforation rates
2021-05-24 09:14:36 +02:00
Joakim Hove
f9e142dc8d
Use well index when iterating over polymer perforation rates
2021-05-24 09:14:36 +02:00
Joakim Hove
5437cfa37a
Use well index when iterating over solvent perf rates
2021-05-24 09:14:36 +02:00
Arne Morten Kvarving
1614767362
GasLiftSingleWell: split typetag independent code to separate class
2021-05-21 09:09:10 +02:00
Joakim Hove
506a349085
Use wellcontainer2 ( #3255 )
...
Use WellContainer<> to manage members in WellState
2021-05-20 16:16:12 +02:00
Joakim Hove
b0458cee33
Merge pull request #3268 from joakim-hove/wellstate-iget
...
Wellstate iget
2021-05-19 14:29:26 +02:00
Joakim Hove
6af03f4a6a
Update WellState::thp()
2021-05-19 10:05:11 +02:00
Joakim Hove
3ec7feba75
Update WellState::bhp()
2021-05-19 10:05:11 +02:00
Arne Morten Kvarving
bcfab1fed3
use if constexpr to eliminate some brine code
2021-05-18 15:04:47 +02:00
Arne Morten Kvarving
db668e8d80
make has_energy constexpr and use if constexpr to eliminate code
2021-05-18 15:04:47 +02:00
Arne Morten Kvarving
268201eeb1
make has_polymermw constexpr and use if constexpr to eliminate code
2021-05-18 15:04:47 +02:00
Arne Morten Kvarving
dd04eb128a
use if constexpr to eliminate some zFraction code
2021-05-18 10:18:11 +02:00
Arne Morten Kvarving
83595d84c3
use if constexpr to eliminate some polymer code
2021-05-18 10:18:11 +02:00