这个页面通过一个圆形障碍物 demo,展示 SDF 在几何表达、内外分类、最近点搜索、法向计算、零等值面与窄带判定中的整体工作过程, 并给出它与 OpenFOAM 中 searchableSurface、signedDistance、wallDist、isoSurface、IBM/Level-Set 思路之间的对应关系。
先给出一个几何边界 Γ。这里用一个圆形障碍物代替一般三角面片或 CAD 几何。
对于任意采样点 x,找到边界 Γ 上的最近点 xΓ,并得到无符号距离 d(x, Γ)。
根据点位于 solid 还是 fluid 的哪一侧,确定符号 s(x)。
得到有符号距离场 φ(x)=s(x)d(x,Γ)。内部为负,外部为正,界面为零。
用 ∇φ/|∇φ| 计算法向,用 φ=0 得到界面,用 |φ|<ε 得到窄带。
可用于 immersed boundary、level set、界面重构、网格/壁面距离计算与拓扑优化等。