Anto01
2f3afc3813
feat: Add substudy system with live history tracking and workflow fixes
Major Features:
- Hierarchical substudy system (like NX Solutions/Subcases)
* Shared model files across all substudies
* Independent configuration per substudy
* Continuation support from previous substudies
* Real-time incremental history updates
- Live history tracking with optimization_history_incremental.json
- Complete bracket_displacement_maximizing study with substudy examples
Core Fixes:
- Fixed expression update workflow to pass design_vars through simulation_runner
* Restored working NX journal expression update mechanism
* OP2 timestamp verification instead of file deletion
* Resolved issue where all trials returned identical objective values
- Fixed LLMOptimizationRunner to pass design variables to simulation runner
- Enhanced NXSolver with timestamp-based file regeneration verification
New Components:
- optimization_engine/llm_optimization_runner.py - LLM-driven optimization runner
- optimization_engine/optimization_setup_wizard.py - Phase 3.3 setup wizard
- studies/bracket_displacement_maximizing/ - Complete substudy example
* run_substudy.py - Substudy runner with continuation
* run_optimization.py - Standalone optimization runner
* config/substudy_template.json - Template for new substudies
* substudies/coarse_exploration/ - 20-trial coarse search
* substudies/fine_tuning/ - 50-trial refinement (continuation example)
* SUBSTUDIES_README.md - Complete substudy documentation
Technical Improvements:
- Incremental history saving after each trial (optimization_history_incremental.json)
- Expression update workflow: .prt update → NX journal receives values → geometry update → FEM update → solve
- Trial indexing fix in substudy result saving
- Updated README with substudy system documentation
Testing:
- Successfully ran 20-trial coarse_exploration substudy
- Verified different objective values across trials (workflow fix validated)
- Confirmed live history updates in real-time
- Tested shared model file usage across substudies
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>