Commit Graph

8373 Commits

Author SHA1 Message Date
Tong Dong Qiu
d45f9d08f7 Allow amgcl without CUDA 2021-07-07 16:24:52 +02:00
Tong Dong Qiu
e556124405 Allow to choose amgcl backend at runtime, added default amgcl params 2021-07-07 16:24:52 +02:00
Tong Dong Qiu
282f611f92 Make sure amgcl can be used without CUDA 2021-07-07 16:24:52 +02:00
Tong Dong Qiu
3c1bfeb72f Let amgcl use runtime parameters via JSON file 2021-07-07 16:24:52 +02:00
Tong Dong Qiu
a23d881817 Reuse amgcl parameters 2021-07-07 16:24:51 +02:00
Tong Dong Qiu
47e2899ba8 Moved amgcl declarations to header 2021-07-07 16:24:51 +02:00
Tong Dong Qiu
7c7911b9bc Allow to use amgcl when CUDA and OpenCL are not found 2021-07-07 16:24:51 +02:00
Tong Dong Qiu
c2869810e2 Added amgclSolverBackend 2021-07-07 16:24:51 +02:00
Tong Dong Qiu
5918c64b54 Add useWellConn parameter to WellContributions() 2021-07-07 16:24:51 +02:00
Bård Skaflestad
2627a05c1e
Merge pull request #3433 from osae/tracerDefaultTrue
Default activation of tracer model.
2021-07-07 11:54:28 +02:00
Ove Sævareid
738877fc1b Default activation of tracer model. 2021-07-06 17:06:10 +02:00
Arne Morten Kvarving
8443306fb6 remove ebos_altidx
building a whole simulator for this, and then not even
running a test for it, seems rather excessive. if a test for
index-conformance is wanted, a better approach should be taken.
2021-07-05 13:17:13 +02:00
Joakim Hove
c62a9ba198 Set external UDQState for flow blackoil 2021-07-04 08:55:07 +02:00
Joakim Hove
2b680f27af Load udq state results from restart file 2021-07-03 10:08:25 +02:00
Bård Skaflestad
bbd8beb822
Merge pull request #3423 from joakim-hove/set-udq-state
Assemble UDQState external to the vanguard
2021-07-02 23:53:11 +02:00
Markus Blatt
ef8bd1861f
Merge pull request #3425 from akva2/nullopt
changed: use std::nullopt
2021-07-01 15:31:09 +02:00
Markus Blatt
8d0a254211
Merge pull request #3364 from blattms/flexible-solver-determine-pressure-idx-from-model
Determine index of pressure from model used to increase usability
2021-07-01 15:22:50 +02:00
Tor Harald Sandve
65f207836b
Merge pull request #3421 from totto82/compPotNW
compute potentials for newly opened wells due to testing
2021-07-01 12:08:13 +02:00
Arne Morten Kvarving
b0a2fc8a67 changed: use std::nullopt
the alternative causes some compilers to emit uninitialized
use warnings
2021-07-01 09:00:56 +02:00
Joakim Hove
528078e8e1 Assemble UDQState external to the vanguard 2021-07-01 08:24:59 +02:00
Bård Skaflestad
4392cc8713 Don't Access Phase Rates Unless Active
Fixes two-phase Oil/Water runs.  Probably needs more refinement
later.
2021-06-30 17:21:52 +02:00
Tor Harald Sandve
a00c42c673 compute potentials for newly opened wells due to testing 2021-06-30 13:13:56 +02:00
Bård Skaflestad
5ddac2e8d5
Merge pull request #3406 from GitPaean/new_fixing_guide_rate_update_together
[new attempt] updating the guide rates for all the wells and groups at the same time
2021-06-30 12:40:45 +02:00
Tor Harald Sandve
60f59cd6e6 Potentially reduce gaslift when under well is under group control
Current implemention only support ORAT and GRAT controlled groups
2021-06-30 09:59:09 +02:00
Kai Bao
12fa7a4ac8 putting all the guide rate update function in one single function
to make sure we only do once checking of the expiration of the guide
rates.
2021-06-29 11:41:26 +02:00
Tor Harald Sandve
42dd7ad56d
Merge pull request #3413 from totto82/fixLocalFraction
make sure the newly switched well is included in the local fraction sum
2021-06-28 15:41:45 +02:00
Bård Skaflestad
b79b08e86f
Merge pull request #3414 from OPMUSER/RUNSPEC-GRID
Add GRAVITY keyword to UnsupportedFlowKeywords
2021-06-28 13:26:43 +02:00
OPMUSER
5d9e3811af Add GRAVITY keyword to UnsupportedFlowKeywords
Add GRAVITY keyword to UnsupportedFlowKeywords with message to use DENSITY instead.
2021-06-28 18:11:49 +08:00
Tor Harald Sandve
4aaf86d5ef make sure the current well are included in the local fraction sum 2021-06-28 11:47:13 +02:00
Bård Skaflestad
3fe922b27f
Merge pull request #3404 from OPMUSER/RUNSPEC-GRID
PartiallySupportedKeywords for RUNSPEC and GRID Sections
2021-06-27 17:04:20 +02:00
Bård Skaflestad
71de144399
Merge pull request #3239 from osae/tracer
Tracer summary curves, collect well rates.
2021-06-25 17:48:40 +02:00
Bård Skaflestad
5e883e562c Chase Type Specific Aquifer Data API Change
This commit switches to using the new 'typeData' interface for
representing type-specific aquifer data items.  In particular we use
the new 'typeData.is<>()' and 'typeData.get<>()' member functions to
query and access the data that is specific to each aquifer type
(e.g., Carter-Tracy or numerical).

