opm-simulators/opm/simulators/utils
Bård Skaflestad c3939c5444 Add New Platform for Saturation Function Consistency Checks
The intention is that this will ultimately replace the existing
RelpermDiagnostics component which does not really work in parallel
and which does not report enough context to help diagnose underlying
issues.  For now, though, we just add the shell of a new set of
checks and hook that up to the build.

Class SatfuncConsistencyChecks<Scalar> manages a configurable set of
consistency checks, the implementations of which must publicly
derive from SatfuncConsistencyChecks<Scalar>::Check.  Client code
will configure a set of checks by first calling

    SatfuncConsistencyChecks<Scalar>::resetCheckSet()

then register individual checks by calling

    SatfuncConsistencyChecks<Scalar>::addCheck()

and finally build requisite internal structures by calling

    SatfuncConsistencyChecks<Scalar>::finaliseCheckSet()

Client code will then run the checks by calling

    SatfuncConsistencyChecks<Scalar>::checkEndpoints()

typically in a loop.  Class SatfuncConsistencyChecks<Scalar> will
count consistency check failures and attribute these to each
individual check as needed.  We also maintain separate counts for
"Standard" and "Critical" failures.  The former will typically
generate warnings while the latter will typically cause the
simulation run to stop.  Individual checks get to decide which check
is "Critical", and client code gets to decide how to respond to
"Critical" failures.

Member function SatfuncConsistencyChecks<Scalar>::reportFailures()
will generate a textual report of the known set of consistency check
failures at a give severity level.

