Neural Acceleration (MLP Surrogate): - Add run_nn_optimization.py with hybrid FEA/NN workflow - MLP architecture: 4-layer (64->128->128->64) with BatchNorm/Dropout - Three workflow modes: - --all: Sequential export->train->optimize->validate - --hybrid-loop: Iterative Train->NN->Validate->Retrain cycle - --turbo: Aggressive single-best validation (RECOMMENDED) - Turbo mode: 5000 NN trials + 50 FEA validations in ~12 minutes - Separate nn_study.db to avoid overloading dashboard Performance Results (bracket_pareto_3obj study): - NN prediction errors: mass 1-5%, stress 1-4%, stiffness 5-15% - Found minimum mass designs at boundary (angle~30deg, thick~30mm) - 100x speedup vs pure FEA exploration Protocol Operating System: - Add .claude/skills/ with Bootstrap, Cheatsheet, Context Loader - Add docs/protocols/ with operations (OP_01-06) and system (SYS_10-14) - Update SYS_14_NEURAL_ACCELERATION.md with MLP Turbo Mode docs NX Automation: - Add optimization_engine/hooks/ for NX CAD/CAE automation - Add study_wizard.py for guided study creation - Fix FEM mesh update: load idealized part before UpdateFemodel() New Study: - bracket_pareto_3obj: 3-objective Pareto (mass, stress, stiffness) - 167 FEA trials + 5000 NN trials completed - Demonstrates full hybrid workflow 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
8.1 KiB
Atomizer Context Loader
Version: 1.0 Purpose: Define what documentation to load based on task type. Ensures LLM sessions have exactly the context needed.
Context Loading Philosophy
- Minimal by default: Don't load everything; load what's needed
- Expand on demand: Load additional modules when signals detected
- Single source of truth: Each concept defined in ONE place
- Layer progression: Bootstrap → Operations → System → Extensions
Task-Based Loading Rules
CREATE_STUDY
Trigger Keywords: "new", "set up", "create", "optimize", "study"
Always Load:
.claude/skills/core/study-creation-core.md
Load If:
| Condition | Load |
|---|---|
| User asks about extractors | modules/extractors-catalog.md |
| Telescope/mirror/optics mentioned | modules/zernike-optimization.md |
| >50 trials OR "neural" OR "surrogate" | modules/neural-acceleration.md |
| Multi-objective (2+ goals) | docs/protocols/system/SYS_11_MULTI_OBJECTIVE.md |
Example Context Stack:
# Simple bracket optimization
core/study-creation-core.md
# Mirror optimization with neural acceleration
core/study-creation-core.md
modules/zernike-optimization.md
modules/neural-acceleration.md
RUN_OPTIMIZATION
Trigger Keywords: "start", "run", "execute", "begin", "launch"
Always Load:
docs/protocols/operations/OP_02_RUN_OPTIMIZATION.md
Load If:
| Condition | Load |
|---|---|
| "adaptive" OR "characterization" | docs/protocols/system/SYS_10_IMSO.md |
| "dashboard" OR "real-time" | docs/protocols/system/SYS_13_DASHBOARD_TRACKING.md |
| "resume" OR "continue" | OP_02 has resume section |
| Errors occur | docs/protocols/operations/OP_06_TROUBLESHOOT.md |
MONITOR_PROGRESS
Trigger Keywords: "status", "progress", "how many", "trials", "check"
Always Load:
docs/protocols/operations/OP_03_MONITOR_PROGRESS.md
Load If:
| Condition | Load |
|---|---|
| Dashboard questions | docs/protocols/system/SYS_13_DASHBOARD_TRACKING.md |
| Pareto/multi-objective | docs/protocols/system/SYS_11_MULTI_OBJECTIVE.md |
ANALYZE_RESULTS
Trigger Keywords: "results", "best", "compare", "pareto", "report"
Always Load:
docs/protocols/operations/OP_04_ANALYZE_RESULTS.md
Load If:
| Condition | Load |
|---|---|
| Multi-objective/Pareto | docs/protocols/system/SYS_11_MULTI_OBJECTIVE.md |
| Surrogate accuracy | docs/protocols/system/SYS_14_NEURAL_ACCELERATION.md |
EXPORT_TRAINING_DATA
Trigger Keywords: "export", "training data", "neural network data"
Always Load:
docs/protocols/operations/OP_05_EXPORT_TRAINING_DATA.md
modules/neural-acceleration.md
TROUBLESHOOT
Trigger Keywords: "error", "failed", "not working", "crashed", "help"
Always Load:
docs/protocols/operations/OP_06_TROUBLESHOOT.md
Load If:
| Error Type | Load |
|---|---|
| NX/solve errors | NX solver section of core skill |
| Extractor errors | modules/extractors-catalog.md |
| Dashboard errors | docs/protocols/system/SYS_13_DASHBOARD_TRACKING.md |
| Neural errors | docs/protocols/system/SYS_14_NEURAL_ACCELERATION.md |
UNDERSTAND_PROTOCOL
Trigger Keywords: "what is", "how does", "explain", "protocol"
Load Based on Topic:
| Topic | Load |
|---|---|
| Protocol 10 / IMSO / adaptive | docs/protocols/system/SYS_10_IMSO.md |
| Protocol 11 / multi-objective / NSGA | docs/protocols/system/SYS_11_MULTI_OBJECTIVE.md |
| Extractors / physics extraction | docs/protocols/system/SYS_12_EXTRACTOR_LIBRARY.md |
| Protocol 13 / dashboard / real-time | docs/protocols/system/SYS_13_DASHBOARD_TRACKING.md |
| Protocol 14 / neural / surrogate | docs/protocols/system/SYS_14_NEURAL_ACCELERATION.md |
EXTEND_FUNCTIONALITY
Trigger Keywords: "create extractor", "add hook", "new protocol", "extend"
Requires: Privilege check first (see 00_BOOTSTRAP.md)
| Extension Type | Load | Privilege |
|---|---|---|
| New extractor | docs/protocols/extensions/EXT_01_CREATE_EXTRACTOR.md |
power_user |
| New hook | docs/protocols/extensions/EXT_02_CREATE_HOOK.md |
power_user |
| New protocol | docs/protocols/extensions/EXT_03_CREATE_PROTOCOL.md |
admin |
| New skill | docs/protocols/extensions/EXT_04_CREATE_SKILL.md |
admin |
Always Load for Extractors:
modules/nx-docs-lookup.md # NX API documentation via MCP
NX_DEVELOPMENT
Trigger Keywords: "NX Open", "NXOpen", "NX API", "Simcenter", "Nastran card", "NX script"
Always Load:
modules/nx-docs-lookup.md
MCP Tools Available:
| Tool | Purpose |
|---|---|
siemens_docs_search |
Search NX Open, Simcenter, Teamcenter docs |
siemens_docs_fetch |
Fetch specific documentation page |
siemens_auth_status |
Check Siemens SSO session status |
siemens_login |
Re-authenticate if session expired |
Use When:
- Building new extractors that use NX Open APIs
- Debugging NX automation errors
- Looking up Nastran card formats
- Finding correct method signatures
Signal Detection Patterns
Use these patterns to detect when to load additional modules:
Zernike/Mirror Detection
Signals: "mirror", "telescope", "wavefront", "WFE", "Zernike",
"RMS", "polishing", "optical", "M1", "surface error"
Action: Load modules/zernike-optimization.md
Neural Acceleration Detection
Signals: "neural", "surrogate", "NN", "machine learning",
"acceleration", ">50 trials", "fast", "GNN"
Action: Load modules/neural-acceleration.md
Multi-Objective Detection
Signals: Two or more objectives with different goals,
"pareto", "tradeoff", "NSGA", "multi-objective",
"minimize X AND maximize Y"
Action: Load SYS_11_MULTI_OBJECTIVE.md
High-Complexity Detection
Signals: >10 design variables, "complex", "many parameters",
"adaptive", "characterization", "landscape"
Action: Load SYS_10_IMSO.md
NX Open / Simcenter Detection
Signals: "NX Open", "NXOpen", "NX API", "FemPart", "CAE.",
"Nastran", "CQUAD", "CTRIA", "MAT1", "PSHELL",
"mesh", "solver", "OP2", "BDF", "Simcenter"
Action: Load modules/nx-docs-lookup.md
Use MCP tools: siemens_docs_search, siemens_docs_fetch
Context Stack Examples
Example 1: Simple Bracket Optimization
User: "Help me optimize my bracket for minimum weight"
Load Stack:
1. core/study-creation-core.md # Core study creation logic
Example 2: Telescope Mirror with Neural
User: "I need to optimize my M1 mirror's wavefront error with 200 trials"
Load Stack:
1. core/study-creation-core.md # Core study creation
2. modules/zernike-optimization.md # Zernike-specific patterns
3. modules/neural-acceleration.md # Neural acceleration for 200 trials
Example 3: Multi-Objective Structural
User: "Minimize mass AND maximize stiffness for my beam"
Load Stack:
1. core/study-creation-core.md # Core study creation
2. SYS_11_MULTI_OBJECTIVE.md # Multi-objective protocol
Example 4: Debug Session
User: "My optimization failed with NX timeout error"
Load Stack:
1. OP_06_TROUBLESHOOT.md # Troubleshooting guide
Example 5: Create Custom Extractor
User: "I need to extract thermal gradients from my results"
Load Stack:
1. EXT_01_CREATE_EXTRACTOR.md # Extractor creation guide
2. modules/extractors-catalog.md # Reference existing patterns
Loading Priority Order
When multiple modules could apply, load in this order:
- Core skill (always first for creation tasks)
- Primary operation protocol (OP_*)
- Required system protocols (SYS_*)
- Optional modules (modules/*)
- Extension protocols (EXT_*) - only if extending
Anti-Patterns (Don't Do)
- Don't load everything: Only load what's needed for the task
- Don't load extensions for users: Check privilege first
- Don't skip core skill: For study creation, always load core first
- Don't mix incompatible protocols: P10 (single-obj) vs P11 (multi-obj)
- Don't load deprecated docs: Only use docs/protocols/* structure