While here, also expand the reported data items for numerical
aquifers to one initial pressure value for each aquifer cell.  This
is needed for restart purposes.
2021-06-25 09:58:27 +02:00
OPMUSER
7dee294c50 Clean License & Copyright Header
Clean License & Copyright Header - Done
2021-06-25 15:34:19 +08:00
Bård Skaflestad
704c33f08f Chase Restart Loading API Change 2021-06-25 09:11:09 +02:00
OPMUSER
2cf11dfe05 Revised RUNSPEC and GRID PartiallySupportedFlowKeywords.cpp
Revised version for RUNSPEC and GRID partially supported keywords. Fixed miss match with value type and comments etc. Also Trap NUMRES != 1 with STOP if > 1.
2021-06-25 13:17:13 +08:00
OPMUSER
e7b28b1b5f Removed NUMRES from UnsupportedKeywords List
Removed NUMRES from UnsupportedKeywords list and will trap values not equal to 1 in the PartiallySupportedKeyword list. PartiallySupportedKeyword update to follow.
2021-06-25 13:01:29 +08:00
Tor Harald Sandve
0dcd91ac93
Merge pull request #3369 from totto82/grupWellState
handle GRUP in wellState from target
2021-06-24 13:02:24 +02:00
Bård Skaflestad
c101ed10f4
Merge pull request #3389 from totto82/scaleGuideRates
scale guiderates from si
2021-06-23 16:53:12 +02:00
Tor Harald Sandve
5368343512 handle GRUP in wellState from target 2021-06-23 14:46:35 +02:00
OPMUSER
c3fe22a6cf PartiallySupportedKeywords for RUNSPEC and GRID Sections
RUNSPEC and GRID keywords for partially supported keywords
2021-06-23 12:58:35 +08:00
Bård Skaflestad
9394a93c68 Don't Create Well Instance for Wells With No Connections
This commit protects against Opm::Well instances for which the sets
of connections are empty.  In those cases, do not put entries in the
well container as there is no influence on the systems of non-linear
equations.
2021-06-22 20:43:21 +02:00
Bård Skaflestad
e4dd8a91e8 Use Aquifer's Notion of Water Properties
This commit switches to using the analytic aquifer's intrinsic water
properties (i.e., the mass density and the viscosity), and to get
the time constant from the *_data structure instead of calculating
this value with separate logic.  Note that this switches to using a
single density value for the aquifer instead of separate density
values for each aquifer connection.

