GeometryAI Surface Mesher

Contents

GeometryAI Surface Mesher#

GeometryAI Surface Mesher (GAI) combines a geometry processing engine with a surface mesher. It produces mathematically watertight and manifold surface meshes by design, working directly from imperfect or non-watertight CAD without manual geometry repair.

../../../_images/gai_sm_example.png

Example of a mesh generated using the GeometryAI Surface Mesher.#

Main characteristics:

  • produces mathematically watertight and manifold surface meshes by design,

  • robustly handles non-watertight geometries and patches holes automatically,

  • handles intersecting solid bodies well,

  • supports basic spatial transformations and boolean operations on solids (to use these features, define the solids in separate CAD files),

  • can combine geometries from different sources, including CAD (B-rep) files and discrete surface meshes (STL), into a single watertight surface,

  • offers the option to set up an analytical wind tunnel farfield, so a farfield body does not need to be present in the input CAD,

  • can build a half-model from a full-body geometry, or a full-body mesh from a half-body geometry, about the symmetry plane, for more efficient straight-line simulations,

  • always produces a valid mesh, which makes it well suited to automated, agentic meshing workflows: a first attempt can be generated automatically and then refined only where it matters.

Unlike a standard wrapper, GeometryAI produces a watertight, manifold surface with no intersections or non-manifold elements, directly from the raw CAD input (for a side-by-side illustration, see Comparison with a standard wrapper).

How it works

The geometry-processing engine and every meshing parameter it exposes.

How GeometryAI works
Best practices

Recommended settings, and how to define the fluid domain for external-aerodynamics, internal-flow, wind-tunnel, and porous-media cases.

Best practices

Examples#

Examples of meshing using GeometryAI can be found in the Python API Example Library. Specifically look at: