37 template<
class>
class PatchField,
38 template<
class>
class SlicedPatchField,
46 const Field<Type>& completeField,
47 const bool preserveCouples,
48 const bool preserveProcessorOnly
51 auto tbf = tmp<FieldField<PatchField, Type>>
::New(
mesh.boundary().size());
59 &&
mesh.boundary()[patchi].coupled()
61 !preserveProcessorOnly
62 || isA<processorFvPatch>(
mesh.boundary()[patchi])
72 mesh.boundary()[patchi].type(),
73 mesh.boundary()[patchi],
82 bf[patchi] = SlicedPatchField<Type>
84 mesh.boundary()[patchi],
85 DimensionedField<Type, GeoMesh>::null(),
94 new SlicedPatchField<Type>
96 mesh.boundary()[patchi],
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 auto tbf = tmp<FieldField<PatchField, Type>>
::New(
mesh.boundary().size());
125 auto& bf = tbf.ref();
129 if (preserveCouples &&
mesh.boundary()[patchi].coupled())
137 mesh.boundary()[patchi].type(),
138 mesh.boundary()[patchi],
144 bf[patchi] == bField[patchi];
152 new SlicedPatchField<Type>
154 mesh.boundary()[patchi],
155 DimensionedField<Type, GeoMesh>::null(),
171 template<
class>
class PatchField,
172 template<
class>
class SlicedPatchField,
182 const bool preserveCouples
191 slicedBoundaryField(
mesh, completeField, preserveCouples)
207 template<
class>
class PatchField,
208 template<
class>
class SlicedPatchField,
219 const bool preserveCouples,
220 const bool preserveProcessorOnly
234 preserveProcessorOnly
251 template<
class>
class PatchField,
252 template<
class>
class SlicedPatchField,
260 const bool preserveCouples
269 slicedBoundaryField(gf.
mesh(), gf.boundaryField(), preserveCouples)
282 template<
class>
class PatchField,
283 template<
class>
class SlicedPatchField,
298 slicedBoundaryField(gf.
mesh(), gf.boundaryField(), true)
309 template<
class>
class PatchField,
310 template<
class>
class SlicedPatchField,
335 template<
class>
class PatchField,
336 template<
class>
class SlicedPatchField,
352 template<
class>
class PatchField,
353 template<
class>
class SlicedPatchField,
const Internal::FieldType & primitiveField() const noexcept
Return a const-reference to the internal field values.
Generic GeometricField class.
tmp< DimensionedField< TypeR, GeoMesh > > New(const tmp< DimensionedField< TypeR, GeoMesh >> &tdf1, const word &name, const dimensionSet &dimensions, const bool initCopy=false)
Global function forwards to reuseTmpDimensionedField::New.
#define forAll(list, i)
Loop across all elements in list.
~SlicedGeometricField()
Destructor.
Dimension set for the base types, which can be used to implement rigorous dimension checking for alge...
IOobject io("surfaceFilmProperties", mesh.time().constant(), mesh, IOobject::READ_IF_PRESENT, IOobject::NO_WRITE, false)
Generic templated field type.
GeoMesh::Mesh Mesh
Type of mesh on which this DimensionedField is instantiated.
const Mesh & mesh() const noexcept
Return mesh.
tmp< SlicedGeometricField< Type, PatchField, SlicedPatchField, GeoMesh > > clone() const
Clone.
void correctBoundaryConditions()
Correct boundary field.
void correctBoundaryConditions()
Correct boundary field.
SlicedGeometricField(const IOobject &, const Mesh &, const dimensionSet &, const Field< Type > &completeField, const bool preserveCouples=true)
Construct from components and field to slice.
void shallowCopy(const UList< T > &list)
Copy the pointer and size held by the given UList.
Generic mesh wrapper used by volMesh, surfaceMesh, pointMesh etc.
A class for managing temporary objects.
Specialization of GeometricField which holds slices of given complete fields in a form that they act ...
Defines the attributes of an object for which implicit objectRegistry management is supported...