Refactor: nx_interface uses optimization_engine (NXSolver + pyNastran extractors)

- AtomizerNXSolver wraps existing NXSolver + extractors from SAT3 pipeline
- HEEDS-style iteration folders with fresh model copies per trial
- Expression .exp file generation with correct unit mapping
- pyNastran OP2 extraction: displacement, von Mises (kPa→MPa), mass
- StubSolver improved with beam-theory approximations
- Reuses proven journal pipeline (solve_simulation.py)
This commit is contained in:
2026-02-11 13:33:09 +00:00
parent 135698d96a
commit 126f0bb2e0
2 changed files with 321 additions and 476 deletions

View File

@@ -173,7 +173,7 @@ def evaluate_trial(
)
t_start = time.monotonic()
nx_result: TrialResult = solver.evaluate(trial_input)
nx_result: TrialResult = solver.solve(trial_input)
t_elapsed = time.monotonic() - t_start
trial.set_user_attr("solve_time_s", round(t_elapsed, 2))