Fact-checked by Grok 2 weeks ago

Semi-implicit Euler method

The semi-implicit Euler method, also known as the symplectic Euler method, is a numerical integration technique designed for solving systems of ordinary differential equations (ODEs), especially those derived from in . It modifies the standard explicit by updating the momentum (or velocity) implicitly based on the new position while advancing the position explicitly from the current momentum, resulting in a partitioned scheme that is and thus preserves the geometric structure of for long-term simulations. For a separable Hamiltonian system H(p, q) = T(p) + V(q), where T is the and V is the , the method takes the explicit form: q_{n+1} = q_n + h \nabla_p T(p_n), p_{n+1} = p_n - h \nabla_q V(q_{n+1}), with h denoting the time step; this avoids iterative solvers even though one update is formally implicit. In non-separable cases, the scheme becomes implicit in one variable, requiring solution of an at each step. Key properties include its first-order accuracy and symplecticity, which ensures that the numerical flow maps volumes correctly and bounds errors over extended integrations, outperforming the explicit (which dissipates ) and the implicit (which artificially adds ). These traits make it particularly valuable for applications in , such as simulating oscillatory systems like pendulums or , where maintaining physical invariants like is essential. It is also commonly employed in real-time physics engines for video games and due to its , , and properties.

Background

Ordinary Differential Equations

Ordinary differential equations (ODEs) are equations that relate an unknown function to its derivatives with respect to one independent variable, typically time in dynamical systems. These equations model the evolution of systems in fields such as physics, , and by describing how the rate of change of a quantity depends on its current state and possibly the independent variable. Unlike partial differential equations, which involve multiple independent variables, ODEs focus on ordinary derivatives and are fundamental to understanding continuous change in one-dimensional parameter spaces. The general form of a first-order ODE system is expressed as \frac{dy}{dt} = f(t, y), where y(t) is the (the unknown function, possibly multidimensional), t is the independent variable, and f(t, y) is a known defining the dynamics. This formulation captures the instantaneous rate of change of y as determined by the current time t and state y. For higher-order equations, they can be rewritten as equivalent systems by introducing additional variables for the derivatives. An (IVP) augments the ODE with an y(t_0) = y_0, where t_0 is the starting time and y_0 is the prescribed initial state, enabling the determination of a unique solution in an appropriate interval under suitable conditions on f. IVPs are central to tasks, as they model systems starting from known configurations. While analytical solutions exist for certain classes of ODEs (e.g., linear or separable equations), most real-world problems lack closed-form expressions, requiring numerical approximations to integrate the equations forward in time. ODEs are classified as autonomous if f does not depend explicitly on t, simplifying to \frac{dy}{dt} = f(y), which often arises in simulations of time-invariant physical laws like conservative . Non-autonomous ODEs, where f(t, y) includes explicit time dependence, model time-varying influences such as external forces. Autonomous systems are particularly common in numerical contexts due to their structural simplicity and prevalence in modeling equilibrium-seeking or periodic behaviors.

Euler Methods Overview

