diff --git a/dune/fem-dg/algorithm/evolution.hh b/dune/fem-dg/algorithm/evolution.hh index 59d3c550fe735a194846d22c12193eba12d184fb..fd76bd478f4f4d2e52da98122bec0b977c71c38e 100644 --- a/dune/fem-dg/algorithm/evolution.hh +++ b/dune/fem-dg/algorithm/evolution.hh @@ -443,10 +443,9 @@ namespace Fem // perform the solve for one time step, i.e. solve ODE solve( loop, tp ); - //abort time step on error - if( !tp.timeStepValid() || !checkSolutionValid( loop, tp ) ) + //go to next time step, if time step was invalidated by solver + if( tp.timeStepValid() ) { - // CALLER postProcessingCaller_.solveEnd( this, loop, tp ); @@ -472,14 +471,15 @@ namespace Fem tp.next(); const int timeStep = tp.timeStep(); - printTimeStepInformation( timeStep, tp ); + if( tp.timeStepValid() ) + printTimeStepInformation( timeStep, tp ); // for debugging and codegen only if( timeStep >= maximalTimeSteps ) { if( Fem::Parameter::verbose() ) std::cerr << "ABORT: time step count reached max limit of " << maximalTimeSteps << std::endl; - break ; + break; } if (tp.timeStep()<2)