- Simplest version
- Water compress too much
- Speed of sound for pressure
- Spiky Kernel shows better results than Poly6
- The most simple model -> does not shows the best results
- Less parameters to modify -> more try and error to get good results
- Eurographics 2019 approach
- State Equation for pressure
- Added boundary particles
- Tried to use Cubic Spline kernel, but failed
- Iterate until convergence or timeout
- Results are very similar to Weakly Compressible Method, but with a lower stiffness
The most easy to understand, not recommended to use for pressure nor viscosity though.
Easy to understand, nice results when applied
Recommended for viscosity instead of Poly6 nor Spiky
The kernel does not give me plausible results, and probably I misscalculated the gradient derivative, so I end up not using it
- Used for the Fully Compressible Method
- Not an intuitive parameter to modify
- Set stiffness as parameter
- Used for the Weakly Compressible Methods
- More intuitive to understand and modify
- Used in the Weakly Compressible Methods.
- Helps with the collission in extreme situations and avoid crashes.
- With the uncorrect parameters and situation, it can act as a glue for the particles, sticking them in the cube walls.
Adjusted the Particle Spatial Hash from Lab1
Set a minimum distance between the Rest Distance and collision distance
Set substepping=10 for the integrator step and collision detection
Better results with Verlet, but other integrators work as well.
Taking advantage of the spatial hash, perform a ray-particle collision detection.
Verlet Integrator is not working well for the fountain, so had to try others like RK2 to avoid using custom integrators for cloths and other for fountain particles.
Even adding the recommended steps to achieve self-intersection, it still looks flat, and by increasing the thickness, the cloth starts to become unstable.
Starting with Symplectic Euler, increasing the kElastic to +400.0 helps with stability, then implementing relaxation steps, and finally moving to Verlet integrator which is Physically Based Dyanmics (more stable!).
Had to adjust a bit the formula for Verlet by updating the prevPos with the velocity added because of the collision.
I have chosen the Midpoint Integrator since it has more appealing results when activating the blackhole gravitational attraction force with the lowest computation (RK2 and RK4 also give appealing results).
Tested with 2000 particles smoothly in release mode
- Plane
- AABB
- Sphere
- Gravity
- Linear Drag Force
- Quadratic Drag Force
- Gravitational attraction (Blackhole)
By selecting the object in the UI, we can move it by dragging the mouse and pressing the right-click
The integrator solvers can be chosen from the comboBox next to each SolverN at the UI and pressing restart.
- Symplectic Euler
- Midpoint
- Verlet
- RK2
- RK4
Wind force can be set in the UI as accelerations in each X,Y,Z axis. As for the air resistance, you can choose between no drag, linear drag, and quadratic drag.
- Wind as constant acceleration force
- Linear Drag
- Quadratic Drag
- Added an additional particle for more testing
- Simple collision to plane with condition y<=0
- Added bouncing and friction coefficients editable in UI











