34 template<
class>
class PatchField,
35 template<
class>
class SlicedPatchField,
43 const Field<Type>& completeField,
44 const bool preserveCouples,
45 const bool preserveProcessorOnly
48 tmp<FieldField<PatchField, Type>> tbf
50 new FieldField<PatchField, Type>(mesh.boundary().size())
52 FieldField<PatchField, Type>& bf = tbf.ref();
59 && mesh.boundary()[
patchi].coupled()
61 !preserveProcessorOnly
62 || isA<processorFvPatch>(mesh.boundary()[
patchi])
72 mesh.boundary()[
patchi].type(),
82 bf[
patchi] = SlicedPatchField<Type>
85 DimensionedField<Type, GeoMesh>::null(),
94 new SlicedPatchField<Type>
97 DimensionedField<Type, GeoMesh>::null(),
111 template<
class>
class PatchField,
112 template<
class>
class SlicedPatchField,
120 const FieldField<PatchField, Type>& bField,
121 const bool preserveCouples
124 tmp<FieldField<PatchField, Type>> tbf
126 new FieldField<PatchField, Type>(mesh.boundary().size())
128 FieldField<PatchField, Type>& bf = tbf.ref();
132 if (preserveCouples && mesh.boundary()[
patchi].coupled())
140 mesh.boundary()[
patchi].type(),
155 new SlicedPatchField<Type>
158 DimensionedField<Type, GeoMesh>::null(),
174 template<
class>
class PatchField,
175 template<
class>
class SlicedPatchField,
185 const bool preserveCouples
194 slicedBoundaryField(mesh, completeField, preserveCouples)
210 template<
class>
class PatchField,
211 template<
class>
class SlicedPatchField,
222 const bool preserveCouples,
223 const bool preserveProcessorOnly
237 preserveProcessorOnly
254 template<
class>
class PatchField,
255 template<
class>
class SlicedPatchField,
263 const bool preserveCouples
285 template<
class>
class PatchField,
286 template<
class>
class SlicedPatchField,
312 template<
class>
class PatchField,
313 template<
class>
class SlicedPatchField,
341 template<
class>
class PatchField,
342 template<
class>
class SlicedPatchField,
359 template<
class>
class PatchField,
360 template<
class>
class SlicedPatchField,
369 label completeSize = GeoMesh::size(mesh);
373 completeSize += mesh.boundaryMesh()[
patchi].size();
380 = this->primitiveField();
382 label start = GeoMesh::size(mesh);
388 mesh.boundary()[
patchi].size()
389 == mesh.boundaryMesh()[
patchi].size()
397 ) = this->boundaryField()[
patchi];
409 start += mesh.boundaryMesh()[
patchi].size();
412 return tCompleteField;
419 template<
class>
class PatchField,
420 template<
class>
class SlicedPatchField,
#define forAll(list, i)
Loop across all elements in list.
autoPtr< CompressibleMomentumTransportModel > New(const volScalarField &rho, const volVectorField &U, const surfaceScalarField &phi, const viscosity &viscosity)
rDeltaT correctBoundaryConditions()
const Boundary & boundaryField() const
Return const-reference to the boundary field.
T & ref() const
Return non-const reference or generate a fatal error.
void size(const label)
Override size to be inconsistent with allocated storage.
const Internal::FieldType & primitiveField() const
Return a const-reference to the internal field.
Generic GeometricField class.
Pre-declare related SubField type.
~SlicedGeometricField()
Destructor.
const dimensionSet & dimensions() const
Return dimensions.
Dimension set for the base types.
Pre-declare SubField and related Field type.
GeoMesh::Mesh Mesh
Type of mesh on which this DimensionedField is instantiated.
A 1D vector of objects of type <T>, where the size of the vector is known and can be used for subscri...
const Mesh & mesh() const
Return mesh.
tmp< SlicedGeometricField< Type, PatchField, SlicedPatchField, GeoMesh > > clone() const
Clone.
void correctBoundaryConditions()
Correct boundary field.
tmp< Field< Type > > splice() const
Splice the sliced field and return the complete field.
SlicedGeometricField(const IOobject &, const Mesh &, const dimensionSet &, const Field< Type > &completeField, const bool preserveCouples=true)
Construct from components and field to slice.
Generic mesh wrapper used by volMesh, surfaceMesh, pointMesh etc.
A class for managing temporary objects.
Specialisation of GeometricField which holds slices of given complete fields in a form that they act ...
IOobject defines the attributes of an object for which implicit objectRegistry management is supporte...