Go to the documentation of this file.
39 #define declareFvmLaplacianScalarGamma(Type) \
42 Foam::tmp<Foam::fvMatrix<Foam::Type> > \
43 Foam::fv::gaussLaplacianScheme<Foam::Type, Foam::scalar>::fvmLaplacian \
45 const GeometricField<scalar, fvsPatchField, surfaceMesh>& gamma, \
46 GeometricField<Type, fvPatchField, volMesh>& vf \
49 const fvMesh& mesh = this->mesh(); \
51 GeometricField<scalar, fvsPatchField, surfaceMesh> gammaMagSf \
56 tmp<fvMatrix<Type> > tfvm = fvmLaplacianUncorrected(gammaMagSf, vf); \
57 fvMatrix<Type>& fvm = tfvm(); \
59 if (this->tsnGradScheme_().corrected()) \
61 if (mesh.fluxRequired(vf.name())) \
63 fvm.faceFluxCorrectionPtr() = new \
64 GeometricField<Type, fvsPatchField, surfaceMesh> \
66 gammaMagSf*this->tsnGradScheme_().correction(vf) \
73 *fvm.faceFluxCorrectionPtr() \
74 )().internalField(); \
82 gammaMagSf*this->tsnGradScheme_().correction(vf) \
83 )().internalField(); \
92 Foam::tmp<Foam::GeometricField<Foam::Type, Foam::fvPatchField, Foam::volMesh> >\
93 Foam::fv::gaussLaplacianScheme<Foam::Type, Foam::scalar>::fvcLaplacian \
95 const GeometricField<scalar, fvsPatchField, surfaceMesh>& gamma, \
96 const GeometricField<Type, fvPatchField, volMesh>& vf \
99 const fvMesh& mesh = this->mesh(); \
101 tmp<GeometricField<Type, fvPatchField, volMesh> > tLaplacian \
103 fvc::div(gamma*this->tsnGradScheme_().snGrad(vf)*mesh.magSf()) \
106 tLaplacian().rename("laplacian(" + gamma.name() + ',' + vf.name() + ')');\