SkillAgentSearch skills...

ExtFEMIO

C++ IO support for various FEM exchange file formats (NASTRAN BDF, DNV Sestra FEM)

Install / Use

/learn @dnvgl/ExtFEMIO
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

Build Status

Table of Contents

  1. Supported FEM file formats
    1. Unit system considerations
    2. NASTRAN Bulk Data Format (BDF)
      1. BDF Cards supported
        1. Bulk Data
        2. Header Data
    3. DNV GL Seasam Input Interface File (FEM)
      1. FEM Cards supported
      2. Element Types in SESAM

<a id="org483e2ff"></a>

Supported FEM file formats

Not all functionality defined for the exchange file formats is supported. The supported subset is currently mainly defined by the functionality supported in GLFrame rspt. the BMF file format.

More detailed information on supported functionality can be found in the according directories in the docs subdirectory.

<a id="orga70a97c"></a>

Unit system considerations

Unit systems used by the different systems are:

<table border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides"> <colgroup> <col class="org-left" /> <col class="org-left" /> <col class="org-left" /> <col class="org-left" /> </colgroup> <thead> <tr> <th scope="col" class="org-left">Dimension \\ System</th> <th scope="col" class="org-left">Poseidon</th> <th scope="col" class="org-left">Nastran</th> <th scope="col" class="org-left">Sesam / GeniE</th> </tr> </thead> <tbody> <tr> <td class="org-left">L (Length Unit)</td> <td class="org-left">[m] for nodes</td> <td class="org-left">[m]</td> <td class="org-left">[m]</td> </tr> <tr> <td class="org-left">&#xa0;</td> <td class="org-left">[mm] for plate thicknesses</td> <td class="org-left">&#xa0;</td> <td class="org-left">&#xa0;</td> </tr> <tr> <td class="org-left">M (Mass Unit)</td> <td class="org-left">[t]</td> <td class="org-left">[t]</td> <td class="org-left">[t]</td> </tr> <tr> <td class="org-left">ML/T² Force Unit)</td> <td class="org-left">[kN]</td> <td class="org-left">[kN]</td> <td class="org-left">[kN]</td> </tr> </tbody> </table>

Yield stress is stored in [kN/m²] in Sesam / GeniE, but [N/mm²] in POSEIDON.

<a id="orge4b4d58"></a>

NASTRAN Bulk Data Format (BDF)

<a id="orgc55002e"></a>

BDF Cards supported

<a id="org5b9f41f"></a>

Bulk Data

