AgentFEM
AI-native finite-element computing for humans and agents.
AgentFEM is an open-source finite-element platform that turns an engineering analysis into a readable Python workflow: define the study, model, materials, loads, solution procedure, outputs, and verification in one place. The same workflow can be understood and operated by researchers, scripts, IDEs, future GUIs, and AI agents.
AgentFEM was initiated by Haoming Luo and open-sourced on GitHub in July 2026.
Its immediate goal is practical: to become a dependable and unusually usable open-source FEM platform. Its longer-term vision is to make finite-element simulation an accessible scientific workspace connecting engineering, computation, data, and AI.
Why AgentFEM
-
AI-Native FEM — finite-element software designed from the start for agents to construct, operate, and automate naturally, without replacing deterministic mechanics and numerical computation with AI.
-
Humans and Agents, Together — people and AI agents work through the same readable materials, regions, loads, solution steps, and results. AI work remains understandable, editable, and reusable by humans.
-
Results You Can Check — convergence, failures, required outputs, benchmark comparisons, and applicability limits remain attached to the result instead of being separated from the simulation that produced it.
-
One Run or Thousands — the same model can support an individual analysis, parameter campaigns, parallel execution, restartable studies, and reproducible data generation.
-
Simulation to Learning — results can flow into scientific datasets, PyTorch, surrogate models, and high-fidelity fallback without rebuilding the workflow around separate glue scripts.
-
Open at Every Layer — users can begin with a clear engineering workflow and still reach operators, UFL, DOLFINx, PETSc, and custom constitutive models whenever needed.
Our conviction: Open FEM for everyone. Useful simulation within reach with AI. Engineering AI grounded in physical models, observations, and verification.
Install
AgentFEM supports Linux, macOS, and Windows through WSL2. Conda-forge provides the compiled FEniCSx/PETSc/MPI stack and PyPI provides AgentFEM:
mamba create -n agentfem-env -c conda-forge \
python=3.11 fenics-dolfinx=0.11 mpich mpi4py petsc4py h5py
mamba activate agentfem-env
python -m pip install agentfem
Then confirm that the numerical environment is coherent:
agentfem doctor
The conda-forge AgentFEM recipe is in review; once published, the numerical
stack and AgentFEM can be installed together. Until then, the commands above
are the shortest supported installation path. On Windows, run them inside an
Ubuntu WSL2 terminal. See INSTALL.md for platform details,
MPI notes, and source installation.
Optional capabilities stay separate from the Apache-2.0 core:
python -m pip install 'agentfem[mesh-formats]' # Abaqus/NASTRAN meshes
python -m pip install 'agentfem[gmsh]' # Gmsh model/.msh import
python -m pip install 'agentfem[visualization]' # ParaView-ready helpers
python -m pip install 'agentfem[ml]' # PyTorch adapters
Gmsh is an optional, separately distributed GPL-licensed dependency and is not bundled with AgentFEM.
Run Your First Model
Create and run a complete static-solid project in any directory:
mkdir first-agentfem-model && cd first-agentfem-model
agentfem init --template static-solid .
agentfem check
agentfem run
agentfem inspect
The generated case.py is ordinary, editable Python. Its public workflow reads
like an engineering analysis:
study = studies.static_solid(dimension=2, assumption="plane_strain")
model = models.create(study=study, mesh=domain, name="cantilever")
u = model.field(fields.displacement(domain, degree=1))
model.material(elasticity.isotropic_elastic(young=210e9, poisson=0.30))
model.clamp(u, on=left)
model.traction((0.0, -1.0e6), on=right)
result = model.step(target=u, name="static_load").solve_result()
result.verify("engineering").require()
The CLI gives the same model a repeatable project root, run identity,
structured result manifest, MPI launch path, and machine-readable interface.
You can also run case.py directly with Python.
What Works Today
| Area | Available workflow |
|---|---|
| Solid mechanics | Linear and thermoelastic statics; Neo-Hookean and Mooney--Rivlin finite strain; stateful 3D J2 plasticity |
| Heat and dynamics | Steady/transient heat transfer; Newmark and generalized-alpha dynamics; central-difference explicit dynamics |
| Time-dependent materials | Global power-law creep plus material-point Arrhenius, Kachanov--Rabotnov, Sinh, and fatigue assessment tools |
| Fracture interfaces | Fixed-path cohesive interfaces, cyclic cohesive fatigue, mixed-mode driving, cycle jump, rollback, and restart; advanced routes remain experimental |
| Meshes and constraints | Structured/XDMF meshes, optional Gmsh and meshio, direct Abaqus C3D10H import, equation constraints, and distributed periodic workflows |
| Results and automation | Unified fields and histories, progress, checkpoints, Golden benchmarks, campaigns, scientific datasets, surrogate validation, and FEM fallback |
AgentFEM records capability maturity explicitly. A working material-point law, an integrated global solver, and an externally verified analysis are different levels of evidence; the software does not silently treat them as equivalent. See the capability and verification guide for the detailed scope.
Release Examples
- Static elasticity — the readable beginner workflow.
- Transient heat transfer — implicit time integration, progress, and field output.
- Wave propagation with an inclusion — dynamic fields, source amplitude, and boundary models.
- Abaqus C3D10H periodic cell — direct mesh/equation import, quasi-incompressible hyperelasticity, and homogenized response.
- J2 plasticity and global creep — stateful nonlinear material workflows with cutback and restart.
- Simulation-to-surrogate campaign — accepted FEM data, surrogate validation, applicability guard, and FEM fallback.
These are executable release assets with numerical contracts, not only syntax
demonstrations. More examples are indexed in examples/ and on
the documentation site.
Open and Extensible
AgentFEM has three visible layers:
Engineering workflow
-> reusable FEM operators, constitutive laws, constraints, and outputs
-> FEniCSx / DOLFINx / PETSc / MPI numerical kernel
Users can stay in the concise engineering workflow or descend to operators, UFL, DOLFINx, PETSc, and custom constitutive implementations when a research problem needs a lower layer. This is also the extension path for user materials, new elements, private domain modules, GUIs, and agent tools.
Documentation
- Getting started
- Standard modeling workflow
- Engineering concepts
- Scientific functions and theory
- Results, campaigns, and learning
- AI-agent guide
- Roadmap and release gates
The complete user and scientific reference is available at haoming-luo.github.io/agentfem.
Scope
AgentFEM is an early-stage research and engineering platform. It prioritizes depth, transparent evidence, and a coherent user workflow over claiming every analysis available in mature general-purpose CAE systems. Current maturity and known boundaries are documented per capability so users can decide what is appropriate for exploration, research, or engineering use.
Citation
If AgentFEM helps your research or engineering work, please cite the project
metadata in CITATION.cff. An accompanying software paper is
being prepared for arXiv.
title: "AgentFEM: An AI-native open-source platform for finite-element computing"
authors:
- family-names: Luo
given-names: Haoming
affiliation: "Materials Department, Xi'an Thermal Power Research Institute (TPRI)"
date-released: 2026-08-13
Author
Haoming Luo is the initiator and maintainer of AgentFEM. His interests include computational mechanics, materials engineering, finite-element simulation, and AI-assisted scientific computing, with education and research experience associated with NWPU, INSA Lyon and Ecole Polytechnique.
The project is also motivated by engineering needs in materials evaluation, defect inspection, and simulation analysis for power-generation equipment.
License
AgentFEM is available under the Apache License 2.0. It can be used, modified, and extended in research, education, and commercial products under the terms of that license.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file agentfem-0.2.0.tar.gz.
File metadata
- Download URL: agentfem-0.2.0.tar.gz
- Upload date:
- Size: 3.4 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1dcde889a59691f05284abe61a0da1aaedbdd5852cd382661c047cb9d3c6c6e3
|
|
| MD5 |
6a92f3ec019335b6d8ee5b52007ebc27
|
|
| BLAKE2b-256 |
41f97ee3c478e7b3f5e51a460f08c314a79c383eacd10026ad488656a4cf5da8
|
Provenance
The following attestation bundles were made for agentfem-0.2.0.tar.gz:
Publisher:
publish-pypi.yml on haoming-luo/agentfem
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
agentfem-0.2.0.tar.gz -
Subject digest:
1dcde889a59691f05284abe61a0da1aaedbdd5852cd382661c047cb9d3c6c6e3 - Sigstore transparency entry: 2446435891
- Sigstore integration time:
-
Permalink:
haoming-luo/agentfem@9d486f0fc786cda4037201c7b4ba956950d3536b -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/haoming-luo
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-pypi.yml@9d486f0fc786cda4037201c7b4ba956950d3536b -
Trigger Event:
push
-
Statement type:
File details
Details for the file agentfem-0.2.0-py3-none-any.whl.
File metadata
- Download URL: agentfem-0.2.0-py3-none-any.whl
- Upload date:
- Size: 705.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2dd599b514b053914ad6605239a8df4b86735d794b4c57ccae4b33e0e1023ca6
|
|
| MD5 |
bbe995972d7c28686a89bea96794705c
|
|
| BLAKE2b-256 |
cf9f0f22f436bfa5d319b8bc76e3dfc00927dd666aef97549db49567aec20d0b
|
Provenance
The following attestation bundles were made for agentfem-0.2.0-py3-none-any.whl:
Publisher:
publish-pypi.yml on haoming-luo/agentfem
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
agentfem-0.2.0-py3-none-any.whl -
Subject digest:
2dd599b514b053914ad6605239a8df4b86735d794b4c57ccae4b33e0e1023ca6 - Sigstore transparency entry: 2446436521
- Sigstore integration time:
-
Permalink:
haoming-luo/agentfem@9d486f0fc786cda4037201c7b4ba956950d3536b -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/haoming-luo
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-pypi.yml@9d486f0fc786cda4037201c7b4ba956950d3536b -
Trigger Event:
push
-
Statement type: