# About

Physics simulation is an important research topic in visual computing. It has many applications ranging from such as virtual prototyping, training simulators, robotics, animation software for digital production including visual effects in film and animation movies, and computer games – just to mention a few.

At RWTH Aachen university I offer lectures which give an introduction to state-of-the-art simulation methods for rigid bodies, deformable solids and fluids in the area of visual computing (e.g, the Finite Element Method (FEM) and the Smoothed Particle Hydrodynamics (SPH) approach). For the lectures I programmed several simulation examples using JavaScript.

Why JavaScript? Because everybody can directly run the examples in the browser. Moreover, I was able to add a short web page for each example which explains the method.

I hope the examples and their documentation help you to learn something about the simulation methods. Feel free to use the examples in your own courses.

# Particles

- A simple particle system
- A simple particle system where each particle is represented by a rigid body with a rotation and an angular velocity

# Time Integration

- Comparison of different explicit time integration methods for a constant force
- Comparison of different explicit and implicit time integration methods for a spring model
- Energy conservation of a spring-damper model

# Deformable Solids

### Mass Spring System

### Continuum Mechanics

- Computation of deformation gradient and strain tensor
- Finite Element Method (FEM) - Corotated Linear Elasticity Model
- Finite Element Method (FEM) - St. Venant-Kirchhoff Model
- Finite Element Method (FEM) - Neohookean Elasticity Model

### Impulse-Based Dynamic Simulation

### Position-Based Dynamics

- Position-Based Dynamics (PBD)
- eXtended Position-Based Dynamics (XPBD)
- Shape Matching
- Region-Based Shape Matching

# Fluids

### SPH Simulation Methods

- Weakly Compressible SPH (WCSPH)
- Position Based Fluids (PBF)
- Implicit Incompressible SPH (IISPH)
- Divergence-Free SPH (DFSPH)

### Neighborhood Search

### SPH Kernel

### SPH Approximation

- The SPH approximation of different functions and the benefit of a Shepard filter
- The SPH approximation of a user-defined function and the benefit of a Shepard filter
- SPH approximation of the gradient of a quadratic function and the benefit of a kernel gradient correction