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
This commit is contained in:
@@ -1,10 +1,9 @@
|
||||
{
|
||||
"suite": "Zernike Pipeline Validation",
|
||||
"generated": "2026-03-09",
|
||||
"mirror_diameter_mm": 1200.0,
|
||||
"inner_radius_mm": 135.75,
|
||||
"n_zernike_modes": 50,
|
||||
"n_points_radial": 200,
|
||||
"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": {
|
||||
@@ -13,12 +12,18 @@
|
||||
"coefficient_names": {
|
||||
"5": "Astigmatism 45\u00b0"
|
||||
},
|
||||
"n_points": 118572,
|
||||
"diameter_mm": 1200.0,
|
||||
"rms_nm_clean": 41.90787728635817,
|
||||
"rms_nm_with_noise": 41.90787728635817,
|
||||
"n_points": 357,
|
||||
"diameter_mm": 308.4492626330409,
|
||||
"rms_nm_clean": 42.12315417582499,
|
||||
"rms_nm_with_noise": 42.12315417582499,
|
||||
"noise_rms_nm": 0.0,
|
||||
"seed": 42
|
||||
"include_lateral": false,
|
||||
"seed": 42,
|
||||
"units": {
|
||||
"positions": "meters",
|
||||
"displacements": "meters",
|
||||
"coefficients": "nanometers"
|
||||
}
|
||||
},
|
||||
"Z06_astig_45deg": {
|
||||
"input_coefficients": {
|
||||
@@ -27,12 +32,18 @@
|
||||
"coefficient_names": {
|
||||
"6": "Astigmatism 0\u00b0"
|
||||
},
|
||||
"n_points": 118572,
|
||||
"diameter_mm": 1200.0,
|
||||
"rms_nm_clean": 41.87578387312423,
|
||||
"rms_nm_with_noise": 41.87578387312423,
|
||||
"n_points": 357,
|
||||
"diameter_mm": 308.4492626330409,
|
||||
"rms_nm_clean": 42.12517074515991,
|
||||
"rms_nm_with_noise": 42.12517074515991,
|
||||
"noise_rms_nm": 0.0,
|
||||
"seed": 42
|
||||
"include_lateral": false,
|
||||
"seed": 42,
|
||||
"units": {
|
||||
"positions": "meters",
|
||||
"displacements": "meters",
|
||||
"coefficients": "nanometers"
|
||||
}
|
||||
},
|
||||
"Z07_coma_x": {
|
||||
"input_coefficients": {
|
||||
@@ -41,12 +52,18 @@
|
||||
"coefficient_names": {
|
||||
"7": "Coma X"
|
||||
},
|
||||
"n_points": 118572,
|
||||
"diameter_mm": 1200.0,
|
||||
"rms_nm_clean": 35.928378983095506,
|
||||
"rms_nm_with_noise": 35.928378983095506,
|
||||
"n_points": 357,
|
||||
"diameter_mm": 308.4492626330409,
|
||||
"rms_nm_clean": 36.296215855347604,
|
||||
"rms_nm_with_noise": 36.296215855347604,
|
||||
"noise_rms_nm": 0.0,
|
||||
"seed": 42
|
||||
"include_lateral": false,
|
||||
"seed": 42,
|
||||
"units": {
|
||||
"positions": "meters",
|
||||
"displacements": "meters",
|
||||
"coefficients": "nanometers"
|
||||
}
|
||||
},
|
||||
"Z08_coma_y": {
|
||||
"input_coefficients": {
|
||||
@@ -55,12 +72,18 @@
|
||||
"coefficient_names": {
|
||||
"8": "Coma Y"
|
||||
},
|
||||
"n_points": 118572,
|
||||
"diameter_mm": 1200.0,
|
||||
"rms_nm_clean": 35.928378983095506,
|
||||
"rms_nm_with_noise": 35.928378983095506,
|
||||
"n_points": 357,
|
||||
"diameter_mm": 308.4492626330409,
|
||||
"rms_nm_clean": 33.6178747432943,
|
||||
"rms_nm_with_noise": 33.6178747432943,
|
||||
"noise_rms_nm": 0.0,
|
||||
"seed": 42
|
||||
"include_lateral": false,
|
||||
"seed": 42,
|
||||
"units": {
|
||||
"positions": "meters",
|
||||
"displacements": "meters",
|
||||
"coefficients": "nanometers"
|
||||
}
|
||||
},
|
||||
"Z09_trefoil_x": {
|
||||
"input_coefficients": {
|
||||
@@ -69,12 +92,18 @@
|
||||
"coefficient_names": {
|
||||
"9": "Trefoil X"
|
||||
},
|
||||
"n_points": 118572,
|
||||
"diameter_mm": 1200.0,
|
||||
"rms_nm_clean": 36.27358028530051,
|
||||
"rms_nm_with_noise": 36.27358028530051,
|
||||
"n_points": 357,
|
||||
"diameter_mm": 308.4492626330409,
|
||||
"rms_nm_clean": 36.78252785961855,
|
||||
"rms_nm_with_noise": 36.78252785961855,
|
||||
"noise_rms_nm": 0.0,
|
||||
"seed": 42
|
||||
"include_lateral": false,
|
||||
"seed": 42,
|
||||
"units": {
|
||||
"positions": "meters",
|
||||
"displacements": "meters",
|
||||
"coefficients": "nanometers"
|
||||
}
|
||||
},
|
||||
"Z10_trefoil_y": {
|
||||
"input_coefficients": {
|
||||
@@ -83,12 +112,18 @@
|
||||
"coefficient_names": {
|
||||
"10": "Trefoil Y"
|
||||
},
|
||||
"n_points": 118572,
|
||||
"diameter_mm": 1200.0,
|
||||
"rms_nm_clean": 36.27358028530051,
|
||||
"rms_nm_with_noise": 36.27358028530051,
|
||||
"n_points": 357,
|
||||
"diameter_mm": 308.4492626330409,
|
||||
"rms_nm_clean": 36.78306790995374,
|
||||
"rms_nm_with_noise": 36.78306790995374,
|
||||
"noise_rms_nm": 0.0,
|
||||
"seed": 42
|
||||
"include_lateral": false,
|
||||
"seed": 42,
|
||||
"units": {
|
||||
"positions": "meters",
|
||||
"displacements": "meters",
|
||||
"coefficients": "nanometers"
|
||||
}
|
||||
},
|
||||
"Z11_spherical": {
|
||||
"input_coefficients": {
|
||||
@@ -97,12 +132,18 @@
|
||||
"coefficient_names": {
|
||||
"11": "Primary Spherical"
|
||||
},
|
||||
"n_points": 118572,
|
||||
"diameter_mm": 1200.0,
|
||||
"rms_nm_clean": 41.33581266115739,
|
||||
"rms_nm_with_noise": 41.33581266115739,
|
||||
"n_points": 357,
|
||||
"diameter_mm": 308.4492626330409,
|
||||
"rms_nm_clean": 45.12884267711414,
|
||||
"rms_nm_with_noise": 45.12884267711414,
|
||||
"noise_rms_nm": 0.0,
|
||||
"seed": 42
|
||||
"include_lateral": false,
|
||||
"seed": 42,
|
||||
"units": {
|
||||
"positions": "meters",
|
||||
"displacements": "meters",
|
||||
"coefficients": "nanometers"
|
||||
}
|
||||
},
|
||||
"Z22_2nd_spherical": {
|
||||
"input_coefficients": {
|
||||
@@ -111,12 +152,18 @@
|
||||
"coefficient_names": {
|
||||
"22": "2nd Spherical"
|
||||
},
|
||||
"n_points": 118572,
|
||||
"diameter_mm": 1200.0,
|
||||
"rms_nm_clean": 17.392678653363138,
|
||||
"rms_nm_with_noise": 17.392678653363138,
|
||||
"n_points": 357,
|
||||
"diameter_mm": 308.4492626330409,
|
||||
"rms_nm_clean": 19.830797790000034,
|
||||
"rms_nm_with_noise": 19.830797790000034,
|
||||
"noise_rms_nm": 0.0,
|
||||
"seed": 42
|
||||
"include_lateral": false,
|
||||
"seed": 42,
|
||||
"units": {
|
||||
"positions": "meters",
|
||||
"displacements": "meters",
|
||||
"coefficients": "nanometers"
|
||||
}
|
||||
},
|
||||
"Z37_high_order": {
|
||||
"input_coefficients": {
|
||||
@@ -125,12 +172,18 @@
|
||||
"coefficient_names": {
|
||||
"37": "Z(8,+0)"
|
||||
},
|
||||
"n_points": 118572,
|
||||
"diameter_mm": 1200.0,
|
||||
"rms_nm_clean": 9.330123545845794,
|
||||
"rms_nm_with_noise": 9.330123545845794,
|
||||
"n_points": 357,
|
||||
"diameter_mm": 308.4492626330409,
|
||||
"rms_nm_clean": 10.645079894279842,
|
||||
"rms_nm_with_noise": 10.645079894279842,
|
||||
"noise_rms_nm": 0.0,
|
||||
"seed": 42
|
||||
"include_lateral": false,
|
||||
"seed": 42,
|
||||
"units": {
|
||||
"positions": "meters",
|
||||
"displacements": "meters",
|
||||
"coefficients": "nanometers"
|
||||
}
|
||||
},
|
||||
"realistic_gravity": {
|
||||
"input_coefficients": {
|
||||
@@ -155,12 +208,18 @@
|
||||
"16": "2nd Coma X",
|
||||
"22": "2nd Spherical"
|
||||
},
|
||||
"n_points": 118572,
|
||||
"diameter_mm": 1200.0,
|
||||
"rms_nm_clean": 41.22340829508179,
|
||||
"rms_nm_with_noise": 41.22340829508179,
|
||||
"n_points": 357,
|
||||
"diameter_mm": 308.4492626330409,
|
||||
"rms_nm_clean": 42.14873971447113,
|
||||
"rms_nm_with_noise": 42.14873971447113,
|
||||
"noise_rms_nm": 0.0,
|
||||
"seed": 42
|
||||
"include_lateral": false,
|
||||
"seed": 42,
|
||||
"units": {
|
||||
"positions": "meters",
|
||||
"displacements": "meters",
|
||||
"coefficients": "nanometers"
|
||||
}
|
||||
},
|
||||
"realistic_noise_1nm": {
|
||||
"input_coefficients": {
|
||||
@@ -185,12 +244,18 @@
|
||||
"16": "2nd Coma X",
|
||||
"22": "2nd Spherical"
|
||||
},
|
||||
"n_points": 118572,
|
||||
"diameter_mm": 1200.0,
|
||||
"rms_nm_clean": 41.22340829508179,
|
||||
"rms_nm_with_noise": 41.23235114137111,
|
||||
"n_points": 357,
|
||||
"diameter_mm": 308.4492626330409,
|
||||
"rms_nm_clean": 42.14873971447113,
|
||||
"rms_nm_with_noise": 42.210200631608785,
|
||||
"noise_rms_nm": 1.0,
|
||||
"seed": 42
|
||||
"include_lateral": false,
|
||||
"seed": 42,
|
||||
"units": {
|
||||
"positions": "meters",
|
||||
"displacements": "meters",
|
||||
"coefficients": "nanometers"
|
||||
}
|
||||
},
|
||||
"realistic_noise_5nm": {
|
||||
"input_coefficients": {
|
||||
@@ -215,12 +280,18 @@
|
||||
"16": "2nd Coma X",
|
||||
"22": "2nd Spherical"
|
||||
},
|
||||
"n_points": 118572,
|
||||
"diameter_mm": 1200.0,
|
||||
"rms_nm_clean": 41.22340829508179,
|
||||
"rms_nm_with_noise": 41.511570286278975,
|
||||
"n_points": 357,
|
||||
"diameter_mm": 308.4492626330409,
|
||||
"rms_nm_clean": 42.14873971447113,
|
||||
"rms_nm_with_noise": 42.66543622974069,
|
||||
"noise_rms_nm": 5.0,
|
||||
"seed": 42
|
||||
"include_lateral": false,
|
||||
"seed": 42,
|
||||
"units": {
|
||||
"positions": "meters",
|
||||
"displacements": "meters",
|
||||
"coefficients": "nanometers"
|
||||
}
|
||||
},
|
||||
"realistic_noise_10nm": {
|
||||
"input_coefficients": {
|
||||
@@ -245,12 +316,18 @@
|
||||
"16": "2nd Coma X",
|
||||
"22": "2nd Spherical"
|
||||
},
|
||||
"n_points": 118572,
|
||||
"diameter_mm": 1200.0,
|
||||
"rms_nm_clean": 41.22340829508179,
|
||||
"rms_nm_with_noise": 42.39618932696218,
|
||||
"n_points": 357,
|
||||
"diameter_mm": 308.4492626330409,
|
||||
"rms_nm_clean": 42.14873971447113,
|
||||
"rms_nm_with_noise": 43.691084762101006,
|
||||
"noise_rms_nm": 10.0,
|
||||
"seed": 42
|
||||
"include_lateral": false,
|
||||
"seed": 42,
|
||||
"units": {
|
||||
"positions": "meters",
|
||||
"displacements": "meters",
|
||||
"coefficients": "nanometers"
|
||||
}
|
||||
},
|
||||
"near_zero": {
|
||||
"input_coefficients": {
|
||||
@@ -263,12 +340,18 @@
|
||||
"7": "Coma X",
|
||||
"11": "Primary Spherical"
|
||||
},
|
||||
"n_points": 118572,
|
||||
"diameter_mm": 1200.0,
|
||||
"rms_nm_clean": 0.04578284369521264,
|
||||
"rms_nm_with_noise": 0.04578284369521264,
|
||||
"n_points": 357,
|
||||
"diameter_mm": 308.4492626330409,
|
||||
"rms_nm_clean": 0.046725164260732095,
|
||||
"rms_nm_with_noise": 0.046725164260732095,
|
||||
"noise_rms_nm": 0.0,
|
||||
"seed": 42
|
||||
"include_lateral": false,
|
||||
"seed": 42,
|
||||
"units": {
|
||||
"positions": "meters",
|
||||
"displacements": "meters",
|
||||
"coefficients": "nanometers"
|
||||
}
|
||||
},
|
||||
"large_amplitude": {
|
||||
"input_coefficients": {
|
||||
@@ -279,12 +362,18 @@
|
||||
"5": "Astigmatism 45\u00b0",
|
||||
"7": "Coma X"
|
||||
},
|
||||
"n_points": 118572,
|
||||
"diameter_mm": 1200.0,
|
||||
"rms_nm_clean": 235.6361394467916,
|
||||
"rms_nm_with_noise": 235.6361394467916,
|
||||
"n_points": 357,
|
||||
"diameter_mm": 308.4492626330409,
|
||||
"rms_nm_clean": 237.09820412706273,
|
||||
"rms_nm_with_noise": 237.09820412706273,
|
||||
"noise_rms_nm": 0.0,
|
||||
"seed": 42
|
||||
"include_lateral": false,
|
||||
"seed": 42,
|
||||
"units": {
|
||||
"positions": "meters",
|
||||
"displacements": "meters",
|
||||
"coefficients": "nanometers"
|
||||
}
|
||||
},
|
||||
"many_modes": {
|
||||
"input_coefficients": {
|
||||
@@ -383,14 +472,20 @@
|
||||
"49": "Z(9,+3)",
|
||||
"50": "Z(9,-5)"
|
||||
},
|
||||
"n_points": 118572,
|
||||
"diameter_mm": 1200.0,
|
||||
"rms_nm_clean": 16.40426082558852,
|
||||
"rms_nm_with_noise": 16.40426082558852,
|
||||
"n_points": 357,
|
||||
"diameter_mm": 308.4492626330409,
|
||||
"rms_nm_clean": 14.718241472214698,
|
||||
"rms_nm_with_noise": 14.718241472214698,
|
||||
"noise_rms_nm": 0.0,
|
||||
"seed": 42
|
||||
"include_lateral": false,
|
||||
"seed": 42,
|
||||
"units": {
|
||||
"positions": "meters",
|
||||
"displacements": "meters",
|
||||
"coefficients": "nanometers"
|
||||
}
|
||||
},
|
||||
"realistic_full_disk": {
|
||||
"realistic_with_lateral": {
|
||||
"input_coefficients": {
|
||||
"5": 80.0,
|
||||
"6": 45.0,
|
||||
@@ -413,44 +508,18 @@
|
||||
"16": "2nd Coma X",
|
||||
"22": "2nd Spherical"
|
||||
},
|
||||
"n_points": 124980,
|
||||
"diameter_mm": 1200.0,
|
||||
"rms_nm_clean": 40.21839241800354,
|
||||
"rms_nm_with_noise": 40.21839241800354,
|
||||
"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,
|
||||
"inner_radius_mm": 0.0
|
||||
},
|
||||
"realistic_scattered": {
|
||||
"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": 119376,
|
||||
"diameter_mm": 1200.0,
|
||||
"rms_nm_clean": 41.32177716032332,
|
||||
"rms_nm_with_noise": 41.32177716032332,
|
||||
"noise_rms_nm": 0.0,
|
||||
"seed": 42,
|
||||
"grid_type": "scattered"
|
||||
"units": {
|
||||
"positions": "meters",
|
||||
"displacements": "meters",
|
||||
"coefficients": "nanometers"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user