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 string &elemTypeName) |
Classify named element type (eg, S4R) to known/supported element types. More... | |
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 bool | isEncodedSolidId (const label combinedId) |
Is a combined (synthetic) face Id? More... | |
static label | encodeSolidId (const label id, const label side) |
Combine solid element Id and side Id into synthetic face Id. More... | |
static label | decodeSolidElementId (const label combinedId) |
Entangle solid element id from synthetic face Id. More... | |
static label | decodeSolidSideNum (const label combinedId) |
Entangle solid side id from synthetic face Id Synthesize faceId from solid element Id and sideId. 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 void | renumber0_elemId (label &elemId) |
From 1-based to 0-based. More... | |
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 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 |
Default construct.
|
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 checkElemType.
|
inlinestatic |
The number of points associated with the element type.
Definition at line 273 of file ABAQUSCore.H.
Referenced by ABAQUSCore::readHelper::read(), and ABAQUSCore::readHelper::readElements().
|
inlinestatic |
True if element type is not unknown/invalid.
Definition at line 281 of file ABAQUSCore.H.
|
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.
|
inlinestatic |
Is a combined (synthetic) face Id?
Definition at line 305 of file ABAQUSCore.H.
Referenced by ABAQUSCore::decodeSolidElementId(), ABAQUSCore::decodeSolidSideNum(), and ABAQUSCore::renumber0_elemId().
|
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 ABAQUSCore::isEncodedSolidId().
|
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 ABAQUSCore::isEncodedSolidId().
|
inlinestaticprotected |
From 1-based to 0-based.
Definition at line 353 of file ABAQUSCore.H.
References ABAQUSCore::isEncodedSolidId().
|
staticprotected |
Face addressing from ABAQUS faces to OpenFOAM faces.
For hex, prism, tet primitive shapes.
Definition at line 184 of file ABAQUSCore.C.
References ABAQUSCore::abaqusHex, ABAQUSCore::abaqusPrism, ABAQUSCore::abaqusTet, and abaqusToFoamFaceAddr_.
|
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 817 of file ABAQUSCore.C.
References UList< T >::begin(), DynamicList< T, SizeMin >::clear(), f(), n, points, List< T >::resize(), and UList< T >::size().
Copyright © 2011-2018 OpenFOAM | OPENFOAM® is a registered trademark of OpenCFD Ltd.