16 const FluidParams3D& params,
17 const SpatialHash3D& grid);
20 const FluidParams3D& params,
21 const SpatialHash3D& grid);
24 const std::vector<RigidBody3D>& bodies,
25 const FluidParams3D& params);
27void integrate(std::vector<Particle3D>& particles,
const FluidParams3D& params);
29void enforce_boundaries(std::vector<Particle3D>& particles,
const FluidParams3D& params);
32 const std::vector<RigidBody3D>& bodies,
33 float& T_min,
float& T_max);
35void integrate_bodies(std::vector<RigidBody3D>& bodies,
const FluidParams3D& params);
38 const std::vector<RigidBody3D>& bodies,
39 const SpatialHash3D& grid,
40 const HeatParams3D& params);
3D WCSPH fluid solver – public interface and dispatch hub
Heat transfer parameters for the 3D SPH backends.
void enforce_boundaries(std::vector< Particle > &particles, const FluidParams ¶ms)
void body_collisions(std::vector< Particle > &particles, const std::vector< RigidBody > &bodies, const FluidParams ¶ms)
void integrate(std::vector< Particle > &particles, const FluidParams ¶ms)
void compute_density_pressure(std::vector< Particle > &particles, const FluidParams ¶ms, const SpatialHash &grid)
Newton's 3rd law pair traversal – O(n*k/2).
void heat_compute(std::vector< Particle > &particles, const std::vector< RigidBody > &bodies, const SpatialHash &grid, const HeatParams ¶ms)
void update_temp_range(const std::vector< Particle > &particles, const std::vector< RigidBody > &bodies, float &T_min, float &T_max)
void integrate_bodies(std::vector< RigidBody > &bodies, const FluidParams ¶ms)
void compute_forces(std::vector< Particle > &particles, const FluidParams ¶ms, const SpatialHash &grid)
Newton's 3rd law pair traversal – O(n*k/2).
3D SPH neighbour search – powered by num::CellList3D