Commit Graph

2 Commits

Author SHA1 Message Date
0a71435dcc feat: Add MCP build_optimization_config tool
Integrate OP2 data extraction with optimization config builder:
- Add build_optimization_config() MCP tool
- Add list_optimization_options() helper
- Add format_optimization_options_for_llm() formatter
- Update MCP tools documentation with full API details
- Test with bracket example, generates valid config

Features:
- Discovers design variables from FEA model
- Lists 4 available objectives (mass, stress, displacement, volume)
- Lists 4 available constraints (stress/displacement/mass limits)
- Validates user selections against model
- Generates complete optimization_config.json

Tested with examples/bracket/Bracket_sim1.sim:
- Found 4 design variables (support_angle, tip_thickness, p3, support_blend_radius)
- Created config with 2 objectives, 2 constraints, 150 trials

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-15 10:23:02 -05:00
Claude
4afb46327a feat: Add complete Bracket example with validated OP2 extraction
Added complete working example with all NX result files for testing
and validation of the OP2 result extractor.

Files Added (examples/bracket/):
- Bracket.prt: Part geometry with expressions
- Bracket_sim1.sim: Simulation definition (SOL 101 Linear Statics)
- Bracket_fem1.fem: Finite element mesh
- bracket_sim1-solution_1.op2: Binary results (666 KB)
- bracket_sim1-solution_1.f06: ASCII results log
- bracket_sim1-solution_1.dat: Nastran input deck
- Supporting files: .diag, .f04, .log, .html, .png

Validated Results from OP2:
✓ Max Displacement: 0.362 mm (node 91)
  - Primary direction: -Z (-0.354 mm)
  - Load application point

✓ Max von Mises Stress: 122.91 MPa (element 79, CHEXA)
  - Material: Aluminum 6061-T6 (yield = 276 MPa)
  - Safety Factor: 2.25  SAFE
  - Well below yield strength

Units Handling:
- NX units: mm, mN (milli-newton), kg
- Stress in OP2: mN/mm² = kPa
- Conversion required: kPa / 1000 = MPa
- Displacement: mm (direct)

Model Properties:
- Analysis Type: SOL 101 Linear Statics
- Elements: 585 (CHEXA hexahedral)
- Load: ~1000 N in -Z direction (3 application points)
- Constraints: Fixed supports at base
- Material: Al 6061-T6

Optimization Potential:
Current design has good margins:
- Displacement: 0.36 mm (could allow up to ~1.0 mm)
- Stress: 122.91 MPa (could allow up to ~200 MPa)
→ Weight reduction opportunity while maintaining safety!

This validates:
- pyNastran OP2 extraction works correctly
- Units conversion handling (mN → N, kPa → MPa)
- Multi-objective optimization is feasible
- Example ready for testing optimization workflow
2025-11-15 14:52:15 +00:00