All Projects → genpfault → sph-tutorial

genpfault / sph-tutorial

Licence: other
Brandon Pelfrey's SPH fluid simulation tutorial

Programming Languages

C++
36643 projects - #6 most used programming language
CMake
9771 projects

Projects that are alternatives of or similar to sph-tutorial

PyGLM
Fast OpenGL Mathematics (GLM) for Python
Stars: ✭ 167 (+363.89%)
Mutual labels:  glm
GLM
Code for the General Lake Model
Stars: ✭ 30 (-16.67%)
Mutual labels:  glm
Natrix
Fast fluid simulation in Python 🐍
Stars: ✭ 25 (-30.56%)
Mutual labels:  fluid-simulation
Perlin-Noise-3D-Voxel-Generator
Voxel generator based on perlin 3d noise | Python OpenGL
Stars: ✭ 22 (-38.89%)
Mutual labels:  glm
enmSdm
Faster, better, smarter ecological niche modeling and species distribution modeling
Stars: ✭ 39 (+8.33%)
Mutual labels:  glm
Shizuku
Real time simulation and rendering of free surface fluid
Stars: ✭ 22 (-38.89%)
Mutual labels:  fluid-simulation
VulkanRenderer
Personal repo for learning the vulkan graphics api
Stars: ✭ 42 (+16.67%)
Mutual labels:  glm
glm
OpenGL Mathematics (GLM)
Stars: ✭ 6,667 (+18419.44%)
Mutual labels:  glm
unstructured-finite-volume
Unstructured Finite Volume Solver for Partial Differential Equations
Stars: ✭ 26 (-27.78%)
Mutual labels:  fluid-simulation
unity-fluid-simulation
A fluid simulation I made for a class assignment, based on work by Jos Stam.
Stars: ✭ 26 (-27.78%)
Mutual labels:  fluid-simulation
CaNS
A code for fast, massively-parallel direct numerical simulations (DNS) of canonical flows
Stars: ✭ 144 (+300%)
Mutual labels:  fluid-simulation
ncem
Learning cell communication from spatial graphs of cells
Stars: ✭ 77 (+113.89%)
Mutual labels:  glm
goes2go
Download and process GOES-16 and GOES-17 data from NOAA's archive on AWS using Python.
Stars: ✭ 77 (+113.89%)
Mutual labels:  glm
ArteryNetwork
A pipeline to extract vessels from MR images and perform analysis.
Stars: ✭ 21 (-41.67%)
Mutual labels:  fluid-simulation
FluidSimulationSurface
UE4 plugin that show a simple Fluid Simulation Surface
Stars: ✭ 23 (-36.11%)
Mutual labels:  fluid-simulation
Fluid2d
A versatile Python-Fortran CFD code that solves a large class of 2D flows
Stars: ✭ 49 (+36.11%)
Mutual labels:  fluid-simulation
vulkan-seed
🌋🌱 A Vulkan starter repo that you could use to get the ball rolling.
Stars: ✭ 57 (+58.33%)
Mutual labels:  glm
brglm2
Estimation and inference from generalized linear models using explicit and implicit methods for bias reduction
Stars: ✭ 18 (-50%)
Mutual labels:  glm
ARehab
ARehab is a free software for physical rehab, aided by augmented reality technologies and user tracking systems, such as Microsoft Kinect v2.
Stars: ✭ 20 (-44.44%)
Mutual labels:  glm
glfw-skeleton
💀 A skeleton OpenGL C++ app bootstrapped with glfw, glad, and glm.
Stars: ✭ 24 (-33.33%)
Mutual labels:  glm

sph-tutorial

Experimenting with performance evaluation and improvements to Brandon Pelfrey's smoothed-particle hydrodynamics (SPH) fluid simulation tutorial:

Requirements
  • CMake >= 3.10.0
  • C++11 compiler with OpenMP support
  • OpenGL runtime support
Controls
  • Q/Escape: Exit
  • Space: Add more particles
  • Mouse button: Attract nearby particles
  • +/-: Increase/decrease the number of simulation steps per frame

You can use the OMP_NUM_THREADS environment variable to limit the number of threads used by OpenMP.

Dependencies

Appropriate versions of GLFW and GLM are included as submodules so there's no need to install them separately.

GLFW has some platform-specific build dependencies:

  • Linux

    # Debian & derivatives:
    sudo apt install \
    libx11-dev \
    libxrandr-dev \
    libxinerama-dev \
    libxcursor-dev \
    libxi-dev \
    
  • Windows

    TBD
    
  • macOS

    TBD
    
Building
git clone --recurse-submodules https://github.com/genpfault/sph-tutorial.git
cd sph-tutorial
mkdir build
cd build
cmake ../ -DCMAKE_BUILD_TYPE=RelWithDebInfo
cmake --build .
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].