44 #ifndef Foam_faFieldDecomposer_H 45 #define Foam_faFieldDecomposer_H 77 label sizeBeforeMapping_;
89 const label addressingOffset,
99 return directAddressing_.
size();
104 return sizeBeforeMapping_;
119 return directAddressing_;
125 class processorAreaPatchFieldDecomposer
131 label sizeBeforeMapping_;
139 const label nTotalFaces,
153 return directAddressing_.
size();
158 return sizeBeforeMapping_;
173 return directAddressing_;
179 class processorEdgePatchFieldDecomposer
183 label sizeBeforeMapping_;
203 return addressing_.
size();
208 return sizeBeforeMapping_;
254 processorAreaPatchFieldDecomposers_;
258 processorEdgePatchFieldDecomposers_;
264 bool noEdgeEncoding_;
292 const bool disableEdgeEncoding =
false 298 const faMesh& completeMesh,
304 const bool disableEdgeEncoding =
false 311 const label nTotalFaces,
322 const bool disableEdgeEncoding =
false 344 const label nTotalFaces,
356 bool old(noEdgeEncoding_);
357 noEdgeEncoding_ = on;
379 template<
class GeoField>
389 template<
class>
class PatchField,
397 const bool readOldTime
401 template<
class Mesh,
class GeoField>
423 std::unique_ptr<privateCache> cache_;
470 const bitSet& haveMeshOnProc,
502 #include "faFieldDecomposer.txx"
Finite area mesh (used for 2-D non-Euclidian finite area method) defined using a patch of faces on a ...
void size(const label n)
Older name for setAddressableSize.
const labelListList & addressing() const noexcept
Return the interpolation addressing.
virtual bool hasUnmapped() const
Any unmapped values?
label size() const noexcept
The size of the mapper.
Finite Area area and edge field decomposer.
List of IOobjects with searching and retrieving facilities. Implemented as a HashTable, so the various sorted methods should be used if traversing in parallel.
virtual label sizeBeforeMapping() const
~faFieldDecomposer()=default
Destructor.
bool direct() const noexcept
Is it a direct (non-interpolating) mapper?
void readAllFields(const faMesh &mesh, const IOobjectList &objects)
Read all fields given mesh and objects.
A range or interval of labels defined by a start and a size.
Holds a reference to the original mesh (the baseMesh) and optionally to a subset of that mesh (the su...
Generic GeometricField class.
bool empty() const noexcept
True if no mappers have been allocated.
processorAreaPatchFieldDecomposer(const label nTotalFaces, const labelUList &edgeOwner, const labelUList &edgeNeigbour, const labelUList &addressingSlice, const bitSet &flip, const bool noEdgeEncoding=false)
Construct addressing from details.
patchFieldDecomposer(const label sizeBeforeMapping, const labelUList &addressingSlice, const label addressingOffset, const bool noEdgeEncoding=false)
Construct given addressing.
multivariateSurfaceInterpolationScheme< scalar >::fieldTable fields
virtual bool hasUnmapped() const
Any unmapped values?
bool noEdgeEncoding() const noexcept
Is edge encoding disabled.
virtual bool hasUnmapped() const
Any unmapped values?
const labelUList & directAddressing() const noexcept
Return the direct addressing values.
static void readFields(const typename GeoMesh::Mesh &mesh, const IOobjectList &objects, PtrList< GeometricField< Type, PatchField, GeoMesh >> &fields, const bool readOldTime)
Read the fields and store on the pointer list.
void reset(const faMesh &completeMesh)
Reset mappers using information from the complete mesh.
label size() const
Number of fields.
fieldsCache()
Default construct.
virtual label sizeBeforeMapping() const
const labelUList & directAddressing() const noexcept
Return the direct addressing values.
label size() const noexcept
The size of the mapper.
processorEdgePatchFieldDecomposer(label sizeBeforeMapping, const labelUList &addressingSlice, const bool noEdgeEncoding=false)
Construct given addressing.
label size() const noexcept
The size of the mapper.
bool direct() const noexcept
Is it a direct (non-interpolating) mapper?
A list of pointers to objects of type <T>, without allocation/deallocation management of the pointers...
virtual label sizeBeforeMapping() const
Patch field decomposer class.
void clear()
Remove all mappers.
const scalarListList & weights() const noexcept
Return the interpolation weights.
bool empty() const
No fields.
faFieldDecomposer(const faFieldDecomposer &)=delete
No copy construct.
A bitSet stores bits (elements with only two states) in packed internal format and supports a variety...
A list of pointers to objects of type <T>, with allocation/deallocation management of the pointers...
A class representing the concept of 0 (zero) that can be used to avoid manipulating objects known to ...
~fieldsCache()
Destructor.
Generic mesh wrapper used by volMesh, surfaceMesh, pointMesh etc.
void operator=(const faFieldDecomposer &)=delete
No copy assignment.
A class for managing temporary objects.
bool direct() const noexcept
Is it a direct (non-interpolating) mapper?
A FieldMapper for finite-area patch fields.
void decomposeFields(const UPtrList< GeoField > &fields) const
tmp< GeometricField< Type, faPatchField, areaMesh > > decomposeField(const GeometricField< Type, faPatchField, areaMesh > &field) const
Decompose area field.
void decomposeAllFields(const faFieldDecomposer &decomposer, bool report=false) const
Decompose and write all fields.