表面张力主导界面的模拟

计算科学 流体动力学 模拟 微流体
2021-12-10 10:12:20

我想模拟一个小油箱在微重力下的自由表面的形状,这个油箱正在非常缓慢地被清空。

  • 水箱不是对称的,几何形状由 CAD 给出(例如步骤文件)。
  • 表面张力和接触角的建模是必须的。罐的不同壁区域之间的接触角也会有所不同。
  • 我不一定需要动态行为。我(现在)不需要流场解决方案
  • 以后添加热模拟的可能性将是一个加号。
  • 使用 Python 的接口可能性是理想的,但由 CLI 或接口文件驱动就足够了(用于以后的优化研究)
  • 开源(但维护)或免费代码将是理想的
  • 我不是数值算法的人,所以如果我不必自己实现求解器就好了:D

相关方程是Young-Laplace 方程

Δp=ρghγ(1R1+1R2),

在哪里Δp是跨界面的压力跳跃,ρgh是静水压力(在零重力下可以忽略),γ是表面张力,并且R1,R2是给定点界面的主曲率半径;杨方程

γSG =γSL+γLGcosθ,

它在接触线上将固体、液体和气体三相之间的表面张力与平衡接触角联系起来θ在固体表面和液-气界面之间。

到目前为止我调查的内容:

  • Surface Evolver /SE-Fit:乍一看很理想,但后来我们意识到大多数示例都具有原始实体/域是有原因的 - 据一位同事说,使用导入的几何体非常麻烦。此外,他在凸边、不稳定性、崩溃方面遇到了相当多的问题,而且通常对于非原始几何图形工作似乎很痛苦。
  • Basilisk:看起来很不错,有一个自适应网格器,解决了流场(我不需要),但是虽然它考虑了表面张力,很好地保留了相体积,并且显然没有很好的界面分辨率接触角边界条件的实现!此外,尚不清楚它是否可以很好地与 impoerte 几何一起工作,大多数示例都是盒子或其他原始几何。
  • 它的前身Gerris可能是候选者,因为它至少可以规定轴对称情况下的接触角。不幸的是,它似乎不再开发了。
  • Fenics看起来非常好,在 Python 中也是如此,但文档和变分公式方法似乎令人生畏。此外,我找不到表面张力界面形状问题的工作示例,如固着滴等,而且似乎没有人在该领域工作
  • 我还发现了这个名为HyDro的不起眼的东西,它看起来非常简单和漂亮,但仅适用于平面基板。

我是否缺少任何其他程序或优秀的竞争者来做我需要的事情?

1个回答

回答这些问题已经很晚了,但它可能会帮助那些想做类似事情的人。

就这个问题而言,我觉得 Surface Evolver 是最好的选择。

(1) 非常灵活,您可以根据需要编写任何代码。

(2) 导入外部几何体几乎是不可能的,但是如果您可以为曲面编写函数形式,则在 Evolver 本身中创建几何体非常容易。

(3) 弯曲的边缘确实存在问题,但您可以使用“凸”约束来避免这种情况。这种方法的缺点是您无法再获得 Hessian,但您仍然可以最小化能量并获得平衡形状。

(4) 施加接触角非常准确,可以模拟非常复杂的界面形状。

对于 Basilisk,接触角应用不如 Surface Evolver 中的应用好(您不能使用非常低或非常高的角度)。如果您不关心速度曲线,我认为 Surface Evolver 更好。但如果你想要动态,我会建议 Basilisk。