Class SPHFluid

java.lang.Object
org.episteme.natural.physics.classical.matter.fluids.SPHFluid

public class SPHFluid extends Object
Smoothed Particle Hydrodynamics (SPH) fluid simulation.

Lagrangian particle-based method for incompressible fluids.

Since:
1.0
Author:
Silvere Martin-Michiellot, Gemini AI (Google DeepMind)
  • Constructor Details

    • SPHFluid

      public SPHFluid(int numParticles)
  • Method Details

    • setProvider

      public void setProvider(SPHFluidProvider provider)
    • setParticle

      public void setParticle(int i, double x, double y, double z)
    • setParameters

      public void setParameters(double mass, double restDensity, double stiffness, double viscosity, double smoothingRadius)
    • setGravity

      public void setGravity(double gx, double gy, double gz)
    • step

      public void step(double dt)
      Advance simulation by dt.
    • enforceBoundary

      public void enforceBoundary(double minX, double maxX, double minY, double maxY, double minZ, double maxZ, double restitution)
      Enforce boundary conditions (simple box).
    • getPositions

      public double[] getPositions()
    • getVelocities

      public double[] getVelocities()
    • getDensities

      public double[] getDensities()
    • getNumParticles

      public int getNumParticles()
    • createBlock

      public static SPHFluid createBlock(int nx, int ny, int nz, double spacing, double startX, double startY, double startZ)
      Create a block of fluid particles.