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