58 "snGradCorr("+vf.
name()+
')',
81 const face& fi = faces[facei];
83 vector nf(Sf[facei]/magSf[facei]);
91 vector edgen(nf^(points[fi[pj]] - points[fi[
pi]]));
94 Type pvfe(0.5*(pvf[fi[pj]] + pvf[fi[pi]]));
101 fgrad /= magSf[facei];
104 vector dCorr(C[neighbour[facei]] - C[owner[facei]]);
105 dCorr /= (nf & dCorr);
109 sfCorr[facei] = dCorr&fgrad;
112 tsfCorr.
ref().boundaryFieldRef() =
Zero;
132 "snGradCorr("+vf.
name()+
')',
139 for (
direction cmpt = 0; cmpt < pTraits<Type>::nComponents; cmpt++)
void replace(const direction, const GeometricField< cmptType, PatchField, GeoMesh > &)
Graphite solid properties.
#define forAll(list, i)
Loop across all elements in list.
const surfaceVectorField & Sf() const
Return cell face area vectors.
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
const word & name() const
Return name.
A face is a list of labels corresponding to mesh vertices.
virtual ~faceCorrectedSnGrad()
Destructor.
T & ref() const
Return non-const reference or generate a fatal error.
void size(const label)
Override size to be inconsistent with allocated storage.
tmp< GeometricField< cmptType, PatchField, GeoMesh > > component(const direction) const
Return a component of the field.
Traits class for primitives.
typeOfRank< typename pTraits< arg1 >::cmptType, direction(pTraits< arg1 >::rank)+direction(pTraits< arg2 >::rank) >::type type
Generic GeometricField class.
virtual tmp< GeometricField< Type, fvsPatchField, surfaceMesh > > correction(const GeometricField< Type, fvPatchField, volMesh > &) const
Return the explicit correction to the faceCorrectedSnGrad.
const labelUList & neighbour() const
Internal face neighbour.
virtual const pointField & points() const
Return raw points.
const surfaceScalarField & nonOrthDeltaCoeffs() const
Return reference to non-orthogonal cell-centre difference.
const dimensionSet & dimensions() const
Return dimensions.
Pre-declare SubField and related Field type.
autoPtr< BasicCompressibleMomentumTransportModel > New(const volScalarField &rho, const volVectorField &U, const surfaceScalarField &phi, const typename BasicCompressibleMomentumTransportModel::transportModel &transport)
virtual const faceList & faces() const
Return raw faces.
tmp< GeometricField< Type, fvsPatchField, surfaceMesh > > fullGradCorrection(const GeometricField< Type, fvPatchField, volMesh > &) const
Return the explicit correction to the faceCorrectedSnGrad.
const surfaceScalarField & magSf() const
Return cell face area magnitudes.
static tmp< GeometricField< Type, fvsPatchField, surfaceMesh > > interpolate(const GeometricField< Type, fvPatchField, volMesh > &tvf, const surfaceScalarField &faceFlux, Istream &schemeData)
Interpolate field onto faces using scheme given by Istream.
const labelUList & owner() const
Internal face owner.
Simple central-difference snGrad scheme with non-orthogonal correction.
Mesh data needed to do the Finite Volume discretisation.
const volVectorField & C() const
Return cell centres as volVectorField.
A class for managing temporary objects.