Proiper softening factor

This commit is contained in:
Miikka Vaisala
2019-08-01 14:12:21 +08:00
parent d5a3d896aa
commit 718a275bcf

View File

@@ -69,7 +69,8 @@ sink_gravity(int3 globalVertexIdx){
DCONST_REAL(AC_sink_pos_y), DCONST_REAL(AC_sink_pos_y),
DCONST_REAL(AC_sink_pos_z)}; DCONST_REAL(AC_sink_pos_z)};
const Scalar distance = length(grid_pos - sink_pos); const Scalar distance = length(grid_pos - sink_pos);
const Scalar gravity_magnitude = (Scalar(0.01) * sink_mass) / (distance * distance); const Scalar soft = 0.12;
const Scalar gravity_magnitude = (Scalar(0.01) * sink_mass) / pow(((distance * distance) + soft*soft), 1.5);
const Vector direction = (Vector){(sink_pos.x - grid_pos.x) / distance, const Vector direction = (Vector){(sink_pos.x - grid_pos.x) / distance,
(sink_pos.y - grid_pos.y) / distance, (sink_pos.y - grid_pos.y) / distance,
(sink_pos.z - grid_pos.z) / distance}; (sink_pos.z - grid_pos.z) / distance};