From 37306f871f0eb9ca3bde85879dc951a12fbeefa3 Mon Sep 17 00:00:00 2001 From: Elias Pipping <elias.pipping@fu-berlin.de> Date: Tue, 15 Jan 2013 10:28:57 +0100 Subject: [PATCH] Count iterations --- src/one-body-sample.cc | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/one-body-sample.cc b/src/one-body-sample.cc index 5da3d094..3753489d 100644 --- a/src/one-body-sample.cc +++ b/src/one-body-sample.cc @@ -327,6 +327,8 @@ int main(int argc, char *argv[]) { std::fstream velocity_writer("velocities", std::fstream::out); std::fstream coefficient_writer("coefficients", std::fstream::out); ; + std::fstream iteration_writer("iterations", std::fstream::out); + ; auto timeSteppingScheme = initTimeStepper(parset.get<Config::scheme>("timeSteppingScheme"), @@ -368,6 +370,7 @@ int main(int argc, char *argv[]) { timeSteppingScheme->setup(ell, tau, time, problem_rhs, problem_iterate, problem_A); + size_t iterationCounter; auto solveDisplacementProblem = [&](VectorType &_problem_iterate, SingletonVectorType const &_alpha) { auto myGlobalNonlinearity = @@ -382,6 +385,7 @@ int main(int argc, char *argv[]) { overallSolver.preprocess(); overallSolver.solve(); + iterationCounter = overallSolver.getResult().iterations; }; // Since the velocity explodes in the quasistatic case, use the @@ -397,6 +401,7 @@ int main(int argc, char *argv[]) { stateUpdater->solve(ud); stateUpdater->extractState(alpha); + iteration_writer << iterationCounter << " "; if (parset.get<bool>("printProgress")) { std::cerr << '.'; std::cerr.flush(); @@ -428,6 +433,7 @@ int main(int argc, char *argv[]) { displacement_writer << std::endl; velocity_writer << std::endl; coefficient_writer << std::endl; + iteration_writer << std::endl; if (parset.get<bool>("writeVTK")) { SingletonVectorType vonMisesStress; @@ -447,11 +453,12 @@ int main(int argc, char *argv[]) { std::cerr << std::endl << "Making " << timesteps << " time steps took " << timer.elapsed() << "s" << std::endl; ; + state_writer.close(); displacement_writer.close(); velocity_writer.close(); coefficient_writer.close(); - ; + iteration_writer.close(); Python::stop(); } -- GitLab