35 template<
class Type,
class Stencil>
47 const GeometricField<Type, fvPatchField, volMesh>& vtf,
53 const fvMesh& mesh = vtf.mesh();
61 tmp<GeometricField<GradType, fvPatchField, volMesh>> tlsGrad
63 new GeometricField<GradType, fvPatchField, volMesh>
80 extrapolatedCalculatedFvPatchField<GradType>::typeName
83 GeometricField<GradType, fvPatchField, volMesh>& lsGrad = tlsGrad.ref();
84 Field<GradType>& lsGradIf = lsGrad;
86 const extendedCentredCellToCellStencil& stencil = lsv.stencil();
87 const List<List<label>>& stencilAddr = stencil.stencil();
88 const List<List<vector>>& lsvs = lsv.vectors();
92 List<Type> flatVtf(stencil.map().constructSize(),
Zero);
97 flatVtf[celli] = vtf[celli];
103 const fvPatchField<Type>& ptf = vtf.boundaryField()[
patchi];
107 - mesh.nInternalFaces()
112 flatVtf[nCompact++] = ptf[i];
117 stencil.map().distribute(flatVtf);
121 forAll(stencilAddr, celli)
123 const labelList& compactCells = stencilAddr[celli];
124 const List<vector>& lsvc = lsvs[celli];
128 lsGradIf[celli] += lsvc[i]*flatVtf[compactCells[i]];
133 lsGrad.correctBoundaryConditions();
#define forAll(list, i)
Loop across all elements in list.
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
Abstract base class with a fat-interface to all derived classes covering all possible ways in which t...
typeOfRank< typename pTraits< arg1 >::cmptType, direction(pTraits< arg1 >::rank)+direction(pTraits< arg2 >::rank) >::type type
Generic GeometricField class.
tmp< DimensionedField< TypeR, GeoMesh > > New(const tmp< DimensionedField< TypeR, GeoMesh >> &tdf1, const word &name, const dimensionSet &dimensions)
Mesh data needed to do the Finite Volume discretisation.
virtual tmp< GeometricField< typename outerProduct< vector, Type >::type, fvPatchField, volMesh > > calcGrad(const GeometricField< Type, fvPatchField, volMesh > &vsf, const word &name) const
Return the gradient of the given field to the gradScheme::grad.
List< label > labelList
A List of labels.
const dimensionSet dimLength(0, 1, 0, 0, 0, 0, 0)
U correctBoundaryConditions()
A class for managing temporary objects.