Modifications of formatting, compile fix.

This commit is contained in:
Atgeirr Flø Rasmussen
2020-05-07 15:04:20 +02:00
parent 0f33835e67
commit cfdb2b9be6
2 changed files with 86 additions and 90 deletions

View File

@@ -1,5 +1,5 @@
/*
Copyright 2012 SINTEF ICT, Applied Mathematics.
Copyright 2012, 2020 SINTEF Digital, Mathematics and Cybernetics.
This file is part of the Open Porous Media project (OPM).
@@ -20,6 +20,8 @@
#include "config.h"
#include <opm/simulators/timestepping/SimulatorReport.hpp>
#include <opm/common/OpmLog/OpmLog.hpp>
#include <opm/parser/eclipse/Units/Units.hpp>
#include <iomanip>
#include <ostream>
@@ -33,7 +35,7 @@ namespace Opm
total_time(0.0),
solver_time(0.0),
assemble_time(0.0),
linear_solve_setup_time(0.0),
linear_solve_setup_time(0.0),
linear_solve_time(0.0),
update_time(0.0),
output_write_time(0.0),
@@ -43,7 +45,7 @@ namespace Opm
total_linear_iterations( 0 ),
converged(false),
exit_status(EXIT_SUCCESS),
global_time(0),
global_time(0),
verbose_(verbose)
{
}
@@ -52,7 +54,7 @@ namespace Opm
{
pressure_time += sr.pressure_time;
transport_time += sr.transport_time;
linear_solve_setup_time += sr.linear_solve_setup_time;
linear_solve_setup_time += sr.linear_solve_setup_time;
linear_solve_time += sr.linear_solve_time;
solver_time += sr.solver_time;
assemble_time += sr.assemble_time;
@@ -63,21 +65,21 @@ namespace Opm
total_linearizations += sr.total_linearizations;
total_newton_iterations += sr.total_newton_iterations;
total_linear_iterations += sr.total_linear_iterations;
global_time = sr.global_time;
global_time = sr.global_time;
}
void SimulatorReportBase::report(std::ostream& os)
{
if ( verbose_ )
{
os << "Total time taken: " << total_time
<< "\n Pressure time: " << pressure_time
<< "\n Transport time: " << transport_time
<< "\n Overall Newton Iterations: " << total_newton_iterations
<< "\n Overall Linear Iterations: " << total_linear_iterations
<< std::endl;
}
}
// void SimulatorReportBase::report(std::ostream& os)
// {
// if ( verbose_ )
// {
// os << "Total time taken: " << total_time
// << "\n Pressure time: " << pressure_time
// << "\n Transport time: " << transport_time
// << "\n Overall Newton Iterations: " << total_newton_iterations
// << "\n Overall Linear Iterations: " << total_linear_iterations
// << std::endl;
// }
// }
void SimulatorReportBase::reportStep(std::ostringstream& ss)
{
@@ -124,14 +126,14 @@ namespace Opm
}
os << std::endl;
t = linear_solve_setup_time + (failureReport ? failureReport->linear_solve_setup_time : 0.0);
t = linear_solve_setup_time + (failureReport ? failureReport->linear_solve_setup_time : 0.0);
os << " Linear solve setup time (seconds): " << t;
if (failureReport) {
os << " (Failed: " << failureReport->linear_solve_setup_time << "; "
<< 100*failureReport->linear_solve_setup_time/t << "%)";
os << " (Failed: " << failureReport->linear_solve_setup_time << "; "
<< 100*failureReport->linear_solve_setup_time/t << "%)";
}
os << std::endl;
t = update_time + (failureReport ? failureReport->update_time : 0.0);
os << " Update time (seconds): " << t;
if (failureReport) {
@@ -180,44 +182,35 @@ namespace Opm
}
}
void SimulatorReportBase::reportParam(std::ostream& os)
void SimulatorReport::fullReports(std::ostream& os)
{
if ( verbose_ )
{
os << "/timing/total_time=" << total_time
<< "\n/timing/pressure/total_time=" << pressure_time
<< "\n/timing/transport/total_time=" << transport_time
<< "\n/timing/newton/iterations=" << total_newton_iterations
<< "\n/timing/linear/iterations=" << total_linear_iterations
<< std::endl;
os << " Time(sec) Time(day) Assembly LSolve LSetup Update Output WellIt Lins NewtIt LinIt Conv\n";
SimulatorReportBase all;
for (size_t i = 0; i < stepreports.size(); ++i) {
SimulatorReportBase& sr = stepreports[i];
all += sr;
os.precision(10);
os << std::defaultfloat;
os << std::setw(11) << sr.global_time << " ";
os << std::setw(11) << unit::convert::to(sr.global_time, unit::day) << " ";
os.precision(4);
os << std::fixed;
os << std::setw(9) << sr.assemble_time << " ";
os << std::setw(9) << sr.linear_solve_setup_time << " ";
os << std::setw(9) << sr.linear_solve_time << " ";
os << std::setw(9) << sr.update_time << " ";
os << std::setw(9) << sr.output_write_time << " ";
os.precision(6);
os << std::defaultfloat;
os << std::setw(6) << sr.total_well_iterations << " ";
os << std::setw(4) << sr.total_linearizations << " ";
os << std::setw(6) << sr.total_newton_iterations << " ";
os << std::setw(5) << sr.total_linear_iterations << " ";
os << std::setw(4) << sr.converged << "\n";
}
if (not(this->linear_solve_time == all.linear_solve_time)) {
OpmLog::debug("Inconsistency between timestep report and total report");
}
}
void SimulatorReport::fullReports(std::ostream& os){
SimulatorReportBase all;
for(size_t i=0; i < stepreports.size(); ++i){
SimulatorReportBase& sr = stepreports[i];
all += sr;
os << sr.global_time<< " ";
//os << sr.pressure_time<< " ";
//os << sr.transport_time<< " ";
//os << sr.total_time<< " ";
//os << sr.solver_time<< " ";
os << sr.assemble_time<< " ";
os << sr.linear_solve_setup_time<< " ";
os << sr.linear_solve_time<< " ";
os << sr.update_time<< " ";
os << sr.output_write_time<< " ";
os<< sr.total_well_iterations<< " ";
os << sr.total_linearizations<< " ";
os << sr.total_newton_iterations<< " ";
os << sr.total_linear_iterations<< " ";
os << sr.converged<< " ";
os << sr.exit_status<< " ";
os << std::endl;
}
if(not(this->linear_solve_time == all.linear_solve_time)){
Opm::debug("Inconsistency between timestep report and total report");
}
}
} // namespace Opm