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>
29 lines
2.4 KiB
Markdown
29 lines
2.4 KiB
Markdown
## 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)` | |