Files
Atomizer/studies/M1_Mirror/SAT3_Trajectory_V7/README.md
Anto01 ca4101dcb0 feat: improve optical report with embedded Plotly and 4x PNG export
- Embed Plotly.js inline for offline viewing (fixes CDN loading issues)
- Add 4x resolution PNG export for all charts via toImageButtonOptions
- Add SAT3_Trajectory_V7 study (TPE warm-start from V5, 86 trials, WS=277.37)
- Include V7 optimization report and configuration

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-08 19:29:34 -05:00

5.2 KiB

SAT3_Trajectory_V7 - Final Converged Optimization (TPE Warm-Start)

See ../README.md for M1 Mirror project overview

Overview

Final study in the SAT3 Trajectory series. Return to proven TPE after SAT V6 underperformed (~30% FEA success rate due to geometry infeasibility). Warm-started with all 194 V5 trials for immediate TPE model knowledge. Ran 86 additional trials with 100% FEA success rate, confirming the design space is fully converged.

Result: The optimum found in V5 (trial #181, WS=277.55) was confirmed as the global minimum. V7's best independent trial (#222, WS=277.60) matched it to within 0.08%.

Changes from V6

  • Algorithm: SAT v3 (surrogate) → TPE (Optuna) — back to proven method
  • Warm-start: Pre-loaded 194 V5 trials into Optuna DB, n_startup=0 (fully informed TPE)
  • Bounds: Same as V6 (lateral_inner_pivot expanded to [5, 19])
  • Seed: 77 (different from V5's 42) for fresh exploration
  • NX fixes: sys.exit(0) bug fix in solve_simulation.py, early-exit crash detection in solver.py, NX process cleanup with force-kill

Results Summary

Metric Value
Best WS 277.37 (trial #0, baseline re-eval)
Best V7 independent 277.60 (trial #222)
V7 completed trials 86
V7 FEA failures 0 (100% success rate)
Total trials (V5+V7) 275 completed
Winning mass 97.2 kg (22.8 kg under 120 kg limit)
Convergence Top 10 within 0.85 WS of each other

Winning Design Parameters

[Degrees]lateral_inner_angle=29.788
[Degrees]lateral_outer_angle=15.336
[mm]lateral_inner_pivot=15.513
[mm]lateral_middle_pivot=16.681
[mm]lateral_closeness=8.403
[mm]whiffle_min=61.929
[mm]triangle_width=171.39
[mm]offset_plane=3.048
[mm]lateral_outer_pivot=7.668    (derived = lateral_outer_angle / 2)

Winning Design Optical Performance

Metric Value (nm) Weight
WFE 40/20 6.97 5.0
WFE 60/20 13.01 5.0
MFG 90 28.59 4.0
Total filtered RMS 3.24 4.0
Coma RMS 8.81 3.0
Astigmatism RMS 2.53 3.0
Trefoil RMS 3.41 2.0
Spherical RMS 4.64 2.0
Weighted Sum 277.37

Constraints: Mass = 97.2 kg (PASS), R^2 = 1.0000 (PASS), Pivot = angle/2 (ENFORCED)

Method

  • Algorithm: TPE (Optuna, warm-started from V5)
  • Extraction: HYBRID (Trajectory + Discrete Angle OPD with annular aperture)
  • Annular inner radius: 135.75 mm (271.5 mm central hole)
  • Solver: NX Nastran 2512

Objectives (8 weighted, same as V3-V6)

Metric Weight Type
wfe_40_20 5.0 Discrete angle OPD
wfe_60_20 5.0 Discrete angle OPD
mfg_90 4.0 Discrete angle OPD
total_filtered_rms_nm 4.0 Trajectory
coma_rms_nm 3.0 Trajectory
astigmatism_rms_nm 3.0 Trajectory
trefoil_rms_nm 2.0 Trajectory
spherical_rms_nm 2.0 Trajectory

Design Variables (8 active + 1 derived)

Variable Min Max Optimal Units Notes
lateral_inner_angle 20.0 35.0 29.788 deg Interior optimum
lateral_outer_angle 9.0 17.0 15.336 deg Drives pivot
lateral_inner_pivot 5.0 19.0 15.513 mm Expanded in V6
lateral_middle_pivot 12.0 25.0 16.681 mm Interior optimum
lateral_closeness 5.0 15.0 8.403 mm Most sensitive param
whiffle_min 25.0 80.0 61.929 mm Interior optimum
triangle_width 155.0 185.0 171.390 mm Interior optimum
offset_plane -10.0 15.0 3.048 mm Must be small positive
lateral_outer_pivot 7.668 mm DERIVED = angle/2

Reports & Deliverables

File Location
Optimization report 3_results/OPTIMIZATION_REPORT.md
Optimization log 3_results/optimization.log
Study database 3_results/study.db
Full optical report (HTML) 2_iterations/iter0/*_OPTICAL_REPORT_*.html
Zernike 40/20 annular (HTML) 2_iterations/iter0/*_40_vs_20_ANNULAR.html
Zernike 60/20 annular (HTML) 2_iterations/iter0/*_60_vs_20_ANNULAR.html
Zernike 90 mfg annular (HTML) 2_iterations/iter0/*_90_mfg_ANNULAR.html
Winning params.exp 2_iterations/iter0/params.exp
OP2 results 2_iterations/iter0/*-solution_1.op2
Updated NX model 2_iterations/iter0/M1_Blank.prt

Study History

Version Algorithm Trials Best WS FEA Success Outcome
V1 TPE 69 ~350 ~90% Initial exploration
V2 TPE 101 ~310 ~90% Refined bounds
V3 TPE 160 ~290 ~95% Trajectory method added
V4 TPE 140 279.97 ~95% Derived pivot constraint
V5 TPE 189 277.55 ~100% HYBRID extraction
V6 SAT v3 27 307.91 ~30% Surrogate failed
V7 TPE (warm) 86 277.37 100% CONVERGED

Total FEA evaluations: 772

Usage

cd studies/M1_Mirror/SAT3_Trajectory_V7

# Test single FEA with winning params
python run_optimization.py --test

# Start optimization (200 trials default)
python run_optimization.py --start

# Resume and extend
python run_optimization.py --start --trials 100 --resume