Skip to content

Commit 4db8f4a

Browse files
Fixed Bugs
Fixed eps softening + Newton's 3rd law.
1 parent d175df9 commit 4db8f4a

1 file changed

Lines changed: 7 additions & 7 deletions

File tree

src/struct/particle.h

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -16,23 +16,22 @@ inline void Gravity(Particle& a, Particle& b, real dt)
1616
real dx = b.x - a.x;
1717
real dy = b.y - a.y;
1818
real dz = b.z - a.z;
19-
real eps = real(1e-6);
19+
real eps = real(1e6);
2020
real distSq = dx*dx + dy*dy + dz*dz + eps*eps;
2121
real dist = std::sqrt(distSq);
2222

2323
real invDist = real(1) / dist;
2424
real invDist3 = invDist * invDist * invDist;
25-
25+
2626
real ax = G * b.m * dx * invDist3;
2727
real ay = G * b.m * dy * invDist3;
2828
real az = G * b.m * dz * invDist3;
2929

30-
real inv_bm = real(1) / b.m;
31-
real scale = -a.m * inv_bm;
30+
real bx = -G * a.m * dx * invDist3;
31+
real by = -G * a.m * dy * invDist3;
32+
real bz = -G * a.m * dz * invDist3;
3233

33-
real bx = ax * scale;
34-
real by = ay * scale;
35-
real bz = az * scale;
34+
3635

3736
a.vx += ax * dt;
3837
a.vy += ay * dt;
@@ -42,3 +41,4 @@ inline void Gravity(Particle& a, Particle& b, real dt)
4241
b.vy += by * dt;
4342
b.vz += bz * dt;
4443
}
44+

0 commit comments

Comments
 (0)