diff --git a/Darcy/DarcyBase.h b/Darcy/DarcyBase.h index 8ada81c..9de025f 100644 --- a/Darcy/DarcyBase.h +++ b/Darcy/DarcyBase.h @@ -47,7 +47,7 @@ class DarcyBase : public HasGravityBase void setMode(SIM::SolutionMode mode) override; //! \brief Update time stepping scheme (BE -> BDF2 transition). - void advanceStep() { bdf.advanceStep(); } + bool advanceStep() override { return bdf.advanceStep(); } using HasGravityBase::getLocalIntegral; //! \brief Returns a local integral contribution object for given element. diff --git a/Darcy/SIMDarcy.C b/Darcy/SIMDarcy.C index a997bb4..e34548f 100644 --- a/Darcy/SIMDarcy.C +++ b/Darcy/SIMDarcy.C @@ -339,10 +339,9 @@ bool SIMDarcy::solveStep (const TimeStep& tp) template bool SIMDarcy::advanceStep (TimeStep&) { - if (drc.getOrder() > 0) { - drc.advanceStep(); + if (drc.advanceStep()) this->pushSolution(); - } + return true; } diff --git a/Darcy/SIMDarcyAdvection.C b/Darcy/SIMDarcyAdvection.C index c25da0b..001f4bd 100644 --- a/Darcy/SIMDarcyAdvection.C +++ b/Darcy/SIMDarcyAdvection.C @@ -165,8 +165,8 @@ bool SIMDarcyAdvection::solveStep (const TimeStep& tp, bool forceNewTan) template bool SIMDarcyAdvection::advanceStep (TimeStep&) { - drc.advanceStep(); - this->pushSolution(); + if (drc.advanceStep()) + this->pushSolution(); return true; }