From 0fc33b2eda6c25ee308390d9e43a56b76863df4f Mon Sep 17 00:00:00 2001
From: Henry <Henry>
Date: Wed, 30 Jul 2014 12:37:01 +0100
Subject: [PATCH] fvPatches: Updated handling for delta() on coupled patches

---
 .../fvPatches/basic/coupled/coupledFvPatch.C  | 24 ++++++-------
 .../constraint/cyclic/cyclicFvPatch.C         | 12 +++----
 .../constraint/cyclicACMI/cyclicACMIFvPatch.C | 13 +++----
 .../constraint/cyclicAMI/cyclicAMIFvPatch.C   | 15 ++++----
 .../constraint/processor/processorFvPatch.C   | 35 ++++++++-----------
 .../fvMesh/fvPatches/fvPatch/fvPatch.C        |  3 +-
 6 files changed, 48 insertions(+), 54 deletions(-)

diff --git a/src/finiteVolume/fvMesh/fvPatches/basic/coupled/coupledFvPatch.C b/src/finiteVolume/fvMesh/fvPatches/basic/coupled/coupledFvPatch.C
index cfefade9fa9..bc434e21a8d 100644
--- a/src/finiteVolume/fvMesh/fvPatches/basic/coupled/coupledFvPatch.C
+++ b/src/finiteVolume/fvMesh/fvPatches/basic/coupled/coupledFvPatch.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -21,32 +21,30 @@ License
     You should have received a copy of the GNU General Public License
     along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
 
-Description
-    coupledFvPatch is an abstract base class for patches that couple regions
-    of the computational domain e.g. cyclic and processor-processor links.
-
 \*---------------------------------------------------------------------------*/
 
 #include "coupledFvPatch.H"
 
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
 
 namespace Foam
 {
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-defineTypeNameAndDebug(coupledFvPatch, 0);
+    defineTypeNameAndDebug(coupledFvPatch, 0);
+}
 
 
 // * * * * * * * * * * * * * * * * Destructor  * * * * * * * * * * * * * * * //
 
-coupledFvPatch::~coupledFvPatch()
+Foam::coupledFvPatch::~coupledFvPatch()
 {}
 
 
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+// * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
+
+Foam::tmp<Foam::vectorField> Foam::coupledFvPatch::delta() const
+{
+    return Cf() - Cn();
+}
 
-} // End namespace Foam
 
 // ************************************************************************* //
diff --git a/src/finiteVolume/fvMesh/fvPatches/constraint/cyclic/cyclicFvPatch.C b/src/finiteVolume/fvMesh/fvPatches/constraint/cyclic/cyclicFvPatch.C
index d127cf3a022..5b6ed731446 100644
--- a/src/finiteVolume/fvMesh/fvPatches/constraint/cyclic/cyclicFvPatch.C
+++ b/src/finiteVolume/fvMesh/fvPatches/constraint/cyclic/cyclicFvPatch.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -39,13 +39,12 @@ namespace Foam
 
 // * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
 
