Commit Graph

1449 Commits

Author SHA1 Message Date
Joakim Hove
7b833b7706
Merge pull request #3526 from joakim-hove/add-actionx-gconinje-test
Add actionx gconinje test
2021-09-16 13:54:53 +02:00
Joakim Hove
3406bf82dd Add regression testing of actionx/ACTIONX_GCONINJE 2021-09-14 20:54:46 +02:00
Markus Blatt
c84b55c452 Fixes ILU for Dune 2.8
We got compile errors like:

/home/build/opm-simulators/opm/simulators/linalg/FlexibleSolver1.cpp:24:1:   required from here
/usr/include/dune/istl/ilu.hh:140:29: error: 'double' is not a class, struct, or union type

without this patch.
Hence we use the new internal ILU functions if available.
2021-09-13 12:25:49 +02:00
Arne Morten Kvarving
2b1ac22c99 drop aliases for Indices entries
using Indices directly more clearly shows where the data comes
from without having to hop through hoops to do so.
2021-09-06 12:49:01 +02:00
Bård Skaflestad
fcdb4c33ea
Merge pull request #3496 from goncalvesmachadoc/radial
add radial case to regression test
2021-09-01 12:14:22 +02:00
Cintia Goncalves Machado
247511fd49 fix test name 2021-09-01 10:04:24 +02:00
Cintia Goncalves Machado
b675d86aa8 add radial to regression test 2021-09-01 00:13:02 +02:00
Joakim Hove
7bb3dba310 Special case wells with no open connections in ParallelWellInfo 2021-08-31 17:31:45 +02:00
Joakim Hove
1a02ac7bd5
Merge pull request #3487 from joakim-hove/single-well-state
Single well state
2021-08-25 14:27:41 +02:00
Joakim Hove
060eac4999 Add basic functionality for validating special case keywords 2021-08-24 13:50:40 +02:00
Joakim Hove
579aba8d08 Include perforation data in SingleWellState 2021-08-24 12:46:24 +02:00
Joakim Hove
46f45e3999 Add PerfData member to SingleWellState 2021-08-24 12:46:24 +02:00
Joakim Hove
c711e869d8
Merge pull request #3484 from joakim-hove/mod4-gefac-testing
Add regression test for model with GEFAC
2021-08-23 13:52:50 +02:00
Joakim Hove
77a9fd352b Add SegmentState member to SingleWellState 2021-08-23 13:17:24 +02:00
Joakim Hove
f0b73ad29b Add regression test for model with GEFAC 2021-08-23 12:11:33 +02:00
Joakim Hove
2f504536f4 Add well potentials to SingleWellState 2021-08-23 12:05:26 +02:00
Arne Morten Kvarving
08c7ae44ac added: 'update_data' custom target
this allows updating opm-tests reference data repository
with the current results.

