Commit Graph

2192 Commits

Author SHA1 Message Date
Lisa Julia Nebel
631409ec2c Add test for NONNC keyword 2024-02-01 13:57:49 +01:00
Bård Skaflestad
71b383d8e7
Merge pull request #5142 from akva2/blackoilmodel_remove_ebos
BlackoilModel: remove Ebos from class names
2024-02-01 12:34:12 +01:00
Arne Morten Kvarving
e13c77ae95 BlackoilModelEbos: rename to BlackoilModel 2024-02-01 09:05:40 +01:00
Arne Morten Kvarving
dd92a7446c BlackoilModelParametersEbos: rename to BlackoilModelParameters 2024-02-01 09:05:40 +01:00
Arne Morten Kvarving
ce4f138a92 header cleanups 2024-02-01 09:04:21 +01:00
Arne Morten Kvarving
b0c16b8976 add a basic regression test for Damaris output 2024-01-30 15:28:12 +01:00
Bård Skaflestad
472199f63d
Merge pull request #5132 from blattms/fix-shared-linking
Fix linking errors when using shared libraries.
2024-01-30 11:02:51 +01:00
Markus Blatt
819842d7cf Fix linking errors when using shared libraries.
We accomplish that by passing the module version as a string to the
constructors of LogOutputHelper and EclGenericOutputBlackoilModel
instead of calling moduleVersionName() in LogOutputHelper. That way
moduleVersionName is not needed by libopmsimulators anymore and
compilation works again for people requesting shared libraries via
CMake's BUILD_SHARED_LIBS variable.
2024-01-29 16:37:38 +01:00
Arne Morten Kvarving
96a3a6d45a changed: move hdf5serializer to opm/simulators/utils/HDF5Serializer.hpp
does not interact with typetag system
2024-01-29 09:42:49 +01:00
Tor Harald Sandve
343f1201eb make test independent on inplace.size() 2024-01-26 09:15:43 +01:00
Atgeirr Flø Rasmussen
2626fbb84b
Merge pull request #5002 from multitalentloes/add_cudilu
Add cudilu
2024-01-25 15:43:39 +01:00
Tobias Meyer Andersen
4b0dd54f15 Add CUDA implementation of the DILU
preconditioner. Uses graph coloring to exploit
parallelism in upper and triangular solves when
computing a diagonal approximate inverse of a
sparse matrix. Supports blocksizes up to 3.
2024-01-25 14:26:38 +01:00
Bård Skaflestad
eb9ead5577 Support at Least NTFIP Distinict Regions for Inter-Region Flow
This commit ensures that we have backing support for region IDs up
to and including NTFIP (TABDIMS(5), REGDIMS(1)).  The existing setup
would fail (segmentation violation) in the case of a summary vector
of the form

    ROFT
      36 31 /
    /

when the maximum FIPNUM value was 30.  We nevertheless support
maximum FIPNUM values exceeding NTFIP.

We add a new optional parameter to the EclInterRegionFlowMap
constructor.  The parameter allows client code to specifiy a
"minimum maximum" region ID that all ranks must support.  This value
will be enforced during parallel aggregation.
2024-01-24 09:54:44 +01:00
Arne Morten Kvarving
98c704c1c3 changed: move ebos/eclmpiserializer.hh to opm/simulators/utils/MPISerializer.hpp
it does not use the typetag system
2024-01-23 10:51:32 +01:00
Arne Morten Kvarving
873102e9ea added: RST CONV support for polymer, solvent and brine 2024-01-22 09:58:06 +01:00
Bård Skaflestad
ceffbd2fc5 Chase Constructor API Change for Opm::Connection Class 2024-01-15 11:05:02 +01:00
Arne Morten Kvarving
e686fabb39 added: class for calculating RPTRST CONV 2024-01-10 13:07:34 +01:00
Atgeirr Flø Rasmussen
ea623f0f3e
Merge pull request #5050 from totto82/addSource
support source term from deck (SOURCE)
2024-01-09 13:16:16 +01:00
Bård Skaflestad
60c7c79f58 Output Well Flow Sheets for All Wells
There is no need to restrict PRT file flow reports to those wells
which are active on the current rank since the SummaryState object
holds information for all wells active at the current report step.
2024-01-08 08:58:51 +01:00
Torbjørn Skille
72892f0c4b PRT file updates
* Arrays genarated from RPTSOL + FIP is now strictly following Eclipse format
* Adding reservoir volume array also for custom FIP regions
2024-01-03 21:47:54 +01:00
Tor Harald Sandve
16a80fc293 add source to parallel serialization 2023-12-22 10:59:09 +01:00
Tor Harald Sandve
f508f3d4e8 add output of dissolved solvent rswsol 2023-12-21 10:48:58 +01:00
Arne Morten Kvarving
de9c3ddfda added: test for outputdir 2023-12-19 15:21:58 +01:00
Tor Harald Sandve
b9ecc2ac8f
Merge pull request #5058 from totto82/fixInitTemp
BUGFIX. Use given temperature in the density calculations in the initialisation
2023-12-13 15:49:32 +01:00
Tor Harald Sandve
8c66465c71 BUGFIX. Use given temperature in the density calculations in the initialization 2023-12-13 09:45:38 +01:00
Bård Skaflestad
c03f794f9c Remove Dashed Lines Between Records in PRT File Reports
This commit splits the production, injection, and cumulative
*Report_() functions into three logically distinct parts, one for
outputting the report header (begin*Report_()), one for outputting a
single report record (output*ReportRecord_()), and one for ending
the report (end*Report_()).  This simplifies the logic of the
*Record_() member functions since they no longer need to infer the
context which is already available in the caller and can perform a
more narrow task than before.

With this separation we're also able to remove the dashed lines
which would previously separate each report record, thereby creating
PRT file report sheets which have a more expected layout.

