{
  "schema": "cad-agent-catalog-area/1",
  "origin": "https://cad-agent.valpatel.com",
  "revision": "f766bf2694e3e66e1ac84c901be1091bdb9863da",
  "fields": {
    "level": "domain, area or bucket",
    "domain": "areas: the domain it belongs to",
    "priority": "demo (a good demo)",
    "projects": "areas: keys of the projects in docs/areas.yaml (areas_source) that used it",
    "issues": "GitHub issues for work in this area",
    "topics": "areas: its topics, with scope, maturity and issues",
    "areas": "domains: its areas",
    "count": "entries here",
    "kinds": "count per kind",
    "items": "every entry placed here (a domain holds its areas' entries): the fields of catalog.json without summary and related"
  },
  "item_fields": "https://cad-agent.valpatel.com/catalog.json (fields)",
  "slug": "simulation",
  "title": "Simulation and validation",
  "scope": "Predicting how designs behave, and checking the predictions.",
  "maturity": "tooling",
  "level": "domain",
  "areas": [
    {
      "slug": "structural-fea",
      "title": "Structural FEA",
      "maturity": "tooling",
      "json": "https://cad-agent.valpatel.com/catalog/structural-fea.json"
    },
    {
      "slug": "cfd",
      "title": "CFD",
      "maturity": "tooling",
      "json": "https://cad-agent.valpatel.com/catalog/cfd.json"
    },
    {
      "slug": "motion-and-dynamics",
      "title": "Motion and dynamics",
      "maturity": "tooling",
      "json": "https://cad-agent.valpatel.com/catalog/motion-and-dynamics.json"
    },
    {
      "slug": "topology-optimisation",
      "title": "Topology optimisation",
      "maturity": "tooling",
      "json": "https://cad-agent.valpatel.com/catalog/topology-optimisation.json"
    },
    {
      "slug": "design-exploration",
      "title": "Design exploration",
      "maturity": "tooling",
      "json": "https://cad-agent.valpatel.com/catalog/design-exploration.json"
    },
    {
      "slug": "results-and-visuals",
      "title": "Results and visuals",
      "maturity": "tooling",
      "json": "https://cad-agent.valpatel.com/catalog/results-and-visuals.json"
    },
    {
      "slug": "physical-tests",
      "title": "Physical tests and coupons",
      "maturity": "idea",
      "json": "https://cad-agent.valpatel.com/catalog/physical-tests.json"
    }
  ],
  "count": 23,
  "kinds": {
    "demo": 3,
    "tool": 3,
    "project": 9,
    "library": 1,
    "benchmark": 1,
    "guide": 1,
    "lesson": 3,
    "research": 2
  },
  "page": "https://cad-agent.valpatel.com/catalog?area=simulation",
  "index": "https://cad-agent.valpatel.com/catalog/index.json",
  "items": [
    {
      "type": "demo",
      "status": "ours",
      "name": "FEA of a ribbed lid",
      "url": "https://cad-agent.valpatel.com/docs/toolkit#stiffness-and-strength-cadagentsimulationfea",
      "license": "MIT",
      "markdown": "https://cad-agent.valpatel.com/docs/toolkit.md",
      "id": "demo-fea-lid",
      "kind": "demo",
      "areas": [
        "structural-fea"
      ],
      "maturity": "tooling",
      "what": "A 300 N press on an enclosure lid, coloured by stress as a fraction of the material's strength.",
      "notes": null,
      "cover": "https://cad-agent.valpatel.com/docs/img/fea.jpg",
      "demo": "https://cad-agent.valpatel.com/docs/toolkit#stiffness-and-strength-cadagentsimulationfea",
      "licence_family": "permissive",
      "updated": "2026-11-01",
      "mode": "render"
    },
    {
      "type": "demo",
      "status": "ours",
      "name": "Topology-optimised floor",
      "url": "https://cad-agent.valpatel.com/docs/toolkit#topology-optimisation-cadagentsimulationtopopt",
      "license": "MIT",
      "markdown": "https://cad-agent.valpatel.com/docs/toolkit.md",
      "id": "demo-topology-floor",
      "kind": "demo",
      "areas": [
        "topology-optimisation"
      ],
      "maturity": "tooling",
      "what": "Topology optimisation of an enclosure floor keeps only the material that carries load.",
      "notes": null,
      "cover": "https://cad-agent.valpatel.com/docs/img/topology.jpg",
      "demo": "https://cad-agent.valpatel.com/docs/toolkit#topology-optimisation-cadagentsimulationtopopt",
      "licence_family": "permissive",
      "updated": "2026-11-01",
      "mode": "render"
    },
    {
      "type": "demo",
      "status": "ours",
      "name": "Design search front",
      "url": "https://cad-agent.valpatel.com/docs/explore#search",
      "license": "MIT",
      "markdown": "https://cad-agent.valpatel.com/docs/explore.md",
      "id": "demo-search-front",
      "kind": "demo",
      "areas": [
        "design-exploration"
      ],
      "maturity": "tooling",
      "what": "Seeded trials arrive one by one and the cost and mass front is redrawn as they join it.",
      "notes": null,
      "cover": "https://cad-agent.valpatel.com/catalog/covers/still/motion-search-front.svg",
      "demo": "https://cad-agent.valpatel.com/docs/explore#search",
      "licence_family": "permissive",
      "updated": "2026-11-01",
      "mode": "animated",
      "cover_animated": "https://cad-agent.valpatel.com/docs/img/motion/search-front.svg"
    },
    {
      "type": "tool",
      "status": "ours",
      "name": "cad-agent optimise",
      "url": "https://cad-agent.valpatel.com/docs/toolkit",
      "how": "cad-agent optimise --help",
      "license": "MIT",
      "markdown": "https://cad-agent.valpatel.com/docs/explore.md",
      "doc": "https://cad-agent.valpatel.com/docs/explore",
      "id": "tool-optimise",
      "kind": "tool",
      "areas": [
        "design-exploration"
      ],
      "maturity": "tooling",
      "what": "Search slots and parameters for the best trade-offs (cad: explore: search:)",
      "notes": null,
      "cover": "https://cad-agent.valpatel.com/catalog/covers/still/motion-search-front-at-90.svg",
      "demo": "https://cad-agent.valpatel.com/docs/explore#search",
      "licence_family": "permissive",
      "updated": "2026-11-01",
      "cover_animated": "https://cad-agent.valpatel.com/docs/img/motion/search-front.svg"
    },
    {
      "type": "tool",
      "status": "ours",
      "name": "cad-agent compare",
      "url": "https://cad-agent.valpatel.com/docs/toolkit",
      "how": "cad-agent compare --help",
      "license": "MIT",
      "markdown": "https://cad-agent.valpatel.com/docs/explore.md",
      "doc": "https://cad-agent.valpatel.com/docs/explore",
      "id": "tool-compare",
      "kind": "tool",
      "areas": [
        "design-exploration"
      ],
      "maturity": "tooling",
      "what": "Evaluate the designs and rank them: comparison JSON, HTML page, site design cards",
      "notes": null,
      "cover": "https://cad-agent.valpatel.com/catalog/covers/tool-compare.svg",
      "demo": null,
      "licence_family": "permissive",
      "updated": "2026-11-01"
    },
    {
      "type": "tool",
      "status": "ours",
      "name": "cad-agent catalogue",
      "url": "https://cad-agent.valpatel.com/docs/toolkit",
      "how": "cad-agent catalogue --help",
      "license": "MIT",
      "markdown": "https://cad-agent.valpatel.com/docs/explore.md",
      "doc": "https://cad-agent.valpatel.com/docs/explore",
      "id": "tool-catalogue",
      "kind": "tool",
      "areas": [
        "design-exploration"
      ],
      "maturity": "tooling",
      "what": "Check the part catalogue and the designs against it (cad: explore:, docs/explore.md)",
      "notes": null,
      "cover": "https://cad-agent.valpatel.com/catalog/covers/tool-catalogue.svg",
      "demo": null,
      "licence_family": "permissive",
      "updated": "2026-11-01"
    },
    {
      "type": "upstream",
      "status": "candidate",
      "name": "ahujasid/mcp-for-blender",
      "url": "https://github.com/ahujasid/mcp-for-blender",
      "policy": "may incorporate with attribution",
      "license": "MIT",
      "stars": 32261,
      "last_push": "2026-10-24",
      "id": "project-ahujasid-mcp-for-blender",
      "kind": "project",
      "areas": [
        "results-and-visuals"
      ],
      "maturity": "tooling",
      "what": "MCP server and Blender add-on that let an AI build, texture and render scenes and run Blender Python",
      "notes": "execute_blender_code; telemetry with disable tool",
      "cover": "https://cad-agent.valpatel.com/catalog/covers/project-ahujasid-mcp-for-blender.svg",
      "demo": null,
      "licence_family": "permissive",
      "updated": "2026-10-24"
    },
    {
      "type": "upstream",
      "status": "candidate",
      "name": "neka-nat/freecad-mcp",
      "url": "https://github.com/neka-nat/freecad-mcp",
      "policy": "may incorporate with attribution",
      "license": "MIT",
      "stars": 3040,
      "last_push": "2026-10-25",
      "id": "project-neka-nat-freecad-mcp",
      "kind": "project",
      "areas": [
        "cad-modelling",
        "structural-fea"
      ],
      "maturity": "tooling",
      "what": "FreeCAD add-on and MCP server: an agent creates and edits models, runs Python and runs FEM analyses",
      "notes": "executes code inside FreeCAD",
      "cover": "https://cad-agent.valpatel.com/catalog/covers/project-neka-nat-freecad-mcp.svg",
      "demo": null,
      "licence_family": "permissive",
      "updated": "2026-10-25"
    },
    {
      "type": "upstream",
      "status": "adopted",
      "name": "OpenFOAM (OpenCFD v2512)",
      "url": "https://develop.openfoam.com/Development/openfoam",
      "policy": "external program only (GPL-3.0); run in the opencfd/openfoam-default Docker image; cad-agent writes conjugate heat-transfer cases for it from CAD",
      "license": "GPL-3.0",
      "last_push": "2026-01-23",
      "id": "project-openfoam-opencfd-v2512",
      "kind": "project",
      "areas": [
        "cfd",
        "airflow-and-fans"
      ],
      "maturity": "tooling",
      "what": "Open-source CFD toolbox: solvers for fluid flow and heat transfer, with meshing and post-processing",
      "notes": null,
      "cover": "https://cad-agent.valpatel.com/catalog/covers/project-openfoam-opencfd-v2512.svg",
      "demo": null,
      "licence_family": "copyleft",
      "updated": "2026-01-23"
    },
    {
      "type": "upstream",
      "status": "adopted",
      "name": "aatmdelissen/pyMOTO",
      "url": "https://github.com/aatmdelissen/pyMOTO",
      "policy": "may incorporate with attribution (imported as a dependency); cad-agent topopt runs SIMP with MMA on it",
      "license": "MIT",
      "last_push": "2026-05-01",
      "id": "project-aatmdelissen-pymoto",
      "kind": "project",
      "areas": [
        "topology-optimisation"
      ],
      "maturity": "tooling",
      "what": "Modular Python framework for topology optimisation, with semi-automatic sensitivities and an MMA optimiser",
      "notes": null,
      "cover": "https://cad-agent.valpatel.com/catalog/covers/project-aatmdelissen-pymoto.svg",
      "demo": null,
      "licence_family": "permissive",
      "updated": "2026-05-01"
    },
    {
      "type": "upstream",
      "status": "adopted",
      "name": "pyvista/pyvista",
      "url": "https://github.com/pyvista/pyvista",
      "policy": "may incorporate with attribution (imported as a dependency); cad-agent renders stress and flow pictures and animations with it",
      "license": "MIT",
      "id": "project-pyvista-pyvista",
      "kind": "project",
      "areas": [
        "results-and-visuals"
      ],
      "maturity": "tooling",
      "what": "3D plotting and mesh analysis through a streamlined interface to VTK",
      "notes": null,
      "cover": "https://cad-agent.valpatel.com/catalog/covers/project-pyvista-pyvista.svg",
      "demo": null,
      "licence_family": "permissive",
      "updated": null
    },
    {
      "type": "upstream",
      "status": "adopted",
      "name": "optuna/optuna",
      "url": "https://github.com/optuna/optuna",
      "policy": "optional dependency (the explore extra, optuna>=3.4); runs the NSGA-II and TPE samplers of cad-agent optimise",
      "license": "MIT",
      "id": "project-optuna-optuna",
      "kind": "project",
      "areas": [
        "design-exploration"
      ],
      "maturity": "tooling",
      "what": "Hyperparameter optimisation framework with define-by-run search spaces and samplers such as TPE and NSGA-II",
      "notes": null,
      "cover": "https://cad-agent.valpatel.com/catalog/covers/project-optuna-optuna.svg",
      "demo": null,
      "licence_family": "permissive",
      "updated": null
    },
    {
      "type": "upstream",
      "status": "candidate",
      "name": "V0v1kkk/freecad-engineering",
      "url": "https://github.com/V0v1kkk/freecad-engineering",
      "policy": "may incorporate with attribution; ideas for the FDM structural review (#94)",
      "license": "MIT",
      "stars": 3,
      "last_push": "2026-08-12",
      "id": "project-v0v1kkk-freecad-engineering",
      "kind": "project",
      "areas": [
        "structural-fea",
        "3d-printing"
      ],
      "maturity": "tooling",
      "what": "Agent skills and MCP setup for editable FreeCAD models, FDM structural reviews and FEM checks",
      "notes": "skills: fdm-structural-review, mechanical-strength-review, freecad-fem-check",
      "cover": "https://cad-agent.valpatel.com/catalog/covers/project-v0v1kkk-freecad-engineering.svg",
      "demo": null,
      "licence_family": "permissive",
      "updated": "2026-08-12"
    },
    {
      "type": "upstream",
      "status": "candidate",
      "name": "novasolver/novasolver-studio",
      "url": "https://github.com/novasolver/novasolver-studio",
      "policy": "external program only (GPL-3.0); copy the ran/converged/verified gate idea, not code",
      "license": "GPL-3.0",
      "stars": 1,
      "last_push": "2026-10-31",
      "id": "project-novasolver-novasolver-studio",
      "kind": "project",
      "areas": [
        "structural-fea",
        "cfd"
      ],
      "maturity": "tooling",
      "what": "Local FEM, heat and CFD app (CalculiX, OpenFOAM) with an MCP server and checks on every result",
      "notes": "local CAE with MCP: CalculiX, OpenFOAM; result gates incl. GCI mesh convergence",
      "cover": "https://cad-agent.valpatel.com/catalog/covers/project-novasolver-novasolver-studio.svg",
      "demo": null,
      "licence_family": "copyleft",
      "updated": "2026-10-31"
    },
    {
      "type": "upstream",
      "status": "rejected",
      "name": "WifiLast/freecad-mcp",
      "url": "https://github.com/WifiLast/freecad-mcp",
      "policy": "ideas only (no licence); binds 0.0.0.0 by default",
      "license": "none",
      "stars": 0,
      "last_push": "2026-10-18",
      "id": "project-wifilast-freecad-mcp",
      "kind": "project",
      "areas": [
        "structural-fea",
        "topology-optimisation"
      ],
      "maturity": "tooling",
      "what": "FreeCAD MCP server for static FEM with CalculiX, SIMP topology optimisation and dimension optimisation",
      "notes": "FreeCAD FEM + topology optimisation over MCP",
      "cover": "https://cad-agent.valpatel.com/catalog/covers/project-wifilast-freecad-mcp.svg",
      "demo": null,
      "licence_family": "other",
      "updated": "2026-10-18"
    },
    {
      "type": "library",
      "status": "candidate",
      "name": "CalculiX 2.23 (conda-forge)",
      "url": "https://www.calculix.de/",
      "license": "GPL-2.0-or-later",
      "id": "library-calculix-2-23-conda-forge",
      "kind": "library",
      "areas": [
        "structural-fea"
      ],
      "maturity": "tooling",
      "what": "Free 3D finite-element program for linear and non-linear static, dynamic and thermal analysis",
      "notes": "planned external solver for large-deflection snap force-travel with contact; apt ships 2.21",
      "cover": "https://cad-agent.valpatel.com/catalog/covers/library-calculix-2-23-conda-forge.svg",
      "demo": null,
      "licence_family": "copyleft",
      "updated": null
    },
    {
      "type": "benchmark",
      "status": "reference",
      "name": "FEABench",
      "url": "https://github.com/google/feabench",
      "license": "Apache-2.0",
      "id": "benchmark-feabench",
      "kind": "benchmark",
      "areas": [
        "evaluation",
        "structural-fea"
      ],
      "maturity": "tooling",
      "what": "Benchmark of FEA problems that LLM agents solve by driving COMSOL Multiphysics through its API",
      "notes": "LLM agents on FEA problems; needs a COMSOL licence; prior art only; the repo is archived",
      "cover": "https://cad-agent.valpatel.com/catalog/covers/benchmark-feabench.svg",
      "demo": null,
      "licence_family": "permissive",
      "updated": null
    },
    {
      "type": "doc",
      "status": "ours",
      "name": "Explore and compare designs (cadagent.simulation.explore)",
      "url": "https://cad-agent.valpatel.com/docs/explore",
      "license": "MIT",
      "markdown": "https://cad-agent.valpatel.com/docs/explore.md",
      "source": "https://github.com/Valpatel/cad-agent/blob/dev/docs/explore.md",
      "id": "guide-explore",
      "kind": "guide",
      "areas": [
        "design-exploration"
      ],
      "maturity": "tooling",
      "what": "For any product built from bought and made parts (an enclosure, a robot, a board, a jig): pick parts from a catalogue for each slot of a design, evaluate every design with the project's own model,…",
      "notes": null,
      "cover": "https://cad-agent.valpatel.com/catalog/covers/guide-explore.svg",
      "demo": "https://cad-agent.valpatel.com/docs/explore#search",
      "licence_family": "permissive",
      "updated": "2026-11-01"
    },
    {
      "type": "lesson",
      "status": "ours",
      "name": "Meshes: a peak is only as good as the mesh under it",
      "url": "https://cad-agent.valpatel.com/lessons/simulation/meshes",
      "license": "MIT",
      "markdown": "https://cad-agent.valpatel.com/lessons/simulation/meshes.md",
      "source": "https://github.com/Valpatel/cad-agent/blob/dev/lessons/simulation/meshes.md",
      "id": "lesson-simulation-meshes",
      "kind": "lesson",
      "areas": [
        "simulation"
      ],
      "maturity": "tooling",
      "what": "These lessons come from Gyropup's hip frame and front link (Valpatel/gyropup#29), studied in October 2026 with cadagent.simulation.fea.",
      "notes": null,
      "cover": "https://cad-agent.valpatel.com/docs/img/fea/corner-convergence.svg",
      "demo": null,
      "licence_family": "permissive",
      "updated": "2026-11-01"
    },
    {
      "type": "lesson",
      "status": "ours",
      "name": "Lessons — simulation",
      "url": "https://cad-agent.valpatel.com/lessons/simulation/README",
      "license": "MIT",
      "markdown": "https://cad-agent.valpatel.com/lessons/simulation/README.md",
      "source": "https://github.com/Valpatel/cad-agent/blob/dev/lessons/simulation/README.md",
      "id": "lesson-simulation-index",
      "kind": "lesson",
      "areas": [
        "simulation"
      ],
      "maturity": "tooling",
      "what": "Bought parts, material, load and thermal checks, the meshes under them, and the compute they share.",
      "notes": null,
      "cover": "https://cad-agent.valpatel.com/catalog/covers/lesson-simulation-index.svg",
      "demo": null,
      "licence_family": "permissive",
      "updated": "2026-11-01"
    },
    {
      "type": "lesson",
      "status": "ours",
      "name": "Simulation, material and airflow",
      "url": "https://cad-agent.valpatel.com/lessons/simulation/simulation-and-material",
      "license": "MIT",
      "markdown": "https://cad-agent.valpatel.com/lessons/simulation/simulation-and-material.md",
      "source": "https://github.com/Valpatel/cad-agent/blob/dev/lessons/simulation/simulation-and-material.md",
      "id": "lesson-simulation-simulation-and-material",
      "kind": "lesson",
      "areas": [
        "simulation"
      ],
      "maturity": "tooling",
      "what": "Identify the exact bought part before sizing anything around it; Judge material savings on slicer grams, not CAD volume; A thinner shell must be re-checked under load, and the check must catch it;…",
      "notes": null,
      "cover": "https://cad-agent.valpatel.com/catalog/covers/lesson-simulation-simulation-and-material.svg",
      "demo": null,
      "licence_family": "permissive",
      "updated": "2026-10-31"
    },
    {
      "type": "research",
      "status": "ours",
      "name": "FOSS large-deflection + contact FEA, orientation, sheet metal and DFM checklists (2026-10-31)",
      "url": "https://cad-agent.valpatel.com/research/fea-and-process-tools",
      "license": "MIT",
      "markdown": "https://cad-agent.valpatel.com/research/fea-and-process-tools.md",
      "source": "https://github.com/Valpatel/cad-agent/blob/dev/research/fea-and-process-tools.md",
      "id": "research-fea-and-process-tools",
      "kind": "research",
      "areas": [
        "sheet-metal",
        "structural-fea"
      ],
      "maturity": "tooling",
      "what": "For Valpatel/cad-agent #96 (items 3–5), #94 (FEA step), #97 (pitfall catalogue), #99 (process profiles).",
      "notes": null,
      "cover": "https://cad-agent.valpatel.com/catalog/covers/research-fea-and-process-tools.svg",
      "demo": null,
      "licence_family": "permissive",
      "updated": "2026-11-01"
    },
    {
      "type": "research",
      "status": "ours",
      "name": "FOSS simulation and optimisation survey for cad-agent (J501 / AGX Orin enclosure)",
      "url": "https://cad-agent.valpatel.com/research/simulation-tools",
      "license": "MIT",
      "markdown": "https://cad-agent.valpatel.com/research/simulation-tools.md",
      "source": "https://github.com/Valpatel/cad-agent/blob/dev/research/simulation-tools.md",
      "id": "research-simulation-tools",
      "kind": "research",
      "areas": [
        "simulation"
      ],
      "maturity": "tooling",
      "what": "Survey date: 2026-10-26. Licences were checked against each repo's LICENSE/COPYING file (GitHub API or GitLab API) unless marked otherwise. \"Last commit\" means the newest commit on the default branch…",
      "notes": null,
      "cover": "https://cad-agent.valpatel.com/catalog/covers/research-simulation-tools.svg",
      "demo": null,
      "licence_family": "permissive",
      "updated": "2026-11-01"
    }
  ]
}
