I'm trying to learn SPH by implementing different methods. I am currently following Divergence Free Smoothed Particle Hydrodynamics By Jan Bender [1].
I believe I understand the method and the math behind it. However I am not a able to correct the density error by finding the pressure forces because they are very small. It is a predictor corrector algorithm, so I have to use the pressure forces in a Jacobi iterator to find the correct velocities that will make the densities equal the rest density to enforce incompressiblity. However even after 1000 iterations the system doesn’t converge, but it is moving in the right direction. I've had similar problems with PCISPH and IISPH. I could only get the first one to work by manually scaling the resulting pressure forces.The pressure forces in IISPH were too large, still trying to get that work.
I can speed up the convergence in DFSPH of the iterator by manually scaling the calculated stiffness values. However this feels wrong. Is it okay to scale values like pressure values to get a SPH simulation working? I think I I am missing something important.