Moreover, as an aid to future maintenance, we also factor out common
code for the well and group cases in each *Record_() function.

Finally, fix a unit conversion problem in the report values for
cumulative gas quantities.  The sheet header states that we should
be outputting values in 'MM' prefixed units, but we were only
scaling the gas values by a factor of 1000 instead of 1000*1000.  In
other words, the injection and production gas values in the
cumulative sheet were off by a factor of 1000.
2023-12-11 10:01:22 +01:00
Bård Skaflestad
ec549df37b Remove Spurious Blank Lines in PRT File Reports
The StreamLog::addMessageUnconditionally() member function will end
each message with a newline (std::endl) so we should not add such
newlines ourselves.  The extra newline characters produce spurious
blank lines in the report sheets, e.g., for the "PRODUCTION REPORT".

This commit removes the last newline character from each report
request, thus deferring that responsibility to OpmLog::note()
instead.  Doing so, however, means we have take a little more care
with the first line of each report lest we create report sheets
which are smushed together.
2023-12-08 10:22:43 +01:00
Arne Morten Kvarving
7da71783ba fix dead stores 2023-12-04 12:40:55 +01:00
Arne Morten Kvarving
06d0e7f877
Merge pull request #4967 from multitalentloes/parallelize_cpu_dilu
OpenMP parallelize DILU with matrix reordering
2023-11-22 11:19:23 +01:00
Kai Bao
9f0fb32713 various cleaning up and refactoring for co2 ptflash simulation 2023-11-21 15:52:56 +01:00
Trine Mykkeltvedt
83cb5670b7 a simple 1D test demonstrating the usage of the PTFlash compostional modeling 2023-11-21 15:52:56 +01:00
Tobias Meyer Andersen
5f6c97ff3b add OpenMP parallelized version of DILU.
Implement graphcoloring to expose rows in level sets that that can be
executed in parallel during the sparse triangular solves.
Add copy of A matrix that is reordered to ensure continuous memory reads
when traversing the matrix in level set order.
TODO: add number of threads available as constructor argument in DILU
2023-11-21 15:41:53 +01:00
Arne Morten Kvarving
842af08276 test_graphcoloring: cosmetics 2023-11-21 15:20:07 +01:00
Tobias Meyer Andersen
e2a531dd65 replace loop with std function, remove print from test 2023-11-21 09:52:48 +01:00
Tobias Meyer Andersen
3cd1873771 add graph coloring 2023-11-20 16:57:56 +01:00
Arne Morten Kvarving
9af3a2f790 fixed: we need to initialize logger before parsing
parsing logs some errors which meant using uninitialized values
if no logger has been set
2023-11-20 15:06:52 +01:00
Tobias Meyer Andersen
6ca84a16e1 test_dilu: cosmetics 2023-11-20 13:06:44 +01:00
Tor Harald Sandve
e33d27ca90
Merge pull request #4973 from daavid00/enabledisgaswatvap
Enabling disGas and watVap at compile time for gasWaterBrine systems
2023-11-13 15:01:38 +01:00
Arne Morten Kvarving
44ce054492 changed: refactor LogOutputHelper::fip
only do one output per call. allow passing the name of the
regions to process
2023-11-09 13:08:17 +01:00
David Landa Marban
92de5355b2 Enabling disGas and watVap at compile time for gasWaterBrine 2023-11-07 18:35:30 +01:00
Arne Morten Kvarving
de0b249eaa fixed: make sure we get exact match for test name
if not test names that are a substring of another might
match the wrong entry in the file
2023-11-03 10:48:55 +01:00
Arne Morten Kvarving
2fcc8bddd4 avoid more dead stores 2023-11-02 12:14:10 +01:00
Bård Skaflestad
bf72698310
Merge pull request #4832 from totto82/wdaccor_refactor
Implement Forchheimer term in wellIndex
2023-10-31 17:46:49 +01:00
Arne Morten Kvarving
5e801bc488 avoid dead stores 2023-10-27 08:59:15 +02:00
Tor Harald Sandve
90e791877c Implement Forchheimer term in wellIndex
Add output of CDFAC

Add effect of compaction on CTFAC
2023-10-23 08:55:21 +02:00
jakobtorben
ab0ca76194 Add DILU preconditioner 2023-10-18 14:30:17 +02:00
Tobias Meyer Andersen
8b396fa3dc Update test properties of new tests using CUDA. Avoid comparison causing new warning 2023-10-16 11:31:00 +02:00
Tobias Meyer Andersen
533c5a1a3e Combine new diagonalMV kernels into one using
template arguements.
Use more consistent naming conventions.
Change printing function of CuVector from output
stream overload to toDebugString().
2023-10-16 09:53:02 +02:00
Tobias Meyer Andersen
c809819cbd Fuse kernels to optimize performance and update
the tests and documentation.
2023-10-13 10:31:17 +02:00
Tobias Meyer Andersen
1e4b0e97ee Add jacobi preconditioner that runs on the GPU.
Implement calls to cuBlas, cuSparse and implement necessary
CUDA kernels to perform a single iteration of the jacobi preconditioner.

Add tests that verify new kernels and the preconditioner in its totality.