As an internal implementation detail, SatfuncConsistencyChecks uses
"reservoir sampling"
(https://en.wikipedia.org/wiki/Reservoir_sampling) to track details
about individual failed checks.  We maintain at most a fixed number
of individual points (constructor argument).
2024-06-26 12:17:00 +02:00
..
satfunc Add New Platform for Saturation Function Consistency Checks 2024-06-26 12:17:00 +02:00
BlackoilPhases.cpp Move opm/core/props to opm/simulators/utils 2024-06-25 12:22:09 +02:00
BlackoilPhases.hpp Move opm/core/props to opm/simulators/utils 2024-06-25 12:22:09 +02:00
ComponentName.cpp ComponentName: add compile unit 2023-06-30 11:51:08 +02:00
ComponentName.hpp ComponentName: add compile unit 2023-06-30 11:51:08 +02:00
compressPartition.cpp Enable Loading Parallel NLDD Partition From File 2023-11-17 17:39:17 +01:00
compressPartition.hpp Enable Loading Parallel NLDD Partition From File 2023-11-17 17:39:17 +01:00
DamarisKeywords.cpp Other small additions from github comments and removal of compile time logic that checks for ParaView and Python - makes code more readable and alows use of Damaris libraries with differing compiled in backends to be swapped without need for recompiling opm-simulators 2024-06-05 17:26:34 +02:00
DamarisKeywords.hpp Other small additions from github comments and removal of compile time logic that checks for ParaView and Python - makes code more readable and alows use of Damaris libraries with differing compiled in backends to be swapped without need for recompiling opm-simulators 2024-06-05 17:26:34 +02:00
DamarisOutputModule.cpp cosmetics and header cleanups in damaris classes 2024-01-10 14:16:02 +01:00
DamarisOutputModule.hpp cosmetics and header cleanups in damaris classes 2024-01-10 14:16:02 +01:00
DamarisVar.cpp DamarisVar: remove unused base class DamarisVarBase 2024-01-30 09:58:37 +01:00
DamarisVar.hpp DamarisVar: remove unused base class DamarisVarBase 2024-01-30 09:58:37 +01:00
DeferredLogger.cpp avoid include in header 2021-06-18 11:43:54 +02:00
DeferredLogger.hpp clean up after review 2021-10-05 13:07:52 +02:00
DeferredLoggingErrorHelpers.hpp Only indicate problems for exceptions whem updating well potentials, 2024-06-12 14:25:37 +02:00
gatherDeferredLogger.cpp Replacing use of MPI_COMM_WORLD with a variable communicator. 2021-10-05 13:07:52 +02:00
gatherDeferredLogger.hpp clean up after review 2021-10-05 13:07:52 +02:00
GridDataOutput_impl.hpp GridDataOutput: use implicit std::string constructor 2024-01-30 13:19:13 +01:00
GridDataOutput.cpp fixed: build with dune-fem 2.9 2024-05-16 10:58:08 +02:00
GridDataOutput.hpp GridDataOutput: avoid stringstream member 2024-01-30 13:19:12 +01:00
HDF5File.cpp consistently use std::size_t 2023-08-15 09:32:10 +02:00
HDF5File.hpp HDF5File: enable gzip compression 2023-02-24 11:56:17 +01:00
HDF5Serializer.cpp HDF5Serializer: add translation unit 2024-01-29 10:00:48 +01:00
HDF5Serializer.hpp HDF5Serializer: add translation unit 2024-01-29 10:00:48 +01:00
initDamarisXmlFile.cpp update after pull request comments; addition of OUTPUTDIR variable to Damaris XML configuration 2024-05-17 17:36:18 +02:00
moduleVersion.cpp Added missing include of config.h in cpp files. 2022-10-12 15:28:38 +02:00
moduleVersion.hpp Add build time to flow startup banner 2020-03-31 08:42:24 +02:00
MPIPacker.cpp add extra instantation for bitset 2023-11-09 11:02:52 +01:00
MPIPacker.hpp changed: split out serialization in separate class 2022-09-16 13:11:45 +02:00
MPISerializer.hpp changed: move ebos/eclmpiserializer.hh to opm/simulators/utils/MPISerializer.hpp 2024-01-23 10:51:32 +01:00
ParallelCommunication.hpp minimum dune version required is now 2.7 2023-04-12 09:41:23 +02:00
ParallelEclipseState.cpp Add Procedure for Calculating Basic FIP Region Statistics 2024-04-05 17:06:13 +02:00
ParallelEclipseState.hpp Add Procedure for Calculating Basic FIP Region Statistics 2024-04-05 17:06:13 +02:00
ParallelFileMerger.cpp cosmetics 2023-02-01 15:42:04 +01:00
ParallelFileMerger.hpp cosmetics 2023-02-01 15:42:04 +01:00
ParallelNLDDPartitioningZoltan.cpp Make Compress/Count Partition Vector Helper Generally Available 2023-11-17 09:17:46 +01:00
ParallelNLDDPartitioningZoltan.hpp Make Zoltan-Based Domain Partitioning MPI Aware 2023-11-15 13:31:41 +01:00
ParallelRestart.cpp changed: move ebos/eclmpiserializer.hh to opm/simulators/utils/MPISerializer.hpp 2024-01-23 10:51:32 +01:00
ParallelRestart.hpp changed: split ParallelRestart.hpp/cpp in two bits 2022-09-08 13:36:51 +02:00
ParallelSerialization.cpp Distribute SummaryConfig Objects With eclBroadcast 2024-03-22 16:53:51 +01:00
ParallelSerialization.hpp fix: serial build after PR #3671 2021-11-09 15:57:24 +01:00
PartiallySupportedFlowKeywords.cpp Tag 'BASIC=0' as allowed in RPTRST 2024-05-06 15:17:08 +02:00
PartiallySupportedFlowKeywords.hpp Add keyword validation using a predicate function 2021-06-14 18:10:36 +02:00
phaseUsageFromDeck.cpp Move opm/core/props to opm/simulators/utils 2024-06-25 12:22:09 +02:00
phaseUsageFromDeck.hpp Move opm/core/props to opm/simulators/utils 2024-06-25 12:22:09 +02:00
PressureAverage.cpp changed: move helpers for calculation pressure averages to separate compile unit 2023-08-14 11:44:32 +02:00
PressureAverage.hpp changed: move helpers for calculation pressure averages to separate compile unit 2023-08-14 11:44:32 +02:00
PropsDataHandle.hpp add missing include 2024-02-06 10:41:36 +01:00
readDeck.cpp Do NOT delete files recursively - causes massive problems if outputdir is not specified.. 2024-06-14 13:36:15 +02:00
readDeck.hpp Add parameter InputSkipMode to parameterise the behvaviour of the SKIP100 and SKIP300 keywords 2024-05-03 09:28:14 +02:00
SerializationPackers.cpp added: file for extra serialization packers 2023-02-13 17:53:05 +01:00
SerializationPackers.hpp added: file for extra serialization packers 2023-02-13 17:53:05 +01:00
SetupZoltanParams.cpp setupZoltanParams: avoid use of sstream 2023-01-02 15:24:03 +01:00
SetupZoltanParams.hpp added: command line option for zoltan customization 2022-09-16 13:51:29 +02:00
UnsupportedFlowKeywords.cpp Enable WTMULT as an Input Operation 2024-06-06 09:14:01 +02:00
UnsupportedFlowKeywords.hpp changed: put unsupported keywords in separate compile unit 2021-05-12 14:29:33 +02:00
VectorVectorDataHandle.hpp Get rid deprecation warning for newer DUNE versions. 2022-10-14 21:29:09 +02:00