From c0b236ec0ee4d53a72785147942e7c7b77cea24b Mon Sep 17 00:00:00 2001
From: graham <g.macpherson@opencfd.co.uk>
Date: Fri, 5 Feb 2010 17:07:41 +0000
Subject: [PATCH] ENH: sixDoFRigidBodyMotion.  Adding constraint and restraint
 names wordLists.

BUG: sixDoFRigidBodyMotion.  Fixing naming of maxConstraintIterations_
inconsistency.
---
 .../sixDoFRigidBodyMotion.C                   | 36 +++++++++++++++----
 .../sixDoFRigidBodyMotion.H                   | 12 +++++++
 .../newSixDoFRigidBodyMotionConstraint.C      |  4 +--
 .../sixDoFRigidBodyMotionI.H                  | 13 +++++++
 .../sixDoFRigidBodyMotionIO.C                 |  2 +-
 .../newSixDoFRigidBodyMotionRestraint.C       |  4 +--
 6 files changed, 59 insertions(+), 12 deletions(-)

diff --git a/src/postProcessing/functionObjects/forces/pointPatchFields/derived/sixDoFRigidBodyMotion/sixDoFRigidBodyMotion.C b/src/postProcessing/functionObjects/forces/pointPatchFields/derived/sixDoFRigidBodyMotion/sixDoFRigidBodyMotion.C
index 8284a3ec7c4..ba6791e9ce1 100644
--- a/src/postProcessing/functionObjects/forces/pointPatchFields/derived/sixDoFRigidBodyMotion/sixDoFRigidBodyMotion.C
+++ b/src/postProcessing/functionObjects/forces/pointPatchFields/derived/sixDoFRigidBodyMotion/sixDoFRigidBodyMotion.C
@@ -155,7 +155,9 @@ Foam::sixDoFRigidBodyMotion::sixDoFRigidBodyMotion()
 :
     motionState_(),
     restraints_(),
+    restraintNames_(),
     constraints_(),
+    constraintNames_(),
     maxConstraintIterations_(0),
     refCentreOfMass_(vector::zero),
     momentOfInertia_(diagTensor::one*VSMALL),
@@ -188,7 +190,9 @@ Foam::sixDoFRigidBodyMotion::sixDoFRigidBodyMotion
         tau
     ),
     restraints_(),
+    restraintNames_(),
     constraints_(),
+    constraintNames_(),
     maxConstraintIterations_(0),
     refCentreOfMass_(refCentreOfMass),
     momentOfInertia_(momentOfInertia),
@@ -201,7 +205,9 @@ Foam::sixDoFRigidBodyMotion::sixDoFRigidBodyMotion(const dictionary& dict)
 :
     motionState_(dict),
     restraints_(),
+    restraintNames_(),
     constraints_(),
+    constraintNames_(),
     maxConstraintIterations_(0),
     refCentreOfMass_(dict.lookupOrDefault("refCentreOfMass", centreOfMass())),
     momentOfInertia_(dict.lookup("momentOfInertia")),
@@ -221,7 +227,9 @@ Foam::sixDoFRigidBodyMotion::sixDoFRigidBodyMotion
 :
     motionState_(sDoFRBM.motionState()),
     restraints_(sDoFRBM.restraints()),
+    restraintNames_(sDoFRBM.restraintNames()),
     constraints_(sDoFRBM.constraints()),
+    constraintNames_(sDoFRBM.constraintNames()),
     maxConstraintIterations_(sDoFRBM.maxConstraintIterations()),
     refCentreOfMass_(sDoFRBM.refCentreOfMass()),
     momentOfInertia_(sDoFRBM.momentOfInertia()),
@@ -251,23 +259,29 @@ void Foam::sixDoFRigidBodyMotion::addRestraints
 
         restraints_.setSize(restraintDict.size());
 
+        restraintNames_.setSize(restraintDict.size());
+
         forAllConstIter(IDLList<entry>, restraintDict, iter)
         {
             if (iter().isDict())
             {
-                Info<< "Adding restraint: " << iter().keyword() << endl;
+                // Info<< "Adding restraint: " << iter().keyword() << endl;
 
                 restraints_.set
                 (
                     i,
                     sixDoFRigidBodyMotionRestraint::New(iter().dict())
                 );
-            }
 
-            i++;
+                restraintNames_[i] = iter().keyword();
+
+                i++;
+            }
         }
 
         restraints_.setSize(i);
+
+        restraintNames_.setSize(i);
     }
 }
 
@@ -285,25 +299,33 @@ void Foam::sixDoFRigidBodyMotion::addConstraints
 
         constraints_.setSize(constraintDict.size());
 
