feat(config): Add AtomizerSpec v2.0 schema and migrate all studies
Added JSON Schema: - optimization_engine/schemas/atomizer_spec_v2.json Migrated 28 studies to AtomizerSpec v2.0 format: - Drone_Gimbal studies (1) - M1_Mirror studies (21) - M2_Mirror studies (2) - SheetMetal_Bracket studies (4) Each atomizer_spec.json is the unified configuration containing: - Design variables with bounds and expressions - Extractors (standard and custom) - Objectives and constraints - Optimization algorithm settings - Canvas layout information
This commit is contained in:
83
studies/support_mass_v1/atomizer_spec.json
Normal file
83
studies/support_mass_v1/atomizer_spec.json
Normal file
@@ -0,0 +1,83 @@
|
||||
{
|
||||
"meta": {
|
||||
"version": "2.0",
|
||||
"study_name": "support_mass_v1",
|
||||
"description": "Minimize mass of structural support",
|
||||
"created_by": "claude",
|
||||
"created_at": "2026-01-18",
|
||||
"modified_by": "claude",
|
||||
"modified_at": "2026-01-18"
|
||||
},
|
||||
"model": {
|
||||
"sim": {
|
||||
"path": "",
|
||||
"solver": "nastran",
|
||||
"description": "Structural support model - to be configured in Canvas"
|
||||
}
|
||||
},
|
||||
"design_variables": [],
|
||||
"extractors": [
|
||||
{
|
||||
"id": "ext_001",
|
||||
"name": "mass",
|
||||
"type": "mass_bdf",
|
||||
"description": "Total structural mass from BDF",
|
||||
"config": {
|
||||
"unit": "kg"
|
||||
},
|
||||
"enabled": true,
|
||||
"canvas_position": {
|
||||
"x": 400,
|
||||
"y": 200
|
||||
}
|
||||
}
|
||||
],
|
||||
"objectives": [
|
||||
{
|
||||
"id": "obj_001",
|
||||
"name": "minimize_mass",
|
||||
"direction": "minimize",
|
||||
"weight": 1.0,
|
||||
"extractor_id": "ext_001",
|
||||
"enabled": true,
|
||||
"canvas_position": {
|
||||
"x": 600,
|
||||
"y": 200
|
||||
}
|
||||
}
|
||||
],
|
||||
"constraints": [],
|
||||
"optimization": {
|
||||
"algorithm": {
|
||||
"type": "TPE",
|
||||
"config": {
|
||||
"n_startup_trials": 10,
|
||||
"multivariate": true
|
||||
}
|
||||
},
|
||||
"budget": {
|
||||
"max_trials": 100,
|
||||
"timeout_hours": null
|
||||
},
|
||||
"convergence": {
|
||||
"enable_early_stopping": true,
|
||||
"patience": 15,
|
||||
"min_improvement": 0.001
|
||||
}
|
||||
},
|
||||
"canvas": {
|
||||
"edges": [
|
||||
{
|
||||
"id": "edge_001",
|
||||
"source": "model",
|
||||
"target": "ext_001"
|
||||
},
|
||||
{
|
||||
"id": "edge_002",
|
||||
"source": "ext_001",
|
||||
"target": "obj_001"
|
||||
}
|
||||
],
|
||||
"layout_version": "2.0"
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user