Class SPHFluid
java.lang.Object
org.episteme.natural.physics.classical.matter.fluids.SPHFluid
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 Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic SPHFluidcreateBlock(int nx, int ny, int nz, double spacing, double startX, double startY, double startZ) Create a block of fluid particles.voidenforceBoundary(double minX, double maxX, double minY, double maxY, double minZ, double maxZ, double restitution) Enforce boundary conditions (simple box).double[]intdouble[]double[]voidsetGravity(double gx, double gy, double gz) voidsetParameters(double mass, double restDensity, double stiffness, double viscosity, double smoothingRadius) voidsetParticle(int i, double x, double y, double z) voidsetProvider(SPHFluidProvider provider) voidstep(double dt) Advance simulation by dt.
-
Constructor Details
-
SPHFluid
public SPHFluid(int numParticles)
-
-
Method Details
-
setProvider
-
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.
-