Major changes: - Dashboard: WebSocket-based chat with session management - Dashboard: New chat components (ChatPane, ChatInput, ModeToggle) - Dashboard: Enhanced UI with parallel coordinates chart - MCP Server: New atomizer-tools server for Claude integration - Extractors: Enhanced Zernike OPD extractor - Reports: Improved report generator New studies (configs and scripts only): - M1 Mirror: Cost reduction campaign studies - Simple Beam, Simple Bracket, UAV Arm studies Note: Large iteration data (2_iterations/, best_design_archive/) excluded via .gitignore - kept on local Gitea only. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
101 lines
2.4 KiB
JSON
101 lines
2.4 KiB
JSON
{
|
|
"study_name": "bracket_stiffness_optimization",
|
|
"description": "Maximize bracket stiffness while minimizing mass (constraint: mass ≤ 0.2 kg)",
|
|
|
|
"objectives": [
|
|
{
|
|
"name": "stiffness",
|
|
"type": "maximize",
|
|
"description": "Structural stiffness (N/mm) calculated as Force/Displacement",
|
|
"target": null,
|
|
"weight": 1.0
|
|
},
|
|
{
|
|
"name": "mass",
|
|
"type": "minimize",
|
|
"description": "Total mass (kg) - secondary objective with hard constraint",
|
|
"target": null,
|
|
"weight": 0.1
|
|
}
|
|
],
|
|
|
|
"constraints": [
|
|
{
|
|
"name": "mass_limit",
|
|
"type": "less_than",
|
|
"value": 0.2,
|
|
"description": "Maximum allowable mass: 200 grams"
|
|
}
|
|
],
|
|
|
|
"design_variables": [
|
|
{
|
|
"name": "support_angle",
|
|
"type": "continuous",
|
|
"min": 20.0,
|
|
"max": 70.0,
|
|
"initial": 60.0,
|
|
"unit": "degrees",
|
|
"description": "Angle of support arm relative to base"
|
|
},
|
|
{
|
|
"name": "tip_thickness",
|
|
"type": "continuous",
|
|
"min": 30.0,
|
|
"max": 60.0,
|
|
"initial": 30.0,
|
|
"unit": "mm",
|
|
"description": "Thickness of bracket tip where load is applied"
|
|
}
|
|
],
|
|
|
|
"optimization_settings": {
|
|
"algorithm": "NSGA-II",
|
|
"n_trials": 50,
|
|
"n_jobs": 1,
|
|
"sampler": "TPESampler",
|
|
"pruner": "MedianPruner",
|
|
"pruner_settings": {
|
|
"n_startup_trials": 10,
|
|
"n_warmup_steps": 5,
|
|
"interval_steps": 1
|
|
},
|
|
"timeout": null,
|
|
"seed": 42
|
|
},
|
|
|
|
"simulation_settings": {
|
|
"solver": "NX_Nastran",
|
|
"solution_type": "SOL101",
|
|
"analysis_type": "Linear_Static",
|
|
"model_file": "1_setup/model/Bracket.prt",
|
|
"sim_file": "1_setup/model/Bracket_sim1.sim",
|
|
"fem_file": "1_setup/model/Bracket_fem1.fem"
|
|
},
|
|
|
|
"extraction_settings": {
|
|
"extractor_module": "bracket_stiffness_extractor",
|
|
"extractor_class": "BracketStiffnessExtractor",
|
|
"field_file": "export_field_dz.fld",
|
|
"op2_file": "Bracket_sim1.op2",
|
|
"force_component": "fz",
|
|
"displacement_component": "z",
|
|
"displacement_aggregation": "max_abs"
|
|
},
|
|
|
|
"output_settings": {
|
|
"results_dir": "2_results",
|
|
"database_name": "study.db",
|
|
"checkpoint_interval": 5,
|
|
"visualization": true,
|
|
"export_format": ["json", "csv", "parquet"]
|
|
},
|
|
|
|
"dashboard_settings": {
|
|
"enabled": true,
|
|
"port": 8000,
|
|
"realtime_updates": true,
|
|
"websocket": true
|
|
}
|
|
}
|