< 返回
cae高性能计算破冰纪实

进入21世纪之前,cae的工作者一直很辛苦。只要能模拟真实世界,辛苦的工作、漫长的等待和昂贵的开销都在所不惜。但是,面对有限发展的cae技术和计算机资源,人们并不能如愿。为复杂产品建模时,分析师不得不在假设与近似之间徘徊。模拟真实世界,愿望多于现实。

在假设和近似之间徘徊久了,分析师便建立了一项复杂的学问——仿真分析规范,指导人们在有限的cae技术和计算机资源面前,如何进行条件假设和近似处理,才能保证分析结果最接近真实世界。规则保证了秩序,却约束了自由。cae的工作者一直在必然王国中挣扎,远没进入自由王国,直到cae高性能计算技术得到大力发展的今天。

高性能计算(hpc:high performance computing)是一种可以充分利用最广泛的计算资源进行大型问题求解的技术,广泛应用于各行各业。cae是高性能计算的重要阵地之一。从上世纪80年代初,ansys公司就在hpc研究上投入较大力量。该公司的创始人john swanson博士准确预测了cae-hpc的发展趋势,提出ansys的hpc发展战略。2004年,ansys创纪录地进行了一个1亿自由度的问题的计算,确立了这个cae巨人在hpc的领导地位。

cae-hpc的目标是“用最低的成本模拟真实世界”,即“用最短的时间、最少的人力、最低的资金,进行复杂单场模拟和多场耦合分析”。ansys的三把hpc利斧——大内存支持、分布式并行计算和变分技术(vt),正在摧毁束缚cae自由的坚冰。

1.大内存求解大问题

cae计算需要较多的内存已是常识。在过去32位的年代,内存再多也用不上。现在,64位操作系统的内存寻址范围使得cae应用软件对内存的使用几乎没有上限。windows xp-64操作系统的推出对普通cae用户来说是一大喜事,windows毕竟是普通用户最熟悉和最经济的操作系统。

对大内存的支持让cae在前后处理方面获得自由,使其在大模型的建立、大图形的处理以及大数据库的操作方面几乎没有障碍,用户可以建立高保真模型。

首先,大内存允许我们把模型建立得很精细。cae的目标之一是找到模型中的热点,也就是危险点。即使同一模型,对于不同的工况,热点可能不同。为了准确捕捉热点,通常的方法是不同工况建立不同的模型,这不但繁琐,而且不经济。疲劳计算问题更严重,如果工况组合比较复杂,热点的位置几乎不能预测,即使我们愿意建立多种模型,但仍可能无法捕捉到所有的疲劳热点。但如果建立了每一处的单元密度都很高的精细模型,我们就不会错过任何一个热点。

其次,大内存允许我们建立整机装配模型。过去,由于内存限制,我们往往只提取产品中重要的零部件进行分析。这里存在一个问题就是,产品的载荷和约束并不是直接施加在该零部件上,而是由其它零部件传递过来。只对单一零部件进行分析时,就不得不做边界条件假设。如果使用整机模型,这种问题便不存在。但是,建立整机模型却存在另一个问题:零部件之间的接触。复杂产品千百个零部件之间的接触单元定义如果完全靠手工进行,工作量不可想象。ansys软件提供了一个非常实用的功能——自动接触可以解决这个问题。ansys在读入cad模型时自动探测装配关系,并自动建立接触单元。

再次,大内存可提高建模速度。通常,cae读入cad模型的时候需要删除细小特征(defeature),以使得cae单元减少。有时还需要对于薄细结构抽中面和抽中线,用以建立梁或壳单元。大内存允许我们可以使用细小的尺寸在cad模型上直接划分网格,梁或壳单元可以用实体单元来替代,并不影响精度,而且在结构连接部位的结果更精确。

最后,在大模型进行计算时,大内存允许中间数据存储在内存中而不需要和硬盘交换数据,可以减少i/o频度,明显提高速度。有时i/o问题可能是大问题求解得杀手。因此,大内存是求解大问题的基础。

2.分布式并行提高计算速度

并行计算是未来计算机的唯一高速公路。过去,计算机提高速度的方法主要靠提高cpu的时钟速度。而今,cpu的时钟速度已经接近极限,计算机性能提高的唯一通路是发展多核计算机。双核及四核处理器已经推出,并行计算即将成为人们的每日工作。

集群(cluster)是并行计算架构中成本最低的一种。即使性能不高的计算机构成的集群仍然可以获得良好的并行性能。因此,集群模式的并行算法将是任何并行计算程序的必由之路,而集群只能是分布式的,因此分布式并行计算也自然而然成为ansys的选择。

