Core routines used when reading/writing ABAQUS files. More...
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 std::string &elemTypeName) |
| static int | nPoints (shapeType tag) |
| The number of points associated with the element type. More... | |
| static bool | isValidType (shapeType tag) |
| True if element type is not unknown/invalid. More... | |
| static bool | isShellType (shapeType tag) |
| True if element type is a 2D shell. More... | |
| static bool | isSolidType (shapeType tag) |
| True if element type is a 3D element. More... | |
| static void | writePoints (Ostream &os, const UList< point > &points, const scalar scaleFactor=1.0) |
| Write '*NODE' header and entries to file, optionally with scaling. More... | |
| static label | faceDecomposition (const UList< point > &points, const UList< face > &faces, labelList &decompOffsets, DynamicList< face > &decompFaces) |
| Calculate face decomposition for non tri/quad faces. More... | |
Protected Member Functions | |
| ABAQUSCore ()=default | |
| Default construct. More... | |
Static Protected Member Functions | |
| static const Map< labelList > & | abaqusToFoamFaceAddr () |
| Face addressing from ABAQUS faces to OpenFOAM faces. More... | |
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 244 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 251 of file ABAQUSCore.H.
|
protecteddefault |
Default construct.
|
static |
Classify named element type (eg, S4R) to known/supported element types.
The input string must be Uppercase!
Definition at line 203 of file ABAQUSCore.C.
References checkElemType.
|
inlinestatic |
The number of points associated with the element type.
Definition at line 271 of file ABAQUSCore.H.
Referenced by ABAQUSCore::readHelper::read(), and ABAQUSCore::readHelper::readElements().
True if element type is not unknown/invalid.
Definition at line 277 of file ABAQUSCore.H.
True if element type is a 2D shell.
Definition at line 283 of file ABAQUSCore.H.
True if element type is a 3D element.
Definition at line 289 of file ABAQUSCore.H.
|
staticprotected |
Face addressing from ABAQUS faces to OpenFOAM faces.
For hex, prism, tet primitive shapes.
Definition at line 189 of file ABAQUSCore.C.
References ABAQUSCore::abaqusHex, ABAQUSCore::abaqusPrism, ABAQUSCore::abaqusTet, and abaqusToFoamFaceAddr_.
|
static |
Write '*NODE' header and entries to file, optionally with scaling.
This is a no-op for an empty list
Definition at line 627 of file ABAQUSCore.C.
References Foam::nl, p, points, Ostream::precision(), and IOstream::setf().
|
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 662 of file ABAQUSCore.C.
References DynamicList< T, SizeMin >::clear(), f(), n, points, List< T >::resize(), and UList< T >::size().