GithubHelp home page GithubHelp logo

nonpolarity / sph-3d-fluid-simulation Goto Github PK

View Code? Open in Web Editor NEW

This project forked from saeedmahani/sph-3d-fluid-simulation

0.0 1.0 0.0 202 KB

MAT594G Physics-Based Simulation Final Project

C++ 79.32% C 19.08% Groff 1.60%

sph-3d-fluid-simulation's Introduction

SPH Fluid Simulation

Fluid Image

For our final project in Theodore Kim's Physics-Based Simulation class (Winter '12) we were asked to implement a large, non-trivial technique. My project is based on Matthias Müller's (et al.) research of applying Smoothed Particle Hydrodynamics (SPH) to fluid simulation - essentially simulating fluid as thousands of small particles, rather than the traditional Eularian grid-based approach.

Feel free to email me and I'll tell you more about this project!

Using the Simulator

Firstly, click & drag to rotate the scene using typical GLVU camera controls. You'll notice the simulation starts in a stopped state - you'll need to toggle the animation ON. Below are some keyboard controls.

Basic Controls

a -- Toggle the physics animation on/off (upon starting animation is OFF)
1 -- Load the "Dam Break" scenario (initial scenario)
2 -- Load the "Cube" scenario
3 -- Load the "Faucet" scenario
t -- Toggle tumble mode on/off (the water will react to the tilt of the camera)

Advanced Controls

g -- Toggle grid visible (grid used for neighbor particle optimization)
/ -- Toggle gravity on/off
s -- Toggle coloring of surface purple (particles on the surface have a surface tension force applied)
f -- Output current FPS to stdout

References

Particle-Based Fluid Simulation for Interactive Applications
Matthias Müller, David Charypar and Markus Gross
http://www.matthiasmueller.info/publications/sca03.pdf

sph-3d-fluid-simulation's People

Contributors

saeedmahani avatar

Watchers

 avatar

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.