feat: Implement Agentic Architecture for robust session workflows
Phase 1 - Session Bootstrap: - Add .claude/ATOMIZER_CONTEXT.md as single entry point for new sessions - Add study state detection and task routing Phase 2 - Code Deduplication: - Add optimization_engine/base_runner.py (ConfigDrivenRunner) - Add optimization_engine/generic_surrogate.py (ConfigDrivenSurrogate) - Add optimization_engine/study_state.py for study detection - Add optimization_engine/templates/ with registry and templates - Studies now require ~50 lines instead of ~300 Phase 3 - Skill Consolidation: - Add YAML frontmatter metadata to all skills (versioning, dependencies) - Consolidate create-study.md into core/study-creation-core.md - Update 00_BOOTSTRAP.md, 01_CHEATSHEET.md, 02_CONTEXT_LOADER.md Phase 4 - Self-Expanding Knowledge: - Add optimization_engine/auto_doc.py for auto-generating documentation - Generate docs/generated/EXTRACTORS.md (27 extractors documented) - Generate docs/generated/TEMPLATES.md (6 templates) - Generate docs/generated/EXTRACTOR_CHEATSHEET.md Phase 5 - Subagent Implementation: - Add .claude/commands/study-builder.md (create studies) - Add .claude/commands/nx-expert.md (NX Open API) - Add .claude/commands/protocol-auditor.md (config validation) - Add .claude/commands/results-analyzer.md (results analysis) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
1027
docs/generated/EXTRACTORS.md
Normal file
1027
docs/generated/EXTRACTORS.md
Normal file
File diff suppressed because it is too large
Load Diff
29
docs/generated/EXTRACTOR_CHEATSHEET.md
Normal file
29
docs/generated/EXTRACTOR_CHEATSHEET.md
Normal file
@@ -0,0 +1,29 @@
|
||||
## Extractor Quick Reference
|
||||
|
||||
| Physics | Extractor | Function Call |
|
||||
|---------|-----------|---------------|
|
||||
| Reaction forces | extract_spc_forces | `extract_spc_forces(op2_file, subcase)` |
|
||||
| Reaction forces | extract_total_reaction_force | `extract_total_reaction_force(op2_file, subcase)` |
|
||||
| Reaction forces | extract_reaction_component | `extract_reaction_component(op2_file, component)` |
|
||||
| Reaction forces | check_force_equilibrium | `check_force_equilibrium(op2_file, applied_load)` |
|
||||
| Displacement | extract_part_material | `extract_part_material(prt_file, properties_file)` |
|
||||
| Displacement | extract_frequencies | `extract_frequencies(f06_file, n_modes)` |
|
||||
| Mass | extract_part_mass_material | `extract_part_mass_material(prt_file, properties_file)` |
|
||||
| Mass | extract_part_mass | `extract_part_mass(prt_file, properties_file)` |
|
||||
| Natural frequency | extract_modal_mass | `extract_modal_mass(f06_file, mode)` |
|
||||
| Natural frequency | get_first_frequency | `get_first_frequency(f06_file)` |
|
||||
| Natural frequency | get_modal_mass_ratio | `get_modal_mass_ratio(f06_file, direction)` |
|
||||
| Zernike WFE | extract_zernike_from_op2 | `extract_zernike_from_op2(op2_file, bdf_file)` |
|
||||
| Zernike WFE | extract_zernike_filtered_rms | `extract_zernike_filtered_rms(op2_file, bdf_file)` |
|
||||
| Zernike WFE | extract_zernike_relative_rms | `extract_zernike_relative_rms(op2_file, target_subcase)` |
|
||||
| Strain energy | extract_strain_energy | `extract_strain_energy(op2_file, subcase)` |
|
||||
| Strain energy | extract_total_strain_energy | `extract_total_strain_energy(op2_file, subcase)` |
|
||||
| Strain energy | extract_strain_energy_density | `extract_strain_energy_density(op2_file, subcase)` |
|
||||
| Von Mises stress | extract_solid_stress | `extract_solid_stress(op2_file, subcase)` |
|
||||
| Von Mises stress | extract_principal_stress | `extract_principal_stress(op2_file, subcase)` |
|
||||
| Von Mises stress | extract_max_principal_stress | `extract_max_principal_stress(op2_file, subcase)` |
|
||||
| Von Mises stress | extract_min_principal_stress | `extract_min_principal_stress(op2_file, subcase)` |
|
||||
| Temperature | extract_temperature | `extract_temperature(op2_file, subcase)` |
|
||||
| Temperature | extract_temperature_gradient | `extract_temperature_gradient(op2_file, subcase)` |
|
||||
| Temperature | extract_heat_flux | `extract_heat_flux(op2_file, subcase)` |
|
||||
| Temperature | get_max_temperature | `get_max_temperature(op2_file, subcase)` |
|
||||
187
docs/generated/TEMPLATES.md
Normal file
187
docs/generated/TEMPLATES.md
Normal file
@@ -0,0 +1,187 @@
|
||||
# Atomizer Study Templates
|
||||
|
||||
*Auto-generated: 2025-12-07 12:53*
|
||||
|
||||
Available templates for quick study creation.
|
||||
|
||||
---
|
||||
|
||||
## Template Reference
|
||||
|
||||
| Template | Objectives | Extractors |
|
||||
|----------|------------|------------|
|
||||
| `Multi-Objective Structural` | mass, stress, stiffness | E1, E3, E4 |
|
||||
| `Frequency Optimization` | frequency, mass | E2, E4 |
|
||||
| `Mass Minimization` | mass | E1, E3, E4 |
|
||||
| `Mirror Wavefront Optimization` | zernike_rms | E8, E9, E10 |
|
||||
| `Thermal-Structural Coupled` | max_temperature, thermal_stress | E3, E15, E16 |
|
||||
| `Shell Structure Optimization` | mass, stress | E1, E3, E4 |
|
||||
|
||||
---
|
||||
|
||||
## Multi-Objective Structural
|
||||
|
||||
**Description**: NSGA-II optimization for structural analysis with mass, stress, and stiffness objectives
|
||||
|
||||
**Category**: structural
|
||||
**Solver**: SOL 101
|
||||
**Sampler**: NSGAIISampler
|
||||
**Turbo Suitable**: Yes
|
||||
|
||||
**Example Study**: `bracket_pareto_3obj`
|
||||
|
||||
**Objectives**:
|
||||
- mass (minimize) - Extractor: E4
|
||||
- stress (minimize) - Extractor: E3
|
||||
- stiffness (maximize) - Extractor: E1
|
||||
|
||||
**Extractors Used**:
|
||||
- E1
|
||||
- E3
|
||||
- E4
|
||||
|
||||
**Recommended Trials**:
|
||||
- discovery: 1
|
||||
- validation: 3
|
||||
- quick: 20
|
||||
- full: 50
|
||||
- comprehensive: 100
|
||||
|
||||
---
|
||||
|
||||
## Frequency Optimization
|
||||
|
||||
**Description**: Maximize natural frequency while minimizing mass for vibration-sensitive structures
|
||||
|
||||
**Category**: dynamics
|
||||
**Solver**: SOL 103
|
||||
**Sampler**: NSGAIISampler
|
||||
**Turbo Suitable**: Yes
|
||||
|
||||
**Example Study**: `uav_arm_optimization`
|
||||
|
||||
**Objectives**:
|
||||
- frequency (maximize) - Extractor: E2
|
||||
- mass (minimize) - Extractor: E4
|
||||
|
||||
**Extractors Used**:
|
||||
- E2
|
||||
- E4
|
||||
|
||||
**Recommended Trials**:
|
||||
- discovery: 1
|
||||
- validation: 3
|
||||
- quick: 20
|
||||
- full: 50
|
||||
|
||||
---
|
||||
|
||||
## Mass Minimization
|
||||
|
||||
**Description**: Minimize mass subject to stress and displacement constraints
|
||||
|
||||
**Category**: structural
|
||||
**Solver**: SOL 101
|
||||
**Sampler**: TPESampler
|
||||
**Turbo Suitable**: Yes
|
||||
|
||||
**Example Study**: `bracket_stiffness_optimization_V3`
|
||||
|
||||
**Objectives**:
|
||||
- mass (minimize) - Extractor: E4
|
||||
|
||||
**Extractors Used**:
|
||||
- E1
|
||||
- E3
|
||||
- E4
|
||||
|
||||
**Recommended Trials**:
|
||||
- discovery: 1
|
||||
- validation: 3
|
||||
- quick: 30
|
||||
- full: 100
|
||||
|
||||
---
|
||||
|
||||
## Mirror Wavefront Optimization
|
||||
|
||||
**Description**: Minimize Zernike wavefront error for optical mirror deformation
|
||||
|
||||
**Category**: optics
|
||||
**Solver**: SOL 101
|
||||
**Sampler**: TPESampler
|
||||
**Turbo Suitable**: No
|
||||
|
||||
**Example Study**: `m1_mirror_zernike_optimization`
|
||||
|
||||
**Objectives**:
|
||||
- zernike_rms (minimize) - Extractor: E8
|
||||
|
||||
**Extractors Used**:
|
||||
- E8
|
||||
- E9
|
||||
- E10
|
||||
|
||||
**Recommended Trials**:
|
||||
- discovery: 1
|
||||
- validation: 3
|
||||
- quick: 30
|
||||
- full: 100
|
||||
|
||||
---
|
||||
|
||||
## Thermal-Structural Coupled
|
||||
|
||||
**Description**: Optimize for thermal and structural performance
|
||||
|
||||
**Category**: multiphysics
|
||||
**Solver**: SOL 153/400
|
||||
**Sampler**: NSGAIISampler
|
||||
**Turbo Suitable**: No
|
||||
|
||||
**Example Study**: `None`
|
||||
|
||||
**Objectives**:
|
||||
- max_temperature (minimize) - Extractor: E15
|
||||
- thermal_stress (minimize) - Extractor: E3
|
||||
|
||||
**Extractors Used**:
|
||||
- E3
|
||||
- E15
|
||||
- E16
|
||||
|
||||
**Recommended Trials**:
|
||||
- discovery: 1
|
||||
- validation: 3
|
||||
- quick: 20
|
||||
- full: 50
|
||||
|
||||
---
|
||||
|
||||
## Shell Structure Optimization
|
||||
|
||||
**Description**: Optimize shell structures (CQUAD4/CTRIA3) for mass and stress
|
||||
|
||||
**Category**: structural
|
||||
**Solver**: SOL 101
|
||||
**Sampler**: NSGAIISampler
|
||||
**Turbo Suitable**: Yes
|
||||
|
||||
**Example Study**: `beam_pareto_4var`
|
||||
|
||||
**Objectives**:
|
||||
- mass (minimize) - Extractor: E4
|
||||
- stress (minimize) - Extractor: E3
|
||||
|
||||
**Extractors Used**:
|
||||
- E1
|
||||
- E3
|
||||
- E4
|
||||
|
||||
**Recommended Trials**:
|
||||
- discovery: 1
|
||||
- validation: 3
|
||||
- quick: 20
|
||||
- full: 50
|
||||
|
||||
---
|
||||
Reference in New Issue
Block a user