17 const FluidParams& params,
18 const SpatialHash& grid);
22 const FluidParams& params,
23 const SpatialHash& grid);
26 const std::vector<RigidBody>& bodies,
27 const FluidParams& params);
29void integrate(std::vector<Particle>& particles,
const FluidParams& params);
34 const std::vector<RigidBody>& bodies,
35 float& T_min,
float& T_max);
37void integrate_bodies(std::vector<RigidBody>& bodies,
const FluidParams& params);
40 const std::vector<RigidBody>& bodies,
41 const SpatialHash& grid,
42 const HeatParams& params);
Weakly Compressible SPH (WCSPH) fluid solver – public interface.
Heat transfer parameters for the 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).
SPH particle data structure.
Rigid body (sphere) for SPH collision and heat exchange.
SPH neighbour search – now powered by num::CellList2D.