GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

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.

BranchesTags
Open more actions menu

Latest commit

 

History

58 Commits
58 Commits

Folders and files

NameName
Last commit message
Last commit date
img
img
 
 
muda @ c63b9b2
muda @ c63b9b2
 
 
simulators
simulators
 
 
.gitignore
.gitignore
 
 
.gitmodules
.gitmodules
 
 
CMakeLists.txt
CMakeLists.txt
 
 
LICENSE
LICENSE
 
 
README.md
README.md
 
 

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.

Usage

  1. Clone the repository
git clone https://github.com/Roushelfy/solid-sim-muda
cd solid-sim-muda
git submodule update --init --recursive
  1. 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

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

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.

phys-sim-book.github.io/

Topics

collision-handlingcomputational-mechanicscomputer-graphicsconstrained-optimizationcudaelastodynamicsfinite-element-methodsfrictiongpu-programmingincremental-potential-contactmass-spring-systemsmudaoptimization-time-integratorphysics-based-simulation

Resources

Readme
Apache-2.0 license
Activity
Custom properties

Stars

116 stars

Watchers

2 watching

Forks

7 forks
Report repository

Releases

Contributors

Languages

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.