The preconditioner is verified on 2x2 and 3x3 blocks, which as of now
are the only supported sizes. 1x1 are not supported because cuSparse
does not support it.
2023-10-13 10:31:17 +02:00
Atgeirr Flø Rasmussen
18883e7f83 Use the non-accelerated linear solver for some tests.
This is just for the type tag.
2023-09-25 10:44:06 +02:00
Bård Skaflestad
9c58585538
Merge pull request #4823 from akva2/ecltimestepping_separate
changed: put ecl time stepping parameters in separate struct
2023-09-04 10:54:46 +02:00
Tor Harald Sandve
80cbfe7fda
Merge pull request #4819 from hakonhagland/gecon3
Implement support for GECON keyword
2023-09-01 15:06:48 +02:00
Atgeirr Flø Rasmussen
06c706e7d6 Also copy flags, and helper function with test. 2023-08-31 13:01:50 +02:00
Arne Morten Kvarving
3c525aefae changed: put ecl time stepping parameters in separate struct
this to allow reuse in ebos simulators
2023-08-30 11:22:22 +02:00
Håkon Hægland
dba282c7a4 Added missing header file 2023-08-29 09:14:35 +02:00
Vegard Kippe
8666cd8dc3 re-introducing line that was deleted by mistake.. 2023-08-25 14:26:51 +02:00
Vegard Kippe
0944cbbed9 fixing indent 2023-08-25 14:13:04 +02:00
Vegard Kippe
4ff08ffd2d Added testcase for TUNING/TSINIT and NEXTSTEP - depends on https://github.com/OPM/opm-tests/pull/1028 2023-08-25 14:01:51 +02:00
Arne Morten Kvarving
13b0e14f18 EclGenericProblem: remove unused time steppping parameters
and remove some hidden duplicates
2023-08-15 14:02:55 +02:00
Arne Morten Kvarving
46aae8cda6 changed: move EclInterRegFlows to opm/simulators/flow
no opm-models usage
2023-08-15 13:14:42 +02:00
Arne Morten Kvarving
933f28b575 add tests for LogOutputHelper
reference data was created before the refactoring
2023-08-14 11:44:32 +02:00
Bård Skaflestad
95d715b807 Add Parallel Calculation Support for WBPn/WPAVE
This commit adds a parallel calculation object derived from the serial
PAvgCalculator class.  This parallel version is aware of MPI
communicators and knows how to aggregate contributions from wells that
might be distributed across ranks.

We also add a wrapper class, ParallelWBPCalculation, which knows how to
exchange information from PAvgCalculatorCollection objects on different
ranks and, especially, how to properly prune inactive cells/connections.
2023-07-07 15:01:05 +02:00
Arne Morten Kvarving
4d35ec26de isNumericalAquiferCell: put in separate struct for easier reuse 2023-07-04 14:56:10 +02:00
Arne Morten Kvarving
c3847e8325 simplify cmake code for tuning tests
add a post command to the runSimulator script and use this to
execute the unit test at the end of the run
2023-07-03 09:05:45 +02:00
Vegard Kippe
7fc9a2eef3 Addressing review comments. 2023-06-30 12:21:25 +02:00
Vegard Kippe
7a0074f0e9 Cleaning up test code 2023-06-29 15:22:52 +02:00
Vegard Kippe
a80f44a3be Updating variable name in SimulatorFullyImplicitBlackoilEbos.hpp and adding tests 2023-06-29 15:20:38 +02:00
Bård Skaflestad
77adc6ea3b Add Container for Dynamic WBPn Source Values
This commit adds a new container class,

    ParallelPAvgDynamicSourceData

which inherits from PAvgDynamicSourceData and provides a parallel
view of source contributions.  Member function

    collectLocalSources

will call the user-provided source term evaluation function for each
source location in its purview--typically those locations owned by
the current MPI rank.  Those values will be distributed to other MPI
ranks through member function synchroniseSources which will fill the
base class' 'src_' data member, and become available to clients
through read-only item spans.
2023-06-21 12:06:49 +02:00
Arne Morten Kvarving
3c566a9e4e avoid dead store 2023-06-21 08:59:26 +02:00
Bård Skaflestad
a2d4153830
Merge pull request #4711 from atgeirr/well-additions-for-local-solves
Well additions for local solves.
2023-06-15 18:15:43 +02:00
Atgeirr Flø Rasmussen
654df6fd59 Well additions for local solves.
Also, remove uneeded function updatePerforationIntensiveQuantities().
2023-06-15 16:49:12 +02:00
Ove Sævareid
9dbadfdaae Some support for WAG hysteresis. 2023-06-15 12:03:39 +02:00
Bård Skaflestad
9d75915e4b Prepare for Revised Implementation of WBPn
This initial commit changes the API of the CollectDataToIORank
class' handling of WBPn values from collecting a set cell pressures
into communicating pre-computed WBPn values through the new
WellBlockAveragePressures container class.  This is in preparation
of moving the WBPn calculation to the simulator side for greater
parallelism.  For now we do not compute any of the actual WBPn
values.  That will be the subject of follow-up commits.

While here, also split a number of very long lines for readability.
2023-06-09 13:25:43 +02:00
Bård Skaflestad
665be4e435
Merge pull request #4699 from atgeirr/nldd-utilities
Add utilities that will be needed for NLDD solvers.
2023-06-09 10:35:48 +02:00
Atgeirr Flø Rasmussen
712a7c8131 Add utilities that will be needed for NLDD solvers.
Includes:
 - SubDomain struct,
 - simple partitioning utilities for testing,
 - some matrix and vector manipulation functions,
 - tests for the above.
