Files
Atomizer/tools/validation_suite/suite_manifest.json
Antoine 4146e9d8f1 feat(V&V): Updated to FEA CSV format + real M2 mesh injection
- Output now matches WFE_from_CSV_OPD format: ,X,Y,Z,DX,DY,DZ (meters)
- Suite regenerated using real M2 mesh (357 nodes, 308mm diameter)
- All 14 clean test cases: PASS (0.000 nm error)
- 3 noisy cases: expected FAIL due to low node count amplifying noise
- Added --inject mode to use real FEA mesh geometry
- Added lateral displacement test case
2026-03-09 15:56:23 +00:00

525 lines
13 KiB
JSON

{
"suite": "Zernike Pipeline Validation",
"generated": "2026-03-09",
"mesh_source": "real FEA mesh (/home/papa/.openclaw/media/inbound/3e253684-cb78-4688-b55f-83fc68b85099.csv)",
"diameter_mm": 308.4492626330409,
"n_modes": 50,
"cases": {
"Z05_astig_0deg": {
"input_coefficients": {
"5": 100.0
},
"coefficient_names": {
"5": "Astigmatism 45\u00b0"
},
"n_points": 357,
"diameter_mm": 308.4492626330409,
"rms_nm_clean": 42.12315417582499,
"rms_nm_with_noise": 42.12315417582499,
"noise_rms_nm": 0.0,
"include_lateral": false,
"seed": 42,
"units": {
"positions": "meters",
"displacements": "meters",
"coefficients": "nanometers"
}
},
"Z06_astig_45deg": {
"input_coefficients": {
"6": 100.0
},
"coefficient_names": {
"6": "Astigmatism 0\u00b0"
},
"n_points": 357,
"diameter_mm": 308.4492626330409,
"rms_nm_clean": 42.12517074515991,
"rms_nm_with_noise": 42.12517074515991,
"noise_rms_nm": 0.0,
"include_lateral": false,
"seed": 42,
"units": {
"positions": "meters",
"displacements": "meters",
"coefficients": "nanometers"
}
},
"Z07_coma_x": {
"input_coefficients": {
"7": 100.0
},
"coefficient_names": {
"7": "Coma X"
},
"n_points": 357,
"diameter_mm": 308.4492626330409,
"rms_nm_clean": 36.296215855347604,
"rms_nm_with_noise": 36.296215855347604,
"noise_rms_nm": 0.0,
"include_lateral": false,
"seed": 42,
"units": {
"positions": "meters",
"displacements": "meters",
"coefficients": "nanometers"
}
},
"Z08_coma_y": {
"input_coefficients": {
"8": 100.0
},
"coefficient_names": {
"8": "Coma Y"
},
"n_points": 357,
"diameter_mm": 308.4492626330409,
"rms_nm_clean": 33.6178747432943,
"rms_nm_with_noise": 33.6178747432943,
"noise_rms_nm": 0.0,
"include_lateral": false,
"seed": 42,
"units": {
"positions": "meters",
"displacements": "meters",
"coefficients": "nanometers"
}
},
"Z09_trefoil_x": {
"input_coefficients": {
"9": 100.0
},
"coefficient_names": {
"9": "Trefoil X"
},
"n_points": 357,
"diameter_mm": 308.4492626330409,
"rms_nm_clean": 36.78252785961855,
"rms_nm_with_noise": 36.78252785961855,
"noise_rms_nm": 0.0,
"include_lateral": false,
"seed": 42,
"units": {
"positions": "meters",
"displacements": "meters",
"coefficients": "nanometers"
}
},
"Z10_trefoil_y": {
"input_coefficients": {
"10": 100.0
},
"coefficient_names": {
"10": "Trefoil Y"
},
"n_points": 357,
"diameter_mm": 308.4492626330409,
"rms_nm_clean": 36.78306790995374,
"rms_nm_with_noise": 36.78306790995374,
"noise_rms_nm": 0.0,
"include_lateral": false,
"seed": 42,
"units": {
"positions": "meters",
"displacements": "meters",
"coefficients": "nanometers"
}
},
"Z11_spherical": {
"input_coefficients": {
"11": 100.0
},
"coefficient_names": {
"11": "Primary Spherical"
},
"n_points": 357,
"diameter_mm": 308.4492626330409,
"rms_nm_clean": 45.12884267711414,
"rms_nm_with_noise": 45.12884267711414,
"noise_rms_nm": 0.0,
"include_lateral": false,
"seed": 42,
"units": {
"positions": "meters",
"displacements": "meters",
"coefficients": "nanometers"
}
},
"Z22_2nd_spherical": {
"input_coefficients": {
"22": 50.0
},
"coefficient_names": {
"22": "2nd Spherical"
},
"n_points": 357,
"diameter_mm": 308.4492626330409,
"rms_nm_clean": 19.830797790000034,
"rms_nm_with_noise": 19.830797790000034,
"noise_rms_nm": 0.0,
"include_lateral": false,
"seed": 42,
"units": {
"positions": "meters",
"displacements": "meters",
"coefficients": "nanometers"
}
},
"Z37_high_order": {
"input_coefficients": {
"37": 30.0
},
"coefficient_names": {
"37": "Z(8,+0)"
},
"n_points": 357,
"diameter_mm": 308.4492626330409,
"rms_nm_clean": 10.645079894279842,
"rms_nm_with_noise": 10.645079894279842,
"noise_rms_nm": 0.0,
"include_lateral": false,
"seed": 42,
"units": {
"positions": "meters",
"displacements": "meters",
"coefficients": "nanometers"
}
},
"realistic_gravity": {
"input_coefficients": {
"5": 80.0,
"6": 45.0,
"7": 30.0,
"8": 20.0,
"9": 15.0,
"11": 10.0,
"13": 5.0,
"16": 3.0,
"22": 2.0
},
"coefficient_names": {
"5": "Astigmatism 45\u00b0",
"6": "Astigmatism 0\u00b0",
"7": "Coma X",
"8": "Coma Y",
"9": "Trefoil X",
"11": "Primary Spherical",
"13": "2nd Astig Y",
"16": "2nd Coma X",
"22": "2nd Spherical"
},
"n_points": 357,
"diameter_mm": 308.4492626330409,
"rms_nm_clean": 42.14873971447113,
"rms_nm_with_noise": 42.14873971447113,
"noise_rms_nm": 0.0,
"include_lateral": false,
"seed": 42,
"units": {
"positions": "meters",
"displacements": "meters",
"coefficients": "nanometers"
}
},
"realistic_noise_1nm": {
"input_coefficients": {
"5": 80.0,
"6": 45.0,
"7": 30.0,
"8": 20.0,
"9": 15.0,
"11": 10.0,
"13": 5.0,
"16": 3.0,
"22": 2.0
},
"coefficient_names": {
"5": "Astigmatism 45\u00b0",
"6": "Astigmatism 0\u00b0",
"7": "Coma X",
"8": "Coma Y",
"9": "Trefoil X",
"11": "Primary Spherical",
"13": "2nd Astig Y",
"16": "2nd Coma X",
"22": "2nd Spherical"
},
"n_points": 357,
"diameter_mm": 308.4492626330409,
"rms_nm_clean": 42.14873971447113,
"rms_nm_with_noise": 42.210200631608785,
"noise_rms_nm": 1.0,
"include_lateral": false,
"seed": 42,
"units": {
"positions": "meters",
"displacements": "meters",
"coefficients": "nanometers"
}
},
"realistic_noise_5nm": {
"input_coefficients": {
"5": 80.0,
"6": 45.0,
"7": 30.0,
"8": 20.0,
"9": 15.0,
"11": 10.0,
"13": 5.0,
"16": 3.0,
"22": 2.0
},
"coefficient_names": {
"5": "Astigmatism 45\u00b0",
"6": "Astigmatism 0\u00b0",
"7": "Coma X",
"8": "Coma Y",
"9": "Trefoil X",
"11": "Primary Spherical",
"13": "2nd Astig Y",
"16": "2nd Coma X",
"22": "2nd Spherical"
},
"n_points": 357,
"diameter_mm": 308.4492626330409,
"rms_nm_clean": 42.14873971447113,
"rms_nm_with_noise": 42.66543622974069,
"noise_rms_nm": 5.0,
"include_lateral": false,
"seed": 42,
"units": {
"positions": "meters",
"displacements": "meters",
"coefficients": "nanometers"
}
},
"realistic_noise_10nm": {
"input_coefficients": {
"5": 80.0,
"6": 45.0,
"7": 30.0,
"8": 20.0,
"9": 15.0,
"11": 10.0,
"13": 5.0,
"16": 3.0,
"22": 2.0
},
"coefficient_names": {
"5": "Astigmatism 45\u00b0",
"6": "Astigmatism 0\u00b0",
"7": "Coma X",
"8": "Coma Y",
"9": "Trefoil X",
"11": "Primary Spherical",
"13": "2nd Astig Y",
"16": "2nd Coma X",
"22": "2nd Spherical"
},
"n_points": 357,
"diameter_mm": 308.4492626330409,
"rms_nm_clean": 42.14873971447113,
"rms_nm_with_noise": 43.691084762101006,
"noise_rms_nm": 10.0,
"include_lateral": false,
"seed": 42,
"units": {
"positions": "meters",
"displacements": "meters",
"coefficients": "nanometers"
}
},
"near_zero": {
"input_coefficients": {
"5": 0.1,
"7": 0.05,
"11": 0.01
},
"coefficient_names": {
"5": "Astigmatism 45\u00b0",
"7": "Coma X",
"11": "Primary Spherical"
},
"n_points": 357,
"diameter_mm": 308.4492626330409,
"rms_nm_clean": 0.046725164260732095,
"rms_nm_with_noise": 0.046725164260732095,
"noise_rms_nm": 0.0,
"include_lateral": false,
"seed": 42,
"units": {
"positions": "meters",
"displacements": "meters",
"coefficients": "nanometers"
}
},
"large_amplitude": {
"input_coefficients": {
"5": 500.0,
"7": 300.0
},
"coefficient_names": {
"5": "Astigmatism 45\u00b0",
"7": "Coma X"
},
"n_points": 357,
"diameter_mm": 308.4492626330409,
"rms_nm_clean": 237.09820412706273,
"rms_nm_with_noise": 237.09820412706273,
"noise_rms_nm": 0.0,
"include_lateral": false,
"seed": 42,
"units": {
"positions": "meters",
"displacements": "meters",
"coefficients": "nanometers"
}
},
"many_modes": {
"input_coefficients": {
"5": 20.0,
"6": 16.666666666666668,
"7": 14.285714285714286,
"8": 12.5,
"9": 11.11111111111111,
"10": 10.0,
"11": 9.090909090909092,
"12": 8.333333333333334,
"13": 7.6923076923076925,
"14": 7.142857142857143,
"15": 6.666666666666667,
"16": 6.25,
"17": 5.882352941176471,
"18": 5.555555555555555,
"19": 5.2631578947368425,
"20": 5.0,
"21": 4.761904761904762,
"22": 4.545454545454546,
"23": 4.3478260869565215,
"24": 4.166666666666667,
"25": 4.0,
"26": 3.8461538461538463,
"27": 3.7037037037037037,
"28": 3.5714285714285716,
"29": 3.4482758620689653,
"30": 3.3333333333333335,
"31": 3.225806451612903,
"32": 3.125,
"33": 3.0303030303030303,
"34": 2.9411764705882355,
"35": 2.857142857142857,
"36": 2.7777777777777777,
"37": 2.7027027027027026,
"38": 2.6315789473684212,
"39": 2.5641025641025643,
"40": 2.5,
"41": 2.4390243902439024,
"42": 2.380952380952381,
"43": 2.3255813953488373,
"44": 2.272727272727273,
"45": 2.2222222222222223,
"46": 2.1739130434782608,
"47": 2.127659574468085,
"48": 2.0833333333333335,
"49": 2.0408163265306123,
"50": 2.0
},
"coefficient_names": {
"5": "Astigmatism 45\u00b0",
"6": "Astigmatism 0\u00b0",
"7": "Coma X",
"8": "Coma Y",
"9": "Trefoil X",
"10": "Trefoil Y",
"11": "Primary Spherical",
"12": "2nd Astig X",
"13": "2nd Astig Y",
"14": "Quadrafoil X",
"15": "Quadrafoil Y",
"16": "2nd Coma X",
"17": "2nd Coma Y",
"18": "2nd Trefoil X",
"19": "2nd Trefoil Y",
"20": "Pentafoil X",
"21": "Pentafoil Y",
"22": "2nd Spherical",
"23": "Z(6,-2)",
"24": "Z(6,+2)",
"25": "Z(6,-4)",
"26": "Z(6,+4)",
"27": "Z(6,-6)",
"28": "Z(6,+6)",
"29": "Z(7,-1)",
"30": "Z(7,+1)",
"31": "Z(7,-3)",
"32": "Z(7,+3)",
"33": "Z(7,-5)",
"34": "Z(7,+5)",
"35": "Z(7,-7)",
"36": "Z(7,+7)",
"37": "Z(8,+0)",
"38": "Z(8,-2)",
"39": "Z(8,+2)",
"40": "Z(8,-4)",
"41": "Z(8,+4)",
"42": "Z(8,-6)",
"43": "Z(8,+6)",
"44": "Z(8,-8)",
"45": "Z(8,+8)",
"46": "Z(9,-1)",
"47": "Z(9,+1)",
"48": "Z(9,-3)",
"49": "Z(9,+3)",
"50": "Z(9,-5)"
},
"n_points": 357,
"diameter_mm": 308.4492626330409,
"rms_nm_clean": 14.718241472214698,
"rms_nm_with_noise": 14.718241472214698,
"noise_rms_nm": 0.0,
"include_lateral": false,
"seed": 42,
"units": {
"positions": "meters",
"displacements": "meters",
"coefficients": "nanometers"
}
},
"realistic_with_lateral": {
"input_coefficients": {
"5": 80.0,
"6": 45.0,
"7": 30.0,
"8": 20.0,
"9": 15.0,
"11": 10.0,
"13": 5.0,
"16": 3.0,
"22": 2.0
},
"coefficient_names": {
"5": "Astigmatism 45\u00b0",
"6": "Astigmatism 0\u00b0",
"7": "Coma X",
"8": "Coma Y",
"9": "Trefoil X",
"11": "Primary Spherical",
"13": "2nd Astig Y",
"16": "2nd Coma X",
"22": "2nd Spherical"
},
"n_points": 357,
"diameter_mm": 308.4492626330409,
"rms_nm_clean": 42.14873971447113,
"rms_nm_with_noise": 42.14873971447113,
"noise_rms_nm": 0.0,
"include_lateral": true,
"seed": 42,
"units": {
"positions": "meters",
"displacements": "meters",
"coefficients": "nanometers"
}
}
}
}