+        constraintNames_.setSize(constraintDict.size());
+
         forAllConstIter(IDLList<entry>, constraintDict, iter)
         {
             if (iter().isDict())
             {
-                Info<< "Adding constraint: " << iter().keyword() << endl;
+                // Info<< "Adding constraint: " << iter().keyword() << endl;
 
                 constraints_.set
                 (
-                    i++,
+                    i,
                     sixDoFRigidBodyMotionConstraint::New(iter().dict())
                 );
+
+                constraintNames_[i] = iter().keyword();
+
+                i++;
             }
         }
 
         constraints_.setSize(i);
 
-        if (constraints_.size())
+        constraintNames_.setSize(i);
+
+        if (!constraints_.empty())
         {
-            maxConstraintIters_ = readLabel
+            maxConstraintIterations_ = readLabel
             (
                 constraintDict.lookup("maxIterations")
             );
diff --git a/src/postProcessing/functionObjects/forces/pointPatchFields/derived/sixDoFRigidBodyMotion/sixDoFRigidBodyMotion.H b/src/postProcessing/functionObjects/forces/pointPatchFields/derived/sixDoFRigidBodyMotion/sixDoFRigidBodyMotion.H
index a0fa128bbbd..70107dc19cc 100644
--- a/src/postProcessing/functionObjects/forces/pointPatchFields/derived/sixDoFRigidBodyMotion/sixDoFRigidBodyMotion.H
+++ b/src/postProcessing/functionObjects/forces/pointPatchFields/derived/sixDoFRigidBodyMotion/sixDoFRigidBodyMotion.H
@@ -91,9 +91,15 @@ class sixDoFRigidBodyMotion
         //- Restraints on the motion
         PtrList<sixDoFRigidBodyMotionRestraint> restraints_;
 
+        //- Names of the restraints
+        wordList restraintNames_;
+
         //- Constaints on the motion
         PtrList<sixDoFRigidBodyMotionConstraint> constraints_;
 
+        //- Names of the constraints
+        wordList constraintNames_;
+
         //- Maximum number of iterations allowed to attempt to obey
         //  constraints
         label maxConstraintIterations_;
@@ -146,10 +152,16 @@ class sixDoFRigidBodyMotion
             inline const PtrList<sixDoFRigidBodyMotionRestraint>&
                 restraints() const;
 
+            //- Return access to the restraintNames
+            inline const wordList& restraintNames() const;
+
             //- Return access to the constraints
             inline const PtrList<sixDoFRigidBodyMotionConstraint>&
                 constraints() const;
 
+            //- Return access to the constraintNames
+            inline const wordList& constraintNames() const;
+
             //- Return access to the maximum allowed number of
             //  constraint iterations
             inline label maxConstraintIterations() const;
diff --git a/src/postProcessing/functionObjects/forces/pointPatchFields/derived/sixDoFRigidBodyMotion/sixDoFRigidBodyMotionConstraint/sixDoFRigidBodyMotionConstraint/newSixDoFRigidBodyMotionConstraint.C b/src/postProcessing/functionObjects/forces/pointPatchFields/derived/sixDoFRigidBodyMotion/sixDoFRigidBodyMotionConstraint/sixDoFRigidBodyMotionConstraint/newSixDoFRigidBodyMotionConstraint.C
index 890a83b2c0b..e8a9d047f43 100644
--- a/src/postProcessing/functionObjects/forces/pointPatchFields/derived/sixDoFRigidBodyMotion/sixDoFRigidBodyMotionConstraint/sixDoFRigidBodyMotionConstraint/newSixDoFRigidBodyMotionConstraint.C
+++ b/src/postProcessing/functionObjects/forces/pointPatchFields/derived/sixDoFRigidBodyMotion/sixDoFRigidBodyMotionConstraint/sixDoFRigidBodyMotionConstraint/newSixDoFRigidBodyMotionConstraint.C
@@ -34,8 +34,8 @@ Foam::sixDoFRigidBodyMotionConstraint::New(const dictionary& sDoFRBMCDict)
     word sixDoFRigidBodyMotionConstraintTypeName =
         sDoFRBMCDict.lookup("sixDoFRigidBodyMotionConstraint");
 
-    Info<< "Selecting sixDoFRigidBodyMotionConstraint function "
-        << sixDoFRigidBodyMotionConstraintTypeName << endl;
+    // Info<< "Selecting sixDoFRigidBodyMotionConstraint function "
+    //     << sixDoFRigidBodyMotionConstraintTypeName << endl;
 
     dictionaryConstructorTable::iterator cstrIter =
     dictionaryConstructorTablePtr_->find
diff --git a/src/postProcessing/functionObjects/forces/pointPatchFields/derived/sixDoFRigidBodyMotion/sixDoFRigidBodyMotionI.H b/src/postProcessing/functionObjects/forces/pointPatchFields/derived/sixDoFRigidBodyMotion/sixDoFRigidBodyMotionI.H
index 6835f4646e6..4dea5d4688a 100644
--- a/src/postProcessing/functionObjects/forces/pointPatchFields/derived/sixDoFRigidBodyMotion/sixDoFRigidBodyMotionI.H
+++ b/src/postProcessing/functionObjects/forces/pointPatchFields/derived/sixDoFRigidBodyMotion/sixDoFRigidBodyMotionI.H
@@ -107,6 +107,12 @@ Foam::sixDoFRigidBodyMotion::restraints() const
 }
 
 
+inline const Foam::wordList& Foam::sixDoFRigidBodyMotion::restraintNames() const
+{
+    return restraintNames_;
+}
+
+
 inline const Foam::PtrList<Foam::sixDoFRigidBodyMotionConstraint>&
 Foam::sixDoFRigidBodyMotion::constraints() const
 {
@@ -114,6 +120,13 @@ Foam::sixDoFRigidBodyMotion::constraints() const
 }
 
 
+inline const Foam::wordList&
+Foam::sixDoFRigidBodyMotion::constraintNames() const
+{
+    return constraintNames_;
+}
+
+
 inline Foam::label Foam::sixDoFRigidBodyMotion::maxConstraintIterations() const
 {
     return maxConstraintIterations_;
diff --git a/src/postProcessing/functionObjects/forces/pointPatchFields/derived/sixDoFRigidBodyMotion/sixDoFRigidBodyMotionIO.C b/src/postProcessing/functionObjects/forces/pointPatchFields/derived/sixDoFRigidBodyMotion/sixDoFRigidBodyMotionIO.C
index 55245c3bfe5..e8d1b187a0b 100644
--- a/src/postProcessing/functionObjects/forces/pointPatchFields/derived/sixDoFRigidBodyMotion/sixDoFRigidBodyMotionIO.C
+++ b/src/postProcessing/functionObjects/forces/pointPatchFields/derived/sixDoFRigidBodyMotion/sixDoFRigidBodyMotionIO.C
@@ -69,7 +69,7 @@ void Foam::sixDoFRigidBodyMotion::write(Ostream& os) const
     {
         dictionary constraintsDict;
 
-        constraintsDict.add("maxIterations", maxConstraintIters_);
+        constraintsDict.add("maxIterations", maxConstraintIterations_);
 
         forAll(constraints_, rI)
         {
diff --git a/src/postProcessing/functionObjects/forces/pointPatchFields/derived/sixDoFRigidBodyMotion/sixDoFRigidBodyMotionRestraint/sixDoFRigidBodyMotionRestraint/newSixDoFRigidBodyMotionRestraint.C b/src/postProcessing/functionObjects/forces/pointPatchFields/derived/sixDoFRigidBodyMotion/sixDoFRigidBodyMotionRestraint/sixDoFRigidBodyMotionRestraint/newSixDoFRigidBodyMotionRestraint.C
index 7fee5eb84e2..32b1bc1e830 100644
--- a/src/postProcessing/functionObjects/forces/pointPatchFields/derived/sixDoFRigidBodyMotion/sixDoFRigidBodyMotionRestraint/sixDoFRigidBodyMotionRestraint/newSixDoFRigidBodyMotionRestraint.C
+++ b/src/postProcessing/functionObjects/forces/pointPatchFields/derived/sixDoFRigidBodyMotion/sixDoFRigidBodyMotionRestraint/sixDoFRigidBodyMotionRestraint/newSixDoFRigidBodyMotionRestraint.C
@@ -34,8 +34,8 @@ Foam::sixDoFRigidBodyMotionRestraint::New(const dictionary& sDoFRBMRDict)
     word sixDoFRigidBodyMotionRestraintTypeName =
         sDoFRBMRDict.lookup("sixDoFRigidBodyMotionRestraint");
 
-    Info<< "Selecting sixDoFRigidBodyMotionRestraint function "
-        << sixDoFRigidBodyMotionRestraintTypeName << endl;
+    // Info<< "Selecting sixDoFRigidBodyMotionRestraint function "
+    //     << sixDoFRigidBodyMotionRestraintTypeName << endl;
 
     dictionaryConstructorTable::iterator cstrIter =
     dictionaryConstructorTablePtr_->find
-- 
GitLab