{"id":50800959,"url":"https://github.com/kimimgo/awesome-ai-cae","last_synced_at":"2026-06-12T19:33:51.796Z","repository":{"id":344198482,"uuid":"1180877302","full_name":"kimimgo/awesome-ai-cae","owner":"kimimgo","description":"A curated list of 100+ AI-ready tools for Computer-Aided Engineering, ranked by an AI-Readiness Score (agent-callability: MCP, Python API, CLI, pip). CFD, FEA, SPH, DEM, differentiable simulation, neural operators, PINNs, MCP servers.","archived":false,"fork":false,"pushed_at":"2026-06-08T09:34:14.000Z","size":1531,"stargazers_count":33,"open_issues_count":3,"forks_count":7,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-06-08T10:19:39.516Z","etag":null,"topics":["ai","ai-for-science","artificial-intelligence","awesome","awesome-list","cae","cfd","computational-engineering","deep-learning","differentiable-simulation","fea","machine-learning","mcp","mesh-generation","neural-operator","physics-informed-neural-networks","simulation","sph","surrogate-model","visualization"],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"cc0-1.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/kimimgo.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"code-of-conduct.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-03-13T14:04:43.000Z","updated_at":"2026-06-08T09:34:18.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/kimimgo/awesome-ai-cae","commit_stats":null,"previous_names":["kimimgo/awesome-ai-cae"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/kimimgo/awesome-ai-cae","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kimimgo%2Fawesome-ai-cae","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kimimgo%2Fawesome-ai-cae/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kimimgo%2Fawesome-ai-cae/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kimimgo%2Fawesome-ai-cae/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kimimgo","download_url":"https://codeload.github.com/kimimgo/awesome-ai-cae/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kimimgo%2Fawesome-ai-cae/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34260309,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-12T02:00:06.859Z","response_time":109,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai","ai-for-science","artificial-intelligence","awesome","awesome-list","cae","cfd","computational-engineering","deep-learning","differentiable-simulation","fea","machine-learning","mcp","mesh-generation","neural-operator","physics-informed-neural-networks","simulation","sph","surrogate-model","visualization"],"created_at":"2026-06-12T19:33:51.636Z","updated_at":"2026-06-12T19:33:51.736Z","avatar_url":"https://github.com/kimimgo.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003c!--lint disable awesome-heading awesome-github awesome-toc double-link--\u003e\n\n\u003cdiv align=\"center\"\u003e\n\n\u003cimg src=\"media/banner.svg\" alt=\"Awesome AI-CAE\" width=\"800\"\u003e\n\n\u003cbr\u003e\u003cbr\u003e\n\n[![Awesome](https://awesome.re/badge-flat2.svg)](https://awesome.re)\n[![awesome-lint](https://img.shields.io/github/actions/workflow/status/kimimgo/awesome-ai-cae/lint.yml?branch=main\u0026style=flat-square\u0026label=awesome-lint\u0026color=00d4ff)](https://github.com/kimimgo/awesome-ai-cae/actions/workflows/lint.yml)\n[![License CC0-1.0](https://img.shields.io/badge/license-CC0--1.0-7c3aed?style=flat-square)](https://creativecommons.org/publicdomain/zero/1.0/)\n[![PRs welcome](https://img.shields.io/badge/PRs-welcome-2ea44f?style=flat-square)](CONTRIBUTING.md)\n\n[![Stars](https://img.shields.io/github/stars/kimimgo/awesome-ai-cae?style=flat-square\u0026color=f472b6)](https://github.com/kimimgo/awesome-ai-cae/stargazers)\n[![Last commit](https://img.shields.io/github/last-commit/kimimgo/awesome-ai-cae?style=flat-square\u0026color=00d4ff)](https://github.com/kimimgo/awesome-ai-cae/commits/main)\n[![Tools](https://img.shields.io/badge/tools-100%2B-00d4ff?style=flat-square)](READINESS.md)\n[![AI-Native](https://img.shields.io/badge/🟢_AI--Native-2-2ea44f?style=flat-square)](READINESS.md)\n[![Ranking](https://img.shields.io/badge/ranking-weekly-7c3aed?style=flat-square)](.github/workflows/readiness.yml)\n\n### The CAE tools an AI agent can actually call\n\n**Open-source simulation, CAD \u0026 meshing tools for agentic / LLM-driven engineering** — driveable headless via **MCP, Python, or CLI** (no GUI-only tools). The **only CAE list with a weekly agent-callability ranking**. Ranked by *callability*, not stars.\n\n**100+ tools** · **3 MCP servers** · **2 AI-Native** · machine-readable [JSON](data/readiness.json) / [CSV](data/readiness.csv) · weekly-regenerated [ranking](READINESS.md)\n\n\u003csub\u003eScope: agent-callable CAE/CAD/CAM **tools**, plus a small set of **adjacent** Datasets \u0026 Learning Resources for context.\u003c/sub\u003e\n\n[**🚀 Quickstart**](#quickstart--give-your-agent-a-cae-tool) · [**🏆 Index**](#ai-readiness-index) · [**📊 Methodology**](#how-the-score-works)\n\n[한국어](docs/README.ko.md) · [中文](docs/README.zh.md) · [日本語](docs/README.ja.md) · [Deutsch](docs/README.de.md) · [Français](docs/README.fr.md) · [Español](docs/README.es.md) · [Português](docs/README.pt.md)\n\n\u003cbr\u003e\n\n\u003cimg src=\"media/divider.svg\" width=\"100%\" alt=\"\"\u003e\n\n\u003c/div\u003e\n\n## Contents\n\n- [Quickstart](#quickstart--give-your-agent-a-cae-tool)\n- [AI-Readiness Index](#ai-readiness-index)\n- [How the Score Works](#how-the-score-works)\n- [Core Engine Readiness](#core-engine-readiness)\n- [MCP Servers](#mcp-servers)\n- [CFD — Computational Fluid Dynamics](#cfd--computational-fluid-dynamics)\n- [FEA — Finite Element Analysis](#fea--finite-element-analysis)\n- [SPH — Smoothed Particle Hydrodynamics](#sph--smoothed-particle-hydrodynamics)\n- [DEM — Discrete Element Method](#dem--discrete-element-method)\n- [Visualization \u0026 Post-processing](#visualization--post-processing)\n- [CAD \u0026 Geometry](#cad--geometry)\n- [Mesh Generation](#mesh-generation)\n- [Differentiable Simulation](#differentiable-simulation)\n- [AI/ML for Simulation](#aiml-for-simulation)\n- [Surrogate Models \u0026 PINNs](#surrogate-models--pinns)\n- [Optimization](#optimization)\n- [Data Formats \u0026 I/O](#data-formats--io)\n- [Datasets \u0026 Benchmarks](#datasets--benchmarks)\n- [Learning Resources](#learning-resources)\n- [Star History](#star-history)\n\n## Quickstart — give your agent a CAE tool\n\n\u003cdiv align=\"center\"\u003e\n\u003cimg src=\"media/diagram-concept.png\" width=\"720\" alt=\"Pipeline diagram: an AI agent calls a CAE tool via MCP, Python, or CLI and gets a simulation result\"\u003e\n\u003c/div\u003e\n\n\u003e Three tools here ship a [Model Context Protocol](https://modelcontextprotocol.io/) server, so an agent (Claude Desktop, Cursor, Cline…) drives them with zero glue code. Add one to your MCP client config:\n\n```jsonc\n{\n  \"mcpServers\": {\n    \"viznoir\": { \"command\": \"uvx\", \"args\": [\"viznoir\"] }\n  }\n}\n```\n\n\u003ctable\u003e\n\u003ctr\u003e\u003cth\u003eMCP server\u003c/th\u003e\u003cth\u003eAsk your agent\u003c/th\u003e\u003cth\u003eInstall\u003c/th\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd\u003e\u003ca href=\"https://github.com/kimimgo/viznoir\"\u003eviznoir\u003c/a\u003e\u003c/td\u003e\u003ctd\u003e\u003ci\u003e\"Render this OpenFOAM case as a cinematic volume animation.\"\u003c/i\u003e\u003c/td\u003e\u003ctd\u003e\u003ccode\u003euvx viznoir\u003c/code\u003e\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd\u003e\u003ca href=\"https://github.com/llnl/paraview_mcp\"\u003eParaView-MCP\u003c/a\u003e\u003c/td\u003e\u003ctd\u003e\u003ci\u003e\"Open this VTK file, color by pressure, screenshot it.\"\u003c/i\u003e\u003c/td\u003e\u003ctd\u003esee repo\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd\u003e\u003ca href=\"https://github.com/webworn/openfoam-mcp-server\"\u003eOpenFOAM-MCP\u003c/a\u003e\u003c/td\u003e\u003ctd\u003e\u003ci\u003e\"Set up a pipe-flow case and explain the turbulence model.\"\u003c/i\u003e\u003c/td\u003e\u003ctd\u003esee repo\u003c/td\u003e\u003c/tr\u003e\n\u003c/table\u003e\n\n\u003csub\u003eExact launch command lives in each server's README. No MCP? Every other tool is Python/CLI-scriptable — your agent calls it the same way you would.\u003c/sub\u003e\n\n\u003csup\u003e[back to top](#contents)\u003c/sup\u003e\n\n## AI-Readiness Index\n\n\u003e The headline metric: tools ranked by **agent-callability** — MCP, Python API, CLI, maintenance — not stars. Auto-updated weekly by [`readiness-score.py`](scripts/readiness-score.py). Full table: [READINESS.md](READINESS.md) · machine-readable: [`data/readiness.json`](data/readiness.json).\n\n\u003c!-- AI-READINESS-INDEX:START --\u003e\n\n\u003ctable\u003e\n\u003ctr\u003e\u003cth align=\"center\"\u003e#\u003c/th\u003e\u003cth align=\"right\"\u003eScore\u003c/th\u003e\u003cth\u003eGrade\u003c/th\u003e\u003cth\u003eTool\u003c/th\u003e\u003cth\u003eInterfaces\u003c/th\u003e\u003cth align=\"right\"\u003e⭐\u003c/th\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd align=\"center\"\u003e🥇\u003c/td\u003e\u003ctd align=\"right\"\u003e\u003cb\u003e94\u003c/b\u003e\u003c/td\u003e\u003ctd\u003e🟢 AI-Native\u003c/td\u003e\u003ctd\u003e\u003ca href=\"https://github.com/llnl/paraview_mcp\"\u003ellnl/paraview_mcp\u003c/a\u003e\u003c/td\u003e\u003ctd\u003eMCP, Python, pip\u003c/td\u003e\u003ctd align=\"right\"\u003e52\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd align=\"center\"\u003e🥈\u003c/td\u003e\u003ctd align=\"right\"\u003e\u003cb\u003e93\u003c/b\u003e\u003c/td\u003e\u003ctd\u003e🟢 AI-Native\u003c/td\u003e\u003ctd\u003e\u003ca href=\"https://github.com/kimimgo/viznoir\"\u003ekimimgo/viznoir\u003c/a\u003e\u003c/td\u003e\u003ctd\u003eMCP, Python, pip \u003cb title=\"install + import smoke-tested\"\u003e✅\u003c/b\u003e\u003c/td\u003e\u003ctd align=\"right\"\u003e13\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd align=\"center\"\u003e🥉\u003c/td\u003e\u003ctd align=\"right\"\u003e\u003cb\u003e65\u003c/b\u003e\u003c/td\u003e\u003ctd\u003e🔵 Agent-Ready\u003c/td\u003e\u003ctd\u003e\u003ca href=\"https://github.com/taichi-dev/taichi\"\u003etaichi-dev/taichi\u003c/a\u003e\u003c/td\u003e\u003ctd\u003ePython, pip \u003cb title=\"install + import smoke-tested\"\u003e✅\u003c/b\u003e\u003c/td\u003e\u003ctd align=\"right\"\u003e28,243\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd align=\"center\"\u003e4\u003c/td\u003e\u003ctd align=\"right\"\u003e\u003cb\u003e65\u003c/b\u003e\u003c/td\u003e\u003ctd\u003e🔵 Agent-Ready\u003c/td\u003e\u003ctd\u003e\u003ca href=\"https://github.com/google-deepmind/mujoco\"\u003egoogle-deepmind/mujoco\u003c/a\u003e\u003c/td\u003e\u003ctd\u003ePython, pip\u003c/td\u003e\u003ctd align=\"right\"\u003e13,795\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd align=\"center\"\u003e5\u003c/td\u003e\u003ctd align=\"right\"\u003e\u003cb\u003e65\u003c/b\u003e\u003c/td\u003e\u003ctd\u003e🔵 Agent-Ready\u003c/td\u003e\u003ctd\u003e\u003ca href=\"https://github.com/NVIDIA/warp\"\u003eNVIDIA/warp\u003c/a\u003e\u003c/td\u003e\u003ctd\u003ePython, pip\u003c/td\u003e\u003ctd align=\"right\"\u003e6,736\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd align=\"center\"\u003e6\u003c/td\u003e\u003ctd align=\"right\"\u003e\u003cb\u003e65\u003c/b\u003e\u003c/td\u003e\u003ctd\u003e🔵 Agent-Ready\u003c/td\u003e\u003ctd\u003e\u003ca href=\"https://github.com/google-deepmind/graphcast\"\u003egoogle-deepmind/graphcast\u003c/a\u003e\u003c/td\u003e\u003ctd\u003ePython, pip\u003c/td\u003e\u003ctd align=\"right\"\u003e6,667\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd align=\"center\"\u003e7\u003c/td\u003e\u003ctd align=\"right\"\u003e\u003cb\u003e64\u003c/b\u003e\u003c/td\u003e\u003ctd\u003e🔵 Agent-Ready\u003c/td\u003e\u003ctd\u003e\u003ca href=\"https://github.com/maziarraissi/PINNs\"\u003emaziarraissi/PINNs\u003c/a\u003e\u003c/td\u003e\u003ctd\u003ePython, pip\u003c/td\u003e\u003ctd align=\"right\"\u003e5,915\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd align=\"center\"\u003e8\u003c/td\u003e\u003ctd align=\"right\"\u003e\u003cb\u003e64\u003c/b\u003e\u003c/td\u003e\u003ctd\u003e🔵 Agent-Ready\u003c/td\u003e\u003ctd\u003e\u003ca href=\"https://github.com/CadQuery/cadquery\"\u003eCadQuery/cadquery\u003c/a\u003e\u003c/td\u003e\u003ctd\u003ePython, pip \u003cb title=\"install + import smoke-tested\"\u003e✅\u003c/b\u003e\u003c/td\u003e\u003ctd align=\"right\"\u003e5,260\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd align=\"center\"\u003e9\u003c/td\u003e\u003ctd align=\"right\"\u003e\u003cb\u003e64\u003c/b\u003e\u003c/td\u003e\u003ctd\u003e🔵 Agent-Ready\u003c/td\u003e\u003ctd\u003e\u003ca href=\"https://github.com/libigl/libigl\"\u003elibigl/libigl\u003c/a\u003e\u003c/td\u003e\u003ctd\u003ePython, pip\u003c/td\u003e\u003ctd align=\"right\"\u003e5,027\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd align=\"center\"\u003e10\u003c/td\u003e\u003ctd align=\"right\"\u003e\u003cb\u003e64\u003c/b\u003e\u003c/td\u003e\u003ctd\u003e🔵 Agent-Ready\u003c/td\u003e\u003ctd\u003e\u003ca href=\"https://github.com/lululxvi/deepxde\"\u003elululxvi/deepxde\u003c/a\u003e\u003c/td\u003e\u003ctd\u003ePython, pip\u003c/td\u003e\u003ctd align=\"right\"\u003e4,222\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd align=\"center\"\u003e11\u003c/td\u003e\u003ctd align=\"right\"\u003e\u003cb\u003e64\u003c/b\u003e\u003c/td\u003e\u003ctd\u003e🔵 Agent-Ready\u003c/td\u003e\u003ctd\u003e\u003ca href=\"https://github.com/pyvista/pyvista\"\u003epyvista/pyvista\u003c/a\u003e\u003c/td\u003e\u003ctd\u003ePython, pip \u003cb title=\"install + import smoke-tested\"\u003e✅\u003c/b\u003e\u003c/td\u003e\u003ctd align=\"right\"\u003e3,695\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd align=\"center\"\u003e12\u003c/td\u003e\u003ctd align=\"right\"\u003e\u003cb\u003e64\u003c/b\u003e\u003c/td\u003e\u003ctd\u003e🔵 Agent-Ready\u003c/td\u003e\u003ctd\u003e\u003ca href=\"https://github.com/NeuralOperator/neuraloperator\"\u003eNeuralOperator/neuraloperator\u003c/a\u003e\u003c/td\u003e\u003ctd\u003ePython, pip\u003c/td\u003e\u003ctd align=\"right\"\u003e3,680\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd align=\"center\"\u003e13\u003c/td\u003e\u003ctd align=\"right\"\u003e\u003cb\u003e64\u003c/b\u003e\u003c/td\u003e\u003ctd\u003e🔵 Agent-Ready\u003c/td\u003e\u003ctd\u003e\u003ca href=\"https://github.com/mikedh/trimesh\"\u003emikedh/trimesh\u003c/a\u003e\u003c/td\u003e\u003ctd\u003ePython, pip \u003cb title=\"install + import smoke-tested\"\u003e✅\u003c/b\u003e\u003c/td\u003e\u003ctd align=\"right\"\u003e3,582\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd align=\"center\"\u003e14\u003c/td\u003e\u003ctd align=\"right\"\u003e\u003cb\u003e64\u003c/b\u003e\u003c/td\u003e\u003ctd\u003e🔵 Agent-Ready\u003c/td\u003e\u003ctd\u003e\u003ca href=\"https://github.com/meta-pytorch/botorch\"\u003emeta-pytorch/botorch\u003c/a\u003e\u003c/td\u003e\u003ctd\u003ePython, pip\u003c/td\u003e\u003ctd align=\"right\"\u003e3,545\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd align=\"center\"\u003e15\u003c/td\u003e\u003ctd align=\"right\"\u003e\u003cb\u003e64\u003c/b\u003e\u003c/td\u003e\u003ctd\u003e🔵 Agent-Ready\u003c/td\u003e\u003ctd\u003e\u003ca href=\"https://github.com/PolymathicAI/the_well\"\u003ePolymathicAI/the_well\u003c/a\u003e\u003c/td\u003e\u003ctd\u003ePython, pip\u003c/td\u003e\u003ctd align=\"right\"\u003e3,422\u003c/td\u003e\u003c/tr\u003e\n\u003c/table\u003e\n\n\u003csub\u003e🟢 2 AI-Native · 🔵 56 Agent-Ready · 🟡 23 Scriptable · ⚪ 20 Experimental — across 101 ranked tools (updated 2026-06-08). ✅ = install + import \u003ca href=\"data/verified.json\"\u003eexecution-verified\u003c/a\u003e. \u003ca href=\"READINESS.md\"\u003eFull ranking →\u003c/a\u003e\u003c/sub\u003e\n\n\u003c!-- AI-READINESS-INDEX:END --\u003e\n\n\u003csup\u003e[back to top](#contents)\u003c/sup\u003e\n\n## How the Score Works\n\n\u003e The **AI-Readiness Score** (0–100) ranks tools by how directly an autonomous agent can drive them — *callability over popularity*.\n\n\u003ctable\u003e\n\u003ctr\u003e\u003cth\u003eSignal\u003c/th\u003e\u003cth\u003ePoints\u003c/th\u003e\u003cth\u003eWhy it matters to an agent\u003c/th\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd\u003eMCP server\u003c/td\u003e\u003ctd\u003e35\u003c/td\u003e\u003ctd\u003eThe agent calls it with zero glue code\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd\u003ePython API\u003c/td\u003e\u003ctd\u003e25\u003c/td\u003e\u003ctd\u003eNative scripting\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd\u003eCLI / REST\u003c/td\u003e\u003ctd\u003e15\u003c/td\u003e\u003ctd\u003eHeadless automation\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd\u003epip-installable\u003c/td\u003e\u003ctd\u003e+15\u003c/td\u003e\u003ctd\u003eOne-command install (verified on PyPI)\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd\u003eMaintained (\u0026lt;6 mo)\u003c/td\u003e\u003ctd\u003e15\u003c/td\u003e\u003ctd\u003eWon't rot mid-project\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd\u003eAdoption (stars)\u003c/td\u003e\u003ctd\u003e10\u003c/td\u003e\u003ctd\u003elog-scaled — popularity barely moves the needle\u003c/td\u003e\u003c/tr\u003e\n\u003c/table\u003e\n\nThe five base signals (MCP + Python + CLI + Maintained + Adoption) total **100**; **pip is an additive bonus**, and the final score is **capped at 100**. So a tool can reach 100 several ways, but only MCP servers clear the AI-Native bar.\n\n**Grades:** ![AI-Native 75+](https://img.shields.io/badge/🟢_AI--Native-75%2B-2ea44f?style=flat-square) ![Agent-Ready 50-74](https://img.shields.io/badge/🔵_Agent--Ready-50--74-00d4ff?style=flat-square) ![Scriptable 30-49](https://img.shields.io/badge/🟡_Scriptable-30--49-f5a623?style=flat-square) ![Experimental under 30](https://img.shields.io/badge/⚪_Experimental-%3C30-9e9e9e?style=flat-square)\n\nScores regenerate weekly from `README.md` via [`readiness-score.py`](scripts/readiness-score.py) — fully reproducible, no hand-tuning. Open a PR adding a tool and [a bot scores it automatically](.github/workflows/pr-readiness.yml).\n\n### Verified vs declared\n\nHonest about what's checked.\n\n**Verified** (objective, reproducible) — live GitHub stars/activity; PyPI availability; and an **install + import smoke-test** ([`verify_install.py`](scripts/verify_install.py) → [`data/verified.json`](data/verified.json)) that spins up an isolated `uv` venv, runs `pip install` + `import`, and records the result. Tools that pass are marked **✅** in the Index. *Current run: 8/10 flagship tools pass; the 2 misses are recorded honestly — Gmsh needs a system GL lib, DeepXDE needs a chosen backend.*\n\n**Declared** (from the entry's tags) — `MCP` and `CLI/API`. We link the server/CLI; we don't yet replay an end-to-end agent call.\n\n**Roadmap** (deepening the moat) — execution-verified MCP handshakes and headless runs, plus a per-tool *agent-call transcript*, so the score reflects tools an agent has actually driven, not just ones that expose an interface.\n\n\u003csup\u003e[back to top](#contents)\u003c/sup\u003e\n\n## Core Engine Readiness\n\n\u003e A **hand-curated editorial** deep-dive on 17 foundational solvers — capability columns (Python binding, headless, Docker, AI-native) reflect maintainer judgment, ⭐ is live. This complements the auto-generated [Index](#ai-readiness-index) above, which stays the single source of truth for scores. Only 2 engines have MCP integration today.\n\n\u003ctable\u003e\n\u003ctr\u003e\u003cth\u003eEngine\u003c/th\u003e\u003cth\u003eDomain\u003c/th\u003e\u003cth\u003e⭐\u003c/th\u003e\u003cth\u003ePython API\u003c/th\u003e\u003cth\u003eHeadless\u003c/th\u003e\u003cth\u003eDocker\u003c/th\u003e\u003cth\u003e🤖 AI-Native\u003c/th\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd\u003e\u003ca href=\"https://github.com/OpenFOAM/OpenFOAM-dev\"\u003eOpenFOAM\u003c/a\u003e\u003c/td\u003e\u003ctd\u003eCFD\u003c/td\u003e\u003ctd\u003e\u003cimg src=\"https://img.shields.io/github/stars/OpenFOAM/OpenFOAM-dev?style=flat-square\u0026label=\" alt=\"stars\"\u003e\u003c/td\u003e\u003ctd\u003ePyFoam\u003c/td\u003e\u003ctd\u003e✅\u003c/td\u003e\u003ctd\u003e✅\u003c/td\u003e\u003ctd\u003e✅ Foam-Agent, MCP\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd\u003e\u003ca href=\"https://github.com/FEniCS/dolfinx\"\u003eFEniCS\u003c/a\u003e\u003c/td\u003e\u003ctd\u003eFEA\u003c/td\u003e\u003ctd\u003e\u003cimg src=\"https://img.shields.io/github/stars/FEniCS/dolfinx?style=flat-square\u0026label=\" alt=\"stars\"\u003e\u003c/td\u003e\u003ctd\u003e✅ Native\u003c/td\u003e\u003ctd\u003e✅\u003c/td\u003e\u003ctd\u003e✅\u003c/td\u003e\u003ctd\u003e—\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd\u003e\u003ca href=\"https://gitlab.onelab.info/gmsh/gmsh\"\u003eGmsh\u003c/a\u003e\u003c/td\u003e\u003ctd\u003eMesh\u003c/td\u003e\u003ctd\u003e—\u003c/td\u003e\u003ctd\u003e✅ Native\u003c/td\u003e\u003ctd\u003e✅\u003c/td\u003e\u003ctd\u003e✅\u003c/td\u003e\u003ctd\u003e—\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd\u003e\u003ca href=\"https://github.com/Kitware/VTK\"\u003eVTK\u003c/a\u003e / \u003ca href=\"https://github.com/Kitware/ParaView\"\u003eParaView\u003c/a\u003e\u003c/td\u003e\u003ctd\u003eViz\u003c/td\u003e\u003ctd\u003e\u003cimg src=\"https://img.shields.io/github/stars/Kitware/VTK?style=flat-square\u0026label=\" alt=\"stars\"\u003e\u003c/td\u003e\u003ctd\u003e✅ Native\u003c/td\u003e\u003ctd\u003e✅\u003c/td\u003e\u003ctd\u003e✅\u003c/td\u003e\u003ctd\u003e✅ ParaView-MCP\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd\u003e\u003ca href=\"https://github.com/su2code/SU2\"\u003eSU2\u003c/a\u003e\u003c/td\u003e\u003ctd\u003eCFD\u003c/td\u003e\u003ctd\u003e\u003cimg src=\"https://img.shields.io/github/stars/su2code/SU2?style=flat-square\u0026label=\" alt=\"stars\"\u003e\u003c/td\u003e\u003ctd\u003epySU2\u003c/td\u003e\u003ctd\u003e✅\u003c/td\u003e\u003ctd\u003e✅\u003c/td\u003e\u003ctd\u003e—\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd\u003e\u003ca href=\"https://github.com/mfem/mfem\"\u003eMFEM\u003c/a\u003e\u003c/td\u003e\u003ctd\u003eFEA\u003c/td\u003e\u003ctd\u003e\u003cimg src=\"https://img.shields.io/github/stars/mfem/mfem?style=flat-square\u0026label=\" alt=\"stars\"\u003e\u003c/td\u003e\u003ctd\u003ePyMFEM\u003c/td\u003e\u003ctd\u003e✅\u003c/td\u003e\u003ctd\u003e✅\u003c/td\u003e\u003ctd\u003e—\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd\u003e\u003ca href=\"https://github.com/dealii/dealii\"\u003edeal.II\u003c/a\u003e\u003c/td\u003e\u003ctd\u003eFEA\u003c/td\u003e\u003ctd\u003e\u003cimg src=\"https://img.shields.io/github/stars/dealii/dealii?style=flat-square\u0026label=\" alt=\"stars\"\u003e\u003c/td\u003e\u003ctd\u003eLimited\u003c/td\u003e\u003ctd\u003e✅\u003c/td\u003e\u003ctd\u003e✅\u003c/td\u003e\u003ctd\u003e—\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd\u003e\u003ca href=\"https://github.com/DualSPHysics/DualSPHysics\"\u003eDualSPHysics\u003c/a\u003e\u003c/td\u003e\u003ctd\u003eSPH\u003c/td\u003e\u003ctd\u003e\u003cimg src=\"https://img.shields.io/github/stars/DualSPHysics/DualSPHysics?style=flat-square\u0026label=\" alt=\"stars\"\u003e\u003c/td\u003e\u003ctd\u003eInductiva API\u003c/td\u003e\u003ctd\u003e✅\u003c/td\u003e\u003ctd\u003e✅\u003c/td\u003e\u003ctd\u003e—\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd\u003e\u003ca href=\"https://github.com/taichi-dev/taichi\"\u003eTaichi\u003c/a\u003e\u003c/td\u003e\u003ctd\u003eDiff. Sim\u003c/td\u003e\u003ctd\u003e\u003cimg src=\"https://img.shields.io/github/stars/taichi-dev/taichi?style=flat-square\u0026label=\" alt=\"stars\"\u003e\u003c/td\u003e\u003ctd\u003e✅ Native\u003c/td\u003e\u003ctd\u003e✅\u003c/td\u003e\u003ctd\u003e✅\u003c/td\u003e\u003ctd\u003e—\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd\u003e\u003ca href=\"https://github.com/PyFR/PyFR\"\u003ePyFR\u003c/a\u003e\u003c/td\u003e\u003ctd\u003eCFD\u003c/td\u003e\u003ctd\u003e\u003cimg src=\"https://img.shields.io/github/stars/PyFR/PyFR?style=flat-square\u0026label=\" alt=\"stars\"\u003e\u003c/td\u003e\u003ctd\u003e✅ Native\u003c/td\u003e\u003ctd\u003e✅\u003c/td\u003e\u003ctd\u003e✅\u003c/td\u003e\u003ctd\u003e—\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd\u003e\u003ca href=\"http://www.calculix.de/\"\u003eCalculiX\u003c/a\u003e\u003c/td\u003e\u003ctd\u003eFEA\u003c/td\u003e\u003ctd\u003e—\u003c/td\u003e\u003ctd\u003epycalculix\u003c/td\u003e\u003ctd\u003e✅\u003c/td\u003e\u003ctd\u003e✅\u003c/td\u003e\u003ctd\u003e—\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd\u003e\u003ca href=\"https://github.com/ElmerCSC/elmerfem\"\u003eElmer\u003c/a\u003e\u003c/td\u003e\u003ctd\u003eFEA\u003c/td\u003e\u003ctd\u003e\u003cimg src=\"https://img.shields.io/github/stars/ElmerCSC/elmerfem?style=flat-square\u0026label=\" alt=\"stars\"\u003e\u003c/td\u003e\u003ctd\u003ePyElmer\u003c/td\u003e\u003ctd\u003e✅\u003c/td\u003e\u003ctd\u003e✅\u003c/td\u003e\u003ctd\u003e—\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd\u003e\u003ca href=\"https://github.com/Open-Cascade-SAS/OCCT\"\u003eOpenCASCADE\u003c/a\u003e\u003c/td\u003e\u003ctd\u003eCAD\u003c/td\u003e\u003ctd\u003e\u003cimg src=\"https://img.shields.io/github/stars/Open-Cascade-SAS/OCCT?style=flat-square\u0026label=\" alt=\"stars\"\u003e\u003c/td\u003e\u003ctd\u003epythonOCC\u003c/td\u003e\u003ctd\u003e✅\u003c/td\u003e\u003ctd\u003e✅\u003c/td\u003e\u003ctd\u003e—\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd\u003e\u003ca href=\"https://github.com/idaholab/moose\"\u003eMOOSE\u003c/a\u003e\u003c/td\u003e\u003ctd\u003eFEA\u003c/td\u003e\u003ctd\u003e\u003cimg src=\"https://img.shields.io/github/stars/idaholab/moose?style=flat-square\u0026label=\" alt=\"stars\"\u003e\u003c/td\u003e\u003ctd\u003ePython\u003c/td\u003e\u003ctd\u003e✅\u003c/td\u003e\u003ctd\u003e✅\u003c/td\u003e\u003ctd\u003e—\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd\u003e\u003ca href=\"https://github.com/FreeFem/FreeFem-sources\"\u003eFreeFEM\u003c/a\u003e\u003c/td\u003e\u003ctd\u003eFEA\u003c/td\u003e\u003ctd\u003e\u003cimg src=\"https://img.shields.io/github/stars/FreeFem/FreeFem-sources?style=flat-square\u0026label=\" alt=\"stars\"\u003e\u003c/td\u003e\u003ctd\u003eFreeFem++\u003c/td\u003e\u003ctd\u003e✅\u003c/td\u003e\u003ctd\u003e✅\u003c/td\u003e\u003ctd\u003e—\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd\u003e\u003ca href=\"https://github.com/sfepy/sfepy\"\u003eSfePy\u003c/a\u003e\u003c/td\u003e\u003ctd\u003eFEA\u003c/td\u003e\u003ctd\u003e\u003cimg src=\"https://img.shields.io/github/stars/sfepy/sfepy?style=flat-square\u0026label=\" alt=\"stars\"\u003e\u003c/td\u003e\u003ctd\u003e✅ Native\u003c/td\u003e\u003ctd\u003e✅\u003c/td\u003e\u003ctd\u003e✅\u003c/td\u003e\u003ctd\u003e—\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd\u003e\u003ca href=\"https://github.com/google-deepmind/mujoco\"\u003eMuJoCo\u003c/a\u003e\u003c/td\u003e\u003ctd\u003eDiff. Sim\u003c/td\u003e\u003ctd\u003e\u003cimg src=\"https://img.shields.io/github/stars/google-deepmind/mujoco?style=flat-square\u0026label=\" alt=\"stars\"\u003e\u003c/td\u003e\u003ctd\u003e✅ Native\u003c/td\u003e\u003ctd\u003e✅\u003c/td\u003e\u003ctd\u003e✅\u003c/td\u003e\u003ctd\u003e—\u003c/td\u003e\u003c/tr\u003e\n\u003c/table\u003e\n\n\u003csup\u003e[back to top](#contents)\u003c/sup\u003e\n\n## MCP Servers\n\n\u003e AI agents call these directly via [Model Context Protocol](https://modelcontextprotocol.io/).\n\n- [kimimgo/viznoir](https://github.com/kimimgo/viznoir) `Python` `MCP` - Cinema-quality science visualization. 22 tools for rendering, slicing, contouring, volume rendering, and animating OpenFOAM/VTK/CGNS data via VTK. Headless EGL/OSMesa.\n- [llnl/paraview_mcp](https://github.com/llnl/paraview_mcp) `Python` `MCP` - Natural language control of ParaView via MCP. Multimodal LLM observes viewport for visual feedback (LLNL).\n- [webworn/openfoam-mcp-server](https://github.com/webworn/openfoam-mcp-server) `C++` `MCP` - OpenFOAM MCP server with Socratic questioning for CFD education and expert error resolution.\n\n\u003csup\u003e[back to top](#contents)\u003c/sup\u003e\n\n## CFD — Computational Fluid Dynamics\n\n\u003e Open-source solvers for fluid flow, heat transfer, and multiphysics.\n\n- [OpenFOAM/OpenFOAM-dev](https://github.com/OpenFOAM/OpenFOAM-dev) `C++` - The open source CFD toolbox. Finite volume solvers for incompressible/compressible flow, multiphase, combustion, heat transfer.\n- [su2code/SU2](https://github.com/su2code/SU2) `C++` `Python` - Multiphysics simulation and design optimization. Compressible/incompressible flow, structural analysis, adjoint-based design.\n- [LLNL/Nek5000](https://github.com/Nek5000/Nek5000) `Fortran` - High-order spectral element CFD solver. DNS/LES of turbulent flows. Scalable to millions of cores.\n- [Nek5000/nekRS](https://github.com/Nek5000/nekRS) `C++` `CUDA` - GPU-accelerated spectral element CFD. Successor to Nek5000 with native CUDA/HIP/OpenCL support.\n- [precice/precice](https://github.com/precice/precice) `C++` `Python` - Coupling library for multi-physics simulations. Fluid-structure interaction, conjugate heat transfer.\n- [PyFR/PyFR](https://github.com/PyFR/PyFR) `Python` - High-order flux reconstruction CFD on mixed unstructured grids. GPU-accelerated (CUDA/OpenCL/HIP).\n\n\u003csup\u003e[back to top](#contents)\u003c/sup\u003e\n\n## FEA — Finite Element Analysis\n\n\u003e Structural, thermal, and multiphysics FEM solvers.\n\n- [CalculiX](http://www.calculix.de/) `Fortran` `C` - Free 3D structural FEM. Linear/nonlinear static, dynamic, thermal analysis. Abaqus INP compatible.\n- [dealii/dealii](https://github.com/dealii/dealii) `C++` - Adaptive finite elements. Supports hp-refinement, multigrid, and parallel distributed computing.\n- [ElmerCSC/elmerfem](https://github.com/ElmerCSC/elmerfem) `Fortran` `C++` - Multiphysics FEM solver. Fluid dynamics, structural mechanics, electromagnetics, heat transfer. CSC Finland.\n- [FEniCS/dolfinx](https://github.com/FEniCS/dolfinx) `C++` `Python` - Next-generation FEniCS. Automated PDE solving with high-level Python/C++ interface. Parallel, scalable.\n- [firedrakeproject/firedrake](https://github.com/firedrakeproject/firedrake) `Python` - Automated FEM with code generation from high-level problem descriptions. UFL domain-specific language.\n- [FreeFem/FreeFem-sources](https://github.com/FreeFem/FreeFem-sources) `C++` - Partial differential equation solver using finite element method. High-level scripting language for 2D/3D problems.\n- [idaholab/moose](https://github.com/idaholab/moose) `C++` `Python` - Multiphysics Object-Oriented Simulation Environment. Coupled physics FEM framework from Idaho National Lab.\n- [KratosMultiphysics/Kratos](https://github.com/KratosMultiphysics/Kratos) `C++` `Python` - Framework for multi-physics FEM. Structural, fluid, thermal, contact, FSI.\n- [mfem/mfem](https://github.com/mfem/mfem) `C++` - High-order finite element library. Supports GPU acceleration, AMR, and dozens of physics applications.\n- [OpenSees/OpenSees](https://github.com/OpenSees/OpenSees) `C++` - Open system for earthquake engineering simulation. Structural and geotechnical response analysis. Berkeley.\n- [sfepy/sfepy](https://github.com/sfepy/sfepy) `Python` - Simple Finite Elements in Python. Solve PDEs by FEM in 1D, 2D, and 3D with plain Python scripting.\n\n\u003csup\u003e[back to top](#contents)\u003c/sup\u003e\n\n## SPH — Smoothed Particle Hydrodynamics\n\n\u003e Meshless particle methods for free-surface flows and fluid-structure interaction.\n\n- [DualSPHysics/DualSPHysics](https://github.com/DualSPHysics/DualSPHysics) `C++` `CUDA` - GPU-accelerated SPH solver. Free-surface flows, wave generation, fluid-structure interaction, floating bodies.\n- [InteractiveComputerGraphics/SPlisHSPlasH](https://github.com/InteractiveComputerGraphics/SPlisHSPlasH) `C++` - Physically-based SPH fluid simulation. DFSPH, IISPH, PBF pressure solvers. Viscosity, surface tension.\n- [pypr/pysph](https://github.com/pypr/pysph) `Python` `Cython` - SPH framework in Python. Compressible/incompressible flows, solid mechanics, coupled problems.\n\n\u003csup\u003e[back to top](#contents)\u003c/sup\u003e\n\n## DEM — Discrete Element Method\n\n\u003e Particle-based simulation of granular materials, powders, and coupled particle-fluid systems.\n\n- [CFDEMproject/LIGGGHTS-PUBLIC](https://github.com/CFDEMproject/LIGGGHTS-PUBLIC) `C++` - Industry-standard open-source DEM for granular materials. LAMMPS-based with heat transfer and CFD coupling.\n- [lammps/lammps](https://github.com/lammps/lammps) `C++` `Python` - Large-scale Atomic/Molecular Massively Parallel Simulator. Classical MD and DEM with granular package. Sandia National Labs.\n- [MercuryDPM](https://bitbucket.org/mercurydpm/mercurydpm) `C++` - Open-source DEM for granular and particle-laden flows. Coarse-graining, contact models, and the MercuryCG analysis toolkit.\n- [SudoDEM/SudoDEM](https://github.com/SudoDEM/SudoDEM) `C++` `Python` - DEM for non-spherical particles. Polyhedra, super-ellipsoids, and cylinders for realistic granular simulations.\n- [Yade](https://gitlab.com/yade-dev/trunk) `C++` `Python` - Extensible open-source DEM framework. Python scripting, deformable particles, coupled DEM-FEM and DEM-fluid problems.\n\n\u003csup\u003e[back to top](#contents)\u003c/sup\u003e\n\n## Visualization \u0026 Post-processing\n\n\u003e Rendering, plotting, and interactive exploration of simulation results.\n\n- [kimimgo/viznoir](https://github.com/kimimgo/viznoir) `Python` `MCP` - Cinema-quality science visualization MCP server. 22 tools, EGL/OSMesa headless, cinematic lighting, physics animations.\n- [Kitware/VTK](https://github.com/Kitware/VTK) `C++` `Python` - The Visualization Toolkit. 3D computer graphics, image processing, scientific visualization. Industry standard.\n- [nmwsharp/polyscope](https://github.com/nmwsharp/polyscope) `C++` `Python` - Lightweight 3D viewer for meshes, point clouds, and scalar fields. One-line visualization for geometry processing.\n- [pyvista/pyvista](https://github.com/pyvista/pyvista) `Python` - Pythonic VTK. Streamlined 3D plotting, mesh analysis, and interactive visualization.\n- [Kitware/ParaView](https://github.com/Kitware/ParaView) `C++` `Python` - Multi-platform data analysis and visualization. VTK-based GUI + Python scripting + client-server architecture.\n- [napari/napari](https://github.com/napari/napari) `Python` - Fast n-dimensional image viewer. Plugin ecosystem for biomedical and scientific imaging.\n- [marcomusy/vedo](https://github.com/marcomusy/vedo) `Python` - Scientific analysis and visualization of 3D objects and point clouds. VTK-based with simple API.\n- [plotly/plotly.py](https://github.com/plotly/plotly.py) `Python` - Interactive, publication-quality graphs. 3D scatter, surface, mesh, volume. Web-based rendering.\n\n\u003csup\u003e[back to top](#contents)\u003c/sup\u003e\n\n## CAD \u0026 Geometry\n\n\u003e Parametric modeling, geometry processing, and CAD data exchange.\n\n- [CadQuery/cadquery](https://github.com/CadQuery/cadquery) `Python` - Parametric 3D CAD scripting. Build models with Python, export STEP/STL/IGES. OpenCASCADE kernel.\n- [CadQuery/OCP](https://github.com/CadQuery/OCP) `C++` `Python` - Python wrapper for OpenCASCADE via pybind11. Low-level foundation for CadQuery and build123d.\n- [FreeCAD/FreeCAD](https://github.com/FreeCAD/FreeCAD) `C++` `Python` - Open-source parametric 3D CAD modeler. Part design, FEM workbench, BIM, path (CAM).\n- [gumyr/build123d](https://github.com/gumyr/build123d) `Python` - Modern Python CAD with algebraic geometry API. Successor to CadQuery with cleaner builder pattern.\n- [mikedh/trimesh](https://github.com/mikedh/trimesh) `Python` - Load and manipulate triangular meshes. Boolean operations, ray tracing, convex hulls, format conversion.\n- [nschloe/pygmsh](https://github.com/nschloe/pygmsh) `Python` - Python interface for Gmsh. Scripted geometry + mesh generation with parametric control.\n- [Open-Cascade-SAS/OCCT](https://github.com/Open-Cascade-SAS/OCCT) `C++` - Open CASCADE Technology. Kernel for 3D surface and solid modeling, CAD data exchange (STEP/IGES).\n- [SolidCode/SolidPython](https://github.com/SolidCode/SolidPython) `Python` - Python frontend for OpenSCAD. Generate 3D models programmatically with CSG operations.\n\n\u003csup\u003e[back to top](#contents)\u003c/sup\u003e\n\n## Mesh Generation\n\n\u003e Structured, unstructured, and AI-driven mesh generation for simulation preprocessing.\n\n- [buaacyw/MeshAnything](https://github.com/buaacyw/MeshAnything) `Python` - Artist-quality mesh generation with autoregressive transformers. Any 3D input to mesh (ICLR 2025 spotlight).\n- [CGAL/cgal](https://github.com/CGAL/cgal) `C++` - Computational Geometry Algorithms Library. Mesh generation, triangulation, Boolean operations, convex hulls.\n- [Gmsh](https://gitlab.onelab.info/gmsh/gmsh) `C++` `Python` - Full-featured 3D finite element mesh generator. CAD engine, structured/unstructured meshing, built-in post-processing.\n- [libigl/libigl](https://github.com/libigl/libigl) `C++` `Python` - Header-only geometry processing library. Mesh parameterization, deformation, Boolean ops. Eurographics award winner.\n- [MmgTools/mmg](https://github.com/MmgTools/mmg) `C` - Anisotropic mesh adaptation for 2D/3D surface and volume remeshing. Metric-based automatic refinement.\n- [NGSolve/netgen](https://github.com/NGSolve/netgen) `C++` `Python` - Automatic 3D tetrahedral mesh generator. CAD (OCC) integration, mesh optimization, parallel meshing.\n- [nmwsharp/geometry-central](https://github.com/nmwsharp/geometry-central) `C++` - Applied geometry algorithms for surfaces and volumes. Geodesics, vector fields, intrinsic triangulations.\n- [OpenMeshLab/MeshXL](https://github.com/OpenMeshLab/MeshXL) `Python` - Foundation model for 3D mesh generation. Pre-trained on Objaverse, text-to-mesh capable (NeurIPS 2024).\n- [PyMesh/PyMesh](https://github.com/PyMesh/PyMesh) `Python` `C++` - Geometry processing library. Boolean, convex hull, remeshing, self-intersection repair.\n- [pyvista/tetgen](https://github.com/pyvista/tetgen) `C++` `Python` - Python interface to TetGen tetrahedral mesh generator. Constrained Delaunay tetrahedralization with quality control.\n- [wildmeshing/fTetWild](https://github.com/wildmeshing/fTetWild) `C++` - Fast and robust tetrahedral meshing. Handles self-intersections and degenerate input. Ten times faster than TetWild.\n\n\u003csup\u003e[back to top](#contents)\u003c/sup\u003e\n\n## Differentiable Simulation\n\n\u003e GPU-native frameworks for gradient-based optimization through physics.\n\n- [Autodesk/XLB](https://github.com/Autodesk/XLB) `Python` `JAX` - Differentiable Lattice Boltzmann for physics-ML. Scales to billions of cells on multi-GPU.\n- [google/brax](https://github.com/google/brax) `Python` `JAX` - Massively parallel rigidbody physics on accelerator hardware. Millions of steps/second on TPU.\n- [jax-md/jax-md](https://github.com/jax-md/jax-md) `Python` `JAX` - Differentiable, hardware-accelerated molecular dynamics. Runs on CPU/GPU/TPU via XLA.\n- [gbionics/jaxsim](https://github.com/gbionics/jaxsim) `Python` `JAX` - Differentiable multibody dynamics engine. Hardware-accelerated robot learning and control via JAX.\n- [google-deepmind/mujoco](https://github.com/google-deepmind/mujoco) `C++` `Python` - Multi-joint dynamics with contact. General-purpose physics engine for robotics, biomechanics, and control.\n- [NVIDIA/warp](https://github.com/NVIDIA/warp) `Python` `CUDA` - Differentiable simulation and spatial computing. Reverse-mode AD, PyTorch/JAX interop.\n- [taichi-dev/taichi](https://github.com/taichi-dev/taichi) `Python` `CUDA` - Productive GPU programming with automatic differentiation. DiffTaichi for differentiable physics.\n- [tumaer/JAXFLUIDS](https://github.com/tumaer/JAXFLUIDS) `Python` `JAX` - Fully-differentiable CFD solver for 3D compressible single-phase and two-phase flows.\n\n\u003csup\u003e[back to top](#contents)\u003c/sup\u003e\n\n## AI/ML for Simulation\n\n\u003e Neural operators, LLM agents, and foundation models for computational engineering.\n\n- [csml-rpi/Foam-Agent](https://github.com/csml-rpi/Foam-Agent) `Python` `API` - AI agent for automated CFD workflows. LLM-driven OpenFOAM simulation setup and execution.\n- [deepmodeling/deepmd-kit](https://github.com/deepmodeling/deepmd-kit) `Python` `C++` - Deep learning for molecular dynamics. Neural network potentials for large-scale atomistic simulations.\n- [dynamicslab/pykoopman](https://github.com/dynamicslab/pykoopman) `Python` - Data-driven Koopman operator approximation. Dynamical system analysis and prediction from time series.\n- [dynamicslab/pysindy](https://github.com/dynamicslab/pysindy) `Python` - Sparse Identification of Nonlinear Dynamics. Data-driven discovery of governing equations from measurements.\n- [google-deepmind/graphcast](https://github.com/google-deepmind/graphcast) `Python` - Graph neural network for medium-range weather forecasting. Ten-day forecasts in under a minute (Nature 2023).\n- [google/jax-cfd](https://github.com/google/jax-cfd) `Python` - JAX-based CFD. Differentiable Navier-Stokes solvers. GPU-accelerated, auto-differentiable.\n- [Koopman-Laboratory/KoopmanLab](https://github.com/Koopman-Laboratory/KoopmanLab) `Python` - Koopman Neural Operator for mesh-free nonlinear PDE solving. Multi-scale decomposition.\n- [lululxvi/deepxde](https://github.com/lululxvi/deepxde) `Python` - Deep learning library for PDEs. PINNs, DeepONet. Backends: TensorFlow, PyTorch, JAX, PaddlePaddle.\n- [microsoft/aurora](https://github.com/microsoft/aurora) `Python` - Foundation model for Earth system prediction. Atmosphere, ocean, air quality. Pre-trained on ERA5 and CMIP6.\n- [microsoft/ClimaX](https://github.com/microsoft/ClimaX) `Python` - Foundation model for weather and climate. Pre-trained on CMIP6, fine-tunable for downstream tasks.\n- [NeuralOperator/neuraloperator](https://github.com/NeuralOperator/neuraloperator) `Python` - Neural operators in PyTorch. FNO, SFNO, UNO for learning PDE solution operators.\n- [NVIDIA/physicsnemo](https://github.com/NVIDIA/physicsnemo) `Python` `CUDA` - Physics-ML framework (formerly Modulus). PINNs, neural operators, GNNs, diffusion models. Apache 2.0.\n- [Terry-cyx/MetaOpenFOAM](https://github.com/Terry-cyx/MetaOpenFOAM) `Python` `API` - LLM-based multi-agent framework for CFD. Automated simulation pipeline from natural language.\n- [tum-pbs/PhiFlow](https://github.com/tum-pbs/PhiFlow) `Python` - Differentiable PDE simulations. Fluid dynamics with TF/PyTorch/JAX. ML-physics hybrid workflows.\n\n\u003csup\u003e[back to top](#contents)\u003c/sup\u003e\n\n## Surrogate Models \u0026 PINNs\n\n\u003e Physics-informed neural networks and data-driven reduced-order models for fast PDE solving.\n\n- [lululxvi/deepxde](https://github.com/lululxvi/deepxde) `Python` - Physics-informed neural networks for PDEs. Multi-backend (TF, PyTorch, JAX). Inverse problems, fractional PDEs.\n- [mathLab/PINA](https://github.com/mathLab/PINA) `Python` - Physics-Informed Neural networks for Advanced modeling. PyTorch Lightning-based with multi-device training.\n- [mathLab/PyDMD](https://github.com/mathLab/PyDMD) `Python` - Dynamic Mode Decomposition. Data-driven reduced-order modeling for fluid dynamics and beyond.\n- [NeuroDiffGym/neurodiffeq](https://github.com/NeuroDiffGym/neurodiffeq) `Python` - Neural network solver for ODEs and PDEs. Flexible architecture with native boundary condition handling.\n- [NVIDIA/physicsnemo-sym](https://github.com/NVIDIA/physicsnemo-sym) `Python` - Symbolic AI for physics. Physics-informed neural networks with symbolic equation definition.\n- [rezaakb/pinns-torch](https://github.com/rezaakb/pinns-torch) `Python` `PyTorch` - Production-ready PINNs in PyTorch. Multi-physics support, inverse problems, uncertainty quantification.\n- [sciann/sciann](https://github.com/sciann/sciann) `Python` - Neural networks for scientific computing. Keras-based PINNs with custom loss and constraints.\n- [thuml/Neural-Solver-Library](https://github.com/thuml/Neural-Solver-Library) `Python` - Library for advanced neural PDE solvers. Benchmarking Transolver, FNO, and variants on diverse PDE families.\n\n\u003csup\u003e[back to top](#contents)\u003c/sup\u003e\n\n## Optimization\n\n\u003e Bayesian, topology, and multidisciplinary design optimization.\n\n- [meta-pytorch/botorch](https://github.com/meta-pytorch/botorch) `Python` `PyTorch` - Bayesian optimization in PyTorch. Sequential decision making, multi-objective optimization, batch acquisition.\n- [OpenMDAO/OpenMDAO](https://github.com/OpenMDAO/OpenMDAO) `Python` - Multidisciplinary design optimization. NASA-developed. Gradient-based + surrogate-assisted optimization.\n- [anyoptimization/pymoo](https://github.com/anyoptimization/pymoo) `Python` - Multi-objective optimization. NSGA-II/III, reference directions, constraint handling, parallelization.\n- [dl4to/dl4to](https://github.com/dl4to/dl4to) `Python` `PyTorch` - Deep learning for 3D topology optimization. Autograd + adjoint method for efficient neural optimization.\n- [williamhunter/topy](https://github.com/williamhunter/topy) `Python` - Topology optimization with Python. Minimum compliance, heat conduction, mechanism design.\n- [mdolab/OpenAeroStruct](https://github.com/mdolab/OpenAeroStruct) `Python` - Aerostructural optimization. VLM aerodynamics + beam FEM structures + ply-level composites.\n\n\u003csup\u003e[back to top](#contents)\u003c/sup\u003e\n\n## Data Formats \u0026 I/O\n\n\u003e Libraries for reading, writing, and converting simulation data across mesh and field formats.\n\n- [nschloe/meshio](https://github.com/nschloe/meshio) `Python` - I/O for mesh formats. Abaqus, CGNS, Gmsh, VTK, XDMF, Exodus, and 30+ more.\n- [h5py/h5py](https://github.com/h5py/h5py) `Python` - Pythonic interface to HDF5. Read/write large numerical datasets efficiently.\n- [Unidata/netcdf4-python](https://github.com/Unidata/netcdf4-python) `Python` - Python/NumPy interface to NetCDF. Climate, ocean, atmospheric simulation data.\n- [CGNS/CGNS](https://github.com/CGNS/CGNS) `C` `Fortran` - CFD General Notation System. Standard for CFD data storage and exchange. HDF5-based.\n- [pyvista/pyvista](https://github.com/pyvista/pyvista) `Python` - Read/write VTK formats (VTI, VTP, VTU, VTS, VTR), STL, OBJ, PLY, glTF, and more.\n\n\u003csup\u003e[back to top](#contents)\u003c/sup\u003e\n\n## Datasets \u0026 Benchmarks\n\n\u003e Standardized datasets and benchmarks for training and evaluating scientific ML models.\n\n- [divelab/AIRS](https://github.com/divelab/AIRS) `Python` - AI for science benchmarks. Molecular, protein, climate, physics datasets.\n- [Extrality/AirfRANS](https://github.com/Extrality/AirfRANS) `Python` - RANS simulation dataset for airfoils. 1000 simulations with Reynolds-averaged fields (NeurIPS 2022).\n- [Mohamedelrefaie/DrivAerNet](https://github.com/Mohamedelrefaie/DrivAerNet) `Python` - Large-scale automotive CFD dataset. 4000+ car designs with drag coefficients and surface fields.\n- [i207M/PINNacle](https://github.com/i207M/PINNacle) `Python` - Comprehensive PINN benchmark with 20 PDE problems across difficulty levels (NeurIPS 2024).\n- [NASA TMR](https://turbmodels.larc.nasa.gov/) - Turbulence Modeling Resource. Validation cases for CFD turbulence models with experimental data.\n- [pdebench/PDEBench](https://github.com/pdebench/PDEBench) `Python` - Benchmarks for scientific ML. Standardized PDE datasets with baseline models.\n- [PolymathicAI/the_well](https://github.com/PolymathicAI/the_well) `Python` - Large-scale collection of diverse physics simulations for ML. Fifteen-plus PDE systems (NeurIPS 2024).\n\n\u003csup\u003e[back to top](#contents)\u003c/sup\u003e\n\n## Learning Resources\n\n\u003e Tutorials, courses, and curated reference lists for computational engineering and AI for science.\n\n- [barbagroup/CFDPython](https://github.com/barbagroup/CFDPython) `Python` - Classic \"12 Steps to Navier-Stokes\" tutorial. Learn CFD fundamentals with Python step by step.\n- [ikespand/awesome-machine-learning-fluid-mechanics](https://github.com/ikespand/awesome-machine-learning-fluid-mechanics) - Curated list of ML applications in fluid mechanics. Papers, code, and tutorials.\n- [jxx123/simglucose](https://github.com/jxx123/simglucose) `Python` - Type 1 diabetes simulator. Example of AI-in-the-loop biomedical simulation.\n- [maziarraissi/PINNs](https://github.com/maziarraissi/PINNs) `Python` - The foundational PINN reference implementation. Data-driven PDE solutions and discovery (JCP 2019).\n- [thunil/Physics-Based-Deep-Learning](https://github.com/thunil/Physics-Based-Deep-Learning) - Comprehensive collection of physics-based deep learning resources. Papers, code links, and tutorials from TUM.\n- [WillDreamer/Awesome-AI4CFD](https://github.com/WillDreamer/Awesome-AI4CFD) - Survey of ML for CFD covering data-driven surrogates, PINNs, and ML-assisted numerical solvers.\n\n\u003csup\u003e[back to top](#contents)\u003c/sup\u003e\n\n## Star History\n\n\u003cdiv align=\"center\"\u003e\n\u003ca href=\"https://star-history.com/#kimimgo/awesome-ai-cae\u0026Date\"\u003e\n  \u003cpicture\u003e\n    \u003csource media=\"(prefers-color-scheme: dark)\" srcset=\"https://api.star-history.com/svg?repos=kimimgo/awesome-ai-cae\u0026type=Date\u0026theme=dark\"\u003e\n    \u003cimg src=\"https://api.star-history.com/svg?repos=kimimgo/awesome-ai-cae\u0026type=Date\" alt=\"Star History Chart\" width=\"600\"\u003e\n  \u003c/picture\u003e\n\u003c/a\u003e\n\u003c/div\u003e\n\n\u003csup\u003e[back to top](#contents)\u003c/sup\u003e\n\n\u003cimg src=\"media/divider.svg\" width=\"100%\" alt=\"\"\u003e\n\n## Contributing\n\nContributions welcome! Read the [contributing guidelines](CONTRIBUTING.md) first — adding a tool triggers an [automatic AI-Readiness score](.github/workflows/pr-readiness.yml) on your PR.\n\n[![CC0](https://licensebuttons.net/p/zero/1.0/88x31.png)](https://creativecommons.org/publicdomain/zero/1.0/)\n\nTo the extent possible under law, [kimimgo](https://github.com/kimimgo) has waived all copyright and related or neighboring rights to this work.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkimimgo%2Fawesome-ai-cae","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkimimgo%2Fawesome-ai-cae","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkimimgo%2Fawesome-ai-cae/lists"}