From ad35df7f29c279fefe4e95033fbc44648d89a2ef Mon Sep 17 00:00:00 2001 From: Henry Date: Fri, 14 Dec 2012 19:20:05 +0000 Subject: [PATCH] snGrad: add initial version of sndGrad --- .../snGradSchemes/snGradScheme/snGradScheme.C | 43 +++++++++++++------ .../snGradSchemes/snGradScheme/snGradScheme.H | 8 ++++ 2 files changed, 38 insertions(+), 13 deletions(-) diff --git a/src/finiteVolume/finiteVolume/snGradSchemes/snGradScheme/snGradScheme.C b/src/finiteVolume/finiteVolume/snGradSchemes/snGradScheme/snGradScheme.C index f7e513cfff..798e056a9c 100644 --- a/src/finiteVolume/finiteVolume/snGradSchemes/snGradScheme/snGradScheme.C +++ b/src/finiteVolume/finiteVolume/snGradSchemes/snGradScheme/snGradScheme.C @@ -111,7 +111,7 @@ snGradScheme::snGrad const fvMesh& mesh = vf.mesh(); // construct GeometricField - tmp > tssf + tmp > tsf ( new GeometricField ( @@ -127,7 +127,7 @@ snGradScheme::snGrad vf.dimensions()*tdeltaCoeffs().dimensions() ) ); - GeometricField& ssf = tssf(); + GeometricField& ssf = tsf(); // set reference to difference factors array const scalarField& deltaCoeffs = tdeltaCoeffs().internalField(); @@ -136,18 +136,30 @@ snGradScheme::snGrad const labelUList& owner = mesh.owner(); const labelUList& neighbour = mesh.neighbour(); - forAll(owner, faceI) + forAll(owner, facei) { - ssf[faceI] = - deltaCoeffs[faceI]*(vf[neighbour[faceI]] - vf[owner[faceI]]); + ssf[facei] = + deltaCoeffs[facei]*(vf[neighbour[facei]] - vf[owner[facei]]); } - forAll(vf.boundaryField(), patchI) + forAll(vf.boundaryField(), patchi) { - ssf.boundaryField()[patchI] = vf.boundaryField()[patchI].snGrad(); + ssf.boundaryField()[patchi] = vf.boundaryField()[patchi].snGrad(); } - return tssf; + return tsf; +} + + +template +tmp > +snGradScheme::sndGrad +( + const GeometricField& vf, + const word& sndGradName +) +{ + return snGrad(vf, vf.mesh().nonOrthDeltaCoeffs(), sndGradName); } @@ -161,7 +173,9 @@ snGradScheme::snGrad ) const { tmp > tsf - = snGrad(vf, deltaCoeffs(vf)); + ( + snGrad(vf, deltaCoeffs(vf)) + ); if (corrected()) { @@ -181,10 +195,13 @@ snGradScheme::snGrad const tmp >& tvf ) const { - tmp > tinterpVf - = snGrad(tvf()); - tvf.clear(); - return tinterpVf; + tmp > tsf + ( + snGrad(tvf()) + ); + + tsf.clear(); + return tsf; } diff --git a/src/finiteVolume/finiteVolume/snGradSchemes/snGradScheme/snGradScheme.H b/src/finiteVolume/finiteVolume/snGradSchemes/snGradScheme/snGradScheme.H index 9003ebc775..614f185893 100644 --- a/src/finiteVolume/finiteVolume/snGradSchemes/snGradScheme/snGradScheme.H +++ b/src/finiteVolume/finiteVolume/snGradSchemes/snGradScheme/snGradScheme.H @@ -133,6 +133,14 @@ public: const word& snGradName = "snGrad" ); + //- Return the sndGrad of the given cell field + static tmp > + sndGrad + ( + const GeometricField&, + const word& snGradName = "sndGrad" + ); + //- Return the interpolation weighting factors for the given field virtual tmp deltaCoeffs (