Major changes: - Dashboard: WebSocket-based chat with session management - Dashboard: New chat components (ChatPane, ChatInput, ModeToggle) - Dashboard: Enhanced UI with parallel coordinates chart - MCP Server: New atomizer-tools server for Claude integration - Extractors: Enhanced Zernike OPD extractor - Reports: Improved report generator New studies (configs and scripts only): - M1 Mirror: Cost reduction campaign studies - Simple Beam, Simple Bracket, UAV Arm studies Note: Large iteration data (2_iterations/, best_design_archive/) excluded via .gitignore - kept on local Gitea only. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
M1 Mirror Turbo V2 - CMA-ES with Increased 40-20 Weight
Changes from V1
| Setting | V1 | V2 |
|---|---|---|
| Sampler | TPE | CMA-ES |
| 40-20 WFE weight | 5.0 | 6.0 |
| 60-20 WFE weight | 5.0 | 5.0 |
| MFG 90 weight | 3.0 | 3.0 |
| Mass weight | 1.0 | 0.0 (disabled) |
Purpose
V1 achieved WS=282.05 but 40-20 WFE slightly degraded vs V11 baseline (6.55 vs ~6.5 nm).
V2 changes:
- CMA-ES sampler - Better for continuous optimization, exploits gradients more effectively than TPE
- Increased 40-20 weight - Prioritize the 40-20 WFE objective
- Disabled mass - Since mass constraint is always satisfied and changes are minimal
Baseline
- V1 Best: WS=282.05 (trial 28)
- Starting surrogate: Trained on 45 FEA samples from V1
Quick Start
cd studies/M1_Mirror/m1_mirror_turbo_V2
# Run optimization
python run_optimization.py --start
# Or with custom settings
python run_optimization.py --start --max-fea 100 --patience 5
# Test single FEA
python run_optimization.py --test
Expected Behavior
Since mass is disabled (weight=0) and 40-20 is increased (6.0 vs 5.0):
- Optimization will focus more on reducing 40-20 WFE
- Mass may increase slightly (but stay under 105kg constraint)
- Best WS number will be different from V1 (different weights = different scale)
Comparing V1 vs V2
Do NOT compare WS values directly - they use different weight scales.
Compare individual objectives:
- 40-20 WFE (nm) - should be lower in V2
- 60-20 WFE (nm)
- MFG 90 (nm)
Files
1_setup/optimization_config.json- Configuration with V2 weights3_results/checkpoints/best_model.pt- Surrogate from V1 (45 samples)3_results/gnn_data/fea_samples.json- Training data from V1run_optimization.py- Main script (updated for V2 weights)