visualdynamics.io.femap¶
femap
¶
Femap Neutral files (.neu) — geometry and modes, read only.
Phase 3 of the FEM interchange arc (PLAN.md). The neutral file is
Femap's own text interchange: blocks bracketed by -1 lines, each
opening with its numeric ID. The layouts here were pinned against
real files (a Femap 2020 model export, neutral version 11.1, and a
translator-written results file, version 5.0) on 2026-08-21; no
other tool's source was consulted. Writing waits until someone
needs it.
What is read:
-
403 (nodes): one line per node — id, definition and output coordinate system, layer, color, six permanent constraints, x, y, z, type. Coordinates are stored in the definition system, so a node with a nonzero definition system needs block 405 resolved — and no file here has shown 405's record layout (every sample's block was empty), so such a node refuses by name rather than placing it somewhere it is not. Scalar nodes (type 1) are skipped knowingly, as everywhere else in this package.
-
404 (elements): a fixed seven-line record in the vintage pinned — header (14 fields, topology fifth), nodes 1-10, nodes 11-20, orientation, two offset lines, a trailing list line. Every line's field count is checked and a mismatch refuses naming the neutral version, because an unknown vintage that changed the record shape would otherwise be misread silently. Rigid, MultiList, Contact and Weld topologies append extra list records that break the fixed stride, so they refuse by name; ordinary constraint handling (skip knowingly) is not safe when the record length changes underneath the reader.
-
450 (output sets) + 451/1051 (output data vectors): only normal-modes sets (analysis type 2) become shapes — the set's value is the frequency in Hz, and the nodal translation vectors (2, 3, 4) and rotation vectors (6, 7, 8) become the ShapeSet columns. Other analyses' displacement vectors, and all stress and strain vectors, are skipped knowingly: this is a structural dynamics correlation path, not a postprocessor. 451 lists one
id, valuepair per line; 1051 packs runs offirst, last, values...— both end at a-1sentinel. The ShapeSet arrives unscaled: the neutral records min/max statistics, never the normalization convention.
A neutral file is unitless; length_unit= declares on arrival,
exactly as for a bulk deck or a universal file without dataset 164.