第896章 是时候重新给业界带来一些小小的震撼了……
……
在刚才玛丽安·米尔扎哈尼发来的邮件中,提到了“反向利用人类证明庞加莱猜想的思路”。
但实际上,如果非要说的话,水平集方法更贴近于反向的流形学习算法。
当然,实际上并非如此,只是思路上可以这么概括罢了。
流形学习算法是把高维数据处理到低维,使人类能够更容易理解。
而水平集方法则是把低维数据投射到高维,以便于计算机进行运算。
在数值计算领域,这算是一类在80年代末才被提出来的“新”算法,但因为应用范围包括但不限于液体雾化、蒸发、燃烧、表面材料计算、图像识别……总之跟流形学习一样几乎包罗万象,所以很快被推广到了各个领域。
包括torch multiphysics,也在正式版当中引入了几种典型的水平集方法。
但问题在于,目前的水平集方法,即便经过改进,也只能做到在特定区间内“接近”守恒。
这是个很麻烦的问题。
尤其是在它最主要的应用领域——两相流计算当中更是如此。
因为在大多数情况下,两相流问题中涉及到的两种流体都可以视为互不相溶的,这就意味着所采用的方法必须有效保持各相的质量分别守恒。
所以,目前的水平集算法在长轴距时间计算中,很容易出现剧烈震荡乃至于发散——
而这本来应该是水平集算法最擅长的部分。
比如,在之前在设计涡扇10发动机燃烧室的过程中,常浩南曾将流体体积方法和水平集方法结合,对航空燃油离开雾化喷嘴之后的弥散行为进行了计算。
结果么……
有用,但不多。
相比于压气机和涡轮部分相对“简单”的单相流体计算,项目团队在燃烧室的设计过程中获得的指导最少,被迫采用了大量经验结合中试的老办法。
这也导致部件级测试中超过60%的时间和经费都耗费在了这上面。
好在,得益于小涵道比航发燃烧室本身的体积有限,扩散过程的持续时间并不算特别长,所以计算结果还不至于震荡得太离谱,而且涡扇10所追求的性能指标相对于其优越的总体设计而言实在是比较低,所以最后并没有影响到什么。
但如果未来追求尺寸更大、数据更先进的型号,比如ge9x那样的庞然大物。
或者是另外一种应用场景,火箭发动机——
无论液体燃料还是固体燃料,由于火箭发动机要自带全部推进剂,因此对燃烧-喷射过程的依赖程度远超航空发动机。
那么这个守恒问题还是需要解决的。
当然,既然这篇论文的标题叫做“一种……的方法”,那就说明肯定不是从理论上标本兼治。
只是在某种特定应用场景下适用。
不过,即便如此,对于目前的水平集方法来说也是一个巨大的进步了。
【……本文将提出一类处理带发散自由速度场的二相流问题的守恒性水平集方法,并在这一过程中开发了不规则界面上robin边界条件的高效处理方法,结合界面解析的相变求解方法来考虑液体形状及内部环流等对传热传质的影响……】
【首先假设任意区域Ω,以及其子区域Ω1和Ω2,且有Ω2=Ω/Ω1。Γ为分割Ω的界面,构造一個正则化函数Φ(通常为光滑的海维赛德函数)隐式表示Γ,使得当经过Γ时,Φ快速地从1变为0,而在子区域Ω1内,则有Φ≈1,子区域Ω2内,有Φ≈0,故而一般将Γ设为Φ的0.5水平集,在计算中,我们希望即使在有小扰动存在的情况也可以保持界面的形状……】
【……】
时间,随着常浩南双手在键盘上的飞速敲击而飞速流逝着。
不过在大约二十分钟后,常浩南就停下了打字的动作。
稍加思索之后,他抽出一张软盘,把才写了个开头的文档复制进去,然后起身径直前往了机房。
实际上,他开发的这种方法在数学上并不复杂,实质就是一种重新初始化过程,通过求解一个粘性项的稳定解来修复水平集方程中的ψ值,以达到维持守恒性的目的。
而之所以过去从未有人涉及到,是因为其在具体的计算方法上难以实现。
比如传统的网格划分方式,就很难适应笛卡尔网格上高速变化的两相流体。
但对于重生后首先就点出了数值计算专精,还全程主导了torch multiphysics软件开发和算法设计的常浩南来说,这反而不是什么问题。
根据他的估计,在引入带自适应网格的有限元离散方法之后,计算效率还是能得到基本保障的。
只是如果想要通过非自主编程,而是图形界面互动的简单形式操作,那估计就只有等到torch multiphysics的下一次大版本更新才行了……
不过么……
“这倒也是个不错的机会。”
正在按照论文中内容敲着代码的常浩南心想到。
torch multiphysics从最初的试用版发布到现在已经过去了