opm-simulators/opm/simulators
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
..
aquifers BlackoilAquiferModel: only include alugrid if it is to be used 2022-11-14 15:11:12 +01:00
flow Output Non-Linear Convergence to Separate File if Requested 2022-12-20 10:14:13 +01:00
linalg use exception classes from opm-common 2022-12-13 12:56:13 +01:00
timestepping use exception classes from opm-common 2022-12-13 12:56:13 +01:00
utils use exception classes from opm-common 2022-12-13 12:56:13 +01:00
wells MultisegmentWellSegments: store properties as Scalar 2022-12-19 16:03:54 +01:00
opm-simulators_doxygen_main.hpp Moved all remaining files out of opm/autodiff. 2019-06-20 11:00:51 +02:00