Theory and Modelling#

This section explains how the engine works underneath the API. Where the rest of the guide is task-oriented, these pages are reference material for the physics and algorithms. Read them when a result surprises you, when you are tuning a hard contact or coupling problem, or to understand the machinery.

A scene.step() advances every active solver by dt, or by dt / substeps per substep, and the coupler reconciles them in between. Which solver holds an entity follows from its material.

In this section#

  • Rigid solver: the three layers of a rigid step (forward dynamics, collision detection, and the constraint solve), plus hibernation.

  • Soft solvers: the five continuum and particle solvers, and the constitutive models they integrate.

  • Coupling: how solvers exchange forces where their materials meet, and which coupler to use.

  • Differentiable simulation: how gradients flow through a step.

Further reading#

These pages describe the models Genesis World implements and the options that select them; they do not derive them. For the derivations, Physics-Based Simulation (Li, Jiang, et al.) is a free online book on the theory and algorithms of physics-based simulation.