|
numerics
|
SPH fluid simulation with raylib visualization. More...
#include "raylib.h"#include "fluid.hpp"#include <cmath>#include <cstdlib>#include <algorithm>#include <string>Go to the source code of this file.
Functions | |
| Vector2 | sim_to_screen (float sx, float sy) |
| void | sim_to_screen (float sx, float sy, float &px, float &py) |
| void | screen_to_sim (float px, float py, float &sx, float &sy) |
| int | main () |
SPH fluid simulation with raylib visualization.
Dam-break scenario: fluid falls onto a hot sphere (90 degC) and a cold sphere (0 degC). Heat diffuses between particles and exchanges with rigid bodies.
Controls: SPACE – pause / resume R – reset to initial state LMB drag – spawn cool water particles (20 degC) RMB drag – spawn hot water particles (85 degC) +/- – increase / decrease simulation speed (substeps per frame) ESC – quit
Definition in file main.cpp.
| int main | ( | ) |
Definition at line 117 of file main.cpp.
References physics::FluidSolver::add_particle(), physics::FluidParams::alpha_T, physics::FluidSolver::bodies(), physics::FluidParams::c0, physics::FluidParams::dt, physics::FluidParams::gamma, physics::FluidParams::gx, physics::FluidParams::gy, physics::FluidParams::h, physics::FluidParams::h_conv, physics::FluidParams::mass, physics::FluidSolver::max_temp(), physics::FluidSolver::min_temp(), physics::FluidParams::mu, physics::FluidSolver::particles(), physics::FluidParams::restitution, physics::FluidParams::rho0, screen_to_sim(), sim_to_screen(), physics::FluidSolver::step(), physics::FluidParams::xmax, physics::FluidParams::xmin, physics::FluidParams::ymax, and physics::FluidParams::ymin.
|
inline |
|
inline |