34 namespace sixDoFRigidBodyMotionConstraints
39 sixDoFRigidBodyMotionConstraint,
73 const vector& existingConstraintForce,
74 const vector& existingConstraintMoment,
76 vector& constraintPosition,
77 vector& constraintForceIncrement,
78 vector& constraintMomentIncrement
84 existingConstraintForce,
85 existingConstraintMoment,
96 vector rC = predictedPosition - refPt_;
102 constraintForceIncrement =
103 -relaxationFactor_*error*motion.
mass()/
sqr(deltaT);
107 bool converged(
mag(error) < tolerance_);
109 if (sixDoFRigidBodyMotionConstraint::debug)
111 Info<<
" error " << error
112 <<
" force " << constraintForceIncrement
113 <<
" moment " << constraintMomentIncrement;
121 Info<<
" not converged";
138 sDoFRBMCCoeffs_.lookup(
"refPoint") >> refPt_;
140 sDoFRBMCCoeffs_.lookup(
"direction") >> dir_;
142 scalar magDir(
mag(dir_));
152 "Foam::sixDoFRigidBodyMotionConstraints::fixedLine::read"
154 "const dictionary& sDoFRBMCDict"
157 <<
"line direction has zero length"