diff --git a/src/postProcessing/functionObjects/forces/pointPatchFields/derived/sixDoFRigidBodyDisplacement/sixDoFRigidBodyDisplacementPointPatchVectorField.C b/src/postProcessing/functionObjects/forces/pointPatchFields/derived/sixDoFRigidBodyDisplacement/sixDoFRigidBodyDisplacementPointPatchVectorField.C index dce038946613cedb60e48670de6598b287402774..a9d95a7396899718a7aac37947a0cacea57d63a3 100644 --- a/src/postProcessing/functionObjects/forces/pointPatchFields/derived/sixDoFRigidBodyDisplacement/sixDoFRigidBodyDisplacementPointPatchVectorField.C +++ b/src/postProcessing/functionObjects/forces/pointPatchFields/derived/sixDoFRigidBodyDisplacement/sixDoFRigidBodyDisplacementPointPatchVectorField.C @@ -114,6 +114,32 @@ sixDoFRigidBodyDisplacementPointPatchVectorField // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // +void sixDoFRigidBodyDisplacementPointPatchVectorField::autoMap +( + const pointPatchFieldMapper& m +) +{ + fixedValuePointPatchField<vector>::autoMap(m); + + p0_.autoMap(m); +} + + +void sixDoFRigidBodyDisplacementPointPatchVectorField::rmap +( + const pointPatchField<vector>& ptf, + const labelList& addr +) +{ + const sixDoFRigidBodyDisplacementPointPatchVectorField& sDoFptf = + refCast<const sixDoFRigidBodyDisplacementPointPatchVectorField>(ptf); + + fixedValuePointPatchField<vector>::rmap(sDoFptf, addr); + + p0_.rmap(sDoFptf.p0_, addr); +} + + void sixDoFRigidBodyDisplacementPointPatchVectorField::updateCoeffs() { if (this->updated()) @@ -160,26 +186,6 @@ void sixDoFRigidBodyDisplacementPointPatchVectorField::updateCoeffs() t.deltaTValue() ); - // ---------------------------------------- - // vector rotationAxis(0, 1, 0); - - // vector torque - // ( - // ( - // (fm.second().first() + fm.second().second()) - // & rotationAxis - // ) - // *rotationAxis - // ); - - // motion_.updateForce - // ( - // vector::zero, // Force no centre of mass motion - // torque, // Only rotation allowed around the unit rotationAxis - // t.deltaTValue() - // ); - // ---------------------------------------- - Field<vector>::operator=(motion_.currentPosition(p0_) - p0_); fixedValuePointPatchField<vector>::updateCoeffs(); diff --git a/src/postProcessing/functionObjects/forces/pointPatchFields/derived/sixDoFRigidBodyDisplacement/sixDoFRigidBodyDisplacementPointPatchVectorField.H b/src/postProcessing/functionObjects/forces/pointPatchFields/derived/sixDoFRigidBodyDisplacement/sixDoFRigidBodyDisplacementPointPatchVectorField.H index 048fa9f14be951585bc97b611e4d41674daf4009..4cfa63becc1cf2d51507479f391b9b0b4efd2ce2 100644 --- a/src/postProcessing/functionObjects/forces/pointPatchFields/derived/sixDoFRigidBodyDisplacement/sixDoFRigidBodyDisplacementPointPatchVectorField.H +++ b/src/postProcessing/functionObjects/forces/pointPatchFields/derived/sixDoFRigidBodyDisplacement/sixDoFRigidBodyDisplacementPointPatchVectorField.H @@ -135,6 +135,22 @@ public: // Member functions + // Mapping functions + + //- Map (and resize as needed) from self given a mapping object + virtual void autoMap + ( + const pointPatchFieldMapper& + ); + + //- Reverse map the given pointPatchField onto this pointPatchField + virtual void rmap + ( + const pointPatchField<vector>&, + const labelList& + ); + + // Evaluation functions //- Update the coefficients associated with the patch field diff --git a/src/postProcessing/functionObjects/forces/pointPatchFields/derived/sixDoFRigidBodyMotion/sixDoFRigidBodyMotion.C b/src/postProcessing/functionObjects/forces/pointPatchFields/derived/sixDoFRigidBodyMotion/sixDoFRigidBodyMotion.C index b0775db67e7306306d86fa6ac3f05f9af8f050f8..8284a3ec7c4a0e91ffb0a6971bdc59f50e4888cb 100644 --- a/src/postProcessing/functionObjects/forces/pointPatchFields/derived/sixDoFRigidBodyMotion/sixDoFRigidBodyMotion.C +++ b/src/postProcessing/functionObjects/forces/pointPatchFields/derived/sixDoFRigidBodyMotion/sixDoFRigidBodyMotion.C @@ -30,7 +30,7 @@ License void Foam::sixDoFRigidBodyMotion::applyRestraints() { - if (restraints_.size() == 0) + if (restraints_.empty()) { return; } @@ -62,14 +62,14 @@ void Foam::sixDoFRigidBodyMotion::applyRestraints() void Foam::sixDoFRigidBodyMotion::applyConstraints(scalar deltaT) { - if (constraints_.size() == 0) + if (constraints_.empty()) { return; } if (Pstream::master()) { - label iter = 0; + label iteration = 0; bool allConverged = true; @@ -114,9 +114,9 @@ void Foam::sixDoFRigidBodyMotion::applyConstraints(scalar deltaT) cMA += cM + ((cP - centreOfMass()) ^ cF); } - } while(++iter < maxConstraintIters_ && !allConverged); + } while(++iteration < maxConstraintIterations_ && !allConverged); - if (iter >= maxConstraintIters_) + if (iteration >= maxConstraintIterations_) { FatalErrorIn ( @@ -124,13 +124,15 @@ void Foam::sixDoFRigidBodyMotion::applyConstraints(scalar deltaT) "(scalar deltaT)" ) << nl << "Maximum number of sixDoFRigidBodyMotion constraint " - << "iterations (" << maxConstraintIters_ << ") exceeded." << nl + << "iterations (" + << maxConstraintIterations_ + << ") exceeded." << nl << exit(FatalError); } else if (report_) { Info<< "sixDoFRigidBodyMotion constraints converged in " - << iter << " iterations" + << iteration << " iterations" << nl << "Constraint force: " << cFA << nl << "Constraint moment: " << cMA << endl; @@ -154,7 +156,7 @@ Foam::sixDoFRigidBodyMotion::sixDoFRigidBodyMotion() motionState_(), restraints_(), constraints_(), - maxConstraintIters_(0), + maxConstraintIterations_(0), refCentreOfMass_(vector::zero), momentOfInertia_(diagTensor::one*VSMALL), mass_(VSMALL), @@ -187,7 +189,7 @@ Foam::sixDoFRigidBodyMotion::sixDoFRigidBodyMotion ), restraints_(), constraints_(), - maxConstraintIters_(0), + maxConstraintIterations_(0), refCentreOfMass_(refCentreOfMass), momentOfInertia_(momentOfInertia), mass_(mass), @@ -200,7 +202,7 @@ Foam::sixDoFRigidBodyMotion::sixDoFRigidBodyMotion(const dictionary& dict) motionState_(dict), restraints_(), constraints_(), - maxConstraintIters_(0), + maxConstraintIterations_(0), refCentreOfMass_(dict.lookupOrDefault("refCentreOfMass", centreOfMass())), momentOfInertia_(dict.lookup("momentOfInertia")), mass_(readScalar(dict.lookup("mass"))), @@ -220,7 +222,7 @@ Foam::sixDoFRigidBodyMotion::sixDoFRigidBodyMotion motionState_(sDoFRBM.motionState()), restraints_(sDoFRBM.restraints()), constraints_(sDoFRBM.constraints()), - maxConstraintIters_(sDoFRBM.maxConstraintIters()), + maxConstraintIterations_(sDoFRBM.maxConstraintIterations()), refCentreOfMass_(sDoFRBM.refCentreOfMass()), momentOfInertia_(sDoFRBM.momentOfInertia()), mass_(sDoFRBM.mass()), diff --git a/src/postProcessing/functionObjects/forces/pointPatchFields/derived/sixDoFRigidBodyMotion/sixDoFRigidBodyMotion.H b/src/postProcessing/functionObjects/forces/pointPatchFields/derived/sixDoFRigidBodyMotion/sixDoFRigidBodyMotion.H index ecde4ac6d7b58711eabda9a87ffe92f140b850eb..a0fa128bbbd2550e1b56f602bf05e22bb2324bb1 100644 --- a/src/postProcessing/functionObjects/forces/pointPatchFields/derived/sixDoFRigidBodyMotion/sixDoFRigidBodyMotion.H +++ b/src/postProcessing/functionObjects/forces/pointPatchFields/derived/sixDoFRigidBodyMotion/sixDoFRigidBodyMotion.H @@ -96,7 +96,7 @@ class sixDoFRigidBodyMotion //- Maximum number of iterations allowed to attempt to obey // constraints - label maxConstraintIters_; + label maxConstraintIterations_; //- Centre of mass of reference state point refCentreOfMass_; @@ -152,7 +152,7 @@ class sixDoFRigidBodyMotion //- Return access to the maximum allowed number of // constraint iterations - inline label maxConstraintIters() const; + inline label maxConstraintIterations() const; //- Return access to the centre of mass inline const point& refCentreOfMass() const; diff --git a/src/postProcessing/functionObjects/forces/pointPatchFields/derived/sixDoFRigidBodyMotion/sixDoFRigidBodyMotionI.H b/src/postProcessing/functionObjects/forces/pointPatchFields/derived/sixDoFRigidBodyMotion/sixDoFRigidBodyMotionI.H index f112ef42ef0104a0fc83c3165fc6b82b6327b903..6835f4646e693dde6aed46865a01ffcfd7b24f61 100644 --- a/src/postProcessing/functionObjects/forces/pointPatchFields/derived/sixDoFRigidBodyMotion/sixDoFRigidBodyMotionI.H +++ b/src/postProcessing/functionObjects/forces/pointPatchFields/derived/sixDoFRigidBodyMotion/sixDoFRigidBodyMotionI.H @@ -114,9 +114,9 @@ Foam::sixDoFRigidBodyMotion::constraints() const } -inline Foam::label Foam::sixDoFRigidBodyMotion::maxConstraintIters() const +inline Foam::label Foam::sixDoFRigidBodyMotion::maxConstraintIterations() const { - return maxConstraintIters_; + return maxConstraintIterations_; }