陈宝权课题组SIGGRAPH 2020入选论文解读:一种用于磁性物质模拟的水平集方法

  声明

  本文首发于知乎专栏“静园物理计算研究室”,经作者授权标注“原创”发表于此。转载需标注首发出处。

  知乎原文:https://zhuanlan.zhihu.com/p/140551515

  

 

01 引言

 

  在物理模拟,尤其是流体模拟当中,我们时常需要将力区分为两类:体积力和表面力。前者往往决定了物体运动的总体趋势,而后者却会影响物体表面的结构与特征。一般而言,像重力、粘性力这样的相互作用是体积性的,而像毛细力这样的相互作用是表面性的,我们在进行物体运动的数值模拟时,总是按力的性质决定它施加的方案。然而,并不是每一种力的归属都那么容易辨明,本文所探究的主角电磁相互作用便是其中的一例。

 

  尽管离著名的描述电磁场变化的麦克斯韦方程组的发表已过去一百五十余年,但电磁力在介质中究竟是体积性的还是表面性的,这个问题至今依然存在争议[1]。科学家根据各自对电磁场能动量的理解分为了几派,每一派都有不同的麦克斯韦应力张量的形式,由此又导出了不同的电磁力的计算式。就以磁力为例,从爱因斯坦—劳布形式导出的被称为开尔文力:

 

 

而从闵可夫斯基形式导出的被称为亥姆霍兹力[2]:

 

 

这里,μ0 是真空磁导率,H 是磁场强度, χ 是磁化率。在线性且各向同性的假设下,每一种物质的磁化率是均一的,因此经过梯度算子的作用,亥姆霍兹力应当只作用在物体的表面;相反地,开尔文力却明显不具有这样的性质。在图形学中,现有文献的磁体运动模拟都采用了开尔文力的模型,这使得磁力必须被看成是体积性的,须应用拉格朗日法,用大量的粒子来模拟磁性物质的运动。这种方案的磁场求解精度不高、在求解远距离作用和多物质的耦合问题上存在一定的劣势。我们的工作据此出发,基于欧拉网格、使用水平集(level-set)方法追踪表面,利用亥姆霍兹力的模型开发出了一套易集成、易泛用的磁现象仿真模拟框架。

 

02 分析和求解

 

从理论上看,我们将磁场与物质间的相互作用分为以下四个阶段:

   1. 磁化(magnetization):外磁场极化磁体中的原子,使磁体具有磁性。

  2. 激发(induction):具有磁性的磁体类似于磁铁,在空间中激发出新的磁场,即内磁场。

  3. 作用(exertion):磁场(外磁场和内磁场的总和)在物质表面产生作用力。

  4. 变形(reshaping):在力的作用下,物质发生位置的改变与形状的变化。

 

磁场与物质间相互作用的四个阶段

 

  我们从麦克斯韦方程组出发,对以上四个阶段分别进行了严格的公式推导和建模。事实上,在真实物理系统中,这四个阶段总是同时发生的;为了进行数值模拟,我们需对时间连续的系统做离散化求解,将它们看成在每个时间步中依次进行并循环往复,这样的思想被称为算符分离(operator splitting)。

 

  在磁化与激发过程中,我们将磁场 H 拆解为外磁场 Hext 与内磁场 Hint 之和,其中外磁场已知而内磁场未知,二者之间成立以下方程组:

 

 

  记 ,上述方程组可化简为:

 

 

这是一个变系数泊松方程,我们的任务是从中解出 ψ,继而计算出系统的总磁场 H

 

  由于磁化率在物体表面存在跳变,因此解出的磁场亦在界面处不连续,使得该处的磁场值是未定义的,需补充界面处的磁场定义为:

 

 

其中 μ1=(1+k)μ0,μ20,H1 H2 分别取界面内侧和外侧的磁场值。如此可得后两个阶段所需的亥姆霍兹力的精确形式:

 

 

此处指代界面上指向磁体外的单位法向量, 是定义在界面上的狄拉克函数。以上式中的常数 k 均表示磁体的磁化率。从该形式中不难看出,亥姆霍兹力只在界面上出现并始终垂直于表面。

 

  最后,我们将亥姆霍兹力通过压强差的方式添加到现有的物理模拟管线中,例如离散了纳维—斯托克斯方程的欧拉流体模拟器,或离散了软体动力学方程的有限元系统等。

  
就数值算法而言,我们的模拟框架具有以下特色:

  *用弱耦合的方式处理了磁场与物质间的相互作用,二者在同样的背景网格上模拟,流程架构清晰,易于集成到现有物理模拟引擎中。

  *在规则欧拉网格上离散麦克斯韦方程组,所得磁场精确[3],适合处理长程作用。

  *使用多重网格(multi-grid)的线性系统解算器,磁场求解效率高[4]。

  *采用水平集(level-set)方法跟踪表面,相比于纯粒子重建方法更加平滑。

  *借助浸润边界法(immersed boundary method)解决了物体表面磁场跳变的困难,但将磁力作为压强差出现以提升表面的细节度。

  *(对于磁流体)采用隐式表面张力的数值方案,提升了稳定性。

  

03 实验结果

 

  我们对各种不同的物理系统测试了模拟效果:

 

磁流体模拟效果(部分)

左上是在匀强磁场作用下正在被塑形的流体;下方是磁流体受磁铁吸引的过程;右上是失重条件下的磁流体液滴,受不同方向的磁化而相互吸引。

  

铁块被磁铁吸引的过程

上一排忽略了内磁场的解算(相当于令磁场直接等于磁铁磁场),下一排解算了内磁场。从中可以看出不解算内磁场会造成模拟动画的失实。

 

软磁体制成的花在磁铁的作用下绽放

右上角绘出了冯·米塞斯应变分布。

 

不同磁化率的两相流在放射状磁场的作用下扩散

图示均为0.4秒后的模拟结果。黄色是磁流体,黑色为普通流体,k是磁流体的磁化率。

 

更多细节与模拟结果可参见视频:

 

参考

[1] 即亚伯拉罕—闵可夫斯基争议。

[2] 此处均做材料为线性磁化且各向同性的假设。

[3] 随着分辨率的增加解得(内)磁场的相对误差变化呈指数衰减。

[4] 随着迭代次数的增加多重网格解算器的相对残差变化呈指数衰减。

  

 

  SIGGRAPH (Special Interest Group on Computer GRAPHics and Interactive Techniques) 是计算机领域规模最大的顶级会议、CCF A类会议,参加人数达2万余人,每年收录百余篇图形学相关的优秀论文,是计算机图形领域集技术、艺术与展览于一体的盛会。因新冠疫情影响,SIGGRAPH 2020将首次以在线方式举行。