Skip to content
Snippets Groups Projects
Commit 5c4bd557 authored by Andrew Heather's avatar Andrew Heather
Browse files

ENH: wallDist - added option to evaluate every XXX steps

parent 95c74f9b
No related merge requests found
......@@ -3,7 +3,7 @@
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 2015-2016 OpenFOAM Foundation
\\/ M anipulation |
\\/ M anipulation | Copyright (C) 2016 OpenCFD Ltd.
-------------------------------------------------------------------------------
License
This file is part of OpenFOAM.
......@@ -98,7 +98,13 @@ Foam::wallDist::wallDist(const fvMesh& mesh, const word& patchTypeName)
static_cast<const fvSchemes&>(mesh).subDict(patchTypeName_ & "Dist")
.lookupOrDefault<Switch>("nRequired", false)
),
n_(volVectorField::null())
n_(volVectorField::null()),
updateInterval_
(
static_cast<const fvSchemes&>(mesh).subDict(patchTypeName_ & "Dist")
.lookupOrDefault<label>("updateInterval", 1)
),
requireUpdate_(true)
{
if (nRequired_)
{
......@@ -146,7 +152,13 @@ Foam::wallDist::wallDist
static_cast<const fvSchemes&>(mesh).subDict(patchTypeName_ & "Dist")
.lookupOrDefault<Switch>("nRequired", false)
),
n_(volVectorField::null())
n_(volVectorField::null()),
updateInterval_
(
static_cast<const fvSchemes&>(mesh).subDict(patchTypeName_ & "Dist")
.lookupOrDefault<label>("updateInterval", 1)
),
requireUpdate_(true)
{
if (nRequired_)
{
......@@ -185,8 +197,17 @@ const Foam::volVectorField& Foam::wallDist::n() const
bool Foam::wallDist::movePoints()
{
if (pdm_->movePoints())
if ((mesh_.time().timeIndex() % updateInterval_) == 0)
{
requireUpdate_ = true;
}
if (requireUpdate_ && pdm_->movePoints())
{
DebugInfo<< "Updating wall distance" << endl;
requireUpdate_ = false;
if (nRequired_)
{
return pdm_->correct(y_, n_.ref());
......@@ -206,6 +227,7 @@ bool Foam::wallDist::movePoints()
void Foam::wallDist::updateMesh(const mapPolyMesh& mpm)
{
pdm_->updateMesh(mpm);
requireUpdate_ = true;
movePoints();
}
......
......@@ -3,7 +3,7 @@
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 2015 OpenFOAM Foundation
\\/ M anipulation |
\\/ M anipulation | Copyright (C) 2016 OpenCFD Ltd.
-------------------------------------------------------------------------------
License
This file is part of OpenFOAM.
......@@ -37,6 +37,10 @@ Description
// Optional entry enabling the calculation
// of the normal-to-wall field
nRequired false;
// Optional entry delaying wall distance update to every n steps
// Default is 1 (update every step)
updateInterval 5;
}
\endverbatim
......@@ -90,6 +94,12 @@ class wallDist
//- Normal-to-wall field
mutable tmp<volVectorField> n_;
//- Update wall distance every updateInterval_ steps
const label updateInterval_;
//- Flag to indicate whether the wall distance requires updating
bool requireUpdate_;
// Private Member Functions
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment