113 lines
2.8 KiB
JSON
113 lines
2.8 KiB
JSON
|
|
{
|
||
|
|
"study_name": "beam_stiffness_optimization",
|
||
|
|
"description": "Beam Stiffness Optimization - Maximize stiffness while minimizing mass",
|
||
|
|
"engineering_context": "Cantilever beam optimization. Find optimal cross-section dimensions to maximize bending stiffness under tip load while minimizing weight.",
|
||
|
|
"template_info": {
|
||
|
|
"category": "structural",
|
||
|
|
"analysis_type": "static",
|
||
|
|
"typical_applications": ["cantilever beams", "support arms", "brackets"],
|
||
|
|
"required_nx_expressions": ["beam_width", "beam_height", "beam_length"]
|
||
|
|
},
|
||
|
|
|
||
|
|
"optimization_settings": {
|
||
|
|
"protocol": "protocol_10_single_objective",
|
||
|
|
"n_trials": 50,
|
||
|
|
"sampler": "TPE",
|
||
|
|
"pruner": "MedianPruner",
|
||
|
|
"timeout_per_trial": 300
|
||
|
|
},
|
||
|
|
|
||
|
|
"design_variables": [
|
||
|
|
{
|
||
|
|
"parameter": "beam_width",
|
||
|
|
"bounds": [10, 50],
|
||
|
|
"description": "Beam cross-section width (mm)",
|
||
|
|
"units": "mm"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"parameter": "beam_height",
|
||
|
|
"bounds": [10, 80],
|
||
|
|
"description": "Beam cross-section height (mm)",
|
||
|
|
"units": "mm"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"parameter": "beam_length",
|
||
|
|
"bounds": [100, 500],
|
||
|
|
"description": "Beam length (mm)",
|
||
|
|
"units": "mm"
|
||
|
|
}
|
||
|
|
],
|
||
|
|
|
||
|
|
"objectives": [
|
||
|
|
{
|
||
|
|
"name": "stiffness",
|
||
|
|
"goal": "maximize",
|
||
|
|
"weight": 1.0,
|
||
|
|
"description": "Effective bending stiffness (inverse of tip displacement under unit load)",
|
||
|
|
"target": 10000,
|
||
|
|
"extraction": {
|
||
|
|
"action": "extract_displacement",
|
||
|
|
"domain": "result_extraction",
|
||
|
|
"params": {
|
||
|
|
"result_type": "displacement",
|
||
|
|
"metric": "max",
|
||
|
|
"invert": true
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
],
|
||
|
|
|
||
|
|
"constraints": [
|
||
|
|
{
|
||
|
|
"name": "max_mass_limit",
|
||
|
|
"type": "less_than",
|
||
|
|
"threshold": 500,
|
||
|
|
"description": "Maximum mass < 500g",
|
||
|
|
"extraction": {
|
||
|
|
"action": "extract_mass",
|
||
|
|
"domain": "result_extraction",
|
||
|
|
"params": {
|
||
|
|
"result_type": "mass",
|
||
|
|
"metric": "total"
|
||
|
|
}
|
||
|
|
}
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"name": "max_stress_limit",
|
||
|
|
"type": "less_than",
|
||
|
|
"threshold": 200,
|
||
|
|
"description": "Maximum von Mises stress < 200 MPa",
|
||
|
|
"extraction": {
|
||
|
|
"action": "extract_stress",
|
||
|
|
"domain": "result_extraction",
|
||
|
|
"params": {
|
||
|
|
"result_type": "stress",
|
||
|
|
"metric": "max_von_mises"
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
],
|
||
|
|
|
||
|
|
"simulation": {
|
||
|
|
"model_file": "Beam.prt",
|
||
|
|
"sim_file": "Beam_sim1.sim",
|
||
|
|
"fem_file": "Beam_fem1.fem",
|
||
|
|
"solver": "nastran",
|
||
|
|
"analysis_types": ["static"]
|
||
|
|
},
|
||
|
|
|
||
|
|
"reporting": {
|
||
|
|
"generate_plots": true,
|
||
|
|
"save_incremental": true,
|
||
|
|
"llm_summary": false
|
||
|
|
},
|
||
|
|
|
||
|
|
"training_data_export": {
|
||
|
|
"enabled": true,
|
||
|
|
"export_dir": "atomizer_field_training_data/${study_name}",
|
||
|
|
"export_every_n_trials": 1,
|
||
|
|
"include_mesh": true,
|
||
|
|
"compress": false
|
||
|
|
}
|
||
|
|
}
|