Solid Mesh¶
The solid mesh is the collection of points on the object’s surface \(X_{\alpha}\). These Lagrangian points are where the combine and spread operations attach the body to the fluid, so their layout directly controls how faithfully the no-slip wall is enforced. Each point carries two core data: the surface area \(\Delta S\) of the patch of wall it represents (used by the spread, see below) and the outward unit normal \(\mathbf{n}\) of the surface at that point. The points are normally placed at the centroids of the triangles of an input STL surface, but they may also be supplied directly as a point cloud (a CSV list of positions), in which case the per-point area and normal are taken from the cloud rather than from a triangulation.
Matching the point spacing to dx¶
It is recommended that its resolution coincide with the fluid grid refinement (\(n\)). The reason follows from the diffuse-interface transfer. Each Lagrangian point spreads its force over a band roughly one grid cell wide, set by the support of the regularized delta. If the points are spaced much wider than the fluid spacing \(\Delta x\), their bands do not overlap and the wall becomes leaky, gaps appear between the points where the no-slip condition is barely felt and fluid can seep through. If the points are spaced much tighter than \(\Delta x\), several points compete to correct the same handful of fluid nodes, which over-counts the forcing and can drive the iterative loop unstable without adding any resolution the grid can represent. Spacing the points at about \(\Delta x\) is the sweet spot: the bands just overlap to seal the surface, and each point governs its own neighbourhood of fluid nodes.
Important
Match the Lagrangian point spacing to the local \(\Delta x\). Too sparse and the wall leaks between unsealed bands; too dense and overlapping points over-force the same nodes and destabilise the iterative loop without buying any resolution the grid can hold.
Why uniformity matters¶
Ideally, the solid points should be uniformly distributed. However, this is difficult to assure in practice, so, a low degree of non-uniformity is acceptable. Uniformity matters because the force a point spreads is weighted by the surface area it carries; clusters of points concentrate forcing on a small patch while sparse regions under-resolve the wall, and both distort the local momentum balance. A mesh whose points are evenly spaced, even at a coarser resolution, therefore enforces the boundary more consistently than a denser but uneven one. The figure below illustrates two different meshes of the same geometry. Despite left mesh having a higher resolution, the right one is more suitable for an IBM simulation, because the points are more evenly spaced.
Element area of a solid node¶
Each Lagrangian point needs an area weight \(\Delta S\), the patch of surface it stands for, which the spread operation (8) uses to turn the point’s force density into the force handed to the fluid. The simplest choice, dividing the total surface area equally among all points, is only correct when the points are perfectly uniform; on a real triangulation it over-weights points in sparse regions and under-weights them in dense ones. Nassu instead derives \(\Delta S\) from the geometry itself: the Lagrangian points are placed at triangle centroids of the input surface, and each point inherits the area of the triangle it represents. The precise per-element area is computed by the meshing routine that triangulates the body, so the area weight tracks the local surface resolution rather than an averaged estimate. This keeps the spread momentum balance correct even when the triangulation is uneven.
Area weighting of Lagrangian nodes. Each node sits at a triangle centroid and carries an element area \(\Delta S\). Splitting the total area uniformly as \(A/N\) (left) misweights an uneven mesh; assigning each node its own triangle area (right) keeps the spread-force momentum balance correct on coarse or non-uniform surfaces.¶