From f3b002a1c992f7e318fa95fadb47009390c7fa62 Mon Sep 17 00:00:00 2001
From: Chris Maffeo <cmaffeo2@illinois.edu>
Date: Wed, 27 Jan 2016 20:05:52 -0600
Subject: [PATCH] corrected bugs: torque in RB integrator and RB linear
 interpolation

---
 RigidBody.cu     | 4 ++--
 RigidBodyGrid.cu | 2 +-
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/RigidBody.cu b/RigidBody.cu
index 04acb90..ef4d9c6 100644
--- a/RigidBody.cu
+++ b/RigidBody.cu
@@ -99,11 +99,11 @@ void RigidBody::integrate(int startFinishAll) {
 	if (startFinishAll == 0 || startFinishAll == 1) {
 		// propogate momenta by half step
 		momentum += 0.5 * timestep * force * impulse_to_momentum;
-		angularMomentum += 0.5 * timestep * torque * impulse_to_momentum;
+		angularMomentum += 0.5 * timestep * orientation.transpose()*torque * impulse_to_momentum;
 	} else {
 		// propogate momenta by a full timestep
 		momentum += timestep * force * impulse_to_momentum;
-		angularMomentum += timestep * torque * impulse_to_momentum;
+		angularMomentum += timestep * orientation.transpose()*torque * impulse_to_momentum;
 	}
 
 	DebugM(3, "  position before: " << position << "\n" << endi);
diff --git a/RigidBodyGrid.cu b/RigidBodyGrid.cu
index d346732..5c63cf8 100644
--- a/RigidBodyGrid.cu
+++ b/RigidBodyGrid.cu
@@ -323,7 +323,7 @@ DEVICE ForceEnergy RigidBodyGrid::interpolateForceDLinearly(const Vector3& l) co
 		}
 		// Mix along y.
 		g3[0][iz] = wy * (g2[0][1] - g2[0][0]) + g2[0][0];
-		g3[1][iz] = (g2[1][1] - g2[1][0]) + g2[1][0];
+		g3[1][iz] = (g2[1][1] - g2[1][0]);
 		g3[2][iz] = wy * (g2[1][1] - g2[1][0]) + g2[1][0];
 	}
 	// Mix along z.
-- 
GitLab