2023-06-09 10:08:29 +02:00
Bård Skaflestad
479a575539 Add Brief Documentation Block to Test Property AWK Script
Mostly to aid future maintainers.
2023-06-08 12:05:16 +02:00
Arne Morten Kvarving
4a3a47c764 changed: no need to manually specify test data in update script
rather specify it as properties on the tests themself and extract
using some awk-ing.
2023-06-08 10:33:36 +02:00
Håkon Hægland
bdfa287fec Add missing include file 2023-06-02 09:25:34 +02:00
Torbjørn Skille
afe0ede324 start regression testing of test case with VAPPARS keyword in Solution section 2023-06-01 13:05:32 +02:00
Atgeirr Flø Rasmussen
ee6edd83a0
Merge pull request #4636 from kjetilly/cuistl_multigpu
Path to multigpu: Cuistl multigpu
2023-06-01 07:23:39 +02:00
Bård Skaflestad
4faa5e1fe7
Merge pull request #4667 from akva2/no_adap_timestep_flag_in_driver
changed: stop forcing no adaptive time stepping in parallel restart test driver
2023-05-31 21:37:51 +02:00
Kjetil Olsen Lye
ea86e45fef SolverAdapter now takes a reference to scalar product. 2023-05-31 16:39:45 +02:00
Kjetil Olsen Lye
ceb15e22e3 Expose CuISTL solver in FlexibleSolver. 2023-05-31 15:03:31 +02:00
Atgeirr Flø Rasmussen
0923698667
Merge pull request #4635 from kjetilly/cuistl_preconditioners
Path to multigpu: Cuistl preconditioners
2023-05-31 14:43:49 +02:00
Markus Blatt
290e7146ad Added working PINCH test cases as regressions.
This hopefully will prevent breaking things when further work for
PINCH is done.

The following tests are still known to fail with current master:
T2A_NOPINCH T2A_GAP T2A_NOGAP T4A1_NOGAP T4A1_GAP
2023-05-31 12:23:00 +02:00
Arne Morten Kvarving
0f010daaf8 remove unused variables 2023-05-31 09:35:16 +02:00
Kjetil Olsen Lye
84305a7a8d Added conversion preconditioner. 2023-05-30 11:50:02 +02:00
Kjetil Olsen Lye
b30e6d79d5 Added CuSeqILU0 with the preconditioner adapter. 2023-05-30 11:49:58 +02:00
Bård Skaflestad
3549d85d83
Merge pull request #4568 from totto82/2psolvent
Add gaswater solvent
2023-05-30 11:36:16 +02:00
Atgeirr Flø Rasmussen
e5672ee816
Merge pull request #4634 from kjetilly/cuistl_vector_matrix
Path to multigpu: Cuistl vector and matrix classes
2023-05-30 11:35:15 +02:00
Kjetil Olsen Lye
dfa7034f1b Made error tolerances stricter. 2023-05-30 10:12:31 +02:00
Kjetil Olsen Lye
63fb363a83 Renamed CopyConstructor to CopyAssignment. 2023-05-30 10:06:08 +02:00
Tor Harald Sandve
77d6a99376 add SPE1CASE2_GASWATER_SOLVENT as test case 2023-05-30 09:44:08 +02:00
Bård Skaflestad
f156bc9b7d Enable Restart Tests for Constant Flux Aquifers
Uses the example models AQUFLUX-01 and AQUFLUX-02 from OPM-Tests.
Both sequential and parallel modes activated for both models.
2023-05-26 20:21:52 +02:00
Arne Morten Kvarving
9b93046a69 changed: stop forcing no adaptive time stepping in parallel restart test driver
this should be controllable on a per-test level as other options.

keep current behavior for existing test by re-adding the option
using TEST_ARGS.
2023-05-25 20:23:48 +02:00
Tor Harald Sandve
8c9220c8e9 add solvent+foam test 2023-05-24 16:03:09 +02:00
Kjetil Olsen Lye
133a8897a0 Fixed indexing mistake in cuistl/vector_operations 2023-05-12 08:23:18 +02:00
Kjetil Olsen Lye
f006b0b4f5 Removed unused type variable. 2023-05-12 08:23:18 +02:00
Kjetil Olsen Lye
b6a67275c9 Rename to to_int and to_size_t 2023-05-12 08:23:18 +02:00
Kjetil Olsen Lye
5373fb7a9c Added int to size_t conversion. Added some static_asserts. 2023-05-12 08:23:18 +02:00
Kjetil Olsen Lye
9418d5311d Added safe conversion from size_t to int. 2023-05-12 08:23:18 +02:00
Kjetil Olsen Lye
31e7ef04ba Added a CuSparse matrix wrapper. 2023-05-12 08:23:18 +02:00
Kjetil Olsen Lye
858d8b189b Added CuVector with tests. 2023-05-12 08:23:18 +02:00
Torbjørn Skille
d5100fac23 start regression testing of WGRUPCON tests 2023-05-10 20:52:50 +02:00
Kjetil Olsen Lye
062d692c83 Added handles for cusparse and cublas. 2023-05-09 15:20:34 +02:00
Kjetil Olsen Lye
03a7fb6c9d Added error macros to check last CUDA error. 2023-05-09 15:20:34 +02:00
Kjetil Olsen Lye
bf9dd4e1dd Added safe call macros for CUDA, CuBlas and CuSparse. 2023-05-09 15:20:34 +02:00
Arne Morten Kvarving
60079dc065 gputests: missing device is a test failure 2023-05-09 12:27:41 +02:00
Kai Bao
c3f5d0c81c adding parallel tests and reference update for network modeling 2023-05-08 15:29:01 +02:00
Kai Bao
b9348ee435 try to honor the network balance tolerance
without considering the iteration number. Because of the different
implementaion from other simulators, it is difficult to honour
procedure-dependent parameters.
2023-05-08 10:43:49 +02:00
Kai Bao
bb7ed4d78e making sure to update the pressure when needing network balance 2023-05-08 10:43:49 +02:00
Atgeirr Flø Rasmussen
77d151e0b5 Refactor get_error_report() for more flexibility. 2023-04-25 10:33:20 +02:00
Torbjørn Skille
e98b26aa55 Remove two tests from regression testing
There are issues with both of these that should be fixed before these are used for regression testing
2023-04-13 15:55:39 +02:00
Markus Blatt
8142788b58
Merge pull request #4406 from Tongdongq/rocsparse
Add rocsparseSolver
2023-04-12 12:07:58 +02:00
Arne Morten Kvarving
f2983ac6af minimum dune version required is now 2.7 2023-04-12 09:41:23 +02:00
Tong Dong Qiu
ed8f37ec82 Initialize HIP/rocsparse in constructor 2023-04-06 13:14:19 +02:00
Tong Dong Qiu
eaef4b8c85 Update CMakeLists for rocm 2023-04-06 13:14:19 +02:00
Tong Dong Qiu
11ea024fbe Add test_rocsparseSolver 2023-04-06 13:14:19 +02:00
Bård Skaflestad
62f8a6433d
Merge pull request #4474 from tskille/regtest_pinch_multz-
Regression testing for PINCH and MULTZ- barrier
2023-03-30 15:16:44 +02:00
Tor Harald Sandve
a2ae7d5bed Fix resv for groups 2023-03-27 16:03:40 +02:00
Bård Skaflestad
7abfdc52e0 Refactor Construction of Analytic Aquifer Objects
In particular, split the 'static' aquifer object initialisation
of member function 'init()' into a new helper function

  initializeStaticAquifers()

