47 typename outerProduct<vector,Type>::type, fvPatchField, volMesh
52 const GeometricField<Type, fvsPatchField, surfaceMesh>& ssf
55 typedef typename outerProduct<vector, Type>::type GradType;
57 const fvMesh& mesh = ssf.mesh();
60 const labelUList& neighbour = mesh.neighbour();
65 tmp<GeometricField<GradType, fvPatchField, volMesh>> treconField
69 "reconstruct("+ssf.name()+
')',
81 Field<GradType>& rf = treconField();
85 label own = owner[facei];
86 label nei = neighbour[facei];
88 rf[own] += (Cf[facei] - C[own])*ssf[facei];
89 rf[nei] -= (Cf[facei] - C[nei])*ssf[facei];
92 const typename GeometricField<Type, fvsPatchField, surfaceMesh>::
93 Boundary& bsf = ssf.boundaryField();
97 const fvsPatchField<Type>& psf = bsf[
patchi];
104 label own = pOwner[pFacei];
105 rf[own] += (pCf[pFacei] - C[own])*psf[pFacei];
111 treconField().correctBoundaryConditions();
122 typename outerProduct<vector, Type>::type, fvPatchField, volMesh
127 const tmp<GeometricField<Type, fvsPatchField, surfaceMesh>>& tssf
130 typedef typename outerProduct<vector, Type>::type GradType;
131 tmp<GeometricField<GradType, fvPatchField, volMesh>> tvf
#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.
static const char *const typeName
Reconstruct volField from a face flux field.
static tmp< GeometricField< Type, PatchField, GeoMesh > > New(const word &name, const Internal &, const PtrList< PatchField< Type >> &)
Return a temporary field constructed from name,.
GeometricField< vector, fvsPatchField, surfaceMesh > surfaceVectorField
GeometricField< vector, fvPatchField, volMesh > volVectorField
UList< label > labelUList
tmp< GeometricField< typename outerProduct< vector, Type >::type, fvPatchField, volMesh >> reconstruct(const GeometricField< Type, fvsPatchField, surfaceMesh > &ssf)
Field< vector > vectorField
Specialisation of Field<T> for vector.
const dimensionSet dimArea(sqr(dimLength))