This work extends the mesh generation capability of NASA’s Cart3D flow simulation software package to permit cell-by-cell mesh enrichment. Cart3D allows users to perform automated Computational Fluid Dynamics (CFD) analysis on a complex geometry. It includes utilities for geometry import, surface modeling and intersection, mesh generation, flow simulation, and post-processing of results. Geometry enters into Cart3D in the form of surface triangulations that may be generated from within Computer-Aided Design (CAD) packages, from legacy surface triangulations, or from structured surface grids. Cart3D uses adaptively refined Cartesian grids to discretize the space surrounding geometry, and cuts the geometry out of the set of cut-cells that actually intersects the surface triangulation.
Mesh enrichment can be driven by error estimates, or by features detected within the solution. The adaptation module described in this work permits these error estimates either to be determined within the adaptation module or by other (external) codes. With this module, a user can begin a simulation by getting an approximate solution on a coarse initial mesh, and then incrementally improve the solution by locally refining the mesh at modest additional cost.
This technique permits local refinement (enrichment) of Cartesian meshes used for discretizing three-dimensional space. Such meshes are used in finite-difference, finite-volume, and finite-element techniques of solving partial differential equations, visualization, mapping, and computer animation. Local enrichment of such meshes permits increased local resolution at a cost/complexity increase proportional to the number of new cells added. Mesh refinement can be triggered by internally or externally determined solution features or error maps. The output of this technique/software is a Cartesian mesh with cut-cells at the boundary where the mesh domain overlaps the input geometry.
This technique properly accounts for the subdivision of cells that are divided into multiple disconnected regions by intervening geometry or boundaries (“split-cells”). The technique is exceptionally robust and amenable to automation. The technique is based on a binary (2:1) subdivision operator that can then be recursively called in multiple spatial directions. Cells tagged for subdivision are filtered to encourage mesh smoothness (island/void detection, interface cleanup, etc.).