sim scan is powered by simparse, a
native (Rust) scanner for simulation project and case files. It installs as a
dependency of sim-cli-core; no solver, license server or vendor SDK is
needed.
simparse is built for one agent task: look at a file or a folder of historical simulation work and answer "what is in here?" quickly, before deciding which heavier vendor tool to call next. It reads metadata, inventories and setup hints with plain text, ZIP, XML and shallow HDF5 reads, and leaves geometry, mesh and result payloads where they are, referenced by size and category.
| Format | Files | What you get |
|---|---|---|
| COMSOL | .mph |
File version, model info and tree (modelinfo.xml, dmodel.xml, smodel.json), licenses used, binary blocks by category and size |
| Abaqus | .inp, .inc |
Include graph, node and element counts, materials, sections, steps, boundary and load keywords, output requests |
| Fluent | .cas.h5, .msh.h5 |
HDF5 object tree, attributes, dataset shapes and types, zone, boundary and settings hints |
| Ansys Electronics Desktop (HFSS / Icepak) | .aedt, .aedtz |
Product and version, design and solution types, solved status, variables, setups, sweeps, ports, boundaries, materials, mesh operations, lock/result sidecars; for Icepak designs also solution options, ambient conditions, thermal boundaries and powers, monitors, mesh regions |
| Ansys Mechanical | .mechdb, .mechdat |
Release, object and stream counts, analyses, bodies, materials, contacts, loads and conditions, results, geometry sources, sidecar status |
| Icepak Classic | .tzr |
Project name, entry and file counts, uncompressed size, job/model payload presence, entry inventory — streamed without extraction |
| Simcenter FloTHERM | .xml, .floxml (FloXML) |
Model and solve options, grid hints, attribute and geometry inventories, heat-source powers, solution-domain boundaries; generic .xml is recognised by its root element |
| Simcenter FloTHERM | .pack |
Project name, sizes, entry counts, presence of project group and base solution, entry inventory |
| Simulink | .slx, .mdl |
Model kind, release, block and library inventory, subsystems, Stateflow usage, root ports, active solver settings |
| MATLAB data | .mat (Level 4, v5–v7, v7.3) |
Variables with name, class, dimensions and flags, plus header facts |
- Bounded. The default summary returns lists as
{total, sample, truncated}and states parser limits explicitly, so a scan over thousands of files stays within an agent's context.sim scan --fullreturns the complete result. - Privacy-conscious. Absolute paths are redacted unless
--include-pathsis set. - Common IR. Results carry an additive
irfield in a shared CAE dialect, so downstream tools can read one shape across vendors. - Fast to call. A single process start covers a whole directory, which is what an agent tool call pays for.
simparse scans roughly 4–20× faster than a Python tool script doing the same scan (about 9× typical):
| Files | simparse | Python script | Speed-up |
|---|---|---|---|
Abaqus .inp |
22.9 ms | 202.6 ms | 8.8× |
COMSOL .mph |
45.2 ms | 270.7 ms | 6.0× |
Fluent .cas.h5 / .msh.h5 |
22.3 ms | 436.7 ms | 19.6× |
HFSS .aedt |
48.6 ms | 176.6 ms | 3.6× |
The benchmark models one agent tool call: a single external command scans a group of public simulation artifacts. Times are medians of 5 runs and include process startup and import cost.
Prebuilt wheels: Windows x86_64, macOS Apple silicon, Linux x86_64 (manylinux2014). simparse is free to use, including commercially, under the simparse License (Copyright SVD Lab); the license ships inside the wheel.
Report parser issues or request a format in
sim-cli issues with the
simparse label.