38 const VolField<Type>& vsf,
44 const fvMesh& mesh = vsf.mesh();
46 tmp<VolField<GradType>> tfGrad
58 extrapolatedCalculatedFvPatchField<GradType>::typeName
61 VolField<GradType>& fGrad = tfGrad.ref();
63 SurfaceField<Type> ssf(this->tinterpScheme_().
interpolate(vsf));
66 const labelUList& neighbour = mesh.neighbour();
70 Field<GradType>& ifGrad = fGrad;
71 const Field<Type>& issf = ssf;
75 GradType Sfssf = Sf[facei]*issf[facei];
77 ifGrad[owner[facei]] += Sfssf;
78 ifGrad[neighbour[facei]] -= Sfssf;
83 const fvPatch&
p = mesh.boundary()[
patchi];
86 const fvsPatchField<Type>& pssf = ssf.boundaryField()[
patchi];
88 if (isA<filmFvPatch>(
p))
96 ifGrad[pFaceCells[facei]] +=
97 0.5*V[pFaceCells[facei]]*deltaCoeffs[facei]
98 *(pSf[facei]/
mag(pSf[facei]))*pssf[facei];
105 ifGrad[pFaceCells[facei]] += pSf[facei]*pssf[facei];
112 fGrad.correctBoundaryConditions();
#define forAll(list, i)
Loop across all elements in list.
Generic GeometricField class.
virtual tmp< VolField< typename outerProduct< vector, Type >::type > > calcGrad(const VolField< Type > &vsf, const word &name) const
Return the gradient of the given field to the gradScheme::grad.
A class for managing temporary objects.
volScalarField scalarField(fieldObject, mesh)
volVectorField vectorField(fieldObject, mesh)
U correctBoundaryConditions()
autoPtr< CompressibleMomentumTransportModel > New(const volScalarField &rho, const volVectorField &U, const surfaceScalarField &phi, const viscosity &viscosity)
static tmp< SurfaceField< Type > > interpolate(const VolField< Type > &tvf, const surfaceScalarField &faceFlux, Istream &schemeData)
Interpolate field onto faces using scheme given by Istream.
word name(const bool)
Return a word representation of a bool.
const dimensionSet dimLength
dimensioned< scalar > mag(const dimensioned< Type > &)
UList< label > labelUList
fileType type(const fileName &, const bool checkVariants=true, const bool followLink=true)
Return the file type: directory or file.