this is useful for devs as some of the tests only pass on the
CI system due to slight differences. you can now run this
before applying changes, and thus only reveal real regressions
introduced by your changes.
2021-08-19 08:55:44 +02:00
Joakim Hove
d5ab308fbd Add temperature to SingleWellState 2021-08-15 09:01:21 +02:00
Joakim Hove
1dd9b91ad3 Add member "bool producer" to SingleWellState 2021-08-15 09:01:21 +02:00
Joakim Hove
a54daf75e8 Add trivial class SingleWellState with bhp and thp 2021-08-15 09:01:21 +02:00
Arne Morten Kvarving
f89d0bc469 fixed: add missing initialization call 2021-08-05 11:01:04 +02:00
Joakim Hove
1cbc096d20
Merge pull request #3450 from joakim-hove/small
Small
2021-08-03 18:08:33 +02:00
Paul Egberts
68f7ad65ba include twophase gaswater in the test suite 2021-08-03 12:24:09 +02:00
Joakim Hove
057db0ec0e Add method WellState::name() 2021-07-26 13:07:12 +02:00
Markus Blatt
ea4e4a1520
Merge pull request #3346 from Tongdongq/amgcl-support
Amgcl support
2021-07-21 15:02:25 +02:00
Bård Skaflestad
48e1af8bbe Address Static Code Analysis Warnings
In particular, don't print uninitialized memory (Reorder.cpp:left)
and don't capture objects ('prm') that aren't actually used.  While
here, refactor the initialization of the MT19937 random number
generator.  Constructing this object is too expensive to do for each
try, especially when we can just run the generator in place.
2021-07-13 11:37:57 +02:00
Tong Dong Qiu
aa63da2bd3 Update GPU tests 2021-07-07 17:03:48 +02:00
Bård Skaflestad
d637f5983e Add Serialization Test for WriteRestartFileEvents 2021-07-07 14:30:46 +02:00
Bård Skaflestad
71594c1311
Merge pull request #3411 from joakim-hove/restart-summary-only
Restart summary only
2021-07-02 23:48:18 +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
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
Joakim Hove
a20da30d40 Add test driver for summary-only restart testing 2021-06-26 10:48:10 +02:00
Bård Skaflestad
0ba2c9fa99
Merge pull request #3391 from Tongdongq/handle-exception-cusparse-test
Added exception handling to cusparse test
2021-06-25 21:52:17 +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
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
Tong Dong Qiu
6291ba41b7 Added exception handling to cusparse test 2021-06-18 16:19:39 +02:00
Peter Verveer
7be1bce651 Small fix for the keyword validation 2021-06-18 12:12:58 +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
Tong Dong Qiu
f075c236c1 New error handling from Markus 2021-06-16 15:54:06 +02:00
Håkon Hægland
fbb24e2a5a Check group limits in gas lift stage 1.
Check group limits in gas lift stage 1 to avoid adding too much ALQ which must
anyway later be removed in stage 2. This should make the optimization
more efficient for small ALQ increment values. Also adds MPI support.
2021-06-16 12:00:54 +02:00
Joakim Hove
969fc20154
Merge pull request #3373 from verveerpj/improve_validation
Add keyword validation using a predicate function
2021-06-15 07:47:37 +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
b1600b904f Rename data::WellRates -> data::Wells 2021-06-14 15:27:56 +02:00
Joakim Hove
a22b836b82 PerfData maintains producre / injector status 2021-06-14 09:03:02 +02:00
Joakim Hove
3442af12a2 Rename data::WellRates -> data::Wells 2021-06-13 22:00:59 +02:00
Joakim Hove
454220b9e7 Rename data::WellRates -> data::Wells in opm-common 2021-06-13 08:37:56 +02:00
Bård Skaflestad
faba44dd2e
Merge pull request #3368 from joakim-hove/del-timemap
Remove unused #include <TimeMap>
2021-06-10 17:12:17 +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
308e191ad5 Remove unused #include <TimeMap> 2021-06-10 14:38:14 +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
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
Tong Dong Qiu
31eeb33039 Added error checking to tests 2021-06-08 16:07:38 +02:00
Joakim Hove
023edc67e5 Remove first perf member from Well classes 2021-06-08 14:24:26 +02:00
Arne Morten Kvarving
059140f2ee split out typetag independent code from BlackoilWellModel 2021-06-07 12:04:06 +02:00
Tong Dong Qiu
393ab24154 Updated copyright notice 2021-06-07 11:40:03 +02:00
Tong Dong Qiu
74b46e4d8d Added tests for cusparseSolver and openclSolver 2021-06-07 11:40:03 +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
Joakim Hove
59f36eacc0 Remove WellState::top_segment_index 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
ac12c8b3a4 Use SegmentState for rates 2021-06-03 10:46:26 +02:00
Joakim Hove
eac69061c2 Use SegmentState when copying pressure 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
bccb4f36e4 Don't test pressure & rates for top segment in non MSW well 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
Arne Morten Kvarving
5754747009 add regression test for flow_onephase_energy 2021-06-02 13:57:05 +02:00
Bård Skaflestad
fc47eb8b4f
Merge pull request #3332 from akva2/fix_trans_writer_par
eclwriter: fix regression in parallel
2021-06-01 10:32:20 +02:00
Arne Morten Kvarving
c2211b532f eclwriter: fix regression in parallel
order of constructing and obtaining global transmissibilities
was off. replace constructor argument with a setter so it can be
set at the appropriate time.
2021-06-01 09:08:38 +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
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
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
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
8e0ed53207 Add method WellContainer::well_index() 2021-05-24 09:14:36 +02:00
Arne Morten Kvarving
70ece6d25a eclwriter: split in typetag dependent and typetag-independent parts 2021-05-22 13:21:09 +02:00
Joakim Hove
23180e06d2 Rename WellStateFullyImplicitBlackoil -> WellState 2021-05-21 15:07:21 +02:00
Arne Morten Kvarving
1614767362 GasLiftSingleWell: split typetag independent code to separate class 2021-05-21 09:09:10 +02:00
Joakim Hove
506a349085
Use wellcontainer2 (#3255)
Use WellContainer<> to manage members in WellState
2021-05-20 16:16:12 +02:00
Tor Harald Sandve
bf87a1b519 Add SPE9_CP_GROUP_RESV to the test suite 2021-05-19 09:44:48 +02:00
Peter Verveer
ad0b62ab1c Simplify the message for keywords with only a single record 2021-05-14 15:12:12 +02:00
Arne Morten Kvarving
861899de2e changed: put WellStateFullyImplicitBlackoil in separate compile unit 2021-05-13 12:01:03 +02:00
Joakim Hove
66c56bb8c3 Add initializer_list based WellContainer constructor 2021-05-12 09:18:58 +02:00
Arne Morten Kvarving
c7c29483e7 fix regression: unconditional dereferences
equilGrid and equilCartesianMapper can only
be dereferenced on rank 0.
2021-05-11 15:21:50 +02:00
Arne Morten Kvarving
3397cd6252 eclbasevanguard: split in template and non-template parts 2021-05-11 09:15:11 +02:00
Bård Skaflestad
9d3cf25366
Merge pull request #3217 from akva2/adjust_enums
adjust to upstream enum changes
2021-05-07 21:48:19 +02:00
Markus Blatt
d462aee2f8
Merge pull request #3204 from akva2/collect_separate_compile_unit
CollectDataToIORank: move to separate compile unit
2021-05-07 08:55:47 +02:00
Joakim Hove
36cc9e8567 Add small class WellContainer to manage well data in WellState 2021-05-06 15:46:52 +02:00
Arne Morten Kvarving
a8627d1974 adjust to upstream enum changes 2021-05-05 22:06:06 +02:00
Arne Morten Kvarving
543dbe7114 CollectDataToIORank: move to separate compile unit
make it a template for grid types. this allows using
explicit template instantation and compile this code
only once per grid type, instead of once per simulator object.
2021-05-03 13:45:52 +02:00
Joakim Hove
8a78dc1c59 Add class GlobalWellInfo and use it from WellState 2021-05-03 13:28:28 +02:00
Bård Skaflestad
ff2caa5675 Well Model Test: Supply Valid 'ecl_index' Values
The WellInterface::initCompletions() member function needs these.
2021-04-30 17:05:20 +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
Arne Morten Kvarving
541ebdde13 phaseUsageFromDeck: move to separate compile unit 2021-04-29 13:00:23 +02:00
Arne Morten Kvarving
bbfda699d3 KeywordValidation: use forwarding 2021-04-29 12:46:49 +02:00
Joakim Hove
8bae5e0127 Add class ALQState to manage the ALQ state in the WellState 2021-04-28 09:33:06 +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
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
5a4190bbea Add json dump to GroupState 2021-04-26 11:51:07 +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
Kai Bao
06fa81f4e3 following interface change for processEcipseFormat 2021-04-20 11:27:15 +02:00
Kai Bao
06ec3d2420 fixing test_relpermdiagnostics test 2021-04-14 09:48:55 +02:00
Joakim Hove
061b5c2395
Merge pull request #3062 from joakim-hove/enable-actionx-test
Enable new test udq_actionx/ACTIONX_M1
2021-04-13 09:28:32 +02:00
Peter Verveer
1640c4afcf Implement a new keyword validator 2021-04-12 16:47:02 +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
Joakim Hove
0515d3c7f3 Add SPE1 testcase where grid data is loaded iwth IMPORT 2021-03-31 20:39:35 +02:00
Joakim Hove
d750d5c68f Enable new test udq_actionx/ACTIONX_M1 2021-03-31 11:52:23 +02:00
Joakim Hove
3d226abd24 Remove references to RestartConfig 2021-03-26 08:03:07 +01:00
Bård Skaflestad
9d72ee157c
Merge pull request #3130 from totto82/addCO2testCases
add more co2 tests to ctest
2021-03-23 20:55:41 +01:00
Tor Harald Sandve
a204cc4b3c add more co2 tests to ctest 2021-03-23 10:54:54 +01:00
Bård Skaflestad
0468b2eee6
Merge pull request #2972 from goncalvesmachadoc/spider
Add cases to regression tests
2021-03-20 01:14:13 +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
Cintia Goncalves Machado
49f3728396
Add test for flow_onephase_energy 2021-03-10 12:15:50 +01:00
Kai Bao
69619339a1 Merge branch 'master' into new_numerical_aquifer 2021-03-04 22:54:36 +01:00
Joakim Hove
74ca0d12e0 Use std::chrono::system_clock with 1/1000 second resolution 2021-02-25 23:50:25 +01:00
Joakim Hove
6f15765f53 Use Schedule time functions - avoid TimeMap 2021-02-25 18:10:22 +01:00
Tor Harald Sandve
0902568fa5 Add CO2STORE test to ctest 2021-02-24 09:56:04 +01:00
Kai Bao
d76251818f adding tests for numerical aquifers 2021-02-22 23:18:43 +01:00
Kai Bao
524e63a255 adapting to the upstream interface change. 2021-02-22 23:15:26 +01:00
Joakim Hove
fc398c8555
Merge pull request #3067 from joakim-hove/add-tran-parallel-test
Add parallel test of partial TRAN EDIT
2021-02-17 16:44:15 +01:00
Joakim Hove
2df154017b Add parallel test of partial TRAN EDIT 2021-02-16 08:04:12 +01:00
Joakim Hove
6383f3c1ac Use class based enums for VFP flow types 2021-02-15 19:17:39 +01:00
Joakim Hove
648b0f6581 Use Well::updateDeckPI( ) 2021-02-11 13:47:27 +01:00
Bård Skaflestad
27a11508ae
Merge pull request #3031 from totto82/relperm_diag
Removing explicit usage of the Grid in the relperm diagnostics
2021-01-27 09:18:16 +01:00
Tor Harald Sandve
c145722798 pass CartesianIndexMapper instead of the grid to the RelpermDiagnositics 2021-01-26 14:59:36 +01:00
Joakim Hove
e4789d4eb7 Use std::reference_wrapper for VFP tables 2021-01-26 07:56:59 +01:00
Joakim Hove
208209bd95 Don't test serialization for isolated ScheduleState 2021-01-20 09:00:30 +01:00
Atgeirr Flø Rasmussen
3a0dbdc6e7
Merge pull request #2993 from blattms/stdwell-comm-rebase-split-cont-clean
Final fixes to make distributed wells work for Norne.
2021-01-15 15:42:45 +01:00
Joakim Hove
17fcdfc87a Use ScheduleState to handle VFP propertes + simplifications 2021-01-14 19:22:34 +01:00
Joakim Hove
31b2f597ac Enable serialization testing for ScheduleDeck / ScheduleState 2021-01-12 14:12:39 +01:00
Joakim Hove
914bbeca82 Fetch messagelimits from ScheduleState 2021-01-12 07:44:10 +01:00
Kai Bao
a3004580e6 adapting to the directory change in opm-common related to aquifer 2021-01-08 23:18:41 +01:00
Markus Blatt
c037bd762d
Merge pull request #2990 from atgeirr/testing-precfactory-operators
Only add AMG preconditioners to factory if sensible.
2020-12-22 09:52:53 +01:00
Atgeirr Flø Rasmussen
2cce4a1af5
Merge pull request #2962 from totto82/addFLowDynTest
add flow solvent dynamic test
2020-12-21 16:07:21 +01:00
Tor Harald Sandve
4636e7956e add flow_dyn test 2020-12-21 08:25:39 +01:00
Markus Blatt
69fd6495c0 Added factory to construct the global representation of perf data.
Some of our computations are heavily serial and need a complete
representation of the data attached to all perforation no matter
whether a perforation lives on the local partition or not. This commit
adds a factory that allows to easily create such a representaion and
helps writing data back to the local representation.
2020-12-18 14:48:19 +01:00
Markus Blatt
a9c327b321 refactored ParallelWellInfo test code for further testing. 2020-12-18 14:48:19 +01:00
Atgeirr Flø Rasmussen
d910d42f6e Only add AMG preconditioners to factory if sensible.
Also add test using a new operator class, that would not compile
without the change.
2020-12-17 14:54:59 +01:00
Arne Morten Kvarving
b7c8baf08f add serialization test for AutoICD 2020-12-16 08:36:30 +01:00
Markus Blatt
35218bf042 Added possibility to communicate values from perforations below. 2020-12-10 11:06:28 +01:00
Bård Skaflestad
0e938c0ca7
Merge pull request #2941 from totto82/dunifyInitCode
dunify and make the initialization parallel
2020-12-09 20:46:28 +01:00
Cintia Goncalves Machado
e0f7ae0663 add spider case to regression 2020-12-08 14:51:15 +01:00
Markus Blatt
c1da6a896a Cleanup wellstatefullyimplicit test. 2020-12-07 20:41:24 +01:00