|
Engineering Tools — F06 Modes Hz to Excel (00321)
What this tool does
Scans every .f06 file in a directory you choose (optionally
recursive), pulls the modal frequency column out of each Nastran
REAL EIGENVALUES table, and writes a wide Excel table:
column A is the filename, columns B onward are the per-mode frequencies
in Hz. One row per F06. A single bulk Range.Value write
to Excel at the end, so even a few hundred F06s land in well under a
minute.
Failed parses (no eigenvalue table, malformed file, etc.) are marked
(no eigenvalues found) in column B and the rest of the
sweep continues -- you don't lose a batch because one F06 was bad.
When you want it
- Parametric modal sweeps. Twenty face-sheet thicknesses
× five core densities × three boundary-condition sets = 300
modal runs. You need to plot Mode 1 frequency vs. parameter without
hand-opening every F06. This tool reduces "open Excel, copy from
Compose, paste, repeat" to a single 5-second action.
- Sensitivity studies. Same idea on a smaller scale --
sweep one parameter, want to see frequency trends across modes.
- Regression / archived-run comparisons. Point the tool
at an old project folder, get every F06's modal table summarised in
one workbook, diff against a current-version sweep.
How to use it
- Stash the F06 files you want parsed in a folder (or a folder tree,
if you check the recursive option).
- Open the tool from Custom Tools > PostProcessing > F06 Modes
Hz to Excel. (It's SU-gated -- if you don't see it in the
menu, your install class is normal-user; ask Ian to flip your
EngineeringTools.ini
super_user = yes to surface it.)
- Pick the folder via the picker dialog. Toggle "Recursive" if you
want sub-folders walked too.
- Click OK. Excel opens with the results. Save the workbook to
wherever you want it.
Output format
A B C D ...
------------------------ --- --- --- ----
job_t0.05_c1.bdf.f06 42.13 58.91 96.27 ...
job_t0.05_c1.5.bdf.f06 45.07 62.30 99.84 ...
job_t0.06_c1.bdf.f06 44.81 61.45 98.71 ...
...
Column headers are Mode 1 (Hz), Mode 2 (Hz),
... up to the deepest mode count seen across all F06s. Shorter F06s
get blank cells for the modes they don't have.
Performance notes
The parser is streaming line-by-line, so an F06 of any size reads in
memory-safe. All Excel writes are batched into a single
Range(...).Value = 2D_array call at the end of the
collection pass, so the typical bottleneck (cell-by-cell COM round-trips)
is sidestepped entirely.
Rough numbers from Ian's consulting use 2026-05-28:
- 129 F06s, average ~40 modes each, ~250 MB total in input files
- 4.6 seconds end-to-end on a 2024-era laptop
Failure modes
- No
REAL EIGENVALUES block found. Most
common cause: the F06 is from a static or transient run, not a modal
extraction. Cell B for that filename will read
(no eigenvalues found).
- Page-break lines confuse the parser. Nastran F06s
have
1 (the Fortran "form feed" control char) as the first
column on page-break rows -- the parser guards against this by also
checking that column 4 of any candidate row is numeric before reading
it as a mode. Should be invisible to you, but if you see oddly-low
values in column B for some files, that's the gotcha class.
- Directory has zero F06s. The tool exits with a
warning, no Excel workbook is created.
Why SU-gated?
This is a batch-oriented analyst tool, not a per-model utility.
Most users running modal analysis are working one model at a time --
a single F06 doesn't need a batch parser, Compose / Femap's own
results browser is enough. SU-gating it keeps the menu clean for
normal users while remaining one click away for users who do
parametric sweeps.
Related tools
- Mode Identification —
per-mode energy breakdown by group, when you need to identify WHICH
mode shape you're looking at (vs. just the frequency).
- Modes to PPT — for visual
mode-shape exports of a single run.
|