GitPedia

Solid sim tutorial gpu

A curated set of C++ examples for optimization-based elastodynamic contact simulation using CUDA, emphasizing algorithmic convergence, penetration-free, and inversion-free conditions. Designed for readability and understanding, this tutorial helps beginners learn how to write simple GPU code for efficient solid simulations.

From phys-sim-book·Updated June 23, 2026·View on GitHub·

This is a tutorial for elastodynamic contact simulation using [MUDA](https://github.com/MuGdxy/muda) (a [CUDA](https://developer.nvidia.com/cuda-toolkit) programming paradigm). The project is written primarily in Cuda, distributed under the Apache License 2.0 license, first published in 2024. Key topics include: collision-handling, computational-mechanics, computer-graphics, constrained-optimization, cuda.

Latest release: v1.0.1
August 6, 2024View Changelog →

MUDA-based Solid Simulation Tutorial

This is a tutorial for elastodynamic contact simulation using MUDA (a CUDA programming paradigm).

The basic architecture of the simulators follows @liminchen's Numpy version solid-sim-tutorial.

The tutorial (written by a beginner of simulation) aims at helping beginners learn how to write simple CUDA codes for efficient solid simulations on the GPU. An introductory section for the first example of this tutorial can be found at https://phys-sim-book.github.io/lec4.6-gpu_accel.html.

Usage

  1. Clone the repository
bash
git clone https://github.com/Roushelfy/solid-sim-muda cd solid-sim-muda git submodule update --init --recursive
  1. build with cmake
bash
mkdir build cd build cmake .. cmake --build .

Requirements

Eigen3==3.4.0

CMake>=3.29

CUDA>=11.0

Examples

1. Simple Mass-Spring System

Simple Mass-Spring System

2. Dirichlet Boundary Condition

Dirichlet Boundary Condition

3. Contact

Contact

4. Friction

Friction

5. Moving Dirichlet Boundary Condition

Moving Dirichlet Boundary

6. Neohookean Solids

Neohookean Model

7. Neohookean Solids with Self-Contact

Neohookean Model with Self Collision

8. Neohookean Solids with Frictional Self-Contact

Neohookean Model with Self  Friction

Contributors

Showing top 2 contributors by commit count.

View all contributors on GitHub →

This article is auto-generated from phys-sim-book/solid-sim-tutorial-gpu via the GitHub API.Last fetched: 6/28/2026