82 lines
1.9 KiB
JSON
82 lines
1.9 KiB
JSON
|
|
{
|
||
|
|
"study_name": "bracket_displacement_maximizing",
|
||
|
|
"study_description": "Maximize displacement of bracket under load while maintaining safety factor >= 4.0",
|
||
|
|
"created_date": "2025-11-16",
|
||
|
|
"model": {
|
||
|
|
"part_file": "model/Bracket.prt",
|
||
|
|
"fem_file": "model/Bracket_fem1.fem",
|
||
|
|
"sim_file": "model/Bracket_sim1.sim",
|
||
|
|
"element_types": ["CHEXA", "CPENTA"],
|
||
|
|
"nodes": 585,
|
||
|
|
"elements": 316
|
||
|
|
},
|
||
|
|
"optimization": {
|
||
|
|
"objective": "Maximize displacement (minimize negative displacement)",
|
||
|
|
"direction": "minimize",
|
||
|
|
"algorithm": "TPE",
|
||
|
|
"n_trials": 20,
|
||
|
|
"design_variables": [
|
||
|
|
{
|
||
|
|
"name": "tip_thickness",
|
||
|
|
"type": "continuous",
|
||
|
|
"min": 15.0,
|
||
|
|
"max": 25.0,
|
||
|
|
"units": "mm",
|
||
|
|
"baseline": 17.0
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"name": "support_angle",
|
||
|
|
"type": "continuous",
|
||
|
|
"min": 20.0,
|
||
|
|
"max": 40.0,
|
||
|
|
"units": "degrees",
|
||
|
|
"baseline": 38.0
|
||
|
|
}
|
||
|
|
],
|
||
|
|
"constraints": [
|
||
|
|
{
|
||
|
|
"name": "safety_factor",
|
||
|
|
"type": ">=",
|
||
|
|
"value": 4.0,
|
||
|
|
"description": "Minimum safety factor constraint"
|
||
|
|
}
|
||
|
|
]
|
||
|
|
},
|
||
|
|
"material": {
|
||
|
|
"name": "Aluminum 6061-T6",
|
||
|
|
"yield_strength": 276.0,
|
||
|
|
"yield_strength_units": "MPa",
|
||
|
|
"allowable_stress": 69.0,
|
||
|
|
"allowable_stress_units": "MPa"
|
||
|
|
},
|
||
|
|
"workflow": {
|
||
|
|
"phase": "3.3",
|
||
|
|
"wizard_validation": true,
|
||
|
|
"auto_element_detection": true,
|
||
|
|
"extractors": [
|
||
|
|
{
|
||
|
|
"action": "extract_displacement",
|
||
|
|
"result_type": "displacement"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"action": "extract_solid_stress",
|
||
|
|
"result_type": "stress",
|
||
|
|
"element_type": "auto-detected"
|
||
|
|
}
|
||
|
|
],
|
||
|
|
"inline_calculations": [
|
||
|
|
{
|
||
|
|
"action": "calculate_safety_factor",
|
||
|
|
"formula": "276.0 / max_von_mises"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"action": "negate_displacement",
|
||
|
|
"formula": "-max_displacement"
|
||
|
|
}
|
||
|
|
],
|
||
|
|
"hooks": [
|
||
|
|
"safety_factor_constraint"
|
||
|
|
]
|
||
|
|
}
|
||
|
|
}
|