Core routines used when reading/writing ABAQUS files. More...
#include <ABAQUSCore.H>

Classes | |
| struct | readHelper |
| Raw reader structure. More... | |
Public Types | |
| enum | shapeType : uint8_t { abaqusUnknownShape = 0 , abaqusTria = 0x03 , abaqusQuad = 0x04 , abaqusTet = 0x84 , abaqusPyr = 0x85 , abaqusPrism = 0x86 , abaqusHex = 0x88 } |
| Shape-Type - the values are for internal use only! More... | |
Static Public Member Functions | |
| static shapeType | getElementType (const string &elemTypeName) |
| Classify named element type (eg, S4R) to known/supported element types. | |
| static int | nPoints (shapeType tag) |
| The number of points associated with the element type. | |
| static bool | isValidType (shapeType tag) |
| True if element type is not unknown/invalid. | |
| static bool | isShellType (shapeType tag) |
| True if element type is a 2D shell. | |
| static bool | isSolidType (shapeType tag) |
| True if element type is a 3D element. | |
| static bool | isEncodedSolidId (const label combinedId) |
| Is a combined (synthetic) face Id? | |
| static label | encodeSolidId (const label id, const label side) |
| Combine solid element Id and side Id into synthetic face Id. | |
| static label | decodeSolidElementId (const label combinedId) |
| Entangle solid element id from synthetic face Id. | |
| static label | decodeSolidSideNum (const label combinedId) |
| Entangle solid side id from synthetic face Id Synthesize faceId from solid element Id and sideId. | |
| static void | writePoints (Ostream &os, const UList< point > &points, const scalar scaleFactor=1.0) |
| Write '*NODE' header and entries to file, optionally with scaling. | |
| static label | faceDecomposition (const UList< point > &points, const UList< face > &faces, labelList &decompOffsets, DynamicList< face > &decompFaces) |
| Calculate face decomposition for non tri/quad faces. | |
Protected Member Functions | |
| ABAQUSCore ()=default | |
| Default construct. | |
Static Protected Member Functions | |
| static void | renumber0_elemId (label &elemId) |
| From 1-based to 0-based. | |
| static const Map< labelList > & | abaqusToFoamFaceAddr () |
| Face addressing from ABAQUS faces to OpenFOAM faces. | |
Core routines used when reading/writing ABAQUS files.
Face mappings for abaqus deduced from libmesh internals
Tet4 cells
| Face | OpenFOAM | libmesh | abaqus | starcd |
|---|---|---|---|---|
(1 2 3) | 0 | 2 | 2 | 5 |
(0 3 2) | 1 | 3 | 3 | 4 |
(0 1 3) | 2 | 1 | 1 | 2 |
(0 2 1) | 3 | 0 | 0 | 0 |
Pyr5 cells
| Face | OpenFOAM | libmesh | abaqus | starcd |
|---|---|---|---|---|
(0 3 2 1) | 0 | 4 | n/a | 0 |
(0 4 3) | 1 | 3 | n/a | 4 |
(3 4 2) | 2 | 2 | n/a | 3 |
(1 2 4) | 3 | 1 | n/a | 5 |
(0 1 4) | 4 | 0 | n/a | 2 |
Prism6 cells
| Face | OpenFOAM | libmesh | abaqus | starcd |
|---|---|---|---|---|
(0 2 1) | 0 | 0 | 0 | 0 |
(3 4 5) | 1 | 4 | 1 | 1 |
(0 3 5 2) | 2 | 3 | 4 | 4 |
(1 2 5 4) | 3 | 2 | 3 | 5 |
(0 1 4 3) | 4 | 1 | 2 | 2 |
Hex8 cells
| Face | OpenFOAM | libmesh | abaqus | starcd |
|---|---|---|---|---|
(0 4 7 3) | 0 | 4 | 5 | 4 |
(1 2 6 5) | 1 | 2 | 3 | 5 |
(0 1 5 4) | 2 | 1 | 2 | 2 |
(3 7 6 2) | 3 | 3 | 4 | 3 |
(0 3 2 1) | 4 | 0 | 0 | 0 |
(4 5 6 7) | 5 | 5 | 1 | 1 |
Definition at line 239 of file ABAQUSCore.H.
| enum shapeType : uint8_t |
Shape-Type - the values are for internal use only!
| Enumerator | |
|---|---|
| abaqusUnknownShape | |
| abaqusTria | |
| abaqusQuad | |
| abaqusTet | |
| abaqusPyr | |
| abaqusPrism | |
| abaqusHex | |
Definition at line 248 of file ABAQUSCore.H.
|
protecteddefault |
|
static |
Classify named element type (eg, S4R) to known/supported element types.
The input string must be Uppercase!
Definition at line 198 of file ABAQUSCore.C.
References abaqusHex, abaqusPrism, abaqusPyr, abaqusQuad, abaqusTet, abaqusTria, abaqusUnknownShape, and checkElemType.
Referenced by ABAQUSCore::readHelper::read().

|
inlinestatic |
The number of points associated with the element type.
Definition at line 273 of file ABAQUSCore.H.
Referenced by ABAQUSCore::readHelper::compact_nodes(), ABAQUSCore::readHelper::read(), and ABAQUSCore::readHelper::readElements().

|
inlinestatic |
True if element type is not unknown/invalid.
Definition at line 281 of file ABAQUSCore.H.
Referenced by ABAQUSCore::readHelper::purge_solids().

|
inlinestatic |
True if element type is a 2D shell.
Definition at line 289 of file ABAQUSCore.H.
|
inlinestatic |
True if element type is a 3D element.
Definition at line 297 of file ABAQUSCore.H.
Referenced by ABAQUSCore::readHelper::purge_solids().

|
inlinestatic |
Is a combined (synthetic) face Id?
Definition at line 305 of file ABAQUSCore.H.
Referenced by decodeSolidElementId(), decodeSolidSideNum(), renumber0_elemId(), and abaqusWriter::writeFaceValue().

|
inlinestatic |
Combine solid element Id and side Id into synthetic face Id.
Definition at line 313 of file ABAQUSCore.H.
Referenced by ABAQUSCore::readHelper::readSurfaceElements().

|
inlinestatic |
Entangle solid element id from synthetic face Id.
Definition at line 321 of file ABAQUSCore.H.
References isEncodedSolidId().
Referenced by abaqusWriter::writeFaceValue().


|
inlinestatic |
Entangle solid side id from synthetic face Id Synthesize faceId from solid element Id and sideId.
Definition at line 335 of file ABAQUSCore.H.
References isEncodedSolidId().
Referenced by abaqusWriter::writeFaceValue().


|
inlinestaticprotected |
From 1-based to 0-based.
Definition at line 353 of file ABAQUSCore.H.
References isEncodedSolidId().
Referenced by ABAQUSCore::readHelper::renumber_elements_1to0().


|
staticprotected |
Face addressing from ABAQUS faces to OpenFOAM faces.
For hex, prism, tet primitive shapes.
Definition at line 184 of file ABAQUSCore.C.
References abaqusHex, abaqusPrism, abaqusTet, and abaqusToFoamFaceAddr_.
Referenced by ABAQUSCore::readHelper::readSurfaceElements().

|
static |
Write '*NODE' header and entries to file, optionally with scaling.
This is a no-op for an empty list
Definition at line 781 of file ABAQUSCore.C.
References Foam::nl, os(), p, and points.
Referenced by ABAQUSsurfaceFormat< Face >::write().


|
static |
Calculate face decomposition for non tri/quad faces.
| points | the surface points |
| faces | the surface faces |
| decompOffsets | begin/end offsets (size+1) into decompFaces |
| decompFaces | List of non-tri/quad decomposed into triangles |
Definition at line 816 of file ABAQUSCore.C.
References UList< T >::begin(), DynamicList< T, SizeMin >::clear(), f(), n, points, List< T >::resize(), and UList< T >::size().
Referenced by abaqusWriter::writeTemplate().