The explicit Euler method is a first-order numerical scheme for approximating solutions to initial value problems of equations (ODEs) of the form y' = f(t, y), y(t_0) = y_0. It advances the solution using the update formula y_{n+1} = y_n + h f(t_n, y_n), where h is the time step size and t_{n+1} = t_n + h. This formula arises from a Taylor expansion of the exact solution around t_n: y(t_n + h) = y(t_n) + h y'(t_n) + O(h^2), substituting y'(t_n) = f(t_n, y_n) and truncating higher-order terms, yielding a local of O(h^2) and global error of O(h). While simple to implement and computationally inexpensive per step, the method suffers from conditional stability; it is unstable for stiff ODEs—systems with widely varying timescales or eigenvalues with large negative real parts—requiring restrictive step sizes h < 2 / |\lambda| for the test equation y' = \lambda y with \Re(\lambda) < 0, and its stability region is a disk of radius 1 centered at -1 in the complex plane. The implicit Euler method addresses some stability limitations of its explicit counterpart with the update y_{n+1} = y_n + h f(t_{n+1}, y_{n+1}), which evaluates the right-hand side at the unknown future point t_{n+1}. Derived analogously from a backward Taylor expansion y(t_n) = y(t_n + h) - h y'(t_n + h) + O(h^2), rearranged to approximate y(t_{n+1}), it also achieves first-order accuracy with local truncation error O(h^2). For linear stiff problems, it offers unconditional (A-stable) stability, encompassing the entire left half of the complex plane in its stability region, allowing larger step sizes without instability. However, the implicit nature necessitates solving a nonlinear equation at each step, often via fixed-point iteration or , increasing per-step computational cost.
AspectExplicit EulerImplicit Euler
Formulay_{n+1} = y_n + h f(t_n, y_n)y_{n+1} = y_n + h f(t_{n+1}, y_{n+1})
Ease of ImplementationSimple, no equation solving requiredRequires iterative solver for nonlinearity
Stability for Stiff SystemsConditional; small h neededUnconditional (A-stable); larger h possible
Computational Cost per StepLowHigher due to implicit solve
The semi-implicit Euler method emerges as a variant motivated by the need to blend the explicit method's simplicity with enhanced stability for partitioned systems, such as those in classical mechanics where Hamiltonian equations separate into position q and momentum p components, \dot{q} = \nabla_p H(p, q), \dot{p} = -\nabla_q H(p, q). By treating one partition explicitly and the other implicitly, it achieves symplectic preservation—maintaining the geometric structure of phase space—while remaining explicit for separable Hamiltonians, thus improving long-term energy conservation over fully explicit or implicit Euler for dynamical simulations.

Formulation

Problem Setting

The semi-implicit Euler method addresses partitioned systems of ordinary differential equations (ODEs) that model mechanical systems, particularly those arising from Hamiltonian or Lagrangian mechanics. These systems are structured as coupled equations for position and velocity variables, enabling numerical treatments that exploit the underlying geometric properties of the dynamics. In such partitioned ODEs, the state is typically divided into position \mathbf{x} \in \mathbb{R}^d and velocity \mathbf{v} \in \mathbb{R}^d, satisfying the kinematic relation \frac{d\mathbf{x}}{dt} = \mathbf{v} and the dynamic equation \frac{d\mathbf{v}}{dt} = \mathbf{f}(\mathbf{x}, \mathbf{v}), where \mathbf{f} represents acceleration forces that may depend on both position and velocity. This form is prevalent in simulations of rigid body motion or particle dynamics, where the partitioning aligns with the separation of kinetic and potential energy in the Hamiltonian H(\mathbf{x}, \mathbf{v}) = T(\mathbf{v}) + U(\mathbf{x}), with T quadratic in velocity. The semi-implicit approach updates the position explicitly using the current velocity and then the velocity implicitly using the new position, preserving the partitioned structure without fully solving coupled nonlinear systems at each step. The function \mathbf{f} is assumed to be continuously differentiable and globally Lipschitz continuous with respect to (\mathbf{x}, \mathbf{v}), ensuring local existence and uniqueness of solutions to the ODE system by the Picard-Lindelöf theorem. This regularity condition guarantees that the continuous flow is well-defined, facilitating reliable numerical approximation over finite time intervals. Partitioning is crucial in simulations of conservative mechanical systems because it allows integrators to maintain qualitative features like near-energy conservation in integrable cases, avoiding artificial dissipation or growth observed in non-partitioned explicit methods such as the forward Euler scheme. By respecting the symplectic form of Hamiltonian flows, partitioned methods support long-term stability in applications like orbital mechanics. The method employs uniform time steps of size h > 0, discretizing the from time t_0 at points t_n = t_0 + n h for n = 0, 1, 2, \dots, yielding approximate solutions (\mathbf{x}_n, \mathbf{v}_n) that advance sequentially.

Method Derivation

