From 376912eff2e820418c86535bfdfc5ea872874d25 Mon Sep 17 00:00:00 2001
From: sergio <sergio>
Date: Tue, 14 Feb 2017 08:30:53 -0800
Subject: [PATCH] ENH: adding runTime selectable wallDist calculation to
 inverseDistanceDiffusivity

---
 .../inverseDistanceDiffusivity.C              | 45 +++++--------------
 .../inverseDistanceDiffusivity.H              |  4 +-
 2 files changed, 12 insertions(+), 37 deletions(-)

diff --git a/src/fvMotionSolver/motionDiffusivity/inverseDistance/inverseDistanceDiffusivity.C b/src/fvMotionSolver/motionDiffusivity/inverseDistance/inverseDistanceDiffusivity.C
index 273e91e5dec..d628d09563d 100644
--- a/src/fvMotionSolver/motionDiffusivity/inverseDistance/inverseDistanceDiffusivity.C
+++ b/src/fvMotionSolver/motionDiffusivity/inverseDistance/inverseDistanceDiffusivity.C
@@ -3,7 +3,7 @@
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
     \\  /    A nd           | Copyright (C) 2011-2016 OpenFOAM Foundation
-     \\/     M anipulation  |
+     \\/     M anipulation  | Copyright (C) 2017 OpenCFD Ltd.
 -------------------------------------------------------------------------------
 License
     This file is part of OpenFOAM.
@@ -29,6 +29,7 @@ License
 #include "HashSet.H"
 #include "surfaceInterpolate.H"
 #include "zeroGradientFvPatchFields.H"
+#include "wallDist.H"
 
 // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
 
@@ -68,42 +69,18 @@ Foam::inverseDistanceDiffusivity::~inverseDistanceDiffusivity()
 
 // * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
 
-Foam::tmp<Foam::scalarField> Foam::inverseDistanceDiffusivity::y() const
-{
-    labelHashSet patchSet(mesh().boundaryMesh().patchSet(patchNames_));
-
-    if (patchSet.size())
-    {
-        return tmp<scalarField>
-        (
-            new scalarField(patchWave(mesh(), patchSet, false).distance())
-        );
-    }
-    else
-    {
-        return tmp<scalarField>(new scalarField(mesh().nCells(), 1.0));
-    }
-}
-
-
 void Foam::inverseDistanceDiffusivity::correct()
 {
-    volScalarField y_
-    (
-        IOobject
+    faceDiffusivity_ =
+        1.0
+       /fvc::interpolate
         (
-            "y",
-            mesh().time().timeName(),
-            mesh()
-        ),
-        mesh(),
-        dimless,
-        zeroGradientFvPatchScalarField::typeName
-    );
-    y_.primitiveFieldRef() = y();
-    y_.correctBoundaryConditions();
-
-    faceDiffusivity_ = 1.0/fvc::interpolate(y_);
+            wallDist::New
+            (
+                mesh(),
+                mesh().boundaryMesh().patchSet(patchNames_)
+            ).y()
+        );
 }
 
 
diff --git a/src/fvMotionSolver/motionDiffusivity/inverseDistance/inverseDistanceDiffusivity.H b/src/fvMotionSolver/motionDiffusivity/inverseDistance/inverseDistanceDiffusivity.H
index e5f6f3c9a56..05e5439479a 100644
--- a/src/fvMotionSolver/motionDiffusivity/inverseDistance/inverseDistanceDiffusivity.H
+++ b/src/fvMotionSolver/motionDiffusivity/inverseDistance/inverseDistanceDiffusivity.H
@@ -3,7 +3,7 @@
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
     \\  /    A nd           | Copyright (C) 2011-2012 OpenFOAM Foundation
-     \\/     M anipulation  |
+     \\/     M anipulation  | Copyright (C) 2017 OpenCFD Ltd.
 -------------------------------------------------------------------------------
 License
     This file is part of OpenFOAM.
@@ -60,8 +60,6 @@ class inverseDistanceDiffusivity
 
     // Private Member Functions
 
-        //- Return patch-cell-centre distance field
-        tmp<scalarField> y() const;
 
         //- Disallow default bitwise copy construct
         inverseDistanceDiffusivity(const inverseDistanceDiffusivity&);
-- 
GitLab