OpenRadioss User Migration¶
The vendor package keeps OpenRadioss-specific concepts at the edge and projects them into femorph’s neutral model interface. Existing OpenRadioss users should expect three layers:
deck ingestion with
read_openradiossfor starter and engine decks;neutral model inspection and solving through
femorph_modelandfemorph_solver;native result artifacts written as
results.npz,post.npz, and PyVista.pvfiles for visualization and parity scoring.
Deck To Native Script¶
Use the deck-to-native script when you want a readable femorph-native projection of an OpenRadioss fixture:
python tools/openradioss/deck_to_native_script.py \
tests/openradioss/verification_manual/0001_verification_tensile_material \
native_model.py
Replay A Fixture¶
Use the fixture runner when checking raw OpenRadioss execution or CI replay:
OPENRADIOSS_PATH=/path/to/OpenRadioss \
python tools/openradioss/run_fixture.py \
tests/openradioss/verification_manual/0001_verification_tensile_material
Dynamic Solver Parity¶
The parity probe runs femorph’s transient solver against fixture reference results and writes a score summary:
python tools/openradioss/probe_dynamic_parity_scoreboard.py \
tests/openradioss/verification_manual \
build/openradioss-parity \
build/openradioss-parity/dynamic_parity_score_summary.toml
The candidate time grid is derived from each fixture’s reference
results.npz unless --dt and --n-steps are explicitly supplied.
When CI or a local OpenRadioss replay has produced solver-native reference
results outside the committed corpus, pass that directory with
--reference-results-root. The planner looks for <fixture>/results.npz
under that root and falls back to the committed fixture contract when no
external result exists:
python tools/openradioss/probe_dynamic_parity_scoreboard.py \
tests/openradioss/verification_manual \
build/openradioss-parity \
build/openradioss-parity/dynamic_parity_score_summary.toml \
--reference-results-root build/openradioss-replay/native