The semi-implicit Euler method arises in the context of partitioned ordinary differential equations (ODEs), particularly for mechanical systems of the form \dot{\mathbf{x}} = \mathbf{v} and \dot{\mathbf{v}} = \mathbf{f}(t, \mathbf{x}, \mathbf{v}), where \mathbf{x} represents and \mathbf{v} represents . To derive the method, consider a time step h > 0. The is obtained by applying the explicit (forward) Euler approximation to the first equation, evaluating the velocity at the : \mathbf{x}_{n+1} = \mathbf{x}_n + h \mathbf{v}_n. This step is explicit and requires no iterative solve. The update follows from the second , but uses the backward Euler to incorporate the new position at the right : \mathbf{v}_{n+1} = \mathbf{v}_n + h \mathbf{f}(t_n, \mathbf{x}_{n+1}, \mathbf{v}_n). Although this renders the implicit in \mathbf{x}_{n+1}, the explicit position update allows direct substitution, yielding an overall explicit computation without nonlinear solves. Combining these, the full scheme advances from (t_n, \mathbf{x}_n, \mathbf{v}_n) to (t_{n+1}, \mathbf{x}_{n+1}, \mathbf{v}_{n+1}) with t_{n+1} = t_n + h. In pseudocode, the method is implemented as a simple loop over time steps:
Initialize: t = t_0, x = x_0, v = v_0
While t < T:
    x_next = x + h * v
    v_next = v + h * f(t, x_next, v)
    x = x_next
    v = v_next
    t = t + h
Return: trajectory { (t_k, x_k, v_k) for k = 0, ..., N }
This structure ensures computational efficiency, with each step requiring only evaluations of \mathbf{f}. Also known as the symplectic Euler method, it was pioneered in an unpublished 1956 preprint by René de Vogelaere for preserving contact transformations in Hamiltonian systems. In the Hamiltonian setting H(\mathbf{p}, \mathbf{q}) = T(\mathbf{p}) + U(\mathbf{q}), the method corresponds to the composition of exact flows \phi_T^h \circ \phi_U^h (or its adjoint), and can be derived briefly from generating functions that maintain the symplectic structure. As a first-order symplectic integrator, it preserves quadratic invariants exactly for linear Hamiltonian systems.

Properties

Stability Analysis

For the scalar linear test equation \frac{dy}{dt} = \lambda y, the semi-implicit Euler method reduces to the backward Euler method when treated implicitly. The amplification factor is R(z) = \frac{1}{1 - z}, where z = h\lambda. This provides stability for all z with \Re(z) \leq 0, indicating unconditional stability for dissipative systems in this case. However, stability analysis is more relevant for partitioned systems. The explicit Euler method's stability region is limited to the unit disk centered at -1 in the complex z-plane, requiring small step sizes for stiff problems. For partitioned systems from separable Hamiltonian functions H(q, p) = T(p) + U(q), the method's symplectic structure ensures long-term qualitative stability. Numerical solutions show bounded orbits and approximate energy conservation, avoiding secular growth in simulations like planetary motion or molecular dynamics. This makes the semi-implicit Euler advantageous for energy-conserving simulations in Hamiltonian systems, where non-symplectic methods like explicit Euler cause instability and spiraling trajectories. In handling stiffness, the method performs well for mildly stiff problems by treating selected variables implicitly, allowing larger step sizes than explicit Euler at lower cost than fully implicit schemes. However, in highly nonlinear stiff cases, the method is not unconditionally A-stable and may require smaller step sizes than fully implicit methods for stability.

Accuracy and Order

The is a first-order numerical integrator for ordinary differential equations, particularly effective for . Its local truncation error is of order O(h^2) per time step, arising from the first-order Taylor expansion approximation in the partitioned updates, where position is updated explicitly from the current momentum and momentum is updated implicitly from the new position. This neglects higher-order terms in the vector field derivatives. Over a fixed time interval [t_0, T], the global error is of order O(h), assuming the vector field satisfies a Lipschitz condition. The method is consistent, and with stability, it converges with global error bound \| y_n - y(t_n) \| \leq C h. This first-order accuracy suits non-stiff problems with moderate step sizes. For Hamiltonian systems, the semi-implicit Euler preserves the symplectic structure, mapping symplectic sets to symplectic sets. This leads to bounded energy errors of O(h) over long times, unlike non-symplectic methods with accumulating errors. However, the first-order accuracy can cause phase drift in oscillatory systems, limiting use for high-precision long-term simulations without refinement.

