Geometry¶
In AeroSim, a geometry is a triangulated surface that defines the shape of a solid body in the simulation domain. It is the starting point for representing buildings, terrain features, or any other physical object that interacts with the flow.
Unlike FVM-based solvers, AeroSim does not use the geometry to generate a volume mesh. Instead, the surface is directly sampled into a set of Lagrangian points through the Immersed Boundary Method (IBM). This makes the geometry pipeline simpler - no volume meshing step, no topology repair requirements - but it places specific demands on the quality of the surface triangulation.
File Format¶
AeroSim uses the STL format as its standard geometry input. It represents a surface as a collection of triangles, where each triangle is defined by:
Three vertex positions
An outward surface normal
Triangle Refinement¶
When a geometry is loaded, AeroSim refines the surface triangles recursively until each triangle reaches a target area range. Each refinement step splits a triangle into four smaller triangles with the same angles, preserving the shape quality of the original.
Each triangle is split into four similar triangles at every refinement step, preserving angles.¶
The target triangle area is 0.5 lattice units\(^2\), with an accepted range of \((0.25, 1)\). This keeps IBM points spaced by approximately 1 lattice unit.
Important
Because refinement preserves triangle angles, the quality of the input triangulation carries directly through to the refined mesh. Poor input triangles produce poor refined triangles.
IBM Point Placement¶
AeroSim uses a center-based IBM approach: one Lagrangian point is placed at the centroid of each (refined) triangle. Each point carries the triangle’s area and outward normal, which are used to compute the IBM force exchange with the fluid.
Center-based (blue) vs. vertex-based (red) IBM node placement. AeroSim uses center-based.¶
The center-based approach is robust near geometry corners and avoids the pressure and velocity instabilities that can appear with vertex-based placement, specially when using wall models.