Sorting/classification of cells (3D) into corresponding ensight element types. More...
Public Types | |
enum | elemType { TETRA4 = 0, PYRAMID5, PENTA6, HEXA8, NFACED } |
Supported ensight 'Cell' element types. More... | |
Public Member Functions | |
TypeName ("ensightCells") | |
Declare type-name, virtual type (with debug switch) More... | |
ensightCells () | |
Default construct, with part index 0. More... | |
ensightCells (const string &description) | |
Default construct, with description/partName. More... | |
virtual | ~ensightCells ()=default |
Destructor. More... | |
label | size (const elemType etype) const |
Processor-local size of the specified element type. More... | |
labelRange | range (const elemType etype) const |
Processor-local offset/size of element type. More... | |
label | total () const |
The global size of all element types. More... | |
label | total (const elemType etype) const |
The global size of the specified element type. More... | |
const FixedList< label, nTypes > & | totals () const |
The global sizes for each element type. More... | |
FixedList< label, nTypes > | sizes () const |
Processor-local sizes per element type. More... | |
const labelList & | cellIds () const |
Processor-local cell ids of all elements. More... | |
const labelUList | cellIds (const elemType etype) const |
Processor-local cell ids of the specified element type. More... | |
Map< label > | meshPointMap (const polyMesh &mesh) const |
Mesh point map. More... | |
void | classify (const polyMesh &mesh) |
Classify cell types and set the element lists. More... | |
void | classify (const polyMesh &mesh, const labelUList &cellIds) |
void | classify (const polyMesh &mesh, const bitSet &selection) |
void | clearOut () |
Clear any demand-driven data. More... | |
void | clear () |
Set addressable sizes to zero, free up addressing memory. More... | |
void | reduce () |
Sum element counts across all processes. More... | |
void | sort () |
Sort element lists numerically. More... | |
void | incrCellIds (const label off) |
Increase cell ids by specified offset value. More... | |
void | decrCellIds (const label off) |
Decrease face ids by specified offset value. More... | |
label | uniqueMeshPoints (const polyMesh &mesh, labelList &uniqueMeshPointLabels, bool parallel) const |
Globally unique mesh points. Required when writing point fields. More... | |
virtual void | writeDict (Ostream &os, const bool full=false) const |
virtual void | write (ensightGeoFile &os, const polyMesh &mesh, bool parallel) const |
Write geometry, using a mesh reference (serial only) More... | |
label | size () const noexcept |
Processor-local size of all elements. More... | |
![]() | |
TypeNameNoDebug ("ensightPart") | |
Declare type-name, virtual type (without debug switch) More... | |
ensightPart () | |
Default construct. Index=0, identifier = -1. More... | |
ensightPart (const string &description) | |
Default construct, with description/partName. More... | |
virtual | ~ensightPart ()=default |
Destructor. More... | |
label | index () const noexcept |
The index in a list (0-based) More... | |
label & | index () noexcept |
The index in a list (0-based) More... | |
label | identifier () const noexcept |
OpenFOAM identifier (patch, zone, etc), -1 when not in use. More... | |
label & | identifier () noexcept |
OpenFOAM identifier (patch, zone, etc), -1 when not in use. More... | |
bool | empty () const noexcept |
Processor-local test for any elements. More... | |
label | size () const noexcept |
Processor-local size of all elements. More... | |
const string & | name () const noexcept |
The part name or description. More... | |
void | rename (const string &value) |
Change the part name or description. More... | |
void | rename (string &&value) |
Change the part name or description. More... | |
label | operator[] (const label i) const |
Processor-local element id from linear-list of addresses. More... | |
Static Public Member Functions | |
static const char * | key (const elemType etype) |
The ensight element name for the specified 'Cell' type. More... | |
Static Public Attributes | |
static constexpr int | nTypes = 5 |
Number of 'Cell' element types (5) More... | |
static const char * | elemNames [nTypes] |
The ensight 'Cell' element type names. More... | |
Additional Inherited Members | |
![]() | |
const labelList & | addressing () const noexcept |
Element addressing. More... | |
labelList & | addressing () noexcept |
Element addressing. More... | |
void | clear () |
Clear element addressing. More... | |
void | incrAddressing (const label off) |
Increase addressing by specified offset value. More... | |
void | decrAddressing (const label off) |
Decrease addressing by specified offset value. More... | |
Sorting/classification of cells (3D) into corresponding ensight element types.
Definition at line 54 of file ensightCells.H.
enum elemType |
Supported ensight 'Cell' element types.
Must be zero-based since they are also for internal bookkeeping.
Enumerator | |
---|---|
TETRA4 | "tetra4" |
PYRAMID5 | "pyramid5" |
PENTA6 | "penta6" |
HEXA8 | "hexa8" |
NFACED | "nfaced" |
Definition at line 64 of file ensightCells.H.
ensightCells | ( | ) |
Default construct, with part index 0.
Definition at line 78 of file ensightCells.C.
|
explicit |
Default construct, with description/partName.
Definition at line 86 of file ensightCells.C.
References ensightPart::rename().
|
virtualdefault |
Destructor.
|
inlinestatic |
The ensight element name for the specified 'Cell' type.
Definition at line 43 of file ensightCellsI.H.
Referenced by ensightCells::writeDict().
TypeName | ( | "ensightCells" | ) |
Declare type-name, virtual type (with debug switch)
|
inline |
Processor-local size of the specified element type.
Definition at line 61 of file ensightCellsI.H.
Referenced by Foam::ensightOutput::writeField().
|
inline |
Processor-local offset/size of element type.
Definition at line 67 of file ensightCellsI.H.
Foam::label total | ( | ) | const |
The global size of all element types.
This value is only meaningful after a reduce operation.
Definition at line 109 of file ensightCells.C.
References forAll.
Referenced by Foam::ensightOutput::writeField().
|
inline |
The global size of the specified element type.
This value is only meaningful after a reduce operation.
Definition at line 55 of file ensightCellsI.H.
|
inline |
The global sizes for each element type.
This value is only meaningful after a reduce operation.
Definition at line 49 of file ensightCellsI.H.
Foam::FixedList< Foam::label, 5 > sizes | ( | ) | const |
Processor-local sizes per element type.
Definition at line 96 of file ensightCells.C.
References Foam::BitOps::count(), and forAll.
|
inline |
Processor-local cell ids of all elements.
Definition at line 73 of file ensightCellsI.H.
Referenced by ensightCells::meshPointMap(), and Foam::ensightOutput::writeField().
|
inline |
Processor-local cell ids of the specified element type.
Definition at line 80 of file ensightCellsI.H.
References range.
Mesh point map.
Map mesh point index to local (compact) point index
Definition at line 37 of file ensightCellsAddr.C.
References ensightCells::cellIds(), mesh, nPoints, and ensightPart::size().
void classify | ( | const polyMesh & | mesh | ) |
Classify cell types and set the element lists.
Definition at line 238 of file ensightCells.C.
References mesh, and primitiveMesh::nCells().
Referenced by ensightMesh::correct().
void classify | ( | const polyMesh & | mesh, |
const labelUList & | cellIds | ||
) |
Classify cell types and set element lists, using a subgroup of cells (eg, from a cellZone etc).
Definition at line 246 of file ensightCells.C.
References mesh.
Classify cell types and set element lists, using a subgroup of cells
Definition at line 256 of file ensightCells.C.
References mesh.
void clearOut | ( | ) |
Clear any demand-driven data.
Definition at line 131 of file ensightCells.C.
void clear | ( | ) |
Set addressable sizes to zero, free up addressing memory.
Definition at line 120 of file ensightCells.C.
References ensightPart::clear(), and Foam::Zero.
Referenced by ensightMesh::correct().
void reduce | ( | ) |
Sum element counts across all processes.
Definition at line 135 of file ensightCells.C.
References forAll, and Foam::reduce().
Referenced by ensightMesh::correct().
void sort | ( | ) |
Sort element lists numerically.
Definition at line 146 of file ensightCells.C.
References IntRange< IntType >::empty(), range, and Foam::sort().
|
inline |
Increase cell ids by specified offset value.
Eg, to change zone local Ids to global Ids
Definition at line 86 of file ensightCellsI.H.
|
inline |
Decrease face ids by specified offset value.
Eg, to change global Ids to zone local Ids
Definition at line 92 of file ensightCellsI.H.
Foam::label uniqueMeshPoints | ( | const polyMesh & | mesh, |
labelList & | uniqueMeshPointLabels, | ||
bool | parallel | ||
) | const |
Globally unique mesh points. Required when writing point fields.
Definition at line 222 of file ensightCellsAddr.C.
References mesh, and List< T >::null().
Referenced by Foam::ensightOutput::writePointField().
Write information about the object as a dictionary, optionally write all element addresses
Reimplemented from ensightPart.
Definition at line 265 of file ensightCells.C.
References Ostream::beginBlock(), Ostream::endBlock(), Foam::endEntry(), ensightCells::key(), Foam::name(), ensightCells::nTypes, os(), Foam::type(), Ostream::writeEntry(), Ostream::writeKeyword(), and UList< T >::writeList().
|
virtual |
Write geometry, using a mesh reference (serial only)
< Collective write?
Definition at line 263 of file ensightCellsIO.C.
References ensightPart::index(), mesh, ensightPart::name(), ensightCells::NFACED, nPoints, ensightCells::nTypes, os(), UPstream::parRun(), polyMesh::points(), and Foam::ensightOutput::Detail::writeCoordinates().
|
inlinenoexcept |
Processor-local size of all elements.
Definition at line 154 of file ensightPart.H.
|
staticconstexpr |
Number of 'Cell' element types (5)
Definition at line 74 of file ensightCells.H.
Referenced by ensightCells::write(), and ensightCells::writeDict().
|
static |
The ensight 'Cell' element type names.
Definition at line 77 of file ensightCells.H.