Commit Graph

8367 Commits

Author SHA1 Message Date
Ove Sævareid
33511b45c1 Relegating implementation details. 2021-06-15 17:18:46 +02:00
Ove Sævareid
581408c760 Batchwise tracer calculations. 2021-06-15 17:18:46 +02:00
Tor Harald Sandve
b2341a84d6 scale well rates after group switching 2021-06-15 09:29:24 +02:00
Joakim Hove
969fc20154
Merge pull request #3373 from verveerpj/improve_validation
Add keyword validation using a predicate function
2021-06-15 07:47:37 +02:00
Kai Bao
b415cd4fb8 not comparing guideRate_ with nullptr
it is not a pointer anymore since OPM/opm-simulators#3380
2021-06-15 00:00:43 +02:00
Joakim Hove
0cf158cd15
Merge pull request #3379 from joakim-hove/wellrates-rename-X
Rename data::WellRates -> data::Wells
2021-06-14 18:21:39 +02:00
Peter Verveer
fd753e20c4 Add keyword validation using a predicate function 2021-06-14 18:10:36 +02:00
Joakim Hove
f9618faceb
Merge pull request #3377 from joakim-hove/perf-data-injector
PerfData maintains producre / injector status
2021-06-14 15:53:15 +02:00
Joakim Hove
166907c45d
Merge pull request #3380 from joakim-hove/guiderate-value
Use GuideRate value instead of std::unique_ptr<GuideRate>
2021-06-14 15:52:08 +02:00
Joakim Hove
b1600b904f Rename data::WellRates -> data::Wells 2021-06-14 15:27:56 +02:00
Joakim Hove
193657fee1 Use GuideRate value instead of std::unique_ptr<GuideRate> 2021-06-14 14:35:55 +02:00
Bård Skaflestad
dc7a6018f6
Merge pull request #3381 from akva2/boost_version_include
fixed: add missing include for boost version
2021-06-14 13:29:14 +02:00
Arne Morten Kvarving
54d928583b fixed: add missing include for boost version 2021-06-14 11:50:57 +02:00
Arne Morten Kvarving
86b454f4c8 fixed: initialize to avoid sca warning 2021-06-14 09:26:32 +02:00
Arne Morten Kvarving
6b5c7b66fd fixed: mark methods as override 2021-06-14 09:09:33 +02:00
Arne Morten Kvarving
a84d05c83b fixed: forward classes as classes 2021-06-14 09:09:15 +02:00
Joakim Hove
a22b836b82 PerfData maintains producre / injector status 2021-06-14 09:03:02 +02:00
Joakim Hove
7c133bb0eb
Merge pull request #3374 from joakim-hove/rename-wellrates
Rename data::WellRates -> data::Wells in opm-common
2021-06-13 13:14:03 +02:00
Joakim Hove
454220b9e7 Rename data::WellRates -> data::Wells in opm-common 2021-06-13 08:37:56 +02:00
Joakim Hove
fe5e4a9ac3 Minor renames++ in WellState report 2021-06-11 16:01:25 +02:00
Joakim Hove
2dae87fb74
Merge pull request #3370 from totto82/bugMaxInnerIter
change get param from bool to int
2021-06-11 12:39:45 +02:00
Tor Harald Sandve
96091f4313 change get param from bool to int 2021-06-11 08:09:35 +02:00
Joakim Hove
7a1f71feaa Simplify check for number of perforations 2021-06-10 23:26:51 +02:00
Tor Harald Sandve
5686d90c61
Merge pull request #3350 from totto82/maxNiWi
Change the inner iterations logic
2021-06-10 19:49:23 +02:00
Markus Blatt
db0f19ba88 Determine index of pressure from model used.
Previously, the user had to specify it in the json file read from the
FlexibleSolver or 1 was used. Unfortunately, the index depends on the
model used and it seem rather opaque to a user what that index is.

With this commit we determine the pressure index from the model.
2021-06-10 16:19:18 +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
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