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
Joakim Hove
4b69d12335
Use PerfData for perforation rates
2021-06-10 07:18:46 +02:00
Joakim Hove
b6318ac017
Add WellContainer<PerfData> to WellState
2021-06-10 07:18:46 +02:00
Joakim Hove
34481e48c3
Add data container PerfData to use in WellState
2021-06-10 07:18:46 +02:00
Bård Skaflestad
ed131190eb
Merge pull request #3353 from akva2/msw_eval
...
add MultisegmentWellEval
2021-06-10 00:10:31 +02:00
Joakim Hove
1a7c514879
Merge pull request #3359 from joakim-hove/rm-mpi-sum
...
Use ecl well for total number of connections
2021-06-09 17:13:25 +02:00
Joakim Hove
fc5e2be4e2
Merge pull request #3365 from akva2/wrap_property_tree
...
Add Opm::PropertyTree
2021-06-09 17:12:38 +02:00
Arne Morten Kvarving
b7e2ad3bfe
added: PropertyTree class
...
this is a thin wrapper around boost::property_tree
with this we avoid parsing property tree headers in all
simulator objects
2021-06-09 15:21:52 +02:00
Arne Morten Kvarving
68fc2b0bc6
add MultisegmentWellEval
2021-06-09 15:17:36 +02:00
Arne Morten Kvarving
29ae002a87
changed: avoid templating in setupPropertyTree
...
simply pass the required params to function instead.
2021-06-09 12:54:14 +02:00
Bård Skaflestad
72bd3368e7
Merge pull request #3360 from akva2/stdwell_eval
...
add StandardWellEval
2021-06-09 11:02:52 +02:00
Bård Skaflestad
7add6b33de
Merge pull request #3363 from totto82/fixRESV2
...
removed dissolved gas and vapporized oil from RESV injection rates
2021-06-09 09:29:19 +02:00
Arne Morten Kvarving
eb06c4bd70
add StandardWellEval
2021-06-09 08:32:30 +02:00
Joakim Hove
b868f87420
Use ecl well for total number of connections
2021-06-08 21:14:16 +02:00
Bård Skaflestad
bb050683f1
Merge pull request #3355 from joakim-hove/remove-first-perf
...
Remove first perf member from Well classes
2021-06-08 20:47:09 +02:00
Tor Harald Sandve
28a567550b
removed dissolved gas and vapporized oil from RESV injection rates
2021-06-08 20:17:01 +02:00
Bård Skaflestad
aa12201ee2
Merge pull request #3362 from akva2/date_time_prune
...
Avoid boost/date_time in simulator objects
2021-06-08 17:46:34 +02:00
Arne Morten Kvarving
ce01d780cf
SimulatorTimerInterface: avoid boost includes in header
2021-06-08 15:44:56 +02:00
Arne Morten Kvarving
14ea3e6dd1
SimulatorFullyIplicitBlackoilEbos: avoid boost includes in header
2021-06-08 15:44:28 +02:00
Arne Morten Kvarving
fce3247c56
AdaptiveTimeSteppingEbos: avoid boost include in header
2021-06-08 15:44:28 +02:00
Arne Morten Kvarving
30d4cbc2f2
AdaptiveSimulatorTimer: void boost includes in header
2021-06-08 15:44:28 +02:00
Arne Morten Kvarving
fcb5d3dd82
SimulatorTimer: avoid boost includes in headers
2021-06-08 15:44:28 +02:00
Arne Morten Kvarving
04e856f831
SimulatorTimer: mark methods override
2021-06-08 15:32:58 +02:00
Arne Morten Kvarving
2460d950b1
remove unused boost include
2021-06-08 15:17:18 +02:00
Arne Morten Kvarving
a0dea4d58f
remove unused method
2021-06-08 15:10:11 +02:00
Joakim Hove
023edc67e5
Remove first perf member from Well classes
2021-06-08 14:24:26 +02:00
Arne Morten Kvarving
c623fba017
add MultisegmentWellGeneric
...
avoid rebuilding this for all simulators when code
is only dependent on Scalar. instanced for double
2021-06-08 10:43:10 +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
Bård Skaflestad
6c1ca7450f
Merge pull request #3282 from akva2/blackoilwellmodel_generic_split
...
split out typetag independent code from BlackoilWellModel
2021-06-07 22:13:36 +02:00
Bård Skaflestad
4767311f76
Merge pull request #3334 from akva2/wellif_further_split
...
Further splitting in WellInterface
2021-06-07 21:41:12 +02:00
Arne Morten Kvarving
0ef68b452a
BlackoilWellModel: move runWellPIScaling to generic class
2021-06-07 15:01:10 +02:00
Arne Morten Kvarving
7219f09fdc
BlackoilWellModel: mutate well_container_ directly in createWellContainer
2021-06-07 14:49:41 +02:00
Arne Morten Kvarving
2c5942595c
BlackoilWellModel: put well container init in a separate method
2021-06-07 14:35:34 +02:00
Arne Morten Kvarving
30a59cd190
BlackoilWellModel: move updateWellPotentials to generic class
2021-06-07 14:22:30 +02:00
Arne Morten Kvarving
004abd942b
BlackoilWellModel: put code for computing potentials in separate method
2021-06-07 14:09:36 +02:00
Arne Morten Kvarving
b0b0ae20d3
BlackoilWellModel: move some glift stuff to generic class
2021-06-07 13:36:22 +02:00
Arne Morten Kvarving
2b9141035e
BlackoilWellModel: move setRepRadiusPerfLength to generic class
2021-06-07 13:36:17 +02:00
Arne Morten Kvarving
c5fae280f3
bring setWSolvent closer to original code
...
by introducing a getter for generic wells
2021-06-07 13:04:29 +02:00
Arne Morten Kvarving
60e7c90b1e
BlackoilWellModel: move calculateEfficiencyFactors to generic class
2021-06-07 12:56:45 +02:00
Arne Morten Kvarving
811afb854b
BlackoilWellModel: move updateNetworkPressures to generic class
2021-06-07 12:46:14 +02:00
Arne Morten Kvarving
172d344ab2
BlackoilWellModel: move inferLocalShutWells to generic class
2021-06-07 12:32:01 +02:00
Arne Morten Kvarving
ad4b34dc30
BlackoilWellModel: move forceShutWellByNameIfPredictionMode to generic class
2021-06-07 12:25:04 +02:00
Arne Morten Kvarving
54ff1c4c45
BlackoilWellModel: move hasTHPConstraints to generic class
2021-06-07 12:20:49 +02:00
Arne Morten Kvarving
cf6a3801fb
keep a vector of WellInterfaceGeneric* in BlackoilWellModelGeneric
...
these points to the same objects as well_container_
2021-06-07 12:15:36 +02:00
Arne Morten Kvarving
059140f2ee
split out typetag independent code from BlackoilWellModel
2021-06-07 12:04:06 +02:00
Tong Dong Qiu
74b46e4d8d
Added tests for cusparseSolver and openclSolver
2021-06-07 11:40:03 +02:00
Tong Dong Qiu
0e63cda518
Instantiate whole class instead of each function
2021-06-07 11:40:03 +02:00
Bård Skaflestad
a3ce4a11e0
Merge pull request #3349 from totto82/fixRESVgconinje
...
Scale target with resv conversion factor
2021-06-07 09:39:52 +02:00
Arne Morten Kvarving
4c09b5dde3
add WellInterfaceEval
2021-06-07 08:26:43 +02:00
Arne Morten Kvarving
29842ff9a2
add WellInterfaceIndices
...
while not a lot of class in this layer, having it helps
in downstream well code.
2021-06-07 08:26:43 +02:00
Arne Morten Kvarving
1fb68c59e2
changed: move fluidsystem-only dependent method to WellInterfaceFluidSystem
2021-06-07 08:25:59 +02:00
Bård Skaflestad
87599af8b8
Restore Debug Build
...
Commit 6a21371b5
(PR #3344 ) removed 'num_perf_this_well' but did not
make all requisite changes. Fix an accompanying 'assert' to restore
builds that do not define 'NDEBUG'.
2021-06-06 16:58:42 +02:00
Joakim Hove
e83d4d0dbd
Merge pull request #3336 from joakim-hove/wellpotential_wellcontainer
...
Manage well potentials with WellContainer<>
2021-06-06 08:33:26 +02:00
Arne Morten Kvarving
62bee530cb
MSW: drop unused method
2021-06-05 22:58:57 +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
a2009b1189
Use WellContainer for perforation throughput
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
Bård Skaflestad
36cd1f51e9
Merge pull request #3305 from akva2/gasliftstage2_cleanups
...
GasLiftStage2: some cleanups
2021-06-04 17:52:47 +02:00
Tor Harald Sandve
3ca6e215dc
Change the inner iterations logic
...
This replace the Boolean switch to enable inner iterations with a
int that controls for which maximum number of newton iterations
inner iterations applies.
Default is set to 3
2021-06-04 10:51:15 +02:00
Joakim Hove
fcc4970337
Merge pull request #3318 from akva2/eclwellmodel_no_default
...
changed: do not set the ebos well model as default type
2021-06-04 09:58:46 +02:00
Tor Harald Sandve
8c9a7db8c9
Scale target with resv conversion factor
2021-06-04 09:27:51 +02:00
Arne Morten Kvarving
6119f11a7a
cosmetics: do not indent for namespace
2021-06-04 09:03:37 +02:00
Arne Morten Kvarving
e8a9158202
GasLiftStage2: drop unnecessary type aliases
2021-06-04 09:03:05 +02:00
Arne Morten Kvarving
c476d07b00
GLiftStage2: use constexpr
2021-06-04 09:00:47 +02:00
Arne Morten Kvarving
078a92dd51
fixed: pass by const ref
2021-06-04 09:00:47 +02:00
Joakim Hove
1285d02873
Merge pull request #3339 from joakim-hove/perf-well-access
...
Perf well access
2021-06-04 08:41:47 +02:00
Joakim Hove
cb800abd05
Merge pull request #3345 from atgeirr/silence-warnings
...
Silence warnings
2021-06-03 17:25:47 +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
Atgeirr Flø Rasmussen
8e6e1c3d5e
Remove unused PhaseUsage data member.
2021-06-03 13:02:31 +02:00
Joakim Hove
59f36eacc0
Remove WellState::top_segment_index
2021-06-03 10:46:26 +02:00
Joakim Hove
5d8a4c5751
Remove WellState member nseg_
2021-06-03 10:46:26 +02:00
Joakim Hove
f7b1f90c12
Add method SegmentState::size()
2021-06-03 10:46:26 +02:00
Joakim Hove
19ba223c2a
Use SegmentState for segment_number()
2021-06-03 10:46:26 +02:00
Joakim Hove
d3e019fbce
Add private member segment_number to SegmentState class
2021-06-03 10:46:26 +02:00
Joakim Hove
ac12c8b3a4
Use SegmentState for rates
2021-06-03 10:46:26 +02:00
Joakim Hove
357cb11667
Use SegmentState::scale_pressure()
2021-06-03 10:46:04 +02:00
Joakim Hove
eac69061c2
Use SegmentState when copying pressure
2021-06-03 10:46:04 +02:00
Joakim Hove
eb937e8ba2
Use SegmentState as backing store for segment pressure
2021-06-03 10:46:04 +02:00
Joakim Hove
fc185afc02
Initialize pressure in top segment for non MSW well to zero
2021-06-03 10:46:04 +02:00
Joakim Hove
df7d96494b
Add small method SegmentState::scale_pressure()
2021-06-03 10:46:04 +02:00
Joakim Hove
7d89c6e09c
Add std::string overload for WellState::segments()
2021-06-03 10:46:04 +02:00
Joakim Hove
3fd6d7781b
Remove WellState::segPressDrop()
2021-06-03 10:46:04 +02:00
Joakim Hove
6a859c0664
Segmentstate for accelarition pressure drop
2021-06-03 10:46:04 +02:00
Joakim Hove
33f18279d7
Use segmentstate for hydrostatic pressure drop
2021-06-03 10:46:04 +02:00
Joakim Hove
9801469488
Use segmentstate for friction pressure
2021-06-03 10:46:04 +02:00
Joakim Hove
45e7c8c982
Add WellContainer<SegmentState> member
2021-06-03 10:46:04 +02:00
Joakim Hove
5dc267c6f5
Add class SegmentState
2021-06-03 10:46:04 +02:00
Joakim Hove
702dc3a924
Merge pull request #3338 from joakim-hove/remove-unused
...
Use perfrates.size() instead of storing num_perf explicitly
2021-06-03 07:58:56 +02:00
Bård Skaflestad
a03d7589b2
Merge pull request #3341 from joakim-hove/explicitly-clear-well-potentials
...
Explicitly zero well potentials at the start of report step
2021-06-02 18:14:41 +02:00
Arne Morten Kvarving
29137eae7c
remove unused prototype
2021-06-02 15:27:03 +02:00
Joakim Hove
f733e33d70
Explicitly zero vectors at the start of report step
2021-06-02 14:21:36 +02:00
Joakim Hove
c5a7b49c3d
Use perfrates.size() instead of storing num_perf explicitly
2021-06-02 10:21:02 +02:00
Joakim Hove
d57a8514a2
Merge pull request #3323 from joakim-hove/remove-segment-pressure-drop
...
Remove segment pressure drop as separate variable
2021-05-31 14:08:38 +02:00
Arne Morten Kvarving
92dd2a1075
pass doubles by value, not reference
2021-05-31 11:44:08 +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
Arne Morten Kvarving
ef635d42af
VFPHelpers: put in separate compile unit
2021-05-31 11:42:29 +02:00
Arne Morten Kvarving
4c4a612cc5
changed: remove unused functions from VFPHelpers
2021-05-31 11:42:29 +02:00
Joakim Hove
2d67d085ef
Remove segment pressure drop as separate variable
2021-05-31 09:10:33 +02:00
Markus Blatt
1ea70da7e6
Merge pull request #3321 from blattms/fix-cuda-only-compilation
...
Fixes compilation with CUDA but without OpenCL.
2021-05-31 08:53:54 +02:00
Bård Skaflestad
5793f91ae0
Merge pull request #3313 from totto82/fix_ginj_reduction
...
fix reduction rate for injection groups
2021-05-29 17:17:27 +02:00
Joakim Hove
db49c8aeef
Merge pull request #3309 from joakim-hove/wellrates-at
...
Make sure all wells are added to the well_rates map
2021-05-29 07:53:45 +02:00
Markus Blatt
7c17db3d06
Fixes unused variable warnings for CUDA only.
2021-05-28 16:26:46 +02:00
Markus Blatt
6ffde47096
Fixes compilation with CUDA but without OpenCL.
...
Using statements should not be in namespaces anyway...
2021-05-28 16:26:46 +02:00
Bård Skaflestad
bd9b9a7118
Prepare to Save/Restore Richer Set of Aquifer Values
...
This commit adds logic to communicate more dynamic aquifer values
between the simulation and I/O layers. In particular, we ensure
that we allocate the 'aquFet' and 'aquCT' substructures of the
dynamic aquifer data as appropriate and that we collect this
information on the I/O rank as part of the restart output process.
We furthermore make the 'ParallelRestart' facility aware of dynamic
aquifer data in preparation of loading these values from the restart
file.
2021-05-28 14:47:17 +02:00
Bård Skaflestad
d3437d77b1
Merge pull request #3317 from joakim-hove/fix-unused
...
Remove unused variable
2021-05-28 14:14:27 +02:00
Bård Skaflestad
e695c356c5
Merge pull request #3310 from joakim-hove/disable-color-coding
...
Check that stdout is connected to tty before applying color coding
2021-05-28 13:09:08 +02:00
Bård Skaflestad
f7b0d599c8
Merge pull request #3314 from akva2/eclproblem_typetag_split
...
eclproblem: split in typetag and typetag independent parts
2021-05-28 11:47:37 +02:00
Arne Morten Kvarving
d65a9a5f70
changed: do not set the ebos well model as default type
...
rather, only set it where we want to use it. this avoids including
eclwellmanager.hh and eclpeacemanwell.hh unnecessarily in
simulator objects (where BlackoilWellModel is used).
2021-05-28 11:28:43 +02:00
Joakim Hove
953de0c6b9
Remove unused variable
2021-05-28 11:14:19 +02:00
Joakim Hove
3fae970e7e
Merge pull request #3316 from joakim-hove/segment-use-well-index2
...
Segment use well index2
2021-05-28 10:48:13 +02:00
Joakim Hove
d2510714e0
Check that stdout is attached to terminal before applying color
2021-05-28 10:20:10 +02:00
Arne Morten Kvarving
cbd7cfe8b6
split eclproblem in typetag dependent and typetag independent classes
2021-05-28 08:54:10 +02:00
Arne Morten Kvarving
122ac87c55
GasLiftStage2: no longer a need to template on TypeTag
2021-05-28 08:24:07 +02:00
Arne Morten Kvarving
775177d73a
GasLiftStage2: use GasLiftSingleWellGeneric
2021-05-28 08:24:07 +02:00
Arne Morten Kvarving
8f14e51c9e
GasLiftStage2: use WellInterfaceGeneric
...
to lessen typetag dependence
2021-05-28 08:24:07 +02:00
Joakim Hove
a1b45b06e4
Use well index for segment acceleration pressure loss
2021-05-28 07:32:30 +02:00
Joakim Hove
960de96d75
Use well index for segment hydrostatic pressure drop
2021-05-28 07:32:30 +02:00
Joakim Hove
ee1a1c6afc
Use well index for segment friction pressure drop
2021-05-28 07:32:29 +02:00
Joakim Hove
92e31b4ee3
Use well index for segment pressure drop
2021-05-28 07:32:29 +02:00
Arne Morten Kvarving
168fc070e9
GasLiftStage2: remove unused simulator param
2021-05-27 21:52:42 +02:00
Arne Morten Kvarving
09ec1e4088
GasLiftStage2: pass comm
2021-05-27 21:52:42 +02:00
Arne Morten Kvarving
865a039ca4
GasLiftStage2: remove unused member nonlinear_iteration_idx_
2021-05-27 21:52:42 +02:00
Arne Morten Kvarving
26530e60e4
GasLiftStage2: pass schedule
2021-05-27 21:52:42 +02:00
Arne Morten Kvarving
f034ca981e
GasLiftStage2: pass summary state
2021-05-27 21:52:42 +02:00
Arne Morten Kvarving
b7d90de9cc
GasLiftStage2: drop unused ebos_simulator_ member
2021-05-27 21:52:42 +02:00
Bård Skaflestad
b16eaf72f1
Merge pull request #3240 from akva2/wellinterface_fluidsystem_split
...
Split out FluidSystem dependent code from WellInterface
2021-05-27 21:09:07 +02:00
Bård Skaflestad
57cf8c2c98
Merge pull request #3311 from joakim-hove/segpress-fix
...
Bug in wellstate handling for pressure drop in MSW wells?
2021-05-27 20:11:00 +02:00
Bård Skaflestad
66443c63fb
Merge pull request #3299 from akva2/gasliftstage2_break_circular
...
GasLiftStage2: drop circular dependency for BlackoilWellModel
2021-05-27 18:31:44 +02:00
Tor Harald Sandve
e1ace15602
Merge pull request #3302 from totto82/useRatesAsPotforPress
...
use rates for potentials for pressure controlled controled wells
2021-05-27 16:33:22 +02:00
Joakim Hove
dac62bbab3
WellState::well_rates is only updated by well owner
2021-05-27 15:03:24 +02:00
Joakim Hove
509fe67ff5
Make sure all wells are added to the well_rates map
2021-05-27 15:03:24 +02:00
Arne Morten Kvarving
0f7967f86a
cosmetics: do not indent for namespace
2021-05-27 14:22:14 +02:00
Arne Morten Kvarving
3aa2b38832
changed: split out FluidSystem only dependent code from WellInterface
...
this allows using explicit template instantation to only build
this code once for each FluidSystem
2021-05-27 14:22:14 +02:00
Tor Harald Sandve
06595c6dfc
fix reduction rate for injection groups
2021-05-27 13:16:28 +02:00
Joakim Hove
abadb7aba5
Fix access to segment pressure drop vectors
2021-05-27 11:40:29 +02:00
Joakim Hove
5ac53f8106
Use well index for segment rates
2021-05-27 10:45:33 +02:00
Joakim Hove
34ef516472
Use well index for segment pressure
2021-05-27 10:45:33 +02:00
Joakim Hove
3025bf3280
Use std::nullopt instead of {}
2021-05-27 10:45:33 +02:00
Bård Skaflestad
d94cc2cc30
Merge pull request #3040 from totto82/fixZeroRateVFP
...
Avoid division by small rate in divisor in VFP table fraction WFR/GFR.
2021-05-27 00:44:07 +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
d83b06c74b
Merge pull request #3301 from joakim-hove/simplify-comm
...
Communicate well rates by directly iterating over container
2021-05-26 10:16:47 +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
Tor Harald Sandve
97d9de4339
Avoid division by small rate in divisor in VFP table fraction WFR/GFR.
...
A threshold of 1e-12 is used to "define" small rate
2021-05-26 10:03:28 +02:00
Joakim Hove
122a6ec7b3
Communicate well rates by driectly iterating over container
2021-05-26 07:27:41 +02:00
Joakim Hove
9b2de5bbf9
Merge pull request #3293 from joakim-hove/wellcontainer-bhp
...
Use WellContainer<double> for bhp/thp/temperature
2021-05-26 07:26:41 +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
Joakim Hove
96d180d79c
Merge pull request #3287 from joakim-hove/wellcontainer-perf
...
Wellcontainer perf
2021-05-26 07:22:20 +02:00
Arne Morten Kvarving
378efd0ff9
GasLiftStage2: drop circular dependency for BlackoilWellModel
2021-05-25 12:57:24 +02:00
Arne Morten Kvarving
7993e045c4
BlackoilWellModel: drop type alias GLiftWellState
2021-05-25 12:57:24 +02:00
Arne Morten Kvarving
da41f27e8f
GasLiftStage2: drop type alias GLiftWellState
2021-05-25 12:57:24 +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
987fcc3b61
Use WellContainer<double> for bhp/thp/temperature
2021-05-25 11:25:07 +02:00
Joakim Hove
b948162962
Assemble all non-wellcontainer WellState members
2021-05-25 07:47:31 +02:00
Atgeirr Flø Rasmussen
001648c8fb
Make constants used in subclasses protected.
2021-05-24 11:24:14 +02:00
Joakim Hove
b34c161805
Use WellContainer<double> for RS / RV
2021-05-24 10:01:00 +02:00
Joakim Hove
ab5c937268
Use well index for PerfPhaseRates
2021-05-24 09:25:19 +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
Joakim Hove
8e0ed53207
Add method WellContainer::well_index()
2021-05-24 09:14:36 +02:00
Joakim Hove
da94a16d3e
Merge pull request #3288 from joakim-hove/actionx-event
...
Make sure well potentials are recalculated for ACTIONX wells
2021-05-22 19:09:00 +02:00
Joakim Hove
a3082f66ed
Make sure well potentials are recalculated for ACTIONX wells
2021-05-21 16:05:11 +02:00
Joakim Hove
23180e06d2
Rename WellStateFullyImplicitBlackoil -> WellState
2021-05-21 15:07:21 +02:00
Joakim Hove
fc3c044a4e
Remove WellState as base class
2021-05-21 14:57:38 +02:00
Joakim Hove
3dcb0742d0
Moved init and initSingleWell and removed WellState.cpp
2021-05-21 14:57:38 +02:00
Joakim Hove
e26e3950b6
Move rates and perf pressure
2021-05-21 14:57:38 +02:00
Joakim Hove
7b5c085bb5
Move bhp / thp / temperatur api
2021-05-21 14:57:38 +02:00
Joakim Hove
4418fcc477
Move phase access
2021-05-21 14:57:38 +02:00
Joakim Hove
7cb7b0eb82
Moved well status routines
2021-05-21 14:57:38 +02:00
Joakim Hove
0f8dec5224
Move parallelWellInfo()
2021-05-21 14:57:38 +02:00
Joakim Hove
40e8632f24
Move resetConnectionFactors()
2021-05-21 14:57:38 +02:00
Joakim Hove
a891a44756
Move wellIsOwned()
2021-05-21 14:57:38 +02:00
Joakim Hove
7695abfe25
Move wellMap() and numWells() accessors
2021-05-21 14:57:38 +02:00
Joakim Hove
6ac9e722fc
Move reportConnections
2021-05-21 14:57:38 +02:00
Joakim Hove
5b86ecd3e2
Move WellState::report to WellStateFullyImplicitBlackOil
2021-05-21 14:57:38 +02:00
Bård Skaflestad
3ef04a3335
Merge pull request #3286 from akva2/gasliftsinglewell_typetag_split
...
GasLiftSingleWell: split typetag independent code to separate class
2021-05-21 12:26:54 +02:00
Atgeirr Flø Rasmussen
dee7030784
Merge pull request #3273 from akva2/clang_cleanups
...
Quell various clang warnings
2021-05-21 09:22:31 +02:00
Arne Morten Kvarving
1614767362
GasLiftSingleWell: split typetag independent code to separate class
2021-05-21 09:09:10 +02:00
Bård Skaflestad
3dbab3b7d6
Merge pull request #3284 from akva2/gasliftsinglewell_cleanup
...
Some small cleanups in GasLiftWellState
2021-05-20 17:26:56 +02:00
Joakim Hove
506a349085
Use wellcontainer2 ( #3255 )
...
Use WellContainer<> to manage members in WellState
2021-05-20 16:16:12 +02:00
Arne Morten Kvarving
82d125d1c0
GasLiftSingleWell: drop undefined symbols
2021-05-20 14:17:34 +02:00
Arne Morten Kvarving
e8603dfea3
drop type alias GasLiftSingleWell::GLiftWellState
2021-05-20 14:12:41 +02:00
Arne Morten Kvarving
28b9f04721
remove empty _impl file
2021-05-20 12:17:24 +02:00
Arne Morten Kvarving
09cbfb4cde
remove unnecessary includes
2021-05-20 12:17:24 +02:00
Arne Morten Kvarving
31cb01ae24
no reason for GasLiftWellState to be typetag dependent
2021-05-20 12:17:24 +02:00
Joakim Hove
db731ac1ad
Use well local indices when iterating over segments
2021-05-20 08:17:19 +02:00
Joakim Hove
1e9a5195e9
Add rst_ prefix to restart variables
2021-05-20 07:47:55 +02:00
Bård Skaflestad
91dae1aa6f
Merge pull request #3269 from akva2/small_cleanups
...
Some small cleanups
2021-05-19 23:50:01 +02:00
Bård Skaflestad
e3e4c2e96a
Merge pull request #2980 from totto82/cleanUpPot
...
Only compute potentials at beginTimeStep after an event
2021-05-19 19:10:55 +02:00
Joakim Hove
38587b0c07
Merge pull request #3281 from alfbr/remove-supported
...
Remove GLIFTOPT and NETWORK from unsupported keywords.
2021-05-19 16:22:59 +02:00
Joakim Hove
3de4213c8c
Merge pull request #3236 from akva2/wellinterface_generic_split
...
changed: split out non-typetag dependent code from WellInterface
2021-05-19 14:46:56 +02:00
Joakim Hove
b0458cee33
Merge pull request #3268 from joakim-hove/wellstate-iget
...
Wellstate iget
2021-05-19 14:29:26 +02:00
Alf Birger Rustad
7c9d87de4f
Remove GLIFTOPT and NETWORK from unsupported keywords.
2021-05-19 13:19:26 +02:00
Tor Harald Sandve
dacd782639
Merge pull request #3270 from akva2/well_small_optims
...
Some small code eliminiations in well code
2021-05-19 12:35:57 +02:00
Tor Harald Sandve
84dcde5377
Merge pull request #3272 from totto82/fixRESVgroup
...
FIX wrong type RESV group control
2021-05-19 12:17:33 +02:00
Joakim Hove
203cc2ff73
Update WellState::temperature()
2021-05-19 10:05:11 +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
Tor Harald Sandve
2a5610e5cf
Merge pull request #3276 from hakonhagland/stage2_fix2
...
Fixes a bug in GasLiftStage2_impl.hpp
2021-05-19 09:28:44 +02:00
Arne Morten Kvarving
0f4bb49ed9
changed: split out non-typetag dependent code from WellInterface
2021-05-19 09:25:03 +02:00
Tor Harald Sandve
ce5e3ac075
remove ElemType and zero()
2021-05-19 09:00:53 +02:00
Tor Harald Sandve
93237ec345
FIX wrong type RESV group control
2021-05-19 09:00:53 +02:00
Tor Harald Sandve
7f3dc1dc48
Merge pull request #3275 from atgeirr/fix-msw-indices
...
Fix incorrect indices for 1 and 2-phase cases with MSW.
2021-05-19 07:53:43 +02:00
Håkon Hægland
0abcac3777
Fixes a bug in GasLiftStage2_impl.hpp
...
When making gas lift parallel, see PR #3148 , redistributeALQ() did not
reserve space for the decremental and incremental gradients. Later in
execution thread when push_back() was called to add elements to the
vectors, the capacity of the vector could get exceeded and hence the
internal representation of the vector could be reallocated. This seems
to have caused access to undefined memory errors since the iterators into
the vectors was long longer valid.
2021-05-19 00:54:48 +02:00
Atgeirr Flø Rasmussen
377d7eca60
Merge pull request #3271 from totto82/fixRESVpred
...
BUGFIX fix direction of the resv check
2021-05-18 19:05:17 +02:00
Atgeirr Flø Rasmussen
32d0854f14
Fix incorrect indices for 1 and 2-phase cases with MSW.
2021-05-18 15:32:15 +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
a7507cf544
fixed: forward structs as structs
...
clang warns
2021-05-18 12:07:04 +02:00
Tor Harald Sandve
4cf08deede
BUGFIX fix direction of the resv check
2021-05-18 10:45:10 +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
Arne Morten Kvarving
1fa74b5889
use if constexpr to eliminate some foam code
2021-05-18 10:18:11 +02:00
Arne Morten Kvarving
6157122bd8
use if constexpr to eliminate some solvent code
2021-05-18 10:17:21 +02:00
Arne Morten Kvarving
8c34172ef0
remove some Opm:: qualifiers inside Opm namespace
2021-05-18 10:09:45 +02:00
Joakim Hove
842e0a53a4
Merge pull request #3263 from akva2/move_ecldeck_param
...
changed: move Deck parameter to BlackoilModelParametersEbos
2021-05-18 08:19:19 +02:00
Joakim Hove
28129b87bb
Merge pull request #3250 from bska/activate-aqudata-move-semantics
...
Reduce Aquifer Data Copying
2021-05-18 08:08:00 +02:00
Joakim Hove
ee91333402
Merge pull request #3261 from joakim-hove/wellstate-msw1
...
Reorder variables and remove .reserve() calls
2021-05-18 07:54:32 +02:00
Bård Skaflestad
15116bf2a9
Reduce Aquifer Data Copying
...
This commit switches to using 'map<>::insert_or_assign()' as the
primary interface for collecting dynamic aquifer data. In turn,
this activates move semantics for the substructures and reduces the
number of times the data is copied.
Insert_or_assign requires the key, so provide this value--i.e., the
aquifer ID--as part of the AquiferInterface.
2021-05-17 23:24:52 +02:00
Arne Morten Kvarving
8d1a8126ea
changed: move Deck parameter to BlackoilModelParametersEbos
...
it is used there. now eclbasevanguard.hh includes
BlackoilModelParametersEbos, instead of the other way around.
2021-05-15 14:42:50 +02:00
Joakim Hove
2ac7b5e4bf
Reorder variables and remove .reserve() calls
2021-05-15 08:49:14 +02:00
Peter Verveer
ad0b62ab1c
Simplify the message for keywords with only a single record
2021-05-14 15:12:12 +02:00
Joakim Hove
fcba55080f
Merge pull request #3243 from akva2/small_cleanups
...
Small cleanups in WellInterface
2021-05-14 09:12:11 +02:00
Arne Morten Kvarving
7c29453512
cosmetics
...
do not indent for namespace
2021-05-13 12:04:43 +02:00
Arne Morten Kvarving
861899de2e
changed: put WellStateFullyImplicitBlackoil in separate compile unit
2021-05-13 12:01:03 +02:00
Arne Morten Kvarving
80a05ceb33
cosmetics
...
- do not indent for namespace
- move constructors and destructors to top
- use public/protected/private order
2021-05-13 00:38:08 +02:00
Arne Morten Kvarving
2c1a6ae8cb
replace typedef with using statements
2021-05-13 00:38:08 +02:00
Arne Morten Kvarving
a032c5a80e
changed: put WellState in separate compile unit
2021-05-13 00:38:08 +02:00
Arne Morten Kvarving
ca1a799e95
changed: put partially supported keywords in separate compile unit
...
avoid triggering full simulator rebuilds when updating
this list
2021-05-12 14:29:33 +02:00
Arne Morten Kvarving
306593af3b
changed: put unsupported keywords in separate compile unit
...
avoid triggering full simulator rebuilds when updating
this list
2021-05-12 14:29:33 +02:00
Cintia Goncalves Machado
5c51d4dea4
Remove COPYREG and add RPTSOL
...
Remove COPYREG (https://github.com/OPM/opm-simulators/issues/3234 ) and add RPTSOL (https://github.com/OPM/opm-simulators/issues/3248 ) as non-critical missing keyword
2021-05-12 12:04:01 +02:00
Joakim Hove
77f3b93b88
Merge pull request #3241 from joakim-hove/wellcontainer-initializer-list
...
Add initializer_list based WellContainer constructor
2021-05-12 11:15:53 +02:00
Arne Morten Kvarving
1568479d3d
fix function name
...
Frations -> Fractions
2021-05-12 10:50:46 +02:00
Joakim Hove
66c56bb8c3
Add initializer_list based WellContainer constructor
2021-05-12 09:18:58 +02:00
Arne Morten Kvarving
9758cd4f92
replace typedefs with using statements
2021-05-12 09:06:37 +02:00
Arne Morten Kvarving
ab4772aba8
fixed: use Scalar type from TypeTag
2021-05-12 09:02:29 +02:00
Arne Morten Kvarving
d5cdbf38d6
remove Opm:: prefix for symbols
...
we are already in the Opm:: namespace
2021-05-12 08:57:07 +02:00
Arne Morten Kvarving
9de5d077f6
remove unused modestring array
2021-05-12 08:47:49 +02:00
Arne Morten Kvarving
539c83687c
changed: (re)move unnecessary includes
2021-05-12 08:47:22 +02:00
Bård Skaflestad
57d45011af
Restore Debug Builds
...
This was broken in commit b5580f39f
(PR #3222 ) which removed the
'start_perf_next_well' symbol but did not update every use location.
2021-05-12 08:37:19 +02:00
Joakim Hove
817e81d3b7
Merge pull request #3235 from akva2/constexpr_micro_optim_wells
...
Small micro-optims in WellInterface
2021-05-12 06:55:22 +02:00
Joakim Hove
b5580f39fa
Let the perforation index run over the indices for one well
2021-05-11 22:38:11 +02:00
Joakim Hove
846809ec29
Rename mutable perfPhaseRates()
2021-05-11 18:48:05 +02:00
Arne Morten Kvarving
ceb9bb4311
changed: make has_brine contexpr
...
and use if constexpr to eliminate some code
2021-05-11 12:52:44 +02:00
Arne Morten Kvarving
f48ee17d59
changed: make has_foam contexpr
...
and use if constexpr to eliminate some code
2021-05-11 12:46:54 +02:00
Arne Morten Kvarving
73ccb42634
changed: make has_polymer contexpr
...
and use if constexpr to eliminate some code
2021-05-11 12:33:54 +02:00
Arne Morten Kvarving
a78c7e598d
changed: make has_solvent and has_zFraction constexpr
...
and use if constexpr to eliminate some code
2021-05-11 12:28:10 +02:00
Arne Morten Kvarving
3397cd6252
eclbasevanguard: split in template and non-template parts
2021-05-11 09:15:11 +02:00
Arne Morten Kvarving
86bc095e3a
eclbasevanguard: change canonicalDeckPath to std::string
...
makes use of filesystem an implementation detail
2021-05-11 09:15:11 +02:00
Joakim Hove
83f32729fc
Fix function argument
2021-05-11 08:10:49 +02:00
Joakim Hove
b832b00ca3
Merge pull request #3221 from joakim-hove/distribute-events
...
Distribute events
2021-05-11 07:24:00 +02:00
Joakim Hove
c01f2fe074
Merge pull request #3226 from joakim-hove/wellstate-remove-unused
...
Remove unused getXXXXOffset() methods
2021-05-11 07:23:08 +02:00
Joakim Hove
df2f27ab43
Merge pull request #3230 from GitPaean/aquifer_keyowrds_supported
...
removing numerical aquifer keywords from unsupported keyword list
2021-05-11 07:22:55 +02:00
Kai Bao
2d24abb630
removing numerical aquifer keywords from unsupported list
...
AQUNUM, AQUCON
2021-05-10 22:48:56 +02:00
Tor Harald Sandve
55dfc84067
Merge pull request #3176 from totto82/refactorPrepareTimeStep
...
move solveWellEquation inside prepareTimeStep
2021-05-10 16:35:16 +02:00
Bård Skaflestad
38292aca72
Merge pull request #3225 from totto82/refactorAssembleWellEq
...
Avoid code duplication
2021-05-10 12:27:52 +02:00
Joakim Hove
21751d87fc
Remove unused getXXXXOffset() methods
2021-05-10 10:07:05 +02:00
Tor Harald Sandve
80413e0794
add useInnerIteration method and move assembleWellEq to the well interface to avoid code duplication
2021-05-10 09:41:18 +02:00
Tor Harald Sandve
c87c2666d1
Merge pull request #3184 from totto82/fixZeroInit
...
Improve initialization of the well rates for trivial rates
2021-05-10 08:53:16 +02:00
Joakim Hove
f52398a32e
Use WellContainer<Events> to manage per well events
2021-05-09 16:42:50 +02:00
Joakim Hove
0083022742
Add const T& overload to WellContainer
2021-05-09 15:54:20 +02:00
Joakim Hove
744039eb2f
Add documentation to WellContainer<T> class
2021-05-09 11:57:54 +02:00
Tor Harald Sandve
62d902435a
move solveWellEquation inside prepareTimeStep
2021-05-07 08:51:15 +02:00
Joakim Hove
36cc9e8567
Add small class WellContainer to manage well data in WellState
2021-05-06 15:46:52 +02:00
Joakim Hove
a1f1d1047e
Use mutable WellGroupEvents instance to track events in WellState
2021-05-06 14:02:03 +02:00
Tor Harald Sandve
1cd6ea14a9
only compute well potential when needed
2021-05-06 12:59:02 +02:00
Tor Harald Sandve
2796a9862e
Merge pull request #3169 from totto82/alt_init
...
Initialize empty producers using mobility and transmissibility ratio
2021-05-06 11:10:23 +02:00
Tor Harald Sandve
687a2ca977
Improve initialization of the well rates for trivial rates
...
This also applies for rates with opposite direction.
2021-05-06 08:48:30 +02:00
Bård Skaflestad
a6c7453a24
Merge pull request #3212 from joakim-hove/num-connections
...
Store the number of connections in separate vector
2021-05-05 22:11:26 +02:00
Bård Skaflestad
e73be1352b
Merge pull request #3211 from totto82/removeUnusedVFPcode
...
remove unused calculateBhpWithTHPTarget
2021-05-05 18:53:45 +02:00
Bård Skaflestad
f8e2aa74de
Merge pull request #3207 from akva2/targetcalc_comp_unit
...
TargetCalculator: move to separate compile unit
2021-05-05 18:53:07 +02:00
Bård Skaflestad
9139e3c2f1
Merge pull request #3213 from akva2/no_opm_in_opm
...
fixed: do not use Opm:: prefix when inside namespace Opm
2021-05-05 16:15:50 +02:00
Arne Morten Kvarving
a4c0af09d9
fixed: do not use Opm:: prefix when inside namespace Opm
2021-05-05 11:59:18 +02:00
Joakim Hove
fe9a627aa3
Store the number of connections in separate vector
2021-05-05 11:30:33 +02:00
Tor Harald Sandve
bc9034e325
remove unused calculateBhpWithTHPTarget
2021-05-05 09:51:43 +02:00
Tor Harald Sandve
eeb1b7e36c
Initialize empty producers using the mobility ratio and the transmissbility ratio
2021-05-05 08:31:36 +02:00
Joakim Hove
24285009a8
The MAPUNITS keyword is supported
2021-05-05 08:12:40 +02:00
Bård Skaflestad
6b02180ca3
Merge pull request #3208 from akva2/fix_gaslift_impl_include
...
fixed: do not include headers into Opm namespace
2021-05-04 18:04:35 +02:00
Arne Morten Kvarving
a0e4bb9e52
fixed: do not include headers into Opm namespace
2021-05-04 14:35:41 +02:00
Arne Morten Kvarving
d4b67e9af0
TargetCalculator: move to separate compile unit
...
use explicit instantation to avoid some templates being
instanced a lot of places in a lot of objects.
2021-05-04 08:42:02 +02:00
Arne Morten Kvarving
a61c453a2a
WellGroupHelpers: make templates private
...
use explicit template instantation. to avoid rebuilding
this code over and over (minor), and to avoid includes in headers.
2021-05-04 08:21:32 +02:00
Arne Morten Kvarving
1ec65b14b8
FractionCalculator: make member a const reference
2021-05-04 08:14:07 +02:00
Bård Skaflestad
c0b68ea117
Merge pull request #3205 from akva2/relperm_compile_unit
...
RelpermDiagnostics: make templates private
2021-05-04 00:19:24 +02:00
Arne Morten Kvarving
0e2c61856f
RelpermDiagnostics: make templates private
...
use explicit template instantation. to avoid rebuilding
this code over and over (minor), and to avoid includes in headers.
2021-05-03 20:39:37 +02:00
Joakim Hove
8a78dc1c59
Add class GlobalWellInfo and use it from WellState
2021-05-03 13:28:28 +02:00
Bård Skaflestad
aa1df1352f
Merge pull request #3197 from akva2/move_to_comp_units
...
Move to separate compilation units
2021-04-30 16:50:54 +02:00
Bård Skaflestad
7be6e5bbf1
Merge pull request #3196 from akva2/use_forwarding
...
Use forwarding where possible in some headers
2021-04-30 16:00:41 +02:00
Arne Morten Kvarving
cf06a322ec
countGlobalCells: put non-template code in separate compile unit
2021-04-30 15:09:23 +02:00
Bård Skaflestad
f273e06c66
Merge pull request #3198 from akva2/janitoring
...
Remove some unused members and quell some warnings
2021-04-30 15:08:48 +02:00
Arne Morten Kvarving
e0a6e56588
WellGroupHelpers: use forwarding
2021-04-30 13:29:00 +02:00
Arne Morten Kvarving
d4a0d2962f
ParallelWellInfo: use forwarding
2021-04-30 13:24:06 +02:00
Arne Morten Kvarving
17963b07c1
ParallelRestart: use forwarding
2021-04-30 13:18:44 +02:00
Arne Morten Kvarving
e74b3249e9
WGState: forward struct as struct
2021-04-30 13:09:25 +02:00
Arne Morten Kvarving
3c77b97cae
MultisegmentWellContribution: remove unused members
2021-04-30 13:09:25 +02:00
Arne Morten Kvarving
5dd5f5a8f4
FractionCalculator: remove unused summary_state member
2021-04-30 11:02:50 +02:00
Arne Morten Kvarving
8ff32b594a
TargetCalculator: remove unused wellstate member
2021-04-30 11:02:50 +02:00
Tor Harald Sandve
70150ab212
Remove code duplication between STW and MSW
2021-04-30 09:27:35 +02:00
Arne Morten Kvarving
541ebdde13
phaseUsageFromDeck: move to separate compile unit
2021-04-29 13:00:23 +02:00
Arne Morten Kvarving
0cb0971673
ParallelFileMerger: move to separate compile unit
2021-04-29 12:57:27 +02:00
Arne Morten Kvarving
b30fc4eac1
ExtractParallelGridInfoToISTL: use forwarding
2021-04-29 12:50:19 +02:00
Arne Morten Kvarving
238109b0e9
FlowMainEbos: use forwarding
...
also remove unnecessary includes
2021-04-29 12:47:27 +02:00
Arne Morten Kvarving
bbfda699d3
KeywordValidation: use forwarding
2021-04-29 12:46:49 +02:00
Arne Morten Kvarving
5fb5f79318
readDeck: use forwarding
2021-04-29 12:43:51 +02:00
Bård Skaflestad
dae6b61370
Merge pull request #3189 from joakim-hove/alqstate
...
Add class ALQState to manage the ALQ state in the WellState
2021-04-28 11:52:40 +02:00
Bård Skaflestad
eb8e270b50
Merge pull request #3190 from akva2/fix_missing_include
...
fixed: include <cstring> for strlen
2021-04-28 11:03:55 +02:00
Joakim Hove
8bae5e0127
Add class ALQState to manage the ALQ state in the WellState
2021-04-28 09:33:06 +02:00
Arne Morten Kvarving
f004b59217
fixed: include <cstring> for strlen
2021-04-28 09:01:09 +02:00
Bård Skaflestad
a6c374a27c
Compute Well-Level PI For Shut Wells
...
This commit includes the shut wells in 'wells_ecl_' and expands the
PI/II value calculation to apply to those shut wells too. With this
in place we are able to run cases that have a 'WELPI' keyword before
the well opens, even at the very first report step.
2021-04-27 14:51:18 +02:00
Bård Skaflestad
6e9d2bd89e
Initialise More Data Members at Construction Time
...
In particular, apply explicit default constructors to most data
members and push initialisation to initialiser list if convenient.
While here, also split long lines and apply const in more places.
Finally, reset well- and connection-level PI values to zero in
WellState::shutWell(). This is in preparation of including shut
wells in BlackoilWellModel's internal state.
2021-04-27 14:50:37 +02:00
Joakim Hove
1de5c9539c
Merge pull request #3174 from joakim-hove/use-groupstate2
...
Use groupstate2
2021-04-27 14:15:49 +02:00
Joakim Hove
e1d117c59f
Extract group state and create WGState to manage well & group state
2021-04-27 10:55:38 +02:00
Bård Skaflestad
1f14c6ddef
Forward Potential Rates to Next Report Step
...
These are used as part of calculating the BHP/THP when computing new
potential rates in models that feature VFP tables and must therefore
be properly initialised in the next report step's well state object.
2021-04-27 07:58:21 +02:00
Joakim Hove
42a6505cf1
Merge pull request #3179 from joakim-hove/groupstate-dump
...
Add json dump to GroupState
2021-04-27 07:52:11 +02:00
Bård Skaflestad
6cbe5ae8f4
Merge pull request #3178 from joakim-hove/wellstate-internalize-pu
...
WellState will internalize PhaseUsage member
2021-04-27 06:33:18 +02:00
Bård Skaflestad
266197fd75
Merge pull request #3186 from akva2/include_headers
...
fixed: include required headers where needed
2021-04-27 06:31:34 +02:00
Joakim Hove
a68589eb9a
WellState will internalize PhaseUsage member
2021-04-27 00:11:04 +02:00
Arne Morten Kvarving
a4c5429341
fixed: include required headers where needed
2021-04-26 22:39:32 +02:00
Joakim Hove
29673a168d
Use std::array<> in PhaseUsage
2021-04-26 19:03:22 +02:00
Tor Harald Sandve
12880be916
Merge pull request #3159 from totto82/updateWellTargetFix
...
get bhp from thp without solving
2021-04-26 13:15:30 +02:00
Joakim Hove
5a4190bbea
Add json dump to GroupState
2021-04-26 11:51:07 +02:00
Joakim Hove
43f42ab7d7
Merge pull request #3162 from totto82/addSwitchEvent
...
Use the event for swithing between producer and injector
2021-04-23 08:17:47 +02:00
Tor Harald Sandve
93ac6e8283
Merge pull request #3165 from joakim-hove/wellstate-split
...
Wellstate split
2021-04-22 12:28:33 +02:00
Markus Blatt
824df60e94
Merge pull request #3150 from Tongdongq/always_print_prec_info
...
Always print CHOW_PATEL info if used
2021-04-21 19:51:22 +02:00
Tor Harald Sandve
3445f2e03a
Merge pull request #3168 from joakim-hove/simplify-global-is-grup
...
Simplify global is grup
2021-04-21 14:49:13 +02:00
Joakim Hove
7fecd9f433
Create new class GroupState to maintain runtime state of groups
2021-04-21 13:07:57 +02:00
Joakim Hove
c8db0d1090
Assign number of phases in WellState constructor
2021-04-21 13:07:57 +02:00
Joakim Hove
7131647362
Use Well.insert_index() instead of maintaining extra counter
2021-04-21 10:34:57 +02:00
Joakim Hove
ed2fb11084
Avoid superfluos code to reset globalIsProductionGrup to false
2021-04-21 09:04:55 +02:00
Atgeirr Flø Rasmussen
fc8d17c04e
Merge pull request #3164 from totto82/fixNOgrp
...
honour group available for higher controll
2021-04-20 11:13:27 +02:00
Tor Harald Sandve
352e40d109
honour group available for higher controll
2021-04-19 14:34:38 +02:00
Arne Morten Kvarving
b9c19958fb
fixed: mark possibly unused variables as such to quell warnings
...
also take chance to break an extremely long line
2021-04-19 09:49:20 +02:00
Markus Blatt
8fe9314104
Merge pull request #3148 from totto82/gliftmpi2
...
make gaslift parallel
2021-04-19 08:30:14 +02:00
Tor Harald Sandve
090b75425f
Use switch event
2021-04-16 13:38:56 +02:00
Tor Harald Sandve
e69b097ac5
fix for distributed wells
2021-04-15 14:00:28 +02:00
Markus Blatt
13f62a718b
Merge pull request #2998 from g-marchiori/fpgasolver-integration
...
Added fpgaSolver, requires Xilinx Alveo U280 FPGA board
2021-04-15 11:21:39 +02:00
Tor Harald Sandve
ebcaea3faa
get bhp from thp without solving
2021-04-14 15:58:58 +02:00
Tor Harald Sandve
9d56588906
Make gaslift parallel
2021-04-14 14:14:39 +02:00
Bård Skaflestad
481c72a0fc
Merge pull request #3156 from joakim-hove/well-init-restart-bug
...
Well init restart bug
2021-04-14 09:10:30 +02:00
Joakim Hove
289e0ea938
Handle closed connections when loading connection data from restart
2021-04-14 07:59:55 +02:00
Joakim Hove
7d825ba9d0
Rename function wellToState -> loadRestartData
2021-04-13 21:02:36 +02:00
Alf Birger Rustad
a7f7c1af72
Removed four supported keywords
2021-04-13 09:53:15 +02:00
Peter Verveer
1640c4afcf
Implement a new keyword validator
2021-04-12 16:47:02 +02:00
Joakim Hove
e1fe527719
Change output to indicate start of time step
2021-04-10 13:37:12 +02:00
Tong Dong Qiu
5466b0f5f2
Always print CHOW_PATEL info if used
2021-04-09 16:19:45 +02:00
Joakim Hove
1d5a245b95
Use value object for endpoints
2021-04-07 10:40:48 +02:00
Atgeirr Flø Rasmussen
c6431c2f04
Merge pull request #3042 from totto82/changeDefaultMinTimeStepShutting
...
change default MinTimeStepBeforeShuttingProblematicWellsInDays to 0.01
2021-04-07 08:04:05 +02:00
Håkon Hægland
61e67b143d
Adds a simple test case for gas lift.
...
Adds a simple test case for gas lift optimization. Currently this is
very simplistic and only covers a fraction of the gas lift optimization
code. The plan is to use this as a building block to add more tests
in the future.
2021-04-01 16:41:46 +02:00
Håkon Hægland
24c419913a
Update to use new API for accessing well state.
...
Use access function to get a handle to the well state object according
to PR #3140 .
2021-03-30 17:10:09 +02:00
Håkon Hægland
ff3c7f2afb
Try to silence a warning about an unused variable.
...
Added some more debug code, and initialized some boolean variables.
The jenkins build gives a warning about that '"alq_is_limited" may be
used uninitialized', though the warning is generated in another file
(GasLiftWellState.hpp, line #44 ) it could be (?) caused by the fact that
"alq_is_limited" might not be initialized before calling the constructor
in GasLiftSingleWell_impl.hpp line #963..
2021-03-30 15:42:33 +02:00
Håkon Hægland
a80ad54d7d
Parallel runs not supported yet.
...
Gives a warning if gas lift optimization is attempted for more than one
process in the MPI communicator. The plan is to implement support for
muliple processes in a later commit.
2021-03-30 15:42:33 +02:00
Håkon Hægland
231f5374d7
Fixed some typos introduced in previous commit.
...
Some conflicts in the previous rebase was unfortunately not resolved
correctly. This commit corrects those errors.
2021-03-30 15:42:33 +02:00
Håkon Hægland
60c5fab82d
Fix unused variable warnings.
2021-03-30 15:41:46 +02:00
Håkon Hægland
cd85943352
Fix some warnings.
2021-03-30 15:41:46 +02:00
Håkon Hægland
434640fdf5
Implements gas lift optimization for groups.
...
Extends PR #2824 to include support for GLIFTOPT (item 2, maximum lift
gas supply for a group) and group production constraints.
The optimization is split into two phases. First the wells are optimized
separately (as in PR #2824 ). In this phase LIFTOPT and WLIFTOPT constraints
(e.g. maxmimum lift gas injection for a well, minimum economic gradient) are
considered together with well production constraints.
Then, in the next phase the wells are optimized in groups. Here, the ALQ
distribution from the first phase is used as a starting point. If a group
has any production rate constraints, and/or a limit on its total rate of
lift gas supply, lift gas is redistributed to the wells that gain the most
benefit from it by considering which wells that currently has the largest
weighted incremental gradient (i.e. increase in oil rate compared to
increase in ALQ).
2021-03-30 15:41:46 +02:00
Joakim Hove
98f6a9a7ac
Update collection of wells after ACTIONX
2021-03-29 16:20:10 +02:00
Joakim Hove
5fe43c09cb
Implement updateEclWell() as an internal function in wellPI code
2021-03-29 16:20:10 +02:00
Joakim Hove
90a9ed49a2
Add function WellState::updateStatus()
2021-03-29 16:20:10 +02:00
Joakim Hove
43925ae4f2
Explicily assign CMODE_UNDEFINED when controls vector is resized
2021-03-29 16:20:10 +02:00
Joakim Hove
405b9d2244
Add accessor functions to maintain WellState objects in well model
2021-03-29 15:30:32 +02:00
Joakim Hove
3d226abd24
Remove references to RestartConfig
2021-03-26 08:03:07 +01:00
Bård Skaflestad
7503cfd76a
Address PR Review Comments
2021-03-24 23:13:50 +01:00
Bård Skaflestad
578fa4b6c3
Report Dimensionless Time and Pressure for CT Aquifers
...
This commit adds support for calculating and reporting the
dimensionless time (simulator time divided by aquifer's time
constant) and pressure (influence function evaluated at
dimensionless time) values as part of the Carter-Tracy aquifer's
'aquiferData()' reporting function.
These values are useful in their own right, e.g., for summary output
through the keywords AAQTD and AAQPD, but they are also needed for
ECLIPSE restart purposes.
2021-03-24 23:13:50 +01:00
Bård Skaflestad
c23ce16879
Merge pull request #3120 from totto82/refactorBAVG
...
only compute Bavg once pr timestep
2021-03-24 11:34:13 +01:00
Bård Skaflestad
f980ff5f77
Merge pull request #3128 from totto82/fixTarget
...
reset target from wconprod and wconinje
2021-03-23 23:59:27 +01:00
Bård Skaflestad
41fd301d16
Merge pull request #3131 from fgfuchs/global_time_fix
...
fix bug that sets global_time to 0
2021-03-23 15:51:47 +01:00
Tor Harald Sandve
8283b53f3b
only compute Bavg once pr timestep and use the stored variable instead of passing it around
2021-03-23 15:30:36 +01:00
Franz Georg Fuchs
b86d5e2ad0
fix bug that sets global_time to 0
2021-03-23 12:19:07 +01:00
Tor Harald Sandve
3a65a7ba22
reset target from wconprod and wconinje
2021-03-23 09:23:35 +01:00
Tor Harald Sandve
8882b8027a
Merge pull request #3115 from totto82/onlyComputeGuideRateOnce
...
only compute guiderates at the beginning of a timestep
2021-03-23 08:43:47 +01:00
Joakim Hove
44eb07e621
Don't Initialize Well State for Shut Wells
2021-03-20 20:33:28 +01:00
Joakim Hove
4fd5d52f2f
Retrieve Number of Connections from Well Map
2021-03-20 20:33:28 +01:00
Joakim Hove
f0c738ea34
Reflect Well Object's Status Flag in Well State
2021-03-20 20:33:28 +01:00
Joakim Hove
e2d75b608b
Rename well filter -> not_on_process_()
2021-03-20 20:33:28 +01:00
Joakim Hove
9662d4019e
Use enum Well::Status to indicate well status instead of bool
2021-03-20 20:33:28 +01:00
Joakim Hove
634f0d61d8
Deferred logger will throw "correct" exception
2021-03-19 14:05:55 +01:00
Tor Harald Sandve
78d351676f
only update guide rates at the beginning of a timestep
2021-03-19 11:09:14 +01:00
Bård Skaflestad
2b34dc843c
Merge pull request #3119 from totto82/mintimestep
...
Change minimum timestep size to 1e-12
2021-03-19 09:39:35 +01:00
Bård Skaflestad
b982ad0fd2
Record Dynamic Well Status in 'wellData()' Output
...
This commit sets the 'data::Well::dynamicStatus' based on the
dynamically updated 'Schedule' object (i.e., from ACTIONX and
similar) and the results of well/operability testing (WECON and/or
WTEST). If a well is closed due to economic limits (WECON) we still
provide summary-style data at the timestep that closed the well, but
omit this data at later steps until the well reopens.
We add a new parameter to WellState::report() to distinguish these
situations.
This is in preparation of making the 'BlackoilWellModel' manage both
open and shut wells alike.
2021-03-18 17:28:28 +01:00
Bård Skaflestad
65edfb702c
Preparations for Recording Dynamic Well State
...
Coalesce blocks with same conditions, split long lines, and apply
'const' where appropriate. While here, also tighten the "rate = 0"
criterion to include denormalised numbers.
2021-03-18 17:28:28 +01:00
Joakim Hove
cd7c4d9927
Merge pull request #3112 from totto82/refact_ginj
...
Add support for explicit guiderate for injection groups
2021-03-18 17:03:53 +01:00
Tor Harald Sandve
61de5689bd
cleanup: add and remove comments
2021-03-18 14:56:45 +01:00
Tor Harald Sandve
58fa3eaf31
replace asserts with OPM_DEFLOG_THROW
2021-03-18 11:58:05 +01:00
Tor Harald Sandve
1582d92d06
Change minimum timestep size to 1e-12
...
the unit is days for field and metric and hours for lab
the purpose is to shut down "dead" simulations
2021-03-18 10:45:26 +01:00
Bård Skaflestad
0667497108
Merge pull request #3039 from GitPaean/new_numerical_aquifer
...
New numerical aquifer
2021-03-16 16:30:53 +01:00
Tor Harald Sandve
6bac5da27c
adapt to changes in the guiderate interface
2021-03-16 15:56:31 +01:00
Tor Harald Sandve
f4ac7f555b
Add support for explicit guiderate for injection groups
...
With this commit the guiderate logic used for the production groups is also used for injectors
This allows for setting guiderates explicit at different group levels
Only RATE, NETV and VOID guiderate type is suppored.
2021-03-16 15:56:31 +01:00
Tor Harald Sandve
c29b61ff99
Merge pull request #3074 from plgbrts/thermaloutput
...
Temperature output for producers
2021-03-15 13:54:18 +01:00
Kai Bao
1bd7d8775a
Merge remote-tracking branch 'upstream/master' into new_numerical_aquifer
2021-03-15 12:16:09 +01:00
Kai Bao
116b77bd8a
addressing the reviewing comments for PR OPM/opm-simulators#3039
...
putting the numerical aquifer related modification in a function and the
function is called after the equilibration calculation, so it will work
for different equilibration methods.
2021-03-15 10:21:40 +01:00
Joakim Hove
8adea8c68a
Merge pull request #3102 from totto82/validControls2
...
make sure wells has valid controls
2021-03-15 09:43:22 +01:00
Kai Bao
afac0fb485
changing the parameters for the numerical aquifer regression tests
...
cpr linear solver is used for better convergence.
2021-03-12 23:39:01 +01:00
Tong Dong Qiu
8ea19c66aa
Reduced code duplication in BdaBridge
2021-03-12 11:15:02 +01:00
Tong Dong Qiu
81c0a3d9f9
Simplified CPU fallback warnings
2021-03-12 11:15:02 +01:00
Giacomo Marchiori
b4aa28771f
Added fpgaSolver
2021-03-12 11:14:59 +01:00
Kai Bao
9ecdca75d9
Merge remote-tracking branch 'upstream/master' into new_numerical_aquifer
2021-03-11 14:08:42 +01:00
Franz Georg Fuchs
d13cf3ee6a
fix ordering of first line in *INFOSTEP files
2021-03-11 11:22:58 +01:00
Kai Bao
347ca3978a
adding parameter to control the min time step
...
can be reduced to based on the newton iteration counts.
By default it is zero, so it should not change any running results.
2021-03-10 11:49:59 +01:00
Joakim Hove
7e59532944
Merge pull request #3104 from joakim-hove/summary-config-rm-tables
...
Remove TableManager argument when constructing SummaryConfig
2021-03-10 07:33:06 +01:00
Tor Harald Sandve
8ad00e60f9
Merge pull request #3096 from totto82/weconPOTN
...
add support for POTN in WECON
2021-03-09 13:51:14 +01:00
Tor Harald Sandve
858856adec
update solution for WAG injectors
2021-03-09 13:37:03 +01:00
Kai Bao
0ad848658e
Merge pull request #3099 from atgeirr/revive-using_porevolume_average
...
Fix hydrocarbon volume issue with no oil or gas
2021-03-09 12:15:06 +01:00
Arne Morten Kvarving
e179bb5850
quell uninitialized usage warning without mpi
2021-03-09 08:39:17 +01:00
Joakim Hove
46ae5fa577
Merge pull request #3105 from joakim-hove/output-interval
...
Pass ouput interval overeride to Schedule constructor
2021-03-09 07:25:50 +01:00
Joakim Hove
ec344d555d
Pass ouput interval overeride to Schedule constructor
2021-03-08 19:30:58 +01:00
Markus Blatt
3ec181e231
Merge pull request #3089 from Tongdongq/exact-ilu-decomp-gpu
...
Exact ilu decomp gpu
2021-03-08 17:25:04 +01:00
Joakim Hove
253205d63e
Remove TableManager argument when constructing SummaryConfig
2021-03-08 15:40:17 +01:00
Paul Egberts
646dafe78f
introduced computeWellTemperature() to be called at each timestep
2021-03-08 15:11:50 +01:00
Joakim Hove
9597a4be37
Merge pull request #3101 from joakim-hove/summary-config-fp
...
Add FieldProps argument to SummaryConfig constructor
2021-03-08 12:25:25 +01:00
Tor Harald Sandve
a098d76c19
fix issue when switching from injection to/from production
2021-03-08 11:13:34 +01:00
Tor Harald Sandve
f861188d60
make sure wells has valid controls
2021-03-08 08:44:55 +01:00
Joakim Hove
1563525e8d
Add FieldProps argument to SummaryConfig constructor
2021-03-08 08:18:50 +01:00
Joakim Hove
9ad5d69744
Utilize private restartconfig
2021-03-07 09:31:10 +01:00
Kai Bao
f9ead85435
Use pore volume to do the average when hydrocarbon is missing.
2021-03-05 14:49:15 +01:00
Kai Bao
69619339a1
Merge branch 'master' into new_numerical_aquifer
2021-03-04 22:54:36 +01:00
Bård Skaflestad
4ed085ddc3
Merge pull request #3073 from joakim-hove/timemap-api
...
Remove timemap member from Schedule
2021-03-03 18:17:27 +01:00
Tong Dong Qiu
87e3f1d72d
Added timers to ChowPatelIlu
2021-03-03 17:12:46 +01:00
Tong Dong Qiu
b87e9dad9a
Updated comments
2021-03-03 16:36:27 +01:00
Tong Dong Qiu
0caae966b8
Add more waiting for opencl functions, using shortened opencl kernel params in WellContributions
2021-03-03 14:04:06 +01:00
Tong Dong Qiu
688d8ff627
Shorten opencl kernel params, add source file for openclKernels
2021-03-03 13:09:24 +01:00
Tong Dong Qiu
61bf85bf24
Add waiting for enqueueWriteBuffer
2021-03-03 10:37:01 +01:00
Tor Harald Sandve
4f55c25607
add support for POTN in WECON
2021-03-03 10:31:57 +01:00
Tor Harald Sandve
00e65e88b2
Merge pull request #3095 from blattms/apply-gefac-also-on-topmost-group
...
Apply gefac also on topmost VREP controlled group
2021-03-03 10:03:31 +01:00
Tong Dong Qiu
18bf7c4b19
Replace diagfinding with std::find
2021-03-03 09:50:33 +01:00
Bård Skaflestad
d78f5dc259
Merge pull request #3083 from totto82/fixMPIThrow
...
Fix MPI issues in the well model
2021-03-02 12:04:39 +01:00
Markus Blatt
d1f65451f1
Honor top most group efficiency factor in checkGroupConstraints{Inj,Prod}
2021-03-02 11:32:27 +01:00
Markus Blatt
0d2b9629b0
Document efficiencyFactor in checkGroupConstraints{Inj,Prod}
...
Reading recursion is quite hard and a comment might help others.
2021-03-02 11:31:04 +01:00
Bård Skaflestad
a2a9ed192d
Merge pull request #3084 from totto82/onlyLogOnRank0
...
only log changes of group controls on rank 0
2021-03-01 22:10:05 +01:00
Markus Blatt
39546864ab
Honor GEFAC of topmost group when summing solvent rates.
2021-03-01 11:16:29 +01:00
Markus Blatt
6e8b1e8d2e
Honor gefac of topmost group in WellHelpers::updateGuideRateForGroups
2021-03-01 11:16:29 +01:00
Markus Blatt
1d9f13e310
Honor GEFAC for the top most group when calculating well phase rates.
...
Previously GEFAC was not applied here.
2021-03-01 11:15:57 +01:00
Tong Dong Qiu
5b4deab7e4
Generating opencl kernels
2021-03-01 10:26:44 +01:00
Markus Blatt
1ce5c59851
Honor GEFAC for top group in get{Injection,Production}Controls.
2021-03-01 10:26:40 +01:00
Tong Dong Qiu
141af23db5
Exact ILU decomp is now performed on GPU
2021-03-01 10:26:35 +01:00
Tong Dong Qiu
748dc4ccb3
Reduced header inclusion, also moved WellContributions OpenCL initialization
2021-03-01 09:42:56 +01:00
Joakim Hove
81ec44822b
Make sure ParallellFieldPropsManager::porv() return compact values
2021-02-28 15:47:59 +01:00