From 74adce732200a51fc5945f6c10c2de3fdb2ea385 Mon Sep 17 00:00:00 2001 From: Xuchen Han Date: Mon, 19 Aug 2019 11:28:41 -0700 Subject: [PATCH] bug fix in momentum conserving damping model for mass spring; update default damping model to momentum conserving one --- src/BulletSoftBody/btDeformableMassSpringForce.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/BulletSoftBody/btDeformableMassSpringForce.h b/src/BulletSoftBody/btDeformableMassSpringForce.h index 7dbd23907..8caf7702f 100644 --- a/src/BulletSoftBody/btDeformableMassSpringForce.h +++ b/src/BulletSoftBody/btDeformableMassSpringForce.h @@ -27,7 +27,7 @@ public: btDeformableMassSpringForce() : m_momentum_conserving(false), m_elasticStiffness(1), m_dampingStiffness(0.05) { } - btDeformableMassSpringForce(btScalar k, btScalar d, bool conserve_angular = false) : m_momentum_conserving(conserve_angular), m_elasticStiffness(k), m_dampingStiffness(d) + btDeformableMassSpringForce(btScalar k, btScalar d, bool conserve_angular = true) : m_momentum_conserving(conserve_angular), m_elasticStiffness(k), m_dampingStiffness(d) { } @@ -63,7 +63,7 @@ public: { if ((node2->m_q - node1->m_q).norm() > SIMD_EPSILON) { - btVector3 dir = (node2->m_q - node1->m_q).normalized(); + btVector3 dir = (node2->m_x - node1->m_x).normalized(); scaled_force = scale * m_dampingStiffness * v_diff.dot(dir) * dir; } } @@ -120,7 +120,7 @@ public: { if ((node2->m_q - node1->m_q).norm() > SIMD_EPSILON) { - btVector3 dir = (node2->m_q - node1->m_q).normalized(); + btVector3 dir = (node2->m_x - node1->m_x).normalized(); local_scaled_df= scaled_k_damp * (dv[id2] - dv[id1]).dot(dir) * dir; } }