Files
Atomizer/examples/bracket/optimization_config_stress_displacement.json
Anto01 226ede2a24 feat: Complete working optimization pipeline with stress extraction
COMPLETE PIPELINE VALIDATED:
- Stress extraction: 197.65 MPa (CTETRA elements) ✓
- Displacement extraction: 0.322 mm ✓
- Model parameter updates in .prt files ✓
- Optuna optimization with TPE sampler ✓
- Constraint handling (displacement < 1.0 mm) ✓
- Results saved to CSV/JSON ✓

Test Results (5 trials):
- All extractors working correctly
- Parameters updated successfully
- Constraints validated
- History and summary files generated

New Files:
- examples/test_stress_displacement_optimization.py
  Complete pipeline test with stress + displacement

- examples/test_displacement_optimization.py
  Displacement-only optimization test

- examples/run_optimization_real.py
  Full example with all extractors

- examples/check_op2.py
  OP2 diagnostic utility

- examples/bracket/optimization_config_stress_displacement.json
  Config: minimize stress, constrain displacement

- examples/bracket/optimization_config_displacement_only.json
  Config: minimize displacement only

Updated:
- .gitignore: Exclude NX output files and optimization results
- examples/bracket/optimization_config.json: Updated paths

Next Step: Integrate NX solver execution for real optimization
2025-11-15 11:23:57 -05:00

49 lines
1.2 KiB
JSON

{
"design_variables": [
{
"name": "tip_thickness",
"type": "continuous",
"bounds": [15.0, 25.0],
"units": "mm",
"initial_value": 20.0
},
{
"name": "support_angle",
"type": "continuous",
"bounds": [20.0, 40.0],
"units": "degrees",
"initial_value": 35.0
}
],
"objectives": [
{
"name": "minimize_max_stress",
"description": "Minimize maximum von Mises stress",
"extractor": "stress_extractor",
"metric": "max_von_mises",
"direction": "minimize",
"weight": 10.0
}
],
"constraints": [
{
"name": "max_displacement_limit",
"description": "Maximum allowable displacement",
"extractor": "displacement_extractor",
"metric": "max_displacement",
"type": "upper_bound",
"limit": 1.0,
"units": "mm"
}
],
"optimization_settings": {
"n_trials": 10,
"sampler": "TPE",
"n_startup_trials": 5
},
"model_info": {
"sim_file": "C:\\Users\\antoi\\Documents\\Atomaste\\Atomizer\\examples\\bracket\\Bracket_sim1.sim",
"note": "Stress minimization with displacement constraint (mass not available in OP2)"
}
}