29#include "surfaceInterpolate.H"
46template<
class Type,
class GType>
93template<
class Type,
class GType>
109 "gammaSnGradCorr("+vf.
name()+
')',
120 tgammaSnGradCorr.ref().oriented() = SfGammaCorr.
oriented();
122 for (
direction cmpt = 0; cmpt < pTraits<Type>::nComponents; cmpt++)
124 tgammaSnGradCorr.ref().replace
131 return tgammaSnGradCorr;
137template<
class Type,
class GType>
138tmp<GeometricField<Type, fvPatchField, volMesh>>
148 fvc::div(this->tsnGradScheme_().snGrad(vf)*
mesh.magSf())
151 tLaplacian.
ref().rename(
"laplacian(" + vf.
name() +
')');
157template<
class Type,
class GType>
179 this->tsnGradScheme_().deltaCoeffs(vf),
185 = gammaSnGradCorr(SfGammaCorr, vf);
187 if (this->tsnGradScheme_().corrected())
189 tfaceFluxCorrection.
ref() +=
190 SfGammaSn*this->tsnGradScheme_().correction(vf);
204template<
class Type,
class GType>
226 SfGammaSn*this->tsnGradScheme_().snGrad(vf)
227 + gammaSnGradCorr(SfGammaCorr, vf)
231 tLaplacian.
ref().rename
233 "laplacian(" +
gamma.name() +
',' + vf.
name() +
')'
const dimensionSet & dimensions() const
Return dimensions.
const orientedType & oriented() const noexcept
Return oriented type.
const Internal::FieldType & primitiveField() const
Return a const-reference to the internal field.
const Boundary & boundaryField() const
Return const-reference to the boundary field.
tmp< GeometricField< cmptType, PatchField, GeoMesh > > component(const direction) const
Return a component of the field.
Defines the attributes of an object for which implicit objectRegistry management is supported,...
const word & name() const noexcept
Return the object name.
const fileName & instance() const noexcept
Read access to instance path component.
A special matrix type and solver, designed for finite volume solutions of scalar equations....
const FieldField< Field, Type > & internalCoeffs() const noexcept
faceFluxFieldPtrType & faceFluxCorrectionPtr()
Return pointer to face-flux non-orthogonal correction field.
const FieldField< Field, Type > & boundaryCoeffs() const noexcept
Field< Type > & source() noexcept
Mesh data needed to do the Finite Volume discretisation.
Abstract base class with a fat-interface to all derived classes covering all possible ways in which t...
virtual bool coupled() const
Return true if this patch field is coupled.
virtual tmp< Field< Type > > gradientInternalCoeffs() const
Return the matrix diagonal coefficients corresponding to the.
virtual tmp< Field< Type > > gradientBoundaryCoeffs() const
Return the matrix source coefficients corresponding to the.
Basic second-order laplacian using face-gradients and Gauss' theorem.
tmp< GeometricField< Type, fvPatchField, volMesh > > fvcLaplacian(const GeometricField< Type, fvPatchField, volMesh > &)
tmp< fvMatrix< Type > > fvmLaplacian(const GeometricField< GType, fvsPatchField, surfaceMesh > &, const GeometricField< Type, fvPatchField, volMesh > &)
static tmp< fvMatrix< Type > > fvmLaplacianUncorrected(const surfaceScalarField &gammaMagSf, const surfaceScalarField &deltaCoeffs, const GeometricField< Type, fvPatchField, volMesh > &)
A class for managing temporary objects.
T * ptr() const
Return managed pointer for reuse, or clone() the object reference.
A special matrix type and solver, designed for finite volume solutions of scalar equations.
Calculate the divergence of the given field.
Calculate the gradient of the given field.
tmp< GeometricField< typename outerProduct< vector, Type >::type, fvPatchField, volMesh > > grad(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.
tmp< GeometricField< Type, fvPatchField, volMesh > > div(const GeometricField< Type, fvsPatchField, surfaceMesh > &ssf)
static scalar Sn(const scalar a, const scalar x)
#define forAll(list, i)
Loop across all elements in list.