Applications

Physics and Dynamics

The semi-implicit Euler method finds extensive application in rigid body dynamics simulations, particularly within computer graphics and video games, where it facilitates stable collision response and motion updates. In these contexts, it serves as a foundational integrator for handling particle and rigid body motions under forces like gravity and contacts, offering improved stability over explicit Euler methods without the full computational overhead of fully implicit schemes. For instance, it is employed in physics engines such as to update velocities and positions in real-time scenarios, enabling responsive interactions like bouncing or stacking objects. This approach is akin to a velocity Verlet variant, where updated velocities are used to advance positions, enhancing numerical robustness for dynamic scenes. In Hamiltonian systems, the semi-implicit Euler method's symplectic properties make it particularly suitable for preserving long-term energy behavior, avoiding artificial dissipation that plagues non-symplectic integrators in simulations of . This preservation of phase-space structure ensures bounded energy fluctuations over extended time scales, which is critical for accurately modeling periodic orbits in without spurious drift. As a first-order symplectic integrator, it maintains qualitative fidelity in conservative systems, such as planetary motion, where energy conservation directly impacts trajectory reliability./01%3A_Chapters/1.07%3A_Symplectic_integrators) For constraint handling in articulated bodies, the method integrates effectively with projection techniques to enforce kinematic constraints, such as joint limits in robotics simulations. In multi-body systems, it allows stable integration of velocities and positions while resolving constraints through iterative projections, enabling realistic modeling of linked mechanisms like robot arms or humanoid figures. This combination supports efficient simulation of complex dynamics, as demonstrated in physics engines like , where semi-implicit Euler underpins the core time-stepping for constrained rigid bodies in robotic tasks. The semi-implicit Euler method was popularized in computer graphics simulations starting in the late 1980s and 1990s, with early adoption in interactive rigid body dynamics for animation and visualization tools. Its explicit-like computational cost combined with implicit-like stability advantages enable real-time performance, making it ideal for applications requiring frequent updates without instability from large time steps. In practice, this balance supports efficient handling of stiff systems in graphics pipelines. A representative application arises in n-body problems, where the method simulates gravitational interactions among multiple particles by iteratively updating velocities based on pairwise forces before advancing positions, maintaining approximate energy conservation for stable multi-orbit configurations over many cycles. Similarly, in cloth simulation, it models a mesh of connected particles under tension and bending forces, using projected updates to resolve collisions and constraints, yielding responsive draping and folding behaviors in dynamic environments like wind or character movement.

Numerical Implementations

The semi-implicit Euler method is computationally efficient, achieving O(1) complexity per time step for systems with linear right-hand sides, as updates involve direct algebraic operations without requiring iterative solvers. This direct solvability stems from partitioning the system such that velocity updates are explicit, followed by position updates using the new velocities, eliminating the need for nonlinear equation solving in many partitioned ODEs like those in . Extensions to the basic method include higher-order variants, such as semi-implicit , which enhance accuracy while preserving symplectic properties for long-term stability in oscillatory systems. Adaptive step sizing can further improve efficiency by dynamically adjusting the time step based on local error estimates, allowing larger steps in smooth regions and smaller ones near critical points without sacrificing overall convergence order. Implementations are readily available in scientific computing environments, with custom codes in MATLAB or Octave using simple loops for the partitioned updates, and custom implementations in Python using simple loops for the partitioned updates. In game engines, Bullet Physics employs the semi-implicit Euler integrator for rigid body dynamics to balance stability and real-time performance. Similarly, Unity's physics system, powered by PhysX, utilizes semi-implicit Euler for constraint-based simulations. For multi-dimensional states, the method vectorizes naturally: given position x ∈ ℝd and velocity v ∈ ℝd, the update becomes vn+1 = vn + h f(xn, vn) and xn+1 = xn + h vn+1, leveraging matrix-vector operations for efficient handling of high-dimensional problems in simulations. Common implementation pitfalls involve in constraint enforcement for mechanical systems with near-degenerate configurations and difficulties handling non-smooth right-hand sides, such as abrupt impacts, which may require additional stabilization techniques like clamping. Performance benchmarks in partitioned problems demonstrate that the semi-implicit Euler method achieves 2-5x over fully implicit methods, owing to the absence of iterative solvers while maintaining comparable for moderate time steps.

