From 79a14c4b7c2b8b03e2e64653fb687cb5c35b3863 Mon Sep 17 00:00:00 2001 From: graham <g.macpherson@opencfd.co.uk> Date: Thu, 28 Jan 2010 16:35:19 +0000 Subject: [PATCH] BUG: sixDoFRigidBodyMotion, calling boolean function along with boolean test was not actually calling the function. Probably optimised out. --- .../sixDoFRigidBodyMotion/sixDoFRigidBodyMotion.C | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/postProcessing/functionObjects/forces/pointPatchFields/derived/sixDoFRigidBodyMotion/sixDoFRigidBodyMotion.C b/src/postProcessing/functionObjects/forces/pointPatchFields/derived/sixDoFRigidBodyMotion/sixDoFRigidBodyMotion.C index 76b376d3b5a..cdfe5ffc226 100644 --- a/src/postProcessing/functionObjects/forces/pointPatchFields/derived/sixDoFRigidBodyMotion/sixDoFRigidBodyMotion.C +++ b/src/postProcessing/functionObjects/forces/pointPatchFields/derived/sixDoFRigidBodyMotion/sixDoFRigidBodyMotion.C @@ -61,7 +61,7 @@ void Foam::sixDoFRigidBodyMotion::applyConstraints(scalar deltaT) { label iter = 0; - bool converged = true; + bool allConverged = true; // constraint force accumulator vector cFA = vector::zero; @@ -86,7 +86,7 @@ void Foam::sixDoFRigidBodyMotion::applyConstraints(scalar deltaT) } - converged = true; + allConverged = true; forAll(constraints_, cI) { @@ -101,7 +101,7 @@ void Foam::sixDoFRigidBodyMotion::applyConstraints(scalar deltaT) // constraint moment vector cM = vector::zero; - converged = converged && constraints_[cI].constrain + bool constraintConverged = constraints_[cI].constrain ( *this, cFA, @@ -112,6 +112,8 @@ void Foam::sixDoFRigidBodyMotion::applyConstraints(scalar deltaT) cM ); + allConverged = allConverged && constraintConverged; + // Accumulate constraint force cFA += cF; @@ -119,7 +121,7 @@ void Foam::sixDoFRigidBodyMotion::applyConstraints(scalar deltaT) cMA += cM + ((cP - centreOfMass()) ^ cF); } - } while(!converged); + } while(!allConverged); Info<< "Constraints converged in " << iter << " iterations" << nl << "Constraint force: " << cFA << nl -- GitLab