From f105d96af02372d66672d7fc71e749de707345c7 Mon Sep 17 00:00:00 2001 From: graham Date: Thu, 2 Sep 2010 10:30:25 +0100 Subject: [PATCH] BUG: Fixes mantis issue 0000022: sixDoFRigidBodyMotion: Acceleration used as force. --- .../sixDoFRigidBodyMotion/sixDoFRigidBodyMotion.C | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/src/postProcessing/functionObjects/forces/pointPatchFields/derived/sixDoFRigidBodyMotion/sixDoFRigidBodyMotion.C b/src/postProcessing/functionObjects/forces/pointPatchFields/derived/sixDoFRigidBodyMotion/sixDoFRigidBodyMotion.C index ea47c95736..ed1e524bf6 100644 --- a/src/postProcessing/functionObjects/forces/pointPatchFields/derived/sixDoFRigidBodyMotion/sixDoFRigidBodyMotion.C +++ b/src/postProcessing/functionObjects/forces/pointPatchFields/derived/sixDoFRigidBodyMotion/sixDoFRigidBodyMotion.C @@ -423,23 +423,21 @@ void Foam::sixDoFRigidBodyMotion::updateForce scalar deltaT ) { - vector a = vector::zero; + vector fGlobal = vector::zero; - vector tau = vector::zero; + vector tauGlobal = vector::zero; if (Pstream::master()) { + fGlobal = sum(forces); + forAll(positions, i) { - const vector& f = forces[i]; - - a += f/mass_; - - tau += Q().T() & ((positions[i] - centreOfMass()) ^ f); + tauGlobal += (positions[i] - centreOfMass()) ^ forces[i]; } } - updateForce(a, tau, deltaT); + updateForce(fGlobal, tauGlobal, deltaT); }