If the aquifer's initial pressure is defaulted we still compute an
equilibrated initial pressure value.  We then use the *_data
structure's 'finishInitialisation()' member function to derive the
aforementioned PVT properties.

Finally, report these values in the aquifer type-specific sub
structures of data::AquiferData for restart output purposes.
2021-06-22 14:47:56 +02:00
Bård Skaflestad
6d3da3d2e0 Report Pressure Dependent Pore Volume in PRT File
This commit distinguishes the reference condition pore volume from
the dynamic, pressure (and/or temperature) dependent pore volume
value.  Previously we would report the latter as the 'PORV' value in
the "Field Totals" and "FIPNUM region" reports, but this commit
switches to reporting the former instead-mostly for compatibility.
We still report the dynamic pore volume value, but now we report
this on a line of its own, before the table, using one of the forms

Field total pressure dependent pore volume = 12345 RM3
FIPNUM report region 1 pressure dependent pore volume = 123 RM3
2021-06-22 12:00:56 +02:00
Håkon Hægland
dd1ca3197d Add missing header file to GasLiftGroupInfo.cpp
GasLiftGroupInfo.cpp did not include "config.h" which caused HAVE_MPI
to be undefined causing the file to be compiled with
Dune::Communication<No_Comm> instead of with
Dune::Communication<MPI_Comm>. Which later caused linking problems with files
that used MPI.
2021-06-22 09:52:22 +02:00
Bård Skaflestad
7a9c9bedea
Merge pull request #3390 from akva2/janitoring
fixed: do not assert conditions guaranteed by unsigned
2021-06-18 16:52:47 +02:00
Peter Verveer
7be1bce651 Small fix for the keyword validation 2021-06-18 12:12:58 +02:00
Arne Morten Kvarving
592af11e55 avoid include in header
also add include for config.h
2021-06-18 11:43:54 +02:00
Atgeirr Flø Rasmussen
8c5a6b12d5
Merge pull request #3158 from totto82/operability_solve
shut/stop unsolvable wells
2021-06-18 10:13:14 +02:00
Bård Skaflestad
d9f89b4c89
Merge pull request #3366 from totto82/scaleWellRatesAfterGroupSwitching
Scale well rates after group switching
2021-06-18 10:05:00 +02:00
Tor Harald Sandve
c3cf59327d scale guiderates from si 2021-06-17 23:56:02 +02:00
Markus Blatt
2260fde478
Merge pull request #3300 from Tongdongq/add-tests
Added tests for cusparseSolver and openclSolver
2021-06-17 22:31:23 +02:00
Tor Harald Sandve
161c6cb1f8
Merge pull request #3385 from totto82/fixMSWtarget
Change wellStateFromTarget to virtual to make sure the MSW part is run
2021-06-17 13:03:33 +02:00
Tor Harald Sandve
b5e29684f2 shut/stop unsolvable wells 2021-06-17 11:50:31 +02:00
Håkon Hægland
860cfd9fb5 Fix some sign compare warnings. 2021-06-17 10:44:32 +02:00
Tor Harald Sandve
eb4e25c3f6 Change wellStateFromTarget to virtual to make sure the MSW part is run 2021-06-16 15:53:34 +02:00
Håkon Hægland
fbb24e2a5a Check group limits in gas lift stage 1.
Check group limits in gas lift stage 1 to avoid adding too much ALQ which must
anyway later be removed in stage 2. This should make the optimization
more efficient for small ALQ increment values. Also adds MPI support.
2021-06-16 12:00:54 +02:00
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