How inviscidai/openreynolds works
OpenReynolds is a CFD agent that uses a language-model tool loop to work in a real OpenFOAM workspace. The user describes a study; the agent chooses its own sequence of case-writing, meshing, solving, monitoring, inspection and file retrieval. A separate CAD agent can build and validate a mesh, and mesh review provides an independent check. The graph reflects documented capabilities and sampled module references; unsampled subsystem internals and some runtime wiring are represented only where the README supports them.
Main entry points: tools.py Tool handlers · base.py Backend interface · loop.py Agent loop · agent.py CAD agent
Components 22
Session and orchestration
- CLI
openreynolds/cli.py - Agent loop
openreynolds/loop.py - Study modes
openreynolds/modes.py
Agent and tools
- Model provider
openreynolds/llm/base.py - Tool handlers
openreynolds/tools.py
Workspace and execution
- Backend interface
openreynolds/backend/base.py - Hosted backend
openreynolds/backend/hosted.py - Local backend
openreynolds/backend/local.py - Persistent kernel
openreynolds/backend/kernel.py
CAD and validation
- CAD agent
openreynolds/cad/agent.py - Mesh checks
openreynolds/cad/check.py - Mesh review
openreynolds/cad/review.py - Case preflight
openreynolds/toolbox/preflight.py
Monitoring and results
- Session store
openreynolds/store.py - Live progress
openreynolds/progress.py - Workspace mirror
openreynolds/mirror.py - Workspace browser
openreynolds/browse.py - Session view
openreynolds/view.py - Image handling
openreynolds/images.py
Other components
- Engineer
- Model API
- OpenFOAM workspace
Connections 28
- Engineer → CLI: starts study
- CLI → Agent loop: starts session
openreynolds/cli.py - Agent loop → Model provider: requests turns
openreynolds/loop.py - Model provider → Model API: calls model
- Model API → Model provider: returns tool calls
- Agent loop → Tool handlers: dispatches tools
openreynolds/loop.py - Agent loop → Study modes: uses modes
openreynolds/loop.py - Agent loop → Session store: records session
openreynolds/loop.py - Agent loop → Session view: updates view
openreynolds/loop.py - Tool handlers → Backend interface: runs workspace tools
openreynolds/tools.py - Backend interface → Hosted backend: implemented by
openreynolds/backend/hosted.py - Backend interface → Local backend: implemented by
openreynolds/backend/local.py - Hosted backend → OpenFOAM workspace: controls workspace
- Local backend → OpenFOAM workspace: runs locally
- Tool handlers → CAD agent: delegates CAD
openreynolds/tools.py - CAD agent → Persistent kernel: executes cells
openreynolds/cad/agent.py - Persistent kernel → Backend interface: uses workspace
openreynolds/backend/kernel.py - CAD agent → Mesh checks: validates mesh
openreynolds/cad/agent.py - CAD agent → Mesh review: requests review
openreynolds/cad/agent.py - Tool handlers → Case preflight: offers diagnostics
- Tool handlers → Live progress: reports run status
openreynolds/tools.py - Live progress → Backend interface: reads run state
openreynolds/progress.py - Tool handlers → Workspace mirror: brings files home
- Workspace mirror → Backend interface: copies workspace files
openreynolds/mirror.py - Tool handlers → Workspace browser: browses workspace
- Workspace browser → Backend interface: reads workspace
openreynolds/browse.py - Workspace browser → Session store: uses session data
openreynolds/browse.py - Session view → Image handling: shows renders