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