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
67 new GeometricField<GradType, fvPatchField, volMesh>
71 "reconstruct("+ssf.name()+
')',
88 Field<GradType>& rf = treconField();
92 label own = owner[facei];
93 label nei = neighbour[facei];
95 rf[own] += (Cf[facei] - C[own])*ssf[facei];
96 rf[nei] -= (Cf[facei] - C[nei])*ssf[facei];
99 const typename GeometricField<Type, fvsPatchField, surfaceMesh>::
100 Boundary& bsf = ssf.boundaryField();
104 const fvsPatchField<Type>& psf = bsf[
patchi];
111 label own = pOwner[pFacei];
112 rf[own] += (pCf[pFacei] - C[own])*psf[pFacei];
118 treconField().correctBoundaryConditions();
129 typename outerProduct<vector, Type>::type, fvPatchField, volMesh
134 const tmp<GeometricField<Type, fvsPatchField, surfaceMesh>>& tssf
137 typedef typename outerProduct<vector, Type>::type GradType;
138 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.
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))