<table border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides"> <colgroup> <col class="org-left" /> <col class="org-left" /> <col class="org-left" /> <col class="org-left" /> <col class="org-left" /> </colgroup> <thead> <tr> <th scope="col" class="org-left">&#xa0;</th> <th scope="col" class="org-left">**Name**</th> <th scope="col" class="org-left">**Description**</th> <th scope="col" class="org-left">**Read**</th> <th scope="col" class="org-left">**Write**</th> </tr> </thead> <tbody> <tr> <td class="org-left">General</td> <td class="org-left">&#xa0;</td> <td class="org-left">&#xa0;</td> <td class="org-left">&#xa0;</td> <td class="org-left">&#xa0;</td> </tr> <tr> <td class="org-left">&#xa0;</td> <td class="org-left">`MAT1`</td> <td class="org-left">Material definition</td> <td class="org-left">✓</td> <td class="org-left">✓</td> </tr> <tr> <td class="org-left">&#xa0;</td> <td class="org-left">`MAT2`</td> <td class="org-left">Shell Element Anisotropic Material Property Definition</td> <td class="org-left">✓</td> <td class="org-left">✓</td> </tr> <tr> <td class="org-left">&#xa0;</td> <td class="org-left">`GRID`</td> <td class="org-left">Grid nodes</td> <td class="org-left">✓</td> <td class="org-left">✓</td> </tr> </tbody> <tbody> <tr> <td class="org-left">Elements</td> <td class="org-left">&#xa0;</td> <td class="org-left">&#xa0;</td> <td class="org-left">&#xa0;</td> <td class="org-left">&#xa0;</td> </tr> <tr> <td class="org-left">&#xa0;</td> <td class="org-left">`CTRIA3`</td> <td class="org-left">3 node shaped shell elements</td> <td class="org-left">✓</td> <td class="org-left">✓</td> </tr> <tr> <td class="org-left">&#xa0;</td> <td class="org-left">`CQUAD4`</td> <td class="org-left">4 node shaped shell elements</td> <td class="org-left">✓</td> <td class="org-left">✓</td> </tr> <tr> <td class="org-left">&#xa0;</td> <td class="org-left">`CBEAM`</td> <td class="org-left">Complex beams <sup><a id="fnr.1" class="footref" href="#fn.1">1</a></sup></td> <td class="org-left">✓</td> <td class="org-left">✓</td> </tr> <tr> <td class="org-left">&#xa0;</td> <td class="org-left">`CBAR`</td> <td class="org-left">Simple beams</td> <td class="org-left">✓</td> <td class="org-left">✓</td> </tr> <tr> <td class="org-left">&#xa0;</td> <td class="org-left">`CROD`</td> <td class="org-left">Trusses</td> <td class="org-left">✓</td> <td class="org-left">✓</td> </tr> <tr> <td class="org-left">&#xa0;</td> <td class="org-left">`CBUSH`</td> <td class="org-left">Generalized Spring-and-Damper Connection</td> <td class="org-left">✗</td> <td class="org-left">✓</td> </tr> </tbody> <tbody> <tr> <td class="org-left">Element</td> <td class="org-left">properties</td> <td class="org-left">&#xa0;</td> <td class="org-left">&#xa0;</td> <td class="org-left">&#xa0;</td> </tr> <tr> <td class="org-left">&#xa0;</td> <td class="org-left">`PSHELL`</td> <td class="org-left">Properties for `CTRIA3`, and `CQUAD4`</td> <td class="org-left">✓</td> <td class="org-left">✓</td> </tr> <tr> <td class="org-left">&#xa0;</td> <td class="org-left">`PBEAM`</td> <td class="org-left">Integral properties for `CBEAM`</td> <td class="org-left">✓</td> <td class="org-left">✓</td> </tr> <tr> <td class="org-left">&#xa0;</td> <td class="org-left">`PBEAML`</td> <td class="org-left">Properties for `CBEAM` describing cross section</td> <td class="org-left">✓</td> <td class="org-left">✓</td> </tr> <tr> <td class="org-left">&#xa0;</td> <td class="org-left">`PBAR`</td> <td class="org-left">Integral properties for `CBAR`</td> <td class="org-left">✓</td> <td class="org-left">✓</td> </tr> <tr> <td class="org-left">&#xa0;</td> <td class="org-left">`PBARL`</td> <td class="org-left">Properties for `CBAR` describing cross section</td> <td class="org-left">✓</td> <td class="org-left">✓</td> </tr> <tr> <td class="org-left">&#xa0;</td> <td class="org-left">`PROD`</td> <td class="org-left">Properties for `CROD`</td> <td class="org-left">✓</td> <td class="org-left">✓</td> </tr> <tr> <td class="org-left">&#xa0;</td> <td class="org-left">`PBUSH`</td> <td class="org-left">Generalized Spring-and-Damper Property</td> <td class="org-left">✗</td> <td class="org-left">✓</td> </tr> </tbody> <tbody> <tr> <td class="org-left">Load</td> <td class="org-left">&#xa0;</td> <td class="org-left">&#xa0;</td> <td class="org-left">&#xa0;</td> <td class="org-left">&#xa0;</td> </tr> <tr> <td class="org-left">&#xa0;</td> <td class="org-left">`LOAD`</td> <td class="org-left">Load case combination</td> <td class="org-left">✓</td> <td class="org-left">✓</td> </tr> <tr> <td class="org-left">&#xa0;</td> <td class="org-left">`FORCE`</td> <td class="org-left">Forces on Nodes</td> <td class="org-left">✓</td> <td class="org-left">✓</td> </tr> <tr> <td class="org-left">&#xa0;</td> <td class="org-left">`MOMENT`</td> <td class="org-left">Moments on Nodes</td> <td class="org-left">✓</td> <td class="org-left">✓</td> </tr> <tr> <td class="org-left">&#xa0;</td> <td class="org-left">`CONM1`</td> <td class="org-left">Concentrated Mass Element Connection, General Form</td> <td class="org-left">✗</td> <td class="org-left">✓</td> </tr> <tr> <td class="org-left">&#xa0;</td> <td class="org-left">`CMASS2`</td> <td class="org-left">Scalar Mass Property and Connection</td> <td class="org-left">✓</td> <td class="org-left">✗</td> </tr> <tr> <td class="org-left">&#xa0;</td> <td class="org-left">`CMASS4`</td> <td class="org-left">Scalar Mass Property and Connection to Scalar Points Only</td> <td class="org-left">✓</td> <td class="org-left">✗</td> </tr> <tr> <td class="org-left">&#xa0;</td> <td class="org-left">`GRAV`</td> <td class="org-left">Acceleration or Gravity Load</td> <td class="org-left">✓</td> <td class="org-left">✓</td> </tr> </tbody> <tbody> <tr> <td class="org-left">Misc</td> <td class="org-left">&#xa0;</td> <td class="org-left">&#xa0;</td> <td class="org-left">&#xa0;</td> <td class="org-left">&#xa0;</td> </tr> <tr> <td class="org-left">&#xa0;</td> <td class="org-left">`ENDDATA`</td> <td class="org-left">Marker for end of input file</td> <td class="org-left">✓</td> <td class="org-left">✓</td> </tr> <tr> <td class="org-left">&#xa0;</td> <td class="org-left">`PARAM`</td> <td class="org-left">Specifies values for parameters used in solution sequences or user written `DMAP` programs.</td> <td class="org-left">✓</td> <td class="org-left">✓</td> </tr> </tbody> </table>

<a id="org934fba6"></a>

Header Data

<table border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides"> <colgroup> <col class="org-left" /> <col class="org-left" /> <col class="org-left" /> <col class="org-left" /> </colgroup> <thead> <tr> <th scope="col" class="org-left">**Name**</th> <th scope="col" class="org-left">**Description**</th> <th scope="col" class="org-left">**Read**</th> <th scope="col" class="org-left">**Write**</th> </tr> </thead> <tbody> <tr> <td class="org-left">`SOL`</td> <td class="org-left">Execute a Solution Sequence</td> <td class="org-left">✗</td> <td class="org-left">✓</td> </tr> <tr> <td class="org-left">`CEND`</td> <td class="org-left">End of Executive Control Delimiter</td> <td class="org-left">✗</td> <td class="org-left">✓</td> </tr> <tr> <td class="org-left">`TITLE`</td> <td class="org-left">Output Title</td> <td class="org-left">✗</td> <td class="org-left">✓</td> </tr> <tr> <td class="org-left">`ECHO`</td> <td class="org-left">Bulk Data Echo Request</td> <td class="org-left">✗</td> <td class="org-left">✓</td> </tr> <tr> <td class="org-left">`DISPLACEMENT`</td> <td class="org-left">Displacement Output Reques

Related Skills

View on GitHub
GitHub Stars26
CategoryCustomer
Updated2mo ago
Forks5

Languages

C++

Security Score

90/100

Audited on Jan 11, 2026

No findings