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.
This commit is contained in:
Bård Skaflestad
2022-12-13 14:05:17 +01:00
parent 81650a620d
commit 63654a73fc
6 changed files with 434 additions and 18 deletions

View File

@@ -41,6 +41,7 @@ list (APPEND MAIN_SOURCE_FILES
opm/core/props/satfunc/RelpermDiagnostics.cpp
opm/simulators/timestepping/SimulatorReport.cpp
opm/simulators/flow/countGlobalCells.cpp
opm/simulators/flow/ConvergenceOutputConfiguration.cpp
opm/simulators/flow/KeywordValidation.cpp
opm/simulators/flow/SimulatorFullyImplicitBlackoilEbos.cpp
opm/simulators/flow/ValidationFunctions.cpp
@@ -171,6 +172,7 @@ endif()
list (APPEND TEST_SOURCE_FILES
tests/test_ALQState.cpp
tests/test_blackoil_amg.cpp
tests/test_convergenceoutputconfiguration.cpp
tests/test_convergencereport.cpp
tests/test_deferredlogger.cpp
tests/test_eclinterregflows.cpp
@@ -271,6 +273,7 @@ list (APPEND PUBLIC_HEADER_FILES
opm/simulators/flow/countGlobalCells.hpp
opm/simulators/flow/BlackoilModelEbos.hpp
opm/simulators/flow/BlackoilModelParametersEbos.hpp
opm/simulators/flow/ConvergenceOutputConfiguration.hpp
opm/simulators/flow/FlowMainEbos.hpp
opm/simulators/flow/Main.hpp
opm/simulators/flow/NonlinearSolverEbos.hpp