Skip to content

Commit ae208c3

Browse files
committed
BUG: Fixed non-adjustable time stepping for imbedded time integrator
1 parent 31218e5 commit ae208c3

File tree

1 file changed

+26
-23
lines changed

1 file changed

+26
-23
lines changed

src/numerics/timeIntegrators/embeddedTimeIntegrator/embeddedTimeIntegrator.C

Lines changed: 26 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -161,33 +161,36 @@ void Foam::embeddedTimeIntegrator::integrate()
161161
}
162162

163163
err = 0.0;
164-
forAll(systems_, i)
164+
if (adjust_)
165165
{
166-
err =
167-
max
168-
(
169-
err,
170-
dynamicCast<embeddedTimeIntegrationSystemBase>
166+
forAll(systems_, i)
167+
{
168+
err =
169+
max
171170
(
172-
systems_[i]
173-
).error()
174-
);
175-
}
176-
177-
if (err > 1 && adjust_)
178-
{
179-
scalar scale =
180-
max(safeScale_*pow(err, -alphaDec_), minScale_);
181-
dt *= scale;
182-
const_cast<Time&>(runTime).setDeltaTNoAdjust(dt);
183-
184-
reset();
171+
err,
172+
dynamicCast<embeddedTimeIntegrationSystemBase>
173+
(
174+
systems_[i]
175+
).error()
176+
);
177+
}
185178

186-
if (dt < vSmall)
179+
if (err > 1 && adjust_)
187180
{
188-
FatalErrorInFunction
189-
<< "0 sized time step" << endl
190-
<< abort(FatalError);
181+
scalar scale =
182+
max(safeScale_*pow(err, -alphaDec_), minScale_);
183+
dt *= scale;
184+
const_cast<Time&>(runTime).setDeltaTNoAdjust(dt);
185+
186+
reset();
187+
188+
if (dt < vSmall)
189+
{
190+
FatalErrorInFunction
191+
<< "0 sized time step" << endl
192+
<< abort(FatalError);
193+
}
191194
}
192195
}
193196
} while (err > 1);

0 commit comments

Comments
 (0)