Giter Club home page Giter Club logo

phys-sim-book / solid-sim-tutorial-gpu Goto Github PK

View Code? Open in Web Editor NEW
67.0 1.0 1.0 3.87 MB

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.

Home Page: https://phys-sim-book.github.io/

License: GNU General Public License v3.0

CMake 0.90% Cuda 86.31% C++ 12.79%
collision-handling computational-mechanics computer-graphics constrained-optimization cuda elastodynamics finite-element-methods friction gpu-programming incremental-potential-contact

solid-sim-tutorial-gpu's Introduction

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

solid-sim-tutorial-gpu's People

Contributors

liminchen avatar matheecs avatar roushelfy avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

Forkers

peng-liu

solid-sim-tutorial-gpu's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.