File tree Expand file tree Collapse file tree 3 files changed +18
-0
lines changed
Expand file tree Collapse file tree 3 files changed +18
-0
lines changed Original file line number Diff line number Diff line change @@ -46,6 +46,8 @@ struct Info {
4646 double matrix_structure_time{};
4747 double factor_time{};
4848 double solve_time{};
49+ double residual_time{};
50+ double omega_time{};
4951
5052 // Counters
5153 Int factor_number{};
Original file line number Diff line number Diff line change 55namespace hipo {
66
77void Solver::refine (NewtonDir& delta) {
8+ Clock clock;
9+
810 NewtonDir correction (m_, n_);
911 NewtonDir temp (m_, n_);
1012
1113 // compute the residuals of the linear system in it_->ires
14+ clock.start ();
1215 it_->residuals6x6 (delta);
16+ info_.residual_time += clock.stop ();
1317
18+ clock.start ();
1419 double omega = computeOmega (delta);
20+ info_.omega_time += clock.stop ();
21+
1522 double old_omega{};
1623
1724 for (Int iter = 0 ; iter < kMaxIterRefine ; ++iter) {
@@ -23,10 +30,15 @@ void Solver::refine(NewtonDir& delta) {
2330 temp = delta;
2431 temp.add (correction);
2532
33+ clock.start ();
2634 it_->residuals6x6 (temp);
35+ info_.residual_time += clock.stop ();
2736
2837 old_omega = omega;
38+
39+ clock.start ();
2940 omega = computeOmega (temp);
41+ info_.omega_time += clock.stop ();
3042
3143 if (omega < old_omega) {
3244 delta = temp;
Original file line number Diff line number Diff line change @@ -1209,6 +1209,10 @@ void Solver::printSummary() const {
12091209 << fix (info_.factor_time , 0 , 2 ) << ' \n ' ;
12101210 log_stream << textline (" Solve time:" ) << fix (info_.solve_time , 0 , 2 )
12111211 << ' \n ' ;
1212+ log_stream << textline (" Residual time:" ) << fix (info_.residual_time , 0 , 2 )
1213+ << ' \n ' ;
1214+ log_stream << textline (" Omega time:" ) << fix (info_.omega_time , 0 , 2 )
1215+ << ' \n ' ;
12121216 log_stream << textline (" Factorisations:" ) << integer (info_.factor_number )
12131217 << ' \n ' ;
12141218 log_stream << textline (" Solves:" ) << integer (info_.solve_number ) << ' \n ' ;
You can’t perform that action at this time.
0 commit comments