This is in preparation of adding a similar function to handle
dynamic aquifer object initialisation from a restart file.  To that
end, also add a new member function

  createDynamicAquifers(episode_index)

containing the current implementation of beginEpisode().  Creating
the dynamic objects from a restart file then amounts to calling this
function with a different 'episode_index'.  As another aid to
maintainability, add a new templated member function

  createAnalyticAquiferPointer()

which forms 'unique_ptr<AquiferInterface>' objects for every known
type of analytic aquifer.  This, in turn, requires reordering the
parameters of the AquiferConstantFlux constructor to match those of
the existing Fetkovich and Carter-Tracy types.

Finally, split the calculation of the constant flux aquifer's total
flux rate out to a new helper function

  AquiferConstantFlux::totalFluxRate()
2023-03-09 18:04:55 +01:00
Arne Morten Kvarving
bd767923b3 fixed: remove opm-material from data update script 2023-03-06 12:02:09 +01:00
Arne Morten Kvarving
ac6e0d3e7e add restart serialization test for Inplace 2023-02-27 13:57:05 +01:00
Arne Morten Kvarving
e3d9ee9780 add restart serialization test for EclHysteresisTwoPhaseLawParams 2023-02-24 09:59:37 +01:00
Bård Skaflestad
d364b7b80c
Merge pull request #4479 from akva2/serialization_missing_perfdata
RestartSerialization: add missing PerfData
2023-02-22 15:53:42 +01:00
Arne Morten Kvarving
da4784b314 AquiferConstantFlux: add restart serialization support 2023-02-22 14:41:07 +01:00
Arne Morten Kvarving
8d339c464c PerfData: add serialization support 2023-02-22 13:59:59 +01:00
Kai Bao
7a67b16c3e addressing review comments for PR OPM/opm-simulators#4429 2023-02-21 15:27:05 +01:00
Torbjørn Skille
8714630cd7 Regression testing for PINCH and MULTZ- barrier
Both test cases are using PINCH + ALL in item 5. One case have
a MULTZ barrier the other not.
2023-02-21 08:20:54 +01:00
Bård Skaflestad
85a2703e88 Add Regression Test for NOPINCH Feature
Thanks a lot to [at]tskille for providing a test case.
2023-02-19 15:05:53 +01:00
Bård Skaflestad
b73440d794 Add Regression Test for JFUNC Feature
There are no such tests in the test suite and we've already had one
instance of the feature breaking during code refactoring.

Thanks to [at]tskille for providing the test case.
2023-02-17 17:46:44 +01:00
Bård Skaflestad
e861d72f78 Use Uniform Initialization
Avoids "most vexing parse" for non-MPI builds.
2023-02-16 17:32:04 +01:00
Arne Morten Kvarving
55e3c8fe27 added: parallel serialization restart test for spe1 2023-02-16 14:49:38 +01:00
Arne Morten Kvarving
8c3400f562 added: parallel support to HDF5File / HDF5Serializer 2023-02-16 14:49:38 +01:00
Arne Morten Kvarving
eb00299373 added: serialization restart test for spe1 2023-02-16 13:56:29 +01:00
Arne Morten Kvarving
a21d59977d SimulatorReport: add serialization support 2023-02-16 11:56:40 +01:00
Arne Morten Kvarving
f0ca3120ff SimulatorReportSingle: add serialization support 2023-02-16 11:56:40 +01:00
Arne Morten Kvarving
28e7da5468 BlackoilWellModelGeneric: add serialization support 2023-02-16 11:19:06 +01:00
Arne Morten Kvarving
90fbdcee0a WGState: add serialization support 2023-02-16 10:48:34 +01:00
Arne Morten Kvarving
b7a531b93a WellState: add serialization support 2023-02-16 09:43:39 +01:00
Arne Morten Kvarving
6d93b2d12f ALQState: add serialization support 2023-02-16 08:35:34 +01:00
Arne Morten Kvarving
b87bf2b3ae GroupState: add serialization support 2023-02-15 22:57:44 +01:00
Arne Morten Kvarving
7f36bac579 WellContainer: add serialization support 2023-02-15 21:55:19 +01:00
Atgeirr Flø Rasmussen
e1942d145f
Merge pull request #4437 from akva2/singlewellstate_serialize
SingleWellState: add serialization support
2023-02-15 15:29:08 +01:00
Arne Morten Kvarving
60a5273d0e SingleWellState: add serialization of dynamic state 2023-02-15 13:56:25 +01:00
Arne Morten Kvarving
0852fea8bd
Merge pull request #4463 from atgeirr/fix-link-error
Fix link and runtime errors when HAVE_DUNE_FEM is true.
2023-02-15 13:53:50 +01:00
Atgeirr Flø Rasmussen
dcd484b6cc Fix link and runtime errors when HAVE_DUNE_FEM is true. 2023-02-15 13:14:43 +01:00
Arne Morten Kvarving
482c32b117 SegmentState: add serialization support 2023-02-15 12:59:18 +01:00
Arne Morten Kvarving
87c242a468 EclTracerModel: add serialization of dynamic state 2023-02-14 19:15:14 +01:00
Arne Morten Kvarving
24798e68d5 EclGenericTracerModel: add serialization of dynamic state 2023-02-14 19:09:26 +01:00
Arne Morten Kvarving
d5f22dbc99 BlackoilAquiferModel: add serialization of dynamic state 2023-02-14 17:51:25 +01:00
Arne Morten Kvarving
a66fd75715 AquiferNumerical: add serialization of dynamic state 2023-02-14 16:15:25 +01:00
Arne Morten Kvarving
03f6309ff7 AquiferFetkovich: add serialization of dynamic state 2023-02-14 16:15:25 +01:00
Arne Morten Kvarving
51e5e61c39 AquiferCarterTracy: add serialization of dynamic state 2023-02-14 16:15:25 +01:00
Arne Morten Kvarving
1bec857445 EclGenericProblem: add serialization support 2023-02-14 15:36:24 +01:00
Arne Morten Kvarving
400dd0b794 add serialization test for FvBaseDiscretization::BlockVectorWrapper
this is where the primary solution is stored and is needed for
restart serialization.

