GeezerVison is showing github.com — GitHub - phys-sim-book/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.
Folders and files
| Name | Name | Last commit message | Last commit date |
|---|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
|
Repository files navigation
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.
- 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 .
Eigen3==3.4.0
CMake>=3.29
CUDA>=11.0
1. Simple Mass-Spring System

2. Dirichlet Boundary Condition



5. Moving Dirichlet Boundary Condition


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.
Topics
Resources
Stars
116 stars
Watchers
2 watching
Forks