mirror of
https://develop.openfoam.com/Development/openfoam.git
synced 2025-11-28 03:28:01 +00:00
functionObjects/fvTools/calcFvcGrad: Avoid clash with cached gradient field
Resolves bug-report http://www.openfoam.org/mantisbt/view.php?id=1828
This commit is contained in:
@ -2,7 +2,7 @@
|
|||||||
========= |
|
========= |
|
||||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
\\ / O peration |
|
\\ / O peration |
|
||||||
\\ / A nd | Copyright (C) 2012-2013 OpenFOAM Foundation
|
\\ / A nd | Copyright (C) 2012-2015 OpenFOAM Foundation
|
||||||
\\/ M anipulation |
|
\\/ M anipulation |
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
@ -26,6 +26,8 @@ License
|
|||||||
#include "fvMesh.H"
|
#include "fvMesh.H"
|
||||||
#include "fvcGrad.H"
|
#include "fvcGrad.H"
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * //
|
||||||
|
|
||||||
template<class Type>
|
template<class Type>
|
||||||
Foam::GeometricField
|
Foam::GeometricField
|
||||||
<
|
<
|
||||||
@ -35,6 +37,8 @@ Foam::GeometricField
|
|||||||
>&
|
>&
|
||||||
Foam::calcFvcGrad::gradField(const word& gradName, const dimensionSet& dims)
|
Foam::calcFvcGrad::gradField(const word& gradName, const dimensionSet& dims)
|
||||||
{
|
{
|
||||||
|
Info<< "gradField" << endl;
|
||||||
|
|
||||||
typedef typename outerProduct<vector, Type>::type gradType;
|
typedef typename outerProduct<vector, Type>::type gradType;
|
||||||
typedef GeometricField<gradType, fvPatchField, volMesh> vfGradType;
|
typedef GeometricField<gradType, fvPatchField, volMesh> vfGradType;
|
||||||
|
|
||||||
@ -73,8 +77,6 @@ Foam::calcFvcGrad::gradField(const word& gradName, const dimensionSet& dims)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
template<class Type>
|
template<class Type>
|
||||||
void Foam::calcFvcGrad::calcGrad
|
void Foam::calcFvcGrad::calcGrad
|
||||||
(
|
(
|
||||||
@ -98,7 +100,8 @@ void Foam::calcFvcGrad::calcGrad
|
|||||||
|
|
||||||
vfGradType& field = gradField<Type>(resultName, vf.dimensions());
|
vfGradType& field = gradField<Type>(resultName, vf.dimensions());
|
||||||
|
|
||||||
field = fvc::grad(vf);
|
// De-reference the tmp to avoid a clash with the cached grad field
|
||||||
|
field = fvc::grad(vf)();
|
||||||
|
|
||||||
processed = true;
|
processed = true;
|
||||||
}
|
}
|
||||||
@ -108,7 +111,8 @@ void Foam::calcFvcGrad::calcGrad
|
|||||||
|
|
||||||
vfGradType& field = gradField<Type>(resultName, sf.dimensions());
|
vfGradType& field = gradField<Type>(resultName, sf.dimensions());
|
||||||
|
|
||||||
field = fvc::grad(sf);
|
// De-reference the tmp to avoid a clash with the cached grad field
|
||||||
|
field = fvc::grad(sf)();
|
||||||
|
|
||||||
processed = true;
|
processed = true;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user