{ "meta": { "version": "2.0", "created": "2026-03-04T12:00:00Z", "modified": "2026-03-04T12:00:00Z", "created_by": "mario", "modified_by": "mario", "study_name": "03_robustness", "description": "Robustness checks: one-soft-point tests, combined compliance, and correlated displacement patterns. Run AFTER Studies 01 and 02 — uses knee values from Study 02.", "tags": ["mirror", "zernike", "robustness", "frame-stiffness"] }, "model": { "sim": { "path": "ASSY_M1_assyfem1_sim1.sim", "solver": "nastran", "_note": "Uses same CBUSH model variant as Study 02" }, "nx_settings": { "nx_install_path": "C:\\Program Files\\Siemens\\DesigncenterNX2512", "simulation_timeout_s": 600 } }, "design_variables": [ { "id": "dv_001", "name": "K_V_top", "expression_name": "K_V_top", "type": "continuous", "bounds": {"min": 1e4, "max": 1e12}, "baseline": 1e12, "units": "N/m", "enabled": true, "description": "Stiffness for V_top CBUSH only (for one-soft-point tests)" }, { "id": "dv_002", "name": "K_V_side", "expression_name": "K_V_side", "type": "continuous", "bounds": {"min": 1e4, "max": 1e12}, "baseline": 1e12, "units": "N/m", "enabled": true, "description": "Stiffness for V_left + V_right CBUSHes (symmetric pair)" }, { "id": "dv_003", "name": "K_L_side", "expression_name": "K_L_side", "type": "continuous", "bounds": {"min": 1e4, "max": 1e12}, "baseline": 1e12, "units": "N/m", "enabled": true, "description": "Stiffness for L_left + L_right CBUSHes (symmetric pair)" } ], "extractors": [ { "id": "ext_001", "name": "Zernike Annular OPD — Robustness", "type": "zernike_opd", "builtin": true, "config": { "inner_radius_mm": 135.75, "outer_radius_mm": 500.0, "n_modes": 50, "filter_low_orders": 4, "displacement_unit": "mm", "reference_subcase": 2 }, "outputs": [ { "name": "rel_filtered_rms_40_vs_20", "metric": "filtered_rms_nm" }, { "name": "rel_filtered_rms_60_vs_20", "metric": "filtered_rms_nm" } ] } ], "objectives": [ { "id": "obj_001", "name": "ΔWFE at 60° — robustness tracking", "direction": "minimize", "weight": 1.0, "source": { "extractor_id": "ext_001", "output_name": "rel_filtered_rms_60_vs_20" }, "target": 1.0, "units": "nm" } ], "constraints": [], "optimization": { "algorithm": { "type": "GridSampler", "config": {} }, "budget": { "max_trials": 8 } }, "run_matrix": { "_description": "UPDATE K_knee values after Study 02 completes. Replace 'KNEE' placeholders with actual values.", "_K_vert_knee": "UPDATE_FROM_STUDY_02", "_K_lat_knee": "UPDATE_FROM_STUDY_02", "trials": [ {"trial": 0, "label": "one_soft_V_top", "K_V_top": "KNEE/10", "K_V_side": 1e12, "K_L_side": 1e12, "elevation": "60", "_note": "V_top 10× below knee, rest rigid"}, {"trial": 1, "label": "one_soft_V_side", "K_V_top": 1e12, "K_V_side": "KNEE/10", "K_L_side": 1e12, "elevation": "60", "_note": "V_side 10× below knee, rest rigid"}, {"trial": 2, "label": "one_soft_L_side", "K_V_top": 1e12, "K_V_side": 1e12, "K_L_side": "KNEE/10", "elevation": "60", "_note": "L_side 10× below knee, rest rigid"}, {"trial": 3, "label": "combined_knee_60", "K_V_top": "KNEE", "K_V_side": "KNEE", "K_L_side": "KNEE", "elevation": "60", "_note": "All at knee values"}, {"trial": 4, "label": "combined_knee_40", "K_V_top": "KNEE", "K_V_side": "KNEE", "K_L_side": "KNEE", "elevation": "40", "_note": "All at knee @ 40°"}, {"trial": 5, "label": "combined_half_60", "K_V_top": "KNEE/2", "K_V_side": "KNEE/2", "K_L_side": "KNEE/2", "elevation": "60", "_note": "All at half knee"}, {"trial": 6, "label": "corr_sag_all_V_down", "_type": "method_d", "_note": "USE Study 01 setup: dV1_Z=dV2_Z=0.001 simultaneously (all 3 vertical +1μm Z). Tests correlated frame sag."}, {"trial": 7, "label": "corr_twist_V_split", "_type": "method_d", "_note": "USE Study 01 setup: dV1_Z=+0.001, dV2_Z=-0.001 (V_top up, V_sides down). Tests frame twist."} ] } }