From f4359023f365b506e0f0c250e1126b19e9e769ef Mon Sep 17 00:00:00 2001 From: Oliver Sander <sander@igpm.rwth-aachen.de> Date: Wed, 1 Jun 2011 10:04:26 +0000 Subject: [PATCH] show assembly timings and the multigrid output [[Imported from SVN: r7354]] --- dune/gfe/riemanniantrsolver.cc | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/dune/gfe/riemanniantrsolver.cc b/dune/gfe/riemanniantrsolver.cc index e1b61218..110939e3 100644 --- a/dune/gfe/riemanniantrsolver.cc +++ b/dune/gfe/riemanniantrsolver.cc @@ -1,4 +1,5 @@ #include <dune/common/bitsetvector.hh> +#include <dune/common/timer.hh> #include <dune/istl/io.hh> @@ -104,7 +105,7 @@ setup(const GridType& grid, innerIterations_, innerTolerance_, h1SemiNorm_, - Solver::QUIET)); + Solver::FULL)); // Write all intermediate solutions, if requested if (instrumented_ @@ -178,7 +179,8 @@ void RiemannianTrustRegionSolver<GridType,TargetSpace>::solve() // Trust-Region Solver // ///////////////////////////////////////////////////// for (int i=0; i<maxTrustRegionSteps_; i++) { - + + Dune::Timer totalTimer; if (this->verbosity_ == Solver::FULL) { std::cout << "----------------------------------------------------" << std::endl; std::cout << " Trust-Region Step Number: " << i @@ -191,11 +193,15 @@ void RiemannianTrustRegionSolver<GridType,TargetSpace>::solve() CorrectionType corr(x_.size()); corr = 0; + Dune::Timer gradientTimer; assembler_->assembleGradient(x_, rhs); + std::cout << "gradient assembly took " << gradientTimer.elapsed() << " sec." << std::endl; + gradientTimer.reset(); assembler_->assembleMatrix(x_, *hessianMatrix_, i==0 // assemble occupation pattern only for the first call ); + std::cout << "hessian assembly took " << gradientTimer.elapsed() << " sec." << std::endl; //gradientFDCheck(x_, rhs, *rodAssembler_); //hessianFDCheck(x_, *hessianMatrix_, *rodAssembler_); @@ -419,7 +425,7 @@ void RiemannianTrustRegionSolver<GridType,TargetSpace>::solve() fclose(fpRod); } - + std::cout << "iteration took " << totalTimer.elapsed() << " sec." << std::endl; } // ////////////////////////////////////////////// -- GitLab