Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

AgentCFD
AI-native computational fluid dynamics for humans and agents.

AgentCFD

AgentCFD is an open-source platform for readable, verifiable, and learning-ready computational fluid dynamics. Its first engineering focus is industrial flow: pipes and ducts, pressure loss, fluid and steam transport, heat transfer, and later reacting flow and combustion.

AgentCFD was initiated by Haoming Luo in September 2026. It follows the product principles established through AgentFEM, but it is a separate codebase with its own fluid-mechanics language, providers, validation evidence, and release cycle.

Project status: pre-alpha. The public workflow and circular-pipe reference solution are executable. Deterministic OpenFOAM circular-pipe case generation is experimental; OpenFOAM field recovery and accepted numerical results are not yet released capabilities.

Why AgentCFD

  • AI-native CFD — people, scripts, GUIs, and agents operate the same explicit engineering model instead of hiding scientific intent in generated files.
  • Industrial flow first — internal flow, heat transfer, steam and reacting systems come before a broad but shallow solver catalog.
  • Results you can check — applicability, conservation checks, provider identity, model fingerprints, and failure evidence travel with the result.
  • One run or thousands — the same workflow is designed for a single analysis, parameter campaigns, reproducible datasets, surrogates, and neural operators.
  • Open provider boundary — numerical engines can evolve without changing the public model; license and runtime boundaries remain visible.
  • FEM–CFD continuity — versioned exchange records prepare pressure, traction, temperature, heat flux, and mesh motion for future AgentFEM coupling.

First executable workflow

from agentcfd import Model, boundaries, fluids, geometry, outputs, procedures, studies

model = Model(
    name="water-pipe",
    study=studies.internal_flow(),
    domain=geometry.circular_pipe(length=10.0, diameter=0.05),
    fluid=fluids.newtonian(
        "water",
        density=998.2,
        dynamic_viscosity=1.002e-3,
    ),
).boundaries(
    inlet=boundaries.mean_velocity_inlet(0.02),
    outlet=boundaries.pressure_outlet(),
    wall=boundaries.no_slip_wall(),
)

result = model.step(
    procedure=procedures.steady(),
    output=outputs.standard(),
).run(provider="reference")

result.require_accepted()
print(result.quantities["flow.pressure_drop"])

The reference provider implements the Hagen–Poiseuille solution, rejects flow outside its declared laminar range, and records mass balance and an independent Darcy–Weisbach identity check.

Install from this repository

git clone https://github.com/haoming-luo/agentcfd.git
cd agentcfd
python -m venv .venv
source .venv/bin/activate
python -m pip install -e .
agentcfd doctor
agentcfd demo pipe

PyPI and conda-forge publication will follow an installed-artifact release gate.

Prepare the first OpenFOAM case

OpenFOAM is the primary industrial solver direction. AgentCFD keeps it behind a filesystem-and-subprocess provider boundary: the Apache-2.0 Python core writes an ordinary case, while an OpenFOAM installation already managed by the user does the GPL-licensed numerical work.

Generate a full three-dimensional O-grid pipe case without requiring OpenFOAM:

agentcfd prepare openfoam-pipe openfoam-pipe --json

Or use the public provider from Python:

from agentcfd.providers import OpenFOAMProvider

step = model.step(procedure=procedures.steady(), output=outputs.standard())
case = OpenFOAMProvider().prepare(step, "openfoam-pipe")
print(case.case_sha256)

The generated manifest binds every case file to its content hash and the public model fingerprint. Execution currently targets installations that provide blockMesh and simpleFoam. Even when both commands finish, AgentCFD refuses to call the result scientifically accepted until mesh-field mass balance and pressure-loss recovery are implemented.

Architecture

Human / AI agent / script / future GUI
                    |
                    v
Study -> Model -> Domain/Regions -> Fluids -> Boundaries/Sources
                    |
                    v
             Solution Step + Output
                    |
                    v
      Provider lowering and deterministic execution
                    |
                    v
 SimulationResult -> verification -> datasets -> learning
                    |
                    v
      AgentFEM / experiments / NN / PINN / neural operators

The core package has no mandatory LLM and does not treat successful execution as scientific acceptance. AI is a first-class operator of the workflow; fluid mechanics and deterministic numerical computation remain authoritative.

Documentation

License

AgentCFD is licensed under Apache-2.0. Optional numerical engines retain their own licenses and are connected through explicit provider boundaries.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

agentcfd-0.1.0a1.tar.gz (52.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

agentcfd-0.1.0a1-py3-none-any.whl (38.5 kB view details)

Uploaded Python 3

File details

Details for the file agentcfd-0.1.0a1.tar.gz.

File metadata

  • Download URL: agentcfd-0.1.0a1.tar.gz
  • Upload date:
  • Size: 52.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for agentcfd-0.1.0a1.tar.gz
Algorithm Hash digest
SHA256 a5c5a88cc352a8dc88bde24a424c69ae51ee7659c783243fedd839333a130d76
MD5 a93bc7a711f03a8a32cd08ce8b7494c9
BLAKE2b-256 4ee27c4e791d73625ececa9818b9786f60dfa065faba116f6a4519a8bd50c5bb

See more details on using hashes here.

Provenance

The following attestation bundles were made for agentcfd-0.1.0a1.tar.gz:

Publisher: release.yml on haoming-luo/agentcfd

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file agentcfd-0.1.0a1-py3-none-any.whl.

File metadata

  • Download URL: agentcfd-0.1.0a1-py3-none-any.whl
  • Upload date:
  • Size: 38.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for agentcfd-0.1.0a1-py3-none-any.whl
Algorithm Hash digest
SHA256 4eae18fd3cc05064ee14e650ccc0b68ae023c517230e9751f1d1119dcf2bc65c
MD5 c4f7caa8521ade976a07ab85da830787
BLAKE2b-256 d73c03d1f0cd796e589ca736247bf34cd3492c56bff6169d4cf9e609fe05b3b3

See more details on using hashes here.

Provenance

The following attestation bundles were made for agentcfd-0.1.0a1-py3-none-any.whl:

Publisher: release.yml on haoming-luo/agentcfd

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

This release

0.1.0a1 This release

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page