Commit Graph

1697 Commits

Author SHA1 Message Date
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
Markus Blatt
4988f98060
Merge pull request #4178 from Tongdongq/rocalution
Add rocalutionSolver
2022-11-09 16:44:35 +01:00