27 #include "surfaceInterpolate.H" 44 template<
class Type,
class GType>
91 template<
class Type,
class GType>
107 "gammaSnGradCorr("+vf.
name()+
')',
119 for (
direction cmpt = 0; cmpt < pTraits<Type>::nComponents; cmpt++)
121 tgammaSnGradCorr.
ref().replace
128 return tgammaSnGradCorr;
134 template<
class Type,
class GType>
148 tLaplacian.
ref().rename(
"laplacian(" + vf.
name() +
')');
154 template<
class Type,
class GType>
176 this->tsnGradScheme_().deltaCoeffs(vf),
182 = gammaSnGradCorr(SfGammaCorr, vf);
184 if (this->tsnGradScheme_().corrected())
186 tfaceFluxCorrection.
ref() +=
187 SfGammaSn*this->tsnGradScheme_().correction(vf);
190 fvm.
source() -= mesh.
V()*
fvc::div(tfaceFluxCorrection())().primitiveField();
201 template<
class Type,
class GType>
223 SfGammaSn*this->tsnGradScheme_().
snGrad(vf)
224 + gammaSnGradCorr(SfGammaCorr, vf)
228 tLaplacian.
ref().rename
230 "laplacian(" + gamma.
name() +
',' + vf.
name() +
')' tmp< GeometricField< typename outerProduct< vector, Type >::type, fvPatchField, volMesh >> grad(const GeometricField< Type, fvsPatchField, surfaceMesh > &ssf)
#define forAll(list, i)
Loop across all elements in list.
const surfaceVectorField & Sf() const
Return cell face area vectors.
virtual tmp< Field< Type > > gradientBoundaryCoeffs() const
Return the matrix source coefficients corresponding to the.
virtual bool coupled() const
Return true if this patch field is coupled.
FieldField< Field, Type > & internalCoeffs()
fvBoundary scalar field containing pseudo-matrix coeffs
static tmp< fvMatrix< Type > > fvmLaplacianUncorrected(const surfaceScalarField &gammaMagSf, const surfaceScalarField &deltaCoeffs, const GeometricField< Type, fvPatchField, volMesh > &)
tmp< GeometricField< Type, fvPatchField, volMesh > > div(const GeometricField< Type, fvsPatchField, surfaceMesh > &ssf)
static tmp< GeometricField< typename innerProduct< vector, Type >::type, fvsPatchField, surfaceMesh > > dotInterpolate(const surfaceVectorField &Sf, const GeometricField< Type, fvPatchField, volMesh > &tvf)
Interpolate field onto faces.
Abstract base class with a fat-interface to all derived classes covering all possible ways in which t...
const Internal::FieldType & primitiveField() const
Return a const-reference to the internal field.
bool fluxRequired(const word &name) const
tmp< GeometricField< cmptType, PatchField, GeoMesh > > component(const direction) const
Return a component of the field.
surfaceTypeFieldPtr & faceFluxCorrectionPtr()
Return pointer to face-flux non-orthogonal correction field.
const Boundary & boundaryField() const
Return const-reference to the boundary field.
Calculate the gradient of the given field.
virtual tmp< Field< Type > > gradientInternalCoeffs() const
Return the matrix diagonal coefficients corresponding to the.
Basic second-order laplacian using face-gradients and Gauss' theorem.
FieldField< Field, Type > & boundaryCoeffs()
fvBoundary scalar field containing pseudo-matrix coeffs
const surfaceScalarField & magSf() const
Return cell face area magnitudes.
A special matrix type and solver, designed for finite volume solutions of scalar equations. Face addressing is used to make all matrix assembly and solution loops vectorise.
const dimensionSet & dimensions() const
Return dimensions.
Calculate the divergence of the given field.
T * ptr() const
Return tmp pointer for reuse.
tmp< GeometricField< Type, fvPatchField, volMesh > > fvcLaplacian(const GeometricField< Type, fvPatchField, volMesh > &)
const surfaceScalarField & deltaCoeffs() const
Return reference to cell-centre difference coefficients.
Mesh data needed to do the Finite Volume discretisation.
const DimensionedField< scalar, volMesh > & V() const
Return cell volumes.
A special matrix type and solver, designed for finite volume solutions of scalar equations.
A class for managing temporary objects.
T & ref() const
Return non-const reference or generate a fatal error.
tmp< fvMatrix< Type > > fvmLaplacian(const GeometricField< GType, fvsPatchField, surfaceMesh > &, const GeometricField< Type, fvPatchField, volMesh > &)
IOobject defines the attributes of an object for which implicit objectRegistry management is supporte...
const fileName & instance() const
An abstract base class with a fat-interface to all derived classes covering all possible ways in whic...
tmp< GeometricField< Type, fvsPatchField, surfaceMesh > > snGrad(const GeometricField< Type, fvPatchField, volMesh > &vf, const word &name)
const word & name() const
Return name.