-// Make patch weighting factors
 void Foam::cyclicFvPatch::makeWeights(scalarField& w) const
 {
     const cyclicFvPatch& nbrPatch = neighbFvPatch();
 
-    const scalarField deltas(nf() & fvPatch::delta());
-    const scalarField nbrDeltas(nbrPatch.nf() & nbrPatch.fvPatch::delta());
+    const scalarField deltas(nf()&coupledFvPatch::delta());
+    const scalarField nbrDeltas(nbrPatch.nf()&nbrPatch.coupledFvPatch::delta());
 
     forAll(deltas, facei)
     {
@@ -57,11 +56,10 @@ void Foam::cyclicFvPatch::makeWeights(scalarField& w) const
 }
 
 
-// Return delta (P to N) vectors across coupled patch
 Foam::tmp<Foam::vectorField> Foam::cyclicFvPatch::delta() const
 {
-    const vectorField patchD(fvPatch::delta());
-    const vectorField nbrPatchD(neighbFvPatch().fvPatch::delta());
+    const vectorField patchD(coupledFvPatch::delta());
+    const vectorField nbrPatchD(neighbFvPatch().coupledFvPatch::delta());
 
     tmp<vectorField> tpdv(new vectorField(patchD.size()));
     vectorField& pdv = tpdv();
diff --git a/src/finiteVolume/fvMesh/fvPatches/constraint/cyclicACMI/cyclicACMIFvPatch.C b/src/finiteVolume/fvMesh/fvPatches/constraint/cyclicACMI/cyclicACMIFvPatch.C
index fe674cf98e3..b87157e3433 100644
--- a/src/finiteVolume/fvMesh/fvPatches/constraint/cyclicACMI/cyclicACMIFvPatch.C
+++ b/src/finiteVolume/fvMesh/fvPatches/constraint/cyclicACMI/cyclicACMIFvPatch.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2013-2014 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -36,6 +36,7 @@ namespace Foam
     addToRunTimeSelectionTable(fvPatch, cyclicACMIFvPatch, polyPatch);
 }
 
+
 // * * * * * * * * * * * * * Protected Member Functions  * * * * * * * * * * //
 
 void Foam::cyclicACMIFvPatch::updateAreas() const
@@ -82,13 +83,13 @@ void Foam::cyclicACMIFvPatch::makeWeights(scalarField& w) const
         const cyclicACMIFvPatch& nbrPatch = neighbFvPatch();
         const fvPatch& nbrPatchNonOverlap = nonOverlapPatch();
 
-        const scalarField deltas(nf() & fvPatch::delta());
+        const scalarField deltas(nf() & coupledFvPatch::delta());
 
         const scalarField nbrDeltas
         (
             interpolate
             (
-                nbrPatch.nf() & nbrPatch.fvPatch::delta(),
+                nbrPatch.nf() & nbrPatch.coupledFvPatch::delta(),
                 nbrPatchNonOverlap.nf() & nbrPatchNonOverlap.delta()
             )
         );
@@ -124,13 +125,13 @@ Foam::tmp<Foam::vectorField> Foam::cyclicACMIFvPatch::delta() const
         const cyclicACMIFvPatch& nbrPatchCoupled = neighbFvPatch();
         const fvPatch& nbrPatchNonOverlap = nonOverlapPatch();
 
-        const vectorField patchD(fvPatch::delta());
+        const vectorField patchD(coupledFvPatch::delta());
 
         vectorField nbrPatchD
         (
             interpolate
             (
-                nbrPatchCoupled.fvPatch::delta(),
+                nbrPatchCoupled.coupledFvPatch::delta(),
                 nbrPatchNonOverlap.delta()
             )
         );
@@ -175,7 +176,7 @@ Foam::tmp<Foam::vectorField> Foam::cyclicACMIFvPatch::delta() const
     }
     else
     {
-        return fvPatch::delta();
+        return coupledFvPatch::delta();
     }
 }
 
diff --git a/src/finiteVolume/fvMesh/fvPatches/constraint/cyclicAMI/cyclicAMIFvPatch.C b/src/finiteVolume/fvMesh/fvPatches/constraint/cyclicAMI/cyclicAMIFvPatch.C
index 584e9d77314..5d8935139df 100644
--- a/src/finiteVolume/fvMesh/fvPatches/constraint/cyclicAMI/cyclicAMIFvPatch.C
+++ b/src/finiteVolume/fvMesh/fvPatches/constraint/cyclicAMI/cyclicAMIFvPatch.C
@@ -51,7 +51,7 @@ void Foam::cyclicAMIFvPatch::makeWeights(scalarField& w) const
     {
         const cyclicAMIFvPatch& nbrPatch = neighbFvPatch();
 
-        const scalarField deltas(nf() & fvPatch::delta());
+        const scalarField deltas(nf() & coupledFvPatch::delta());
 
         tmp<scalarField> tnbrDeltas;
         if (applyLowWeightCorrection())
@@ -59,13 +59,14 @@ void Foam::cyclicAMIFvPatch::makeWeights(scalarField& w) const
             tnbrDeltas =
                 interpolate
                 (
-                    nbrPatch.nf() & nbrPatch.fvPatch::delta(),
+                    nbrPatch.nf() & nbrPatch.coupledFvPatch::delta(),
                     scalarField(this->size(), 1.0)
                 );
         }
         else
         {
-            tnbrDeltas = interpolate(nbrPatch.nf() & nbrPatch.fvPatch::delta());
+            tnbrDeltas =
+                interpolate(nbrPatch.nf() & nbrPatch.coupledFvPatch::delta());
         }
 
         const scalarField& nbrDeltas = tnbrDeltas();
@@ -92,7 +93,7 @@ Foam::tmp<Foam::vectorField> Foam::cyclicAMIFvPatch::delta() const
 
     if (coupled())
     {
-        const vectorField patchD(fvPatch::delta());
+        const vectorField patchD(coupledFvPatch::delta());
 
         tmp<vectorField> tnbrPatchD;
         if (applyLowWeightCorrection())
@@ -100,13 +101,13 @@ Foam::tmp<Foam::vectorField> Foam::cyclicAMIFvPatch::delta() const
             tnbrPatchD =
                 interpolate
                 (
-                    nbrPatch.fvPatch::delta(),
+                    nbrPatch.coupledFvPatch::delta(),
                     vectorField(this->size(), vector::zero)
                 );
         }
         else
         {
-            tnbrPatchD = interpolate(nbrPatch.fvPatch::delta());
+            tnbrPatchD = interpolate(nbrPatch.coupledFvPatch::delta());
         }
 
         const vectorField& nbrPatchD = tnbrPatchD();
