原文发表在【老顾谈几何】,作者授权【WELSIM】转载。
(2016年9月27-30日,第二十五届国际网格生成圆桌会议在美国华盛顿召开(25th International Meshing Roundtable),受会议主席斯杭博士的邀请,老顾在会上介绍了如何用计算共形几何计算曲面和体的网格化。
斯杭博士是网格生成领域的绝对国际权威,久负盛名的传奇人物,目前在德国维尔斯特拉斯应用分析和随机研究所任资深研究员。老顾和斯博士神交已久,一见如故,通过热烈的讨论,深入交流了许多学术思想。经过数十年的积累沉淀,斯博士对于这一领域许多根本性问题具有非常深刻的见解,提出了大量的几何猜想。同时老顾结识了许多年轻才俊,思想的交流碰撞产生了许多火花,必将引发一系列的新颖算法。)
中国龙的三角剖分,斯杭作。
波音747飞机的空气动力学模拟网格化
斯杭作
小白鼠的肺部气管混合网格
焦向民用TetGen作
在漫长的教学和科研的生涯中,老顾经常和一线的纯粹数学家和一线的工程师合作,也正在指导数学方向和计算机方向的博士生。一些纯粹数学背景的学生和学者对于抽象深邃的理论如何在实际中应用产生深深的困惑,许多学生因为无法看到抽象数学(例如代数拓扑)的用途而缺乏深入钻研的内在动力。同时另一方面,工程师往往从实用角度出发,利用直觉经验设计各种技术方案,往往忽视构建严密的理论体系。对于简单的技术问题,这种发展方式行之有效,但是对于更为深刻的问题,因为缺乏理论的指导,很容易陷入瓶颈。在以商业利益为主导的工业界,理论研究一直是难得的奢侈;在以科研教育为主导的学术界,许多问题的规模和复杂程度超越了学者个人的想象能力,研究者往往缺乏第一手的实践经验,以及深刻的直觉和洞察,从而无法提炼思想精髓。如何将理论和实践有机结合,令人深思。这种现象在网格生成领域(Mesh Generation)体现得淋漓尽致。
图1. CAD 模型。
在现代社会,几乎所有的工业产品都是在计算机上设计出来,一般都是用样条曲面来表示,因此计算机辅助设计(Computer Aided Design CAD)具有根本的重要性。
图2. CAE 模型,计算受力分析。
CAD模型在真正生产之前,需要在计算机上进行模拟仿真,计算其力学特性,从而改进设计。这类计算问题属于计算机辅助工程领域(Computer Aided Engineering CAE)。模拟仿真需要建立物理模型,往往是偏微分方程,然后利用有限元方法求解方程。例如波音公司大量使用CAE方法进行模拟仿真,从而减少风洞实验时间。
图3. 有限元方法需要将空间网格化。
有限元方法需要将曲面和空间网格化,从而将偏微分方程转化成代数方程,然后用计算机求解。如图3所示,为了模拟飞机的飞行情况,我们需要求解流体力学方程,这需要将飞机外围的空间网格化。网格的质量和数量会根本地影响计算结果的精度和速度。因此,毫不夸张地说网格生成(Mesh Generation)是整个现代工业的基础。
据纽约州立大学的陈世魁教授估计,每年全世界的CAD市场大概为5千亿美元,CAE市场大概为50亿美元。因为其巨大的实用价值,工业界和学术界都在竭尽全力地研究开发网格生成算法工具。斯杭博士独自开发和维护的TetGen系统,在业界极其著名,几乎所有这个领域的学者和工程师都曾经用过TetGen。同时,几乎世界上所有网格生成系统都曾参考借鉴过TetGen的算法。斯杭博士只手擎天地开发了TetGen,却从未从中谋求过任何经济利益,高风亮节,令人钦佩,堪称网格生成领域的Linus (Linux的发明人)。