You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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.
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
Clone the repository
git clone https://github.com/Roushelfy/solid-sim-muda
cd solid-sim-muda
git submodule update --init --recursive
build with cmake
mkdir build
cd build
cmake ..
cmake --build .
Requirements
Eigen3==3.4.0
CMake>=3.29
CUDA>=11.0
Examples
1. Simple Mass-Spring System
2. Dirichlet Boundary Condition
3. Contact
4. Friction
5. Moving Dirichlet Boundary Condition
6. Neohookean Solids
7. Neohookean Solids with Self-Contact
8. Neohookean Solids with Frictional Self-Contact
About
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.