Architecture¶
AutoMOOSE v2 implements a five-agent pipeline with a plugin registry and an MCP interface layer.
Agent Pipeline¶
User Query
│
▼
f₁ Architect ──────────► Plugin Registry
│ │
▼ ▼
f₂ Input Writer ◄────── generate_input(**params)
├── Meshing sub-agent
├── Variables sub-agent
├── Kernels sub-agent
├── Materials sub-agent
├── Postprocessors sub-agent
└── Executioner sub-agent
│
▼
f₃ Runner ──────────────► MOOSE Executable
│
▼
f₄ Reviewer ◄──────────── parse_results(csv_data)
│
▼
f₅ Visualization
Agents¶
f₁ Architect¶
Decomposes the user’s natural-language problem description into structured simulation parameters. Relies on pre-trained MOOSE domain knowledge to select appropriate physics, boundary conditions, and solver settings. Routes the parameterized specification to the plugin registry.
f₂ Input Writer¶
Generates a valid MOOSE .i input file. Implemented as six coordinated
sub-agents, each responsible for one MOOSE input block:
Meshing — mesh type, element size, dimensions
Variables — field variable declarations
Kernels — PDE kernel specifications
Materials — material property definitions
Postprocessors — output quantity definitions
Executioner — solver type, time-stepping, convergence criteria
f₃ Runner¶
Launches the MOOSE executable, streams run.log output, monitors
convergence, and writes results to the run directory under runs/.
f₄ Reviewer¶
Parses run.log for ERROR and unused parameter warnings,
validates CSV output against expected postprocessors, and flags
issues back to f₂ for correction if needed.
f₅ Visualization¶
Reads postprocessor CSV data via parse_results() and generates
publication-quality phase-field evolution figures.
Plugin Registry¶
The plugin registry decouples physics implementations from the agent pipeline. Each plugin exposes:
def generate_input(self, **params) -> str:
"""Return a complete MOOSE .i input file."""
def parse_results(self, csv_data: str) -> dict:
"""Parse postprocessor CSV and return structured results."""
Currently registered plugins:
Plugin |
Status |
|---|---|
GrainGrowth |
Active |
Solidification |
Stub |
Spinodal |
Stub |
Precipitate |
Stub |
MCP Interface¶
AutoMOOSE exposes its capabilities via a Model Context Protocol (MCP) server (Starlette/uvicorn, port 8001) with ten tools over stdio and SSE transports. See MCP Interface for full tool documentation.