@@ -140,7 +141,7 @@ Foam::tmp<Foam::vectorField> Foam::cyclicAMIFvPatch::delta() const
     }
     else
     {
-        return fvPatch::delta();
+        return coupledFvPatch::delta();
     }
 }
 
diff --git a/src/finiteVolume/fvMesh/fvPatches/constraint/processor/processorFvPatch.C b/src/finiteVolume/fvMesh/fvPatches/constraint/processor/processorFvPatch.C
index 9a2c1568a97..66f0b756fbb 100644
--- a/src/finiteVolume/fvMesh/fvPatches/constraint/processor/processorFvPatch.C
+++ b/src/finiteVolume/fvMesh/fvPatches/constraint/processor/processorFvPatch.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -27,20 +27,18 @@ License
 #include "addToRunTimeSelectionTable.H"
 #include "transformField.H"
 
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
 
 namespace Foam
 {
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-defineTypeNameAndDebug(processorFvPatch, 0);
-addToRunTimeSelectionTable(fvPatch, processorFvPatch, polyPatch);
+    defineTypeNameAndDebug(processorFvPatch, 0);
+    addToRunTimeSelectionTable(fvPatch, processorFvPatch, polyPatch);
+}
 
 
 // * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * * //
 
-void processorFvPatch::makeWeights(scalarField& w) const
+void Foam::processorFvPatch::makeWeights(scalarField& w) const
 {
     if (Pstream::parRun())
     {
@@ -56,7 +54,8 @@ void processorFvPatch::makeWeights(scalarField& w) const
             - procPolyPatch_.neighbFaceCellCentres())
         );
 
-        w = neighbFaceCentresCn/((nf()&fvPatch::delta()) + neighbFaceCentresCn);
+        w = neighbFaceCentresCn
+           /((nf()&coupledFvPatch::delta()) + neighbFaceCentresCn);
     }
     else
     {
@@ -65,7 +64,7 @@ void processorFvPatch::makeWeights(scalarField& w) const
 }
 
 
-tmp<vectorField> processorFvPatch::delta() const
+Foam::tmp<Foam::vectorField> Foam::processorFvPatch::delta() const
 {
     if (Pstream::parRun())
     {
@@ -73,7 +72,7 @@ tmp<vectorField> processorFvPatch::delta() const
         if (parallel())
         {
             return
-                fvPatch::delta()
+                coupledFvPatch::delta()
               - (
                     procPolyPatch_.neighbFaceCentres()
                   - procPolyPatch_.neighbFaceCellCentres()
@@ -82,7 +81,7 @@ tmp<vectorField> processorFvPatch::delta() const
         else
         {
             return
-                fvPatch::delta()
+                coupledFvPatch::delta()
               - transform
                 (
                     forwardT(),
@@ -95,12 +94,12 @@ tmp<vectorField> processorFvPatch::delta() const
     }
     else
     {
-        return fvPatch::delta();
+        return coupledFvPatch::delta();
     }
 }
 
 
-tmp<labelField> processorFvPatch::interfaceInternalField
+Foam::tmp<Foam::labelField> Foam::processorFvPatch::interfaceInternalField
 (
     const labelUList& internalData
 ) const
@@ -109,7 +108,7 @@ tmp<labelField> processorFvPatch::interfaceInternalField
 }
 
 
-void processorFvPatch::initInternalFieldTransfer
+void Foam::processorFvPatch::initInternalFieldTransfer
 (
     const Pstream::commsTypes commsType,
     const labelUList& iF
@@ -119,7 +118,7 @@ void processorFvPatch::initInternalFieldTransfer
 }
 
 
-tmp<labelField> processorFvPatch::internalFieldTransfer
+Foam::tmp<Foam::labelField> Foam::processorFvPatch::internalFieldTransfer
 (
     const Pstream::commsTypes commsType,
     const labelUList&
@@ -129,8 +128,4 @@ tmp<labelField> processorFvPatch::internalFieldTransfer
 }
 
 
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace Foam
-
 // ************************************************************************* //
diff --git a/src/finiteVolume/fvMesh/fvPatches/fvPatch/fvPatch.C b/src/finiteVolume/fvMesh/fvPatches/fvPatch/fvPatch.C
index e7dd41207e1..d7f1bcd39e4 100644
--- a/src/finiteVolume/fvMesh/fvPatches/fvPatch/fvPatch.C
+++ b/src/finiteVolume/fvMesh/fvPatches/fvPatch/fvPatch.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -40,6 +40,7 @@ namespace Foam
     addToRunTimeSelectionTable(fvPatch, fvPatch, polyPatch);
 }
 
+
 // * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
 
 Foam::fvPatch::fvPatch(const polyPatch& p, const fvBoundaryMesh& bm)
-- 
GitLab