mirror of
https://github.com/OPM/opm-simulators.git
synced 2025-02-25 18:55:30 -06:00
Merge pull request #2777 from GitPaean/adding_well_assembly_timing
adding timing for the well assembly
This commit is contained in:
commit
76384344ca
@ -35,6 +35,7 @@ namespace Opm
|
|||||||
total_time(0.0),
|
total_time(0.0),
|
||||||
solver_time(0.0),
|
solver_time(0.0),
|
||||||
assemble_time(0.0),
|
assemble_time(0.0),
|
||||||
|
assemble_time_well(0.0),
|
||||||
linear_solve_setup_time(0.0),
|
linear_solve_setup_time(0.0),
|
||||||
linear_solve_time(0.0),
|
linear_solve_time(0.0),
|
||||||
update_time(0.0),
|
update_time(0.0),
|
||||||
@ -58,6 +59,7 @@ namespace Opm
|
|||||||
linear_solve_time += sr.linear_solve_time;
|
linear_solve_time += sr.linear_solve_time;
|
||||||
solver_time += sr.solver_time;
|
solver_time += sr.solver_time;
|
||||||
assemble_time += sr.assemble_time;
|
assemble_time += sr.assemble_time;
|
||||||
|
assemble_time_well += sr.assemble_time_well;
|
||||||
update_time += sr.update_time;
|
update_time += sr.update_time;
|
||||||
output_write_time += sr.output_write_time;
|
output_write_time += sr.output_write_time;
|
||||||
total_time += sr.total_time;
|
total_time += sr.total_time;
|
||||||
@ -101,6 +103,14 @@ namespace Opm
|
|||||||
}
|
}
|
||||||
os << std::endl;
|
os << std::endl;
|
||||||
|
|
||||||
|
t = assemble_time_well + (failureReport ? failureReport->assemble_time_well : 0.0);
|
||||||
|
os << " Well assembly time (seconds): " << t;
|
||||||
|
if (failureReport) {
|
||||||
|
os << " (Failed: " << failureReport->assemble_time_well << "; "
|
||||||
|
<< 100*failureReport->assemble_time_well/t << "%)";
|
||||||
|
}
|
||||||
|
os << std::endl;
|
||||||
|
|
||||||
t = linear_solve_time + (failureReport ? failureReport->linear_solve_time : 0.0);
|
t = linear_solve_time + (failureReport ? failureReport->linear_solve_time : 0.0);
|
||||||
os << " Linear solve time (seconds): " << t;
|
os << " Linear solve time (seconds): " << t;
|
||||||
if (failureReport) {
|
if (failureReport) {
|
||||||
@ -110,7 +120,7 @@ namespace Opm
|
|||||||
os << std::endl;
|
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;
|
os << " Linear solve setup time (seconds): " << t;
|
||||||
if (failureReport) {
|
if (failureReport) {
|
||||||
os << " (Failed: " << failureReport->linear_solve_setup_time << "; "
|
os << " (Failed: " << failureReport->linear_solve_setup_time << "; "
|
||||||
<< 100*failureReport->linear_solve_setup_time/t << "%)";
|
<< 100*failureReport->linear_solve_setup_time/t << "%)";
|
||||||
|
@ -34,6 +34,7 @@ namespace Opm
|
|||||||
double total_time;
|
double total_time;
|
||||||
double solver_time;
|
double solver_time;
|
||||||
double assemble_time;
|
double assemble_time;
|
||||||
|
double assemble_time_well;
|
||||||
double linear_solve_setup_time;
|
double linear_solve_setup_time;
|
||||||
double linear_solve_time;
|
double linear_solve_time;
|
||||||
double update_time;
|
double update_time;
|
||||||
|
@ -809,6 +809,8 @@ namespace Opm {
|
|||||||
{
|
{
|
||||||
|
|
||||||
last_report_ = SimulatorReportSingle();
|
last_report_ = SimulatorReportSingle();
|
||||||
|
Dune::Timer perfTimer;
|
||||||
|
perfTimer.start();
|
||||||
|
|
||||||
if ( ! wellsActive() ) {
|
if ( ! wellsActive() ) {
|
||||||
return;
|
return;
|
||||||
@ -857,6 +859,7 @@ namespace Opm {
|
|||||||
logAndCheckForExceptionsAndThrow(local_deferredLogger, exception_thrown, "assemble() failed.", terminal_output_);
|
logAndCheckForExceptionsAndThrow(local_deferredLogger, exception_thrown, "assemble() failed.", terminal_output_);
|
||||||
|
|
||||||
last_report_.converged = true;
|
last_report_.converged = true;
|
||||||
|
last_report_.assemble_time_well += perfTimer.stop();
|
||||||
}
|
}
|
||||||
|
|
||||||
template<typename TypeTag>
|
template<typename TypeTag>
|
||||||
|
Loading…
Reference in New Issue
Block a user