26 std::time_t begin = std::time(
nullptr);
27 const Teuchos::RCP<Teuchos::FancyOStream> out = integrator.getOStream();
28 out->setOutputToRootOnly(0);
29 Teuchos::OSTab ostab(out,0,
"ScreenOutput");
30 *out <<
"\nTempus - IntegratorBasic\n"
31 << std::asctime(std::localtime(&begin)) <<
"\n"
32 <<
" Stepper = " << integrator.getStepper()->description() <<
"\n"
33 <<
" Simulation Time Range [" << integrator.getTimeStepControl()->getInitTime()
34 <<
", " << integrator.getTimeStepControl()->getFinalTime() <<
"]\n"
35 <<
" Simulation Index Range [" << integrator.getTimeStepControl()->getInitIndex()
36 <<
", " << integrator.getTimeStepControl()->getFinalIndex() <<
"]\n"
37 <<
"============================================================================\n"
38 <<
" Step Time dt Abs Error Rel Error Order nFail dCompTime"
67 auto cs = integrator.getSolutionHistory()->getCurrentState();
69 if ((cs->getOutputScreen() ==
true) ||
70 (cs->getOutput() ==
true) ||
71 (cs->getTime() == integrator.getTimeStepControl()->getFinalTime())) {
73 const Scalar steppertime = integrator.getStepperTimer()->totalElapsedTime();
75 integrator.getStepperTimer()->reset();
77 const Teuchos::RCP<Teuchos::FancyOStream> out = integrator.getOStream();
78 out->setOutputToRootOnly(0);
79 Teuchos::OSTab ostab(out, 0,
"ScreenOutput");
81 <<std::setw( 6)<<std::setprecision(3)<<cs->getIndex()
82 <<std::setw(11)<<std::setprecision(3)<<cs->getTime()
83 <<std::setw(11)<<std::setprecision(3)<<cs->getTimeStep()
84 <<std::setw(11)<<std::setprecision(3)<<cs->getErrorAbs()
85 <<std::setw(11)<<std::setprecision(3)<<cs->getErrorRel()
86 <<std::fixed <<std::setw( 7)<<std::setprecision(1)<<cs->getOrder()
87 <<std::scientific<<std::setw( 7)<<std::setprecision(3)<<cs->getNFailures()
88 <<std::setw(11)<<std::setprecision(3)<<steppertime
98 std::string exitStatus;
100 if (integrator.getSolutionHistory()->getCurrentState()->getSolutionStatus() ==
102 exitStatus =
"Time integration FAILURE!";
104 exitStatus =
"Time integration complete.";
106 std::time_t end = std::time(
nullptr);
107 const Scalar runtime = integrator.getIntegratorTimer()->totalElapsedTime();
108 const Teuchos::RCP<Teuchos::FancyOStream> out = integrator.getOStream();
109 out->setOutputToRootOnly(0);
110 Teuchos::OSTab ostab(out,0,
"ScreenOutput");
111 *out <<
"============================================================================\n"
112 <<
" Total runtime = " << runtime <<
" sec = "
113 << runtime/60.0 <<
" min\n"
114 << std::asctime(std::localtime(&end))
115 <<
"\nNumber of Accepted Steps = " << integrator.getSolutionHistory()->getCurrentState()->getIndex()
116 <<
"\nNumber of Failures = " << integrator.getSolutionHistory()->getCurrentState()->getMetaData()->getNRunningFailures()
118 << exitStatus <<
"\n"