this proxies for testing FvBaseDiscretization directly, as
FvBaseDiscretization requires a fully configured simulator to setup.
2023-02-14 14:45:54 +01:00
Bård Skaflestad
ce51f3378a
Merge pull request #4421 from akva2/blackoilprimaryvariables_serialize
BlackoilPrimaryVariables: add serialization support
2023-02-14 14:44:27 +01:00
Atgeirr Flø Rasmussen
ecfd928699
Merge pull request #4432 from akva2/add_hdf5serializer
added: HDF5 serializer
2023-02-14 14:25:45 +01:00
Arne Morten Kvarving
96b3478ae9 add serialization test for BlackoilPrimaryVariables 2023-02-14 14:24:36 +01:00
Arne Morten Kvarving
24fda63778 mark variables const 2023-02-14 13:48:24 +01:00
Arne Morten Kvarving
a825a060c3 EclGenericVanguard: add serialization support 2023-02-14 13:48:09 +01:00
Arne Morten Kvarving
4b07f6d010 added: HDF5Serializer
this takes the serialization data and stores it in a hdf5 file,
alternatively reads the data and deserializes.

will be used for restarting purposes
2023-02-14 13:15:43 +01:00
Arne Morten Kvarving
e5c2fcfaf2 added: HDF5File::list
lists a given HDF5 group
2023-02-14 13:15:43 +01:00
Arne Morten Kvarving
13a54bbdbb AdaptiveTimeSteppingEbos: add serialization support 2023-02-13 22:03:58 +01:00
Arne Morten Kvarving
5f6bc76512 PIDAndIterationCountTimeStepControl: add serialization support 2023-02-13 22:03:19 +01:00
Arne Morten Kvarving
1827de96a2 PIDTimeStepControl: add serialization support 2023-02-13 22:03:19 +01:00
Arne Morten Kvarving
87bc1d8c10 HardcodedTimeStepControl: add serialization support 2023-02-13 22:03:19 +01:00
Arne Morten Kvarving
bd538cf61d SimpleIterationCountTimeStepControl: add serialization support 2023-02-13 22:03:19 +01:00
Arne Morten Kvarving
f2a14b2d07 SimulatorTimer: add serialization support 2023-02-13 18:01:16 +01:00
Arne Morten Kvarving
d73d52e162 added: simple HDF5File class
bare minimum to enable reading and writing byte arrays
2023-02-06 09:44:50 +01:00
Arne Morten Kvarving
bb70774902 add missing includes
and remove some unneeded ones
2023-01-19 15:16:33 +01:00
Arne Morten Kvarving
0a081adb54 ecloutputblackoilmodule.hh: remove unnecessary SummaryConfig.hpp include 2023-01-18 14:59:58 +01:00
Bård Skaflestad
da4e2deb6a
Merge pull request #4397 from akva2/summarystate_hpp_include
SummaryState.hpp: add missing and forward where possible
2023-01-18 14:58:47 +01:00
Arne Morten Kvarving
308cda46b1 add missing SummaryState.hpp include 2023-01-18 13:51:40 +01:00
Arne Morten Kvarving
6d97ca97a1 add missing Well.hpp includes 2023-01-18 11:24:25 +01:00
Arne Morten Kvarving
fd94ca7031 add missing InputErrorAction.hpp includes 2023-01-16 22:17:39 +01:00
Arne Morten Kvarving
3a01e89585 adjust to InputErrorAction change to enum class 2023-01-16 22:17:39 +01:00
Arne Morten Kvarving
d8ce4bfd0c add missing WVFPEXP.hpp includes 2023-01-14 00:30:56 +01:00
Markus Blatt
e03227501a
Merge pull request #4376 from akva2/wellmicpproperties_hpp_include
add missing WellMICPProperties.hpp includes
2023-01-13 19:02:00 +01:00
Arne Morten Kvarving
d5fbbdc328 add missing WellEconProductionLimits.hpp includes 2023-01-13 15:26:24 +01:00
Arne Morten Kvarving
f74f2ded8e add missing WellMICPProperties.hpp includes 2023-01-13 14:01:56 +01:00
Bård Skaflestad
dcfa1ef24e
Merge pull request #4373 from akva2/wellbrineproperties_hpp_include
add missing WellBrineProperties.hpp includes
2023-01-13 12:03:08 +01:00
Arne Morten Kvarving
131f52773f add missing WellBrineProperties.hpp includes 2023-01-13 11:14:18 +01:00
Tor Harald Sandve
8d37ded703 Suppot EQUIL + WATER + GAS 2023-01-13 10:16:48 +01:00
Arne Morten Kvarving
351181f355 add missing WellSegments.hpp includes 2023-01-12 14:37:32 +01:00
Arne Morten Kvarving
7f7b373a2d add missing WellConnections.hpp includes 2023-01-12 12:24:32 +01:00
Arne Morten Kvarving
09dc3d9449 add missing Balance.hpp includes 2023-01-11 11:26:25 +01:00
Arne Morten Kvarving
7034b5528d add missing ExtNetwork.hpp includes 2023-01-11 09:47:15 +01:00
Arne Morten Kvarving
4e21e96660 add missing GConSump.hpp includes 2023-01-10 15:00:25 +01:00
Arne Morten Kvarving
7fffe402cd add missing NameOrder.hpp includes 2023-01-10 12:47:00 +01:00
Arne Morten Kvarving
4bdec3a58b avoid GasLiftOpt.hpp where possible
and add where necessary
2023-01-10 09:54:33 +01:00
Arne Morten Kvarving
b010a1717a add missing RPTConfig.hpp includes 2023-01-09 15:22:12 +01:00
Arne Morten Kvarving
1dd0897eca add missing GuideRateConfig.hpp includes 2023-01-09 14:26:03 +01:00
Arne Morten Kvarving
c9ef1ee7c8 test_csrToCscOffsetMap: include <fstream>
filestreams are used here
2023-01-03 15:25:36 +01:00
Arne Morten Kvarving
853b6d1172 test_wellstate: avoid use of sstream 2023-01-02 15:25:32 +01:00
Arne Morten Kvarving
b031c289bf test_milu: avoid use of sstream 2023-01-02 15:25:26 +01:00
Bård Skaflestad
858ca8fa49 Output Non-Linear Convergence to Separate File if Requested
This commit enables outputting non-linear convergence metrics, i.e.,
the MB and CNV values, per phase, for each non-linear iteration in
each timestep.  If the user passes the option value "iterations" to
the --extra-convergence-output command line option, this commit will
create a new output file, CASE.INFOITER, that holds

    * report step
    * time step within that report step
    * elapsed time
    * MB and CNV values per phase
    * well convergence status

