Home

substepping

Substepping is a technique in numerical simulation in which a single time step is subdivided into multiple smaller steps. The simulation state is advanced through these substeps within one frame or overall time increment. Substepping is used to improve accuracy and stability when integrating dynamics that are stiff or highly constrained, or when the main time step is large relative to the fastest dynamics of the system. It is common in real-time physics engines and in numerical solvers for ordinary differential equations.

Implementation typically involves selecting a substep size or a target number of substeps. If dt is the

Benefits include increased numerical stability, reduced energy drift, and more accurate collision handling in dynamics simulations

Substepping is widely used in real-time physics, animation, and some numerical ODE solvers. It is one tool

frame
time,
the
algorithm
computes
N
=
ceil(dt/dt_sub)
or
uses
a
fixed
N,
and
then
applies
N
successive
integration
steps
of
size
dt_sub
(the
final
substep
may
be
shorter
to
fit
exactly).
For
each
substep,
forces
are
evaluated,
motion
is
integrated,
and
constraints
or
contacts
are
resolved.
Some
designs
perform
constraint
solving
at
every
substep
to
maintain
stability
of
contacts.
with
stiff
interactions
or
large
time
steps.
Substepping
can
allow
a
simulation
to
run
with
a
larger
frame
time
without
sacrificing
accuracy.
The
main
trade-offs
are
higher
computational
cost
and
potential
complexity
in
ensuring
consistent
state
across
substeps,
especially
for
event-based
logic
and
asynchronous
inputs.
among
several
time
integration
strategies,
including
fixed-step,
adaptive,
and
implicit
methods.
While
substepping
improves
stability
in
many
cases,
it
does
not
replace
the
need
for
appropriate
time
integration
choices
based
on
the
system's
characteristics.