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