Examples

The simple serves as an introductory example for applying the semi-implicit Euler method to a of ordinary differential equations. The governing equation is \frac{d^2 x}{dt^2} + \omega^2 x = 0, rewritten in partitioned form as \frac{dx}{dt} = v and \frac{dv}{dt} = -\omega^2 x. Consider initial conditions x(0) = 1, v(0) = 0, and \omega = 1. With time step h = 0.1, the method first updates the velocity: v_{n+1} = v_n + h (-\omega^2 x_n), followed by the position: x_{n+1} = x_n + h v_{n+1}. For the first step, v_1 = 0 + 0.1 \cdot (-1^2 \cdot 1) = -0.1, and x_1 = 1 + 0.1 \cdot (-0.1) = 0.99. The following table shows the first few steps at times t_n = n h, alongside the exact solution x(t) = \cos(t), v(t) = -\sin(t):
nt_nx_nv_nExact x(t_n)Exact v(t_n)
00.01.00000.00001.00000.0000
10.10.9900-0.10000.9950-0.0998
20.20.9701-0.19900.9801-0.1987
30.30.9405-0.29600.9553-0.2955
40.40.9015-0.39010.9211-0.3894
The numerical solution approximates the exact oscillatory behavior, with errors accumulating gradually due to the first-order accuracy of the method. The method exhibits near conservation of energy, defined as E = x^2 + v^2, which equals 1 exactly at t=0. Subsequent values are E_1 = 0.9901, E_2 = 0.9807, E_3 = 0.9721, and E_4 = 0.9649, showing a slight downward drift over these steps rather than unbounded growth. This bounded energy error stems from the symplectic nature of the semi-implicit Euler method, which preserves a modified .

Rigid Body Simulation

The semi-implicit Euler method finds application in simulating the dynamics of a under and subject to collisions, such as a disk resting on a flat ground surface. The system is modeled by the position of the body's (x, y) and its linear (v_x, v_y), with accelerations derived from external forces: \frac{dv_x}{dt} = f_x(x, y, v_x, v_y) and \frac{dv_y}{dt} = f_y(x, y, v_x, v_y) - g, where g = 9.81 m/s² is acting downward, and f_x, f_y represent horizontal and vertical force components (e.g., zero in free flight or impulses during collisions). Consider an initial setup where the , modeled as a disk of radius r = 0.1 m, starts at rest on the ground with center at (x_0, y_0) = (0, 0.1) m and (v_{x0}, v_{y0}) = (0, 0) m/s. An upward is applied at t = 0, instantaneously setting v_y = 5 m/s while v_x remains 0, initiating motion under alone until collision. This tests the method's handling of nonlinear events like bounces without rotational dynamics for simplicity. The integration proceeds in two explicit steps per time step h: first, update velocities using forces evaluated at the old positions (explicit in position), yielding new velocities (v_x^{n+1}, v_y^{n+1}); second, update positions using these new velocities (implicit in velocity). For free flight, the updates are: \begin{align} v_x^{n+1} &= v_x^n + h \cdot f_x(x^n, y^n, v_x^n, v_y^n), \\ v_y^{n+1} &= v_y^n + h \cdot (f_y(x^n, y^n, v_x^n, v_y^n) - g), \\ x^{n+1} &= x^n + h \cdot v_x^{n+1}, \\ y^{n+1} &= y^n + h \cdot v_y^{n+1}. \end{align} Here, f_x = f_y = 0 between collisions. Collision handling occurs post-update: if the new position penetrates the ground (y^{n+1} < r), project the position to the surface (y^{n+1} = r) and reflect the vertical velocity component using the e = 0.9: v_y^{n+1} \leftarrow -e \cdot v_y^{n+1}, while v_x^{n+1} remains unchanged assuming no . For a time step h = 0.01 s, the advances as follows (with initial applied): from t = 0 to first collision at approximately t \approx 1.01 s (after ~101 steps), velocities update to v_x^{n+1} = 0, v_y^{n+1} \approx -4.91 m/s just before impact; post-projection, v_y^{n+1} \approx 4.42 m/s upward, and position resets to y = 0.1 m. Subsequent bounces repeat this process, with peak heights decreasing gradually due to energy dissipation from e < 1. The resulting trajectory consists of parabolic arcs between bounces, closely approximating the exact free-fall solution y(t) = y_0 + v_{y0} t - \frac{1}{2} g t^2 (with v_x = 0) over each flight phase for small h, though cumulative phase errors lead to slight underestimation of flight times (~1-2% deviation after 10 bounces). Unlike explicit Euler, which can through the or amplify instabilities, this method preserves qualitative . A key insight is the method's ability to maintain stable bounces without introducing artificial artifacts, as the nature prevents energy explosion even with repeated collisions, enabling reliable of constrained in real-time applications.

