{ "meta": { "version": "2.0", "created": "2026-01-17T15:35:12.042505Z", "modified": "2026-01-17T15:35:12.042505Z", "created_by": "migration", "modified_by": "migration", "study_name": "bracket_stiffness_optimization_atomizerfield", "description": "Bracket Stiffness Optimization with AtomizerField Neural Acceleration - Multi-objective optimization of bracket geometry for maximum stiffness and minimum mass", "tags": [] }, "model": { "sim": { "path": "1_setup\\model\\Bracket_sim1.sim", "solver": "nastran" } }, "design_variables": [ { "id": "dv_001", "name": "param_1", "expression_name": "support_angle", "type": "continuous", "bounds": { "min": 20, "max": 70 }, "baseline": null, "units": "degrees", "enabled": true, "description": "Angle of the support arm (degrees)", "canvas_position": { "x": 50, "y": 100 } }, { "id": "dv_002", "name": "param_2", "expression_name": "tip_thickness", "type": "continuous", "bounds": { "min": 30, "max": 60 }, "baseline": null, "units": "mm", "enabled": true, "description": "Thickness at the bracket tip (mm)", "canvas_position": { "x": 50, "y": 180 } } ], "extractors": [ { "id": "ext_001", "name": "Displacement Extractor", "type": "displacement", "builtin": true, "outputs": [ { "name": "stiffness", "metric": "total" } ], "canvas_position": { "x": 740, "y": 100 } }, { "id": "ext_002", "name": "Mass Extractor", "type": "mass", "builtin": true, "outputs": [ { "name": "mass_kg", "metric": "total" } ], "canvas_position": { "x": 740, "y": 250 } } ], "objectives": [ { "id": "obj_001", "name": "Structural stiffness (inverse of max displacement)", "direction": "maximize", "weight": 1.0, "source": { "extractor_id": "ext_001", "output_name": "stiffness" }, "target": null, "units": "", "canvas_position": { "x": 1020, "y": 100 } }, { "id": "obj_002", "name": "Total bracket mass (kg)", "direction": "minimize", "weight": 0.1, "source": { "extractor_id": "ext_001", "output_name": "mass" }, "target": null, "units": "", "canvas_position": { "x": 1020, "y": 200 } } ], "constraints": [ { "id": "con_001", "name": "Maximum mass constraint (kg)", "type": "hard", "operator": "<", "threshold": 0.2, "source": { "extractor_id": "ext_002", "output_name": "mass_kg" }, "penalty_config": { "method": "quadratic", "weight": 1000.0 }, "canvas_position": { "x": 1020, "y": 400 } } ], "optimization": { "algorithm": { "type": "TPE", "config": { "n_startup_trials": 10 } }, "budget": { "max_trials": 100 }, "canvas_position": { "x": 1300, "y": 150 } }, "canvas": { "edges": [ { "source": "dv_001", "target": "model" }, { "source": "dv_002", "target": "model" }, { "source": "model", "target": "solver" }, { "source": "solver", "target": "ext_001" }, { "source": "solver", "target": "ext_002" }, { "source": "ext_001", "target": "obj_001" }, { "source": "ext_001", "target": "obj_002" }, { "source": "ext_002", "target": "con_001" }, { "source": "obj_001", "target": "optimization" }, { "source": "obj_002", "target": "optimization" }, { "source": "con_001", "target": "optimization" } ], "layout_version": "2.0" } }