Files
Atomizer/studies/M1_Mirror/m1_mirror_turbo_V2
Anto01 73a7b9d9f1 feat: Add dashboard chat integration and MCP server
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>
2026-01-13 15:53:55 -05:00
..

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:

  1. CMA-ES sampler - Better for continuous optimization, exploits gradients more effectively than TPE
  2. Increased 40-20 weight - Prioritize the 40-20 WFE objective
  3. 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 weights
  • 3_results/checkpoints/best_model.pt - Surrogate from V1 (45 samples)
  • 3_results/gnn_data/fea_samples.json - Training data from V1
  • run_optimization.py - Main script (updated for V2 weights)