Add more performance summary output

This commit ads: NEWTON, MLINEARS, MSUMLINS, MSUMNEWT, NLINEARS, NLINSMIN, NLINSMAX
This commit is contained in:
Tor Harald Sandve
2022-02-03 11:58:09 +01:00
parent eb6265b148
commit ad799b3e80
8 changed files with 58 additions and 1 deletions

View File

@@ -456,6 +456,9 @@ namespace Opm {
// this can be thrown by ISTL's ILU0 in block mode, yet is not an ISTLError
}
//Pass substep to eclwriter for summary output
ebosSimulator.problem().setSubStepReport(substepReport);
report += substepReport;
bool continue_on_uncoverged_solution = ignoreConvergenceFailure_ && !substepReport.converged && dt <= minTimeStep_;

View File

@@ -27,6 +27,7 @@
#include <ostream>
#include <sstream>
#include <fmt/format.h>
#include <limits>
namespace Opm
{
@@ -46,6 +47,8 @@ namespace Opm
total_linearizations( 0 ),
total_newton_iterations( 0 ),
total_linear_iterations( 0 ),
min_linear_iterations ( std::numeric_limits<unsigned int>::max() ),
max_linear_iterations ( 0 ),
converged(false),
exit_status(EXIT_SUCCESS),
global_time(0),
@@ -70,6 +73,11 @@ namespace Opm
total_linearizations += sr.total_linearizations;
total_newton_iterations += sr.total_newton_iterations;
total_linear_iterations += sr.total_linear_iterations;
if (sr.total_linear_iterations > 0) {
min_linear_iterations = std::min(min_linear_iterations, sr.total_linear_iterations);
}
max_linear_iterations = std::max(max_linear_iterations, sr.total_linear_iterations);
// It makes no sense adding time points. Therefore, do not
// overwrite the value of global_time which gets set in
// NonlinearSolverEbos.hpp by the line:

View File

@@ -45,6 +45,9 @@ namespace Opm
unsigned int total_linearizations;
unsigned int total_newton_iterations;
unsigned int total_linear_iterations;
unsigned int min_linear_iterations;
unsigned int max_linear_iterations;
bool converged;
int exit_status;