微软公司于2006年6月推自己的集群操作系统wccs2003(windows cluster computing server 2003),为集群的普及起到推动作用。wccs2003因其简化的群集部署和管理功能,降低了hpc的门槛,人们不是必须面对不熟悉的unix或linux。而且经过我们大量案例的测试证明,wccs2003的并行效率与unix和linux不相上下。可以预见,集群模式的hpc将快速走向普及。在wccs研制的阶段,ansys公司就开始与微软深入合作,共同优化ansys@wccs2003的性能。在2005年全球瞩目的美国西雅图超级计算大会上,ansys成功地在微软wccs2003实现了完整演示。

dansys求解器是ansys的分布式并行计算的核心。该求解器可以自动将大型问题拆分为多个子域,分发给集群的不同节点(cpu)求解,在切割边界交换信息以得到总体解。而且dansys在cae全过程都采用并行算法,而不仅仅是方程求解过程。矩阵形成和单元结果回代过程的并行处理可以明显减少墙钟时间。同时dansys采用了负载均衡技术,即使集群中各节点的性能不同,也能得到优秀的加速比。

分布式并行可以明显减少计算时间,使得大型问题的求解得以松绑,让cae向自由王国迈进了一大步。在一个经典案例中,在单cpu上求解2000万自由度需要12个小时,但采用8个cpu分布式并行计算只需要3个小时。12个小时意味着即使一上班就投入计算,你仍然在当天看不到计算结果。而3个小时意味着你在一天内可以进行2~3次计算,这对产品研发速度的提高很有价值。

3.变分技术减少迭代次数

变分技术(vt: variational technology)是ansys的专利技术。过去,人们进行what-if研究时,需要对大量样本进行计算,形成整个设计空间的响应面。而采用vt技术,只需“一次求解”就可以得到整个设计空间的响应面。而且不论设计变量有多少,这“一次求解”的时间都是普通有限元求解的5倍左右。所以,设计变量越多,vt技术的优势越明显。

vt技术实际上是深入到cae程序内核,将cae矩阵(刚度阵、质量阵等)的各元素改造成设计变量的函数(经典cae中各矩阵的元素是数值),把cae分析过程从“数值计算”改造成“函数计算”,计算结果也自然是设计变量的函数。因此,只需“一次求解”就可以得到整个设计空间的响应面。

vt技术在ansys公司的许多模块都有应用。最早应用在优化计算中,一次求解可获得最优设计,而不像其他的优化程序,需要进行千百次的迭代。在电磁模块中进行s参数求解时需要扫频计算,利用vt技术只需一次计算即可完成整个频段的上百个频点的s参数计算。在mechanical的非线性迭代或动力学多载荷步计算中,通过历史迭代信息形成下步迭代最佳预测,可使总迭代数最少。更为高效的是,当计算过一种设计方案后,如果设计参数、材料参数或工况参数变更,重新计算一次所需要的迭代数更少。在一个典型的非线性计算案例中,如不采用vt技术,迭代150次收敛,耗时2750秒。采用vt技术,只需30次即可收敛,耗时775秒。改变设计参数后重新计算,只需9次即可收敛,耗时240秒。

如果说并行计算技术加快了单次计算速度,那么vt技术则减少了迭代次数。复杂物理现象的仿真需要非线性、动力学、流体力学甚至他们之间的耦合计算,这类计算总是需要进行大量迭代。vt可以让这种复杂物理现象的模拟变得快速,使cae模拟真实世界成为可能。

总之,变分技术进一步释放了cae对复杂问题模拟潜能,为cae最终进入自由王国打开了最后一扇大门。

为自由而战

ansys公司hpc三步战略:大内存求解大问题、分布式并行提高单次计算速度、变分技术减少迭代次数,让ansys的用户从必然王国进入了自由王国,实现了她对用户的承诺:free your simulation!

然而,战斗并没有就此结束。世界各国高性能计算机的发展日新月异,对这些机器的支持是国际cae软件面对的另一块坚冰。中国硬件制造商和高性能计算机的拥有者都把安世亚太作为最佳合作伙伴之一。ansys公司总部向安世亚太开放编译中间文件,使得国产计算机可以很快运行ansys软件。上海超级计算中心拥有海量cpu的国产机器——曙光机,ansys公司是其最大的cae软件提供商。

其实,这个战斗永远也不会结束,求异是cae行业永恒的精神。一个软件进入自由王国并不代表整个cae行业的解放。我们期待这个行业每一个战士都武装起来,为cae之自由而战!