| name | fluent-cfd |
| description | Guide Ansys Fluent and PyFluent CFD simulation workflows with MCP tool-use discipline. Use when Codex works on Fluent, PyFluent, Fluent TUI, CFD or fluid simulation setup, case/data files, mesh quality, boundary conditions, turbulence models, residual convergence, UDFs, post-processing, solver diagnostics, or validation of Ansys Fluent results. |
Fluent CFD
Use this skill as the workflow and judgment layer for Ansys Fluent work. Keep Fluent documentation as the fact source, use the local pyfluent MCP server as the execution layer, and use this skill to decide the order of operations, checks, and validation criteria.
Operating Rules
- Define the physics before touching the solver: objective quantity, geometry, units, fluid, regime, steady/transient behavior, compressibility, heat transfer, multiphase, rotating zones, and expected validation evidence.
- Do not treat residual decrease alone as convergence. Require monitor stabilization and conservation checks for the quantities that matter.
- Do not skip mesh quality, units, boundary-zone naming, boundary-condition consistency, and wall-resolution checks.
- Do not change turbulence models without a physical reason or a stated validation purpose.
- Prefer safe MCP tools and explicit Fluent TUI commands. Use
execute_python only when PYFLUENT_MCP_ENABLE_PYTHON=1 and the workflow is trusted.
- Before starting Fluent or consuming a license, state that the action will launch Fluent and may occupy a license/session.
- End live Fluent sessions with
exit_fluent when the task is complete unless the user asks to keep the session open.
Workflow
- Frame the case: identify objective metrics, physics, known inputs, missing data, expected outputs, and acceptance criteria.
- Choose solver and models: decide pressure-based vs density-based, steady vs transient, energy, multiphase, turbulence, wall treatment, and reference values.
- Check the mesh and setup basis: units, cell/face zones, boundary names, quality metrics, non-orthogonality/skewness, and y+ target.
- Set or review materials, boundary conditions, operating/reference conditions, numerics, initialization, and monitors.
- Run a smoke test first: a short iteration/time-step run to catch setup errors before a full solve.
- Iterate or advance time while monitoring residuals, integral balances, and objective quantities.
- Save case/data and report validation status, remaining risks, and next checks.
Reference Loading
Load only the reference files needed for the current task:
references/workflow.md: complete Fluent workflow and task routing.
references/solver-selection.md: model and solver selection rules.
references/boundary-conditions.md: inlet, outlet, wall, symmetry, periodic, and rotating-zone boundary checks.
references/turbulence-and-wall-treatment.md: turbulence model, wall treatment, y+, and mesh implications.
references/numerics-and-convergence.md: discretization, initialization, monitors, residuals, and convergence.
references/pyfluent-mcp.md: local pyfluent MCP tools, call order, safety limits, and failure handling.
references/validation-checklist.md: conservation, mesh independence, physical plausibility, and post-processing checks.
references/error-recovery.md: divergence, reversed flow, negative volume, CFL, residual stalls, and launch/license failures.
MCP Tool Discipline
When a task requires real Fluent execution through the local MCP server:
- Call
server_info first to confirm PyFluent, Ansys roots, and whether Python execution is enabled.
- Call
launch_fluent only after stating that Fluent will start and may consume a license.
- Use
read_case for existing .cas, .cas.h5, or equivalent case files.
- Use
run_tui for explicit, auditable Fluent TUI commands.
- Use
iterate for a defined iteration count; prefer a short smoke run before long runs.
- Use
session_status after suspicious behavior or long operations.
- Use
write_case_data before closing if the state should be preserved.
- Use
exit_fluent at the end of the workflow unless the user explicitly wants the session left open.
If a tool returns an error, stop the automation sequence, summarize the failure, read references/error-recovery.md if relevant, and propose the smallest safe recovery.