References

  1. [1]
    [PDF] Lecture 2: Symplectic integrators
    We apply six different numerical methods to this problem: the explicit Euler method, the symplectic Euler method (1), and the implicit Euler method, as well as ...
  2. [2]
    (PDF) Euler Methods, Explicit, Implicit, Symplectic - ResearchGate
    Sep 1, 2016 · For the numerical treatment of Hamiltonian differential equations, symplectic integra-tors are the most suitable choice, and methods that are ...
  3. [3]
    Section 1: Variational Time Integrators - Caltech CMS
    Symplectic (Semi-Implicit) Euler. There is an integrator known as the symplectic Euler method or semi-implicit Euler method, which involves a “strange mix ...
  4. [4]
    Differential Equations - Pauls Online Math Notes - Lamar University
    Jun 26, 2023 · These notes cover basic concepts, first and second order differential equations, and some material not usually covered in class.Systems of Differential Equations · Partial Differential Equations
  5. [5]
    [PDF] MATH 6410: Ordinary Differential Equations
    An ODE ˙x = f (t,x) is called autonomous if the right hand side f (t,x) = f (x) does not depend on t. Remark. Note that any n-dimensional non-autonomous ODE ...
  6. [6]
    [PDF] Ordinary Differential Equations and Dynamical Systems
    This is a preliminary version of the book Ordinary Differential Equations and Dynamical Systems published by the American Mathematical Society (AMS). This ...
  7. [7]
    [PDF] Nonlinear Ordinary Differential Equations
    These notes focus on initial value problems for nonlinear ordinary differential equations, particularly first-order systems, with physical relevance.
  8. [8]
    An Overview of Numerical and Analytical Methods for solving ... - arXiv
    Dec 10, 2020 · In this paper, I present the basic and commonly used numerical and analytical methods of solving ordinary differential equations.
  9. [9]
    [PDF] MTH 235 - Differential Equations - Michigan State University
    Nov 1, 2024 · These notes are an introduction to ordinary differential equations. We study a variety of models in physics and engineering, ...
  10. [10]
    [PDF] Geometric Numerical Integration - math kit
    This yields the symplectic Euler method yn+1 = yn + hf(yn+1,zn), zn+1 = zn + hg(yn+1,zn). • 2. The Störmer-Verlet method is a partitioned Runge-Kutta method ...
  11. [11]
    [PDF] Ordinary differential equations - Cornell: Computer Science
    Thus, the region of absolute stability includes the entire left half plane Re(λ) < 0 (see Figure 1), and so backward. Euler produces a decaying solution when Re ...
  12. [12]
    [PDF] Revisiting the Role of Euler Numerical Integration on Acceleration ...
    the semi-implicit and the explicit Euler integrators are able to recover Nesterov's method, when used to discretize different accelerated flows (ODEs are given ...
  13. [13]
  14. [14]
    [PDF] Animation & Simulation
    Symplectic Euler Method (a.k.a. semi-implicit Euler). Semi-implicit method. One function evaluation localized truncation error global truncation error.Missing: de Vogelaere
  15. [15]
    Symplectic integrators: An introduction | American Journal of Physics
    Oct 1, 2005 · Symplectic integrators very nearly conserve the total energy and are particularly useful when treating long times. We demonstrate some of ...Missing: semi- | Show results with:semi-
  16. [16]
    [PDF] Numerical Methods - Box2D
    So far I have shown 3 numerical methods for differential equations: explicit Euler, implicit Euler, and semi-implicit Euler. There are many more algorithms out ...
  17. [17]
    Video Game Physics Tutorial - Part I: Rigid Body Dynamics | Toptal®
    Semi-implicit Euler. In technical terms, what we're doing here is numerically integrating an ordinary differential equation of motion of a particle using the ...
  18. [18]
    Ch. 23 - Multi-Body Dynamics - Underactuated Robotics
    And we will use the same semi-implicit Euler approximation to cast this into discrete time. Now, to write the friction constraints as an LCP, we must introduce ...
  19. [19]
    Computation - MuJoCo Documentation
    If the model has no joint damping or the eulerdamp disable-flag is set, implicit damping is disabled and the semi-implicit update (3) is used, rather than (6), ...
  20. [20]
    [PDF] Interactive Simulation of Rigid Body Dynamics in Computer Graphics
    In rigid body simulation, one begins with the Newton–Euler (dif- ferential) equations, which describe the dynamic motion of the bod- ies without contact.
  21. [21]
    [PDF] The three-body problem and integration of the Newtonian equations ...
    The Euler method is of of 1st order. Note, the Euler-Cromer method (semi-implicit Euler method) is also of 1st order, but conserves ... N-body simulations for ...<|separator|>
  22. [22]
    A Scalable Semi-Implicit Method for Realtime Cloth Simulatio
    Aug 6, 2025 · We present a semi-implicit cloth simulation technique that is very stable yet also responsive. The stability of the technique allows the use of ...<|control11|><|separator|>
  23. [23]
    [PDF] IMPLICIT AND SEMI-IMPLICIT SCHEMES: ALGORITHMS
    SUMMARY. This study formulates general guidelines to extend an explicit code with a great variety of implicit and semi-implicit time integration schemes.
  24. [24]
    An adaptive time-stepping method based on a posteriori weak error ...
    Oct 18, 2021 · We develop an adaptive algorithm for large SDE systems, which automatically selects (quasi-)deterministic time steps for the semi-implicit Euler method.
  25. [25]
    Comparative Study of Physics Engines for Robot Simulation with ...
    Jan 4, 2023 · In MuJoCo, two integrators are currently available, which are the semi-implicit Euler method and the fourth-order Runge–Kutta method.
  26. [26]
    Which method does PhysX provide for physical integration?
    May 15, 2018 · I cannnot find which integration method PhysX use. Euler?Runge-Kutta? kstorey May 21, 2018, 11:15am 2. PhysX uses semi-implicit Euler.
  27. [27]
    (PDF) Hardware-targeted semi-implicit extrapolation ODE solvers
    In this paper, we propose an efficient semi-implicit extrapolation D-method that shows the best performance on the modern personal computer than the other ...
  28. [28]
    [PDF] PHY411 Lecture notes Part 7 –Integrators
    The primary astrophysical application of symplectic integrators has been long timescale integration of the few body problem, that is a few massive bodies ...<|control11|><|separator|>
  29. [29]
    [PDF] Chapter 3 Numerical Solutions - UNCW
    A simple example is the Euler-Cromer, or semi-implicit Eu- ler Method. We only need to make a small modification of Euler's Method. Namely, in the second ...
  30. [30]
    [PDF] Interactive Simulation of Rigid Body Dynamics in Computer Graphics
    The semi-implicit Euler is a first-order symplectic integrator. The advantage of integrating the velocities first is that the new velocities can be adapted ...
  31. [31]
    [PDF] Finite difference methods for vibration problems
    The scheme (52)-(53) goes under several names: forward-backward scheme, semi-implicit Euler ... or (109)-(110), and simulate the motion of a bouncing ball.