Commit Graph

4 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
96ed53e3d7 feat: Implement Option A - MCP Model Discovery tool
This commit implements the first phase of the MCP server as outlined
in PROJECT_SUMMARY.md Option A: Model Discovery.

New Features:
- Complete .sim file parser (XML-based)
- Expression extraction from .sim and .prt files
- Solution, FEM, materials, loads, constraints extraction
- Structured JSON output for LLM consumption
- Markdown formatting for human-readable output

Implementation Details:
- mcp_server/tools/model_discovery.py: Core parser and discovery logic
  - SimFileParser class: Handles XML parsing of .sim files
  - discover_fea_model(): Main MCP tool function
  - format_discovery_result_for_llm(): Markdown formatter
- mcp_server/tools/__init__.py: Updated to export new functions
- mcp_server/tools/README.md: Complete documentation for MCP tools

Testing & Examples:
- examples/test_bracket.sim: Sample .sim file for testing
- tests/mcp_server/tools/test_model_discovery.py: Comprehensive unit tests
- Manual testing verified: Successfully extracts 4 expressions, solution
  info, mesh data, materials, loads, and constraints

Validation:
- Command-line tool works: python mcp_server/tools/model_discovery.py examples/test_bracket.sim
- Output includes both Markdown and JSON formats
- Error handling for missing files and invalid formats

Next Steps (Phase 2):
- Port optimization engine from P04 Atomizer
- Implement build_optimization_config tool
- Create pluggable result extractor system

References:
- PROJECT_SUMMARY.md: Option A (lines 339-350)
- mcp_server/prompts/system_prompt.md: Model Discovery workflow
2025-11-15 13:23:05 +00:00
d1cbeb75a5 Rebrand project from nx-optimaster to Atomizer
- Update project name in all documentation files
- Update GitHub repository references to Anto01/Atomizer
- Update Python package name to 'atomizer'
- Update conda environment name references
- Update all module docstrings with new branding

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-15 08:05:19 -05:00
aa3dafbe4b Initial commit: NX OptiMaster project structure
- Set up Python package structure with pyproject.toml
- Created MCP server, optimization engine, and NX journals modules
- Added configuration templates
- Implemented pluggable result extractor architecture
- Comprehensive README with architecture overview
- Project ready for GitHub push

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-15 07:56:35 -05:00