Merge branch 'master' of /home/dm4/OpenFOAM/OpenFOAM-dev

This commit is contained in:
andy 2012-02-01 17:32:17 +00:00
commit 4cd343ecee
3 changed files with 51 additions and 7 deletions

View File

@ -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) 2012 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@ -82,6 +82,40 @@ void Foam::fvMesh::clearGeomNotOldVol()
}
void Foam::fvMesh::updateGeomNotOldVol()
{
bool haveV = (VPtr_ != NULL);
bool haveSf = (SfPtr_ != NULL);
bool haveMagSf = (magSfPtr_ != NULL);
bool haveCP = (CPtr_ != NULL);
bool haveCf = (CfPtr_ != NULL);
clearGeomNotOldVol();
// Now recreate the fields
if (haveV)
{
(void)V();
}
if (haveSf)
{
(void)Sf();
}
if (haveMagSf)
{
(void)magSf();
}
if (haveCP)
{
(void)C();
}
if (haveCf)
{
(void)Cf();
}
}
void Foam::fvMesh::clearGeom()
{
clearGeomNotOldVol();
@ -562,10 +596,6 @@ Foam::tmp<Foam::scalarField> Foam::fvMesh::movePoints(const pointField& p)
}
// delete out of date geometrical information
clearGeomNotOldVol();
if (!phiPtr_)
{
// Create mesh motion flux
@ -612,6 +642,16 @@ Foam::tmp<Foam::scalarField> Foam::fvMesh::movePoints(const pointField& p)
phi.boundaryField()[patchI] *= rDeltaT;
}
// Update or delete the local geometric properties as early as possible so
// they can be used if necessary. These get recreated here instead of
// demand driven since they might do parallel transfers which can conflict
// with when they're actually being used.
// Note that between above "polyMesh::movePoints(p)" and here nothing
// should use the local geometric properties.
updateGeomNotOldVol();
// Update other local data
boundary_.movePoints();
surfaceInterpolation::movePoints();

View File

@ -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) 2012 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@ -133,6 +133,10 @@ class fvMesh
//- Clear geometry but not the old-time cell volumes
void clearGeomNotOldVol();
//- Clear geometry like clearGeomNotOldVol but recreate any
// geometric demand-driven data that was set
void updateGeomNotOldVol();
//- Clear geometry
void clearGeom();

View File

@ -57,7 +57,7 @@ functions
outputControl outputTime;
// outputInterval 10;
setFormat vtk; //gnuplot; //xmgr; //raw; //jplot;
setFormat vtk; //gnuplot, raw etc. See sampleDict.
// Velocity field to use for tracking.
UName U;