Group DMIG Nodes

Engineering Tools — Group DMIG Nodes (00327)

What this tool does

Creates a FEMAP group containing every grid referenced by any Direct Matrix Input (DMIG) entity in the active model. One pass, all DMIGs, one group.

The use case

You’ve imported a Nastran deck that reduces a subsystem to a DMIG matrix — typical for spacecraft work, where solar arrays, dish antennas, and instrument decks routinely arrive as reduced stiffness / mass matrices. The interface grids that connect the reduced substructure to the rest of the model are scattered through the DMIG cards. You want them in a group so you can:

  • Visualize the interface in the FEMAP graphics window.
  • Check that the right RBEs / MPCs land on the right interface grids.
  • Inspect load paths into the reduced substructure.
  • Feed the interface grids into downstream tools (group-aware post-processing, mass-compute on the surrounding structure, …).

Why this exists

No FEMAP native command does this. The manual workflow is to open each DMIG entity in the Model Info tree, scrape out the grid IDs, and add them to a group by hand — tedious for any non-trivial substructure. Group DMIG Nodes sweeps every DMIG in the model in one click.

How it works under the hood

Walks the FT_MATRIX_INPUT entity set (femap.feMatrixInput) and calls GetMatrixList on each entry. The method returns parallel arrays of column / row grid IDs and DOF components for every entry in the matrix; the tool unions the unique grid IDs across all matrices into a single set and adds that set to the new group.

DataSource gotcha (for anyone reading the source): the FEMAP API exposes a DataSource property on each matrix with values MAT_INT (created in FEMAP), MAT_EXT (imported from an external .op2 / .pch), and MAT_COMB (combination wrapper referencing other matrices). It’s tempting to read MAT_EXT as "entries live outside FEMAP and can’t be queried" — that’s wrong. MAT_EXT only describes where the data came from; once imported, the entries are in the FEMAP database and GetMatrixList reads them out exactly the same as MAT_INT. The tool processes both types and skips only MAT_COMB wrappers (whose constituents are already independently in the matrix set).

How to use it

  1. Open from Custom Tools > Model Organization > Group DMIG Nodes.
  2. Click OK on the explanatory dialog. There’s nothing to pick — the tool processes all DMIGs in the model.
  3. The tool prints a one-line summary per matrix to the message window (matrix name, DataSource type, entry count) and a final count of unique grids collected, then creates the group.

Output

One group titled DMIG Nodes containing every unique grid ID referenced by any non-combination DMIG in the model. The message window summary shows the per-matrix counts so you can sanity-check coverage.

SPOINTs vs interface grids

DMIG matrices often reference a mix of real grid nodes (the physical interface DOFs) and scalar points (SPOINTs — internal generalized DOFs introduced by the reduction process). Both end up in the resulting "node" group, since FEMAP treats them in the same entity space. If you only want the physical interface grids, you can post-filter the resulting group by node type in FEMAP, or wait for a future rev of this tool that splits the output into separate groups for grids vs SPOINTs.

Related tools

  • Regions to Groups — same idea for connection regions: bulk-convert a model-wide entity class into a corresponding set of groups.
  • Cbush Forces to Excel — if you’re inspecting the load path into a reduced substructure, this tool catalogues the connector forces feeding those interface grids.