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... | |
bool | manifold () const noexcept |
Manifold mesh cells detected? Globally consistent quantity. 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 | totalSize () const noexcept |
The global size of all element types. More... | |
label | total () const noexcept |
Same as totalSize() 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) |
Classify cell types and set element lists, using a subgroup of cells (eg, from a cellZone etc). More... | |
void | classify (const polyMesh &mesh, const bitSet &selection) |
Classify cell types and set element lists, using a subgroup of cells. More... | |
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... | |
InfoProxy< ensightCells > | info () const noexcept |
Return info proxy, used to print information to a stream. 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 |
Write information about the object as a dictionary, optionally write all element addresses. More... | |
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... | |
Public Member Functions inherited from ensightPart | |
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) noexcept |
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 | |
Protected Member Functions inherited from ensightPart | |
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 49 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 62 of file ensightCells.H.
ensightCells | ( | ) |
Default construct, with part index 0.
Definition at line 72 of file ensightCells.C.
|
explicit |
Default construct, with description/partName.
Definition at line 81 of file ensightCells.C.
References ensightPart::rename().
|
virtualdefault |
Destructor.
|
inlinestaticnoexcept |
The ensight element name for the specified 'Cell' type.
Definition at line 42 of file ensightCellsI.H.
Referenced by ensightCells::writeDict().
TypeName | ( | "ensightCells" | ) |
Declare type-name, virtual type (with debug switch)
|
inlinenoexcept |
Manifold mesh cells detected? Globally consistent quantity.
Definition at line 36 of file ensightCellsI.H.
|
inline |
Processor-local size of the specified element type.
Definition at line 60 of file ensightCellsI.H.
Referenced by Foam::ensightOutput::writeField().
|
inline |
Processor-local offset/size of element type.
Definition at line 66 of file ensightCellsI.H.
|
noexcept |
The global size of all element types.
This value is only meaningful after a reduce operation.
Definition at line 104 of file ensightCells.C.
References Foam::BitOps::count(), and n.
Referenced by ensightCells::total().
|
inlinenoexcept |
Same as totalSize()
Definition at line 231 of file ensightCells.H.
References ensightCells::totalSize().
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 54 of file ensightCellsI.H.
|
inline |
The global sizes for each element type.
This value is only meaningful after a reduce operation.
Definition at line 48 of file ensightCellsI.H.
Foam::FixedList< Foam::label, 5 > sizes | ( | ) | const |
Processor-local sizes per element type.
Definition at line 91 of file ensightCells.C.
References Foam::BitOps::count().
|
inline |
Processor-local cell ids of all elements.
Definition at line 72 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 79 of file ensightCellsI.H.
References range, and UList< T >::slice().
Mesh point map.
Map mesh point index to local (compact) point index
const cellList& meshCells = mesh.cells();
Definition at line 31 of file ensightCellsAddr.C.
References ensightCells::cellIds(), manifoldCellsMeshObject::cells(), HashTable< T, Key, Hash >::insert(), mesh, MeshObject< polyMesh, UpdateableMeshObject, manifoldCellsMeshObject >::New(), nPoints, ensightPart::size(), and HashTable< T, Key, Hash >::sortedToc().
void classify | ( | const polyMesh & | mesh | ) |
Classify cell types and set the element lists.
Definition at line 235 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 243 of file ensightCells.C.
References mesh.
Classify cell types and set element lists, using a subgroup of cells.
Definition at line 253 of file ensightCells.C.
References mesh.
void clearOut | ( | ) |
Clear any demand-driven data.
Definition at line 127 of file ensightCells.C.
void clear | ( | ) |
Set addressable sizes to zero, free up addressing memory.
Definition at line 115 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 131 of file ensightCells.C.
References Foam::reduce().
Referenced by ensightMesh::correct().
void sort | ( | ) |
Sort element lists numerically.
Definition at line 141 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 85 of file ensightCellsI.H.
|
inline |
Decrease face ids by specified offset value.
Eg, to change global Ids to zone local Ids
Definition at line 91 of file ensightCellsI.H.
|
inlinenoexcept |
Return info proxy, used to print information to a stream.
Definition at line 338 of file ensightCells.H.
Referenced by ensightMesh::correct().
Foam::label uniqueMeshPoints | ( | const polyMesh & | mesh, |
labelList & | uniqueMeshPointLabels, | ||
bool | parallel | ||
) | const |
Globally unique mesh points. Required when writing point fields.
Definition at line 221 of file ensightCellsAddr.C.
References mesh, and List< label >::null().
Referenced by Foam::ensightOutput::writePointField().
|
virtual |
Write information about the object as a dictionary, optionally write all element addresses.
Reimplemented from ensightPart.
Definition at line 262 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 260 of file ensightCellsIO.C.
References ensightPart::index(), mesh, ensightPart::name(), nPoints, ensightCells::nTypes, os(), UPstream::parRun(), polyMesh::points(), and Foam::ensightOutput::Detail::writeCoordinates().
|
inlinenoexcept |
Processor-local size of all elements.
Definition at line 193 of file ensightPart.H.
|
static |
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 79 of file ensightCells.H.
Copyright © 2011-2018 OpenFOAM | OPENFOAM® is a registered trademark of OpenCFD Ltd.