for each non-linear iteration.

We use an asynchronous file writing procedure and confer ownership
of the report step's unprocessed convergence reports to this
procedure just before the end of

    SimulatorFullyImplicitBlackoilEbos::runStep()

At that point, the convergence reports are about to go out of scope.
The asynchronous protocol uses a dedicated queue of output requests,
class ConvergenceReportQueue, into which the producer-i.e., member
function runStep()-inserts new convergence reports and from which
the output thread, ConvergenceOutputThread::writeASynchronous(),
retrieves those requests before writing the file data.
2022-12-20 10:14:13 +01:00
Bård Skaflestad
63654a73fc Don't Output INFOSTEP File by Default
This commit introduces a new helper class,

    ConvergenceOutputConfiguration

which parses comma separated option strings into a runtime
configuration object for whether to output additional convergence
information and, if so, what information to output.

Supported option string values are

  * "none"       -- Dont want any additional convergence output.

  * "steps"      -- Want additional convergence output pertaining to the
                    converged solution at the end of each timestep.

  * "iterations" -- Want additional convergence output pertaining to each
                    non-linar ieration in each timestep.

Option value "none" overrides all other options.  In other words, if the
user requests "none", then there will be no additional convergence
output, even if there are other options in the option string.

We add a new option, ExtraConvergenceOutput (command line option
--extra-convergence-output), which takes a string argument expected
to be a comma separated combination of these options.  The default
value is "none".  Finally, make the INFOSTEP file output conditional
on the user supplying "steps" as an argument to the new option.
2022-12-15 13:02:09 +01:00
Arne Morten Kvarving
ee8b4cac02 add missing include after upstream header removal 2022-12-13 15:38:10 +01:00
Arne Morten Kvarving
dc7cddab64 adjust to upstream GasPvtApproach enum changes 2022-12-12 19:17:51 +01:00
Arne Morten Kvarving
9a9dfd2e1d adjust to upstream OilPvtApproach enum changes 2022-12-12 19:09:37 +01:00
Arne Morten Kvarving
e390ce5149 adjust to upstream WaterPvtApproach enum changes 2022-12-12 19:00:19 +01:00
Bård Skaflestad
364b87afc9 Enable Regression Testing of WELPI and CPI/CTFAC
Forgotten at the time we developed the WELPI support.
2022-12-09 13:09:02 +01:00
Arne Morten Kvarving
f9b570ec84 remove test_ecl_output
the tests done here is already done (better) elsewhere
2022-11-30 15:30:49 +01:00
Torbjørn Skille
0fd685dc19 add regression testing for grid unit models 2022-11-30 09:55:59 +01:00
Markus Blatt
42fdc38ae0
Merge pull request #4273 from Tongdongq/add-test
Add test for cusparseSolver
2022-11-22 13:55:11 +01:00
Håkon Hægland
43244c2132 Change condition under which stage 2 is done.
It only makes sense to try to optimize the distribution of lift gas if
the amount of lift gas is constrained either by the maximum allowed
gaslift or total gas or the group is under individual control.
2022-11-21 08:58:49 +01:00
Tong Dong Qiu
c7fec18a86 Simplify parameter 2022-11-18 13:22:41 +01:00
Tong Dong Qiu
b697460add Also test cusparseSolver with jacobi matrix 2022-11-18 13:09:33 +01:00
Tong Dong Qiu
35287a61ff Remove FPGASolver and references 2022-11-17 09:38:01 +01:00
Arne Morten Kvarving
a7249bee65 test_quadrature: remove support for dune < 2.6 2022-11-14 16:35:42 +01:00
Arne Morten Kvarving
c906b55a64 fix test with dune-alugrid 2.7 2022-11-14 16:34:30 +01:00
Markus Blatt
4988f98060
Merge pull request #4178 from Tongdongq/rocalution
Add rocalutionSolver
2022-11-09 16:44:35 +01:00
Tong Dong Qiu
627c7d50ac Removed outdated version checks 2022-11-08 10:03:15 +01:00
Arne Morten Kvarving
9ce8d1ceca adjust for ILU reorder removal 2022-11-03 15:47:38 +01:00
Tong Dong Qiu
d20be40aea Fix test names 2022-11-03 15:47:38 +01:00
Tong Dong Qiu
7e2a6800de Add test for rocalutionSolver 2022-11-03 15:47:32 +01:00
Bård Skaflestad
dc2f8685d9
Merge pull request #4207 from atgeirr/fix-schedule-multflt-fastassembly
Fix case with MULTFLT in SCHEDULE for the TpfaLinearizer ("fast assembly" path)
2022-10-27 18:17:24 +02:00
Atgeirr Flø Rasmussen
58edf39330 Add data update capability for new test. 2022-10-27 15:22:05 +02:00
Torbjørn Skille
f30417af8c start regression testing for krnum cases 2022-10-26 10:17:53 +02:00
Markus Blatt
3e680e41f5
Merge pull request #4136 from Tongdongq/remove_reordering
Remove reordering for opencl
2022-10-19 15:30:01 +02:00
Tor Harald Sandve
d25dc4e795 check controls in getWellConvergence 2022-10-18 10:55:17 +02:00
Atgeirr Flø Rasmussen
216f77f03f Remove unused variables. 2022-10-17 16:45:18 +02:00
Markus Blatt
8d522a2c42 Get rid deprecation warning for newer DUNE versions. 2022-10-14 21:29:09 +02:00
Tong Dong Qiu
d06b02f88f Add test with Jacobi matrix for openclSolver 2022-10-14 09:33:55 +02:00
Tong Dong Qiu
09e262bbfd Minor changes:
- removed unused header inclusion
- update comments
- removed unnecessary cast
2022-10-13 15:37:20 +02:00
Markus Blatt
fcc3690832 Added missing include of config.h in cpp files. 2022-10-12 15:28:38 +02:00
Torbjørn Skille
d9ca2c7108 start regression testing for SPE1CASE2_KRNUM 2022-10-12 07:59:56 +02:00
Torbjørn Skille
7afb12ff6e add regression test for model WVFPEXT-02 2022-10-06 14:30:46 +02:00
Arne Morten Kvarving
214f62f90c adjust to renaming of serializeObject 2022-10-04 14:10:47 +02:00
Tor Harald Sandve
941556ab4d
Merge pull request #4098 from totto82/extVFP
remove cutoff for extrapolation
2022-10-04 08:44:49 +02:00
Tor Harald Sandve
8dbf919f7e loose test criterion for glift case 2022-10-03 15:14:11 +02:00
Bård Skaflestad
66fac184ad
Merge pull request #4111 from goncalvesmachadoc/test-rvw
Add unit tests for EQUIL with rvw
2022-10-02 22:11:04 +02:00
goncalvesmachadoc
0b505e5f71 add flag and values 2022-10-01 16:46:59 +02:00
Tong Dong Qiu
42410d408f Removed GRAPH_COLORING opencl reordering option.
Simplified and renamed opencl_ilu_reorder parameter.
2022-09-27 15:54:19 +02:00
goncalvesmachadoc
c82e769697 fixes 2022-09-20 10:56:54 +02:00
goncalvesmachadoc
0a91b773d8 test also with live oil 2022-09-16 14:17:53 +02:00
Arne Morten Kvarving
4f9f0f921f changed: use Serializer from opm-common 2022-09-16 13:12:11 +02:00
Arne Morten Kvarving
5c78925981 fixed: wrong root rank in variadic broadcast
change the test to broadcast from rank 1 instead of 0
so this bug does not resurface
2022-09-14 19:38:24 +02:00
goncalvesmachadoc
a5a9f5ee4e addtestfordeadoilwithhumid&wetgas 2022-09-14 16:11:36 +02:00
Bård Skaflestad
67ec01a730
Merge pull request #4034 from plgbrts/equil2
Equilibration with water-gas ratio vs depth (RVWVD) table
2022-09-14 14:30:04 +02:00
Paul Egberts
d01e5e330f fix equil test 2022-09-14 09:58:50 +02:00
Arne Morten Kvarving
6e83e349d6 changed: move variadic broadcast into EclMpiSerializer 2022-09-13 13:29:47 +02:00
Bård Skaflestad
56c653235f
Merge pull request #4087 from akva2/rename_serialization
Rename serialization files
2022-09-13 10:48:33 +02:00
Arne Morten Kvarving
8e2b385f4d changed: put parts of ISTLSolverEbos in separate compile unit
in particular this means simulator objects are now not dependent
on FlexibleSolver.hpp and BdaBridge.hpp
2022-09-12 12:44:56 +02:00
Markus Blatt
a4360b4961
Merge pull request #4028 from akva2/reduce_dup
changed: get rid of duplicate MatrixBlock headers/classes
2022-09-09 15:30:30 +02:00
Tor Harald Sandve
f36ac3eeed
Merge pull request #3837 from totto82/wvfpexp
Add option for explicit vfp lookup for problematic wells
2022-09-09 10:00:02 +02:00
Arne Morten Kvarving
c68d979d4b remove unused variables 2022-09-09 08:38:17 +02:00
Arne Morten Kvarving
de0018350a changed: rename test_ParallelRestart to test_ParallelSerialization 2022-09-08 13:37:16 +02:00