BUG: sixDoFRigidBodyMotion: Corrected handling of acceleration update in first time-step

Resolves bug-report https://bugs.openfoam.org/view.php?id=2551
This commit is contained in:
Henry Weller
2017-05-18 16:30:08 +01:00
committed by Andrew Heather
parent 644779725d
commit ad789e23bf

View File

@ -2,7 +2,7 @@
========= | ========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | \\ / O peration |
\\ / A nd | Copyright (C) 2011-2016 OpenFOAM Foundation \\ / A nd | Copyright (C) 2011-2017 OpenFOAM Foundation
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
@ -273,7 +273,7 @@ void Foam::sixDoFRigidBodyMotion::updateAcceleration
const vector& tauGlobal const vector& tauGlobal
) )
{ {
static bool first = false; static bool first = true;
// Save the previous iteration accelerations for relaxation // Save the previous iteration accelerations for relaxation
vector aPrevIter = a(); vector aPrevIter = a();
@ -290,8 +290,10 @@ void Foam::sixDoFRigidBodyMotion::updateAcceleration
a() = aRelax_*a() + (1 - aRelax_)*aPrevIter; a() = aRelax_*a() + (1 - aRelax_)*aPrevIter;
tau() = aRelax_*tau() + (1 - aRelax_)*tauPrevIter; tau() = aRelax_*tau() + (1 - aRelax_)*tauPrevIter;
} }
else
first = false; {
first = false;
}
} }