38 tmp<GeometricField<Type, fvPatchField, volMesh> >
41 const GeometricField<Type, fvPatchField, volMesh>& field
45 Field<Type> internalField(field.internalField(), cellAddressing_);
48 PtrList<fvPatchField<Type> > patchFields(boundaryAddressing_.
size());
52 if (boundaryAddressing_[
patchi] >= 0)
57 fvPatchField<Type>::New
59 field.boundaryField()[boundaryAddressing_[
patchi]],
62 *patchFieldDecomposerPtrs_[
patchi]
71 new processorFvPatchField<Type>
77 field.internalField(),
78 *processorVolPatchFieldDecomposerPtrs_[
patchi]
86 return tmp<GeometricField<Type, fvPatchField, volMesh> >
88 new GeometricField<Type, fvPatchField, volMesh>
108 tmp<GeometricField<Type, fvsPatchField, surfaceMesh> >
111 const GeometricField<Type, fvsPatchField, surfaceMesh>& field
128 Field<Type> internalField
130 field.internalField(),
139 Field<Type> allFaceField(field.mesh().nFaces());
141 forAll (field.internalField(), i)
143 allFaceField[i] = field.internalField()[i];
148 const Field<Type> &
p = field.boundaryField()[
patchi];
150 const label patchStart = field.mesh().boundaryMesh()[
patchi].start();
154 allFaceField[patchStart + i] = p[i];
159 PtrList<fvsPatchField<Type> > patchFields(boundaryAddressing_.
size());
163 if (boundaryAddressing_[
patchi] >= 0)
168 fvsPatchField<Type>::New
170 field.boundaryField()[boundaryAddressing_[
patchi]],
173 *patchFieldDecomposerPtrs_[
patchi]
182 new processorFvsPatchField<Type>
189 *processorSurfacePatchFieldDecomposerPtrs_[
patchi]
197 return tmp<GeometricField<Type, fvsPatchField, surfaceMesh> >
199 new GeometricField<Type, fvsPatchField, surfaceMesh>
218 template<
class GeoField>
221 const PtrList<GeoField>&
fields