高性能计算环境搭建及在空投入水结构设计中的应用
结构入水是一个非常复杂的过程,从结构撞水、入水到结构在水下航行,空气、水和结构三者之间的相互作用,是一个典型的流-固耦合问题。涉及到流体力学、固体力学、动力学、计算力学等多学科知识。在传统的"设计-试制-试验"的设计方法上,对该问题的研究存在着很大的障碍。而利用高性能计算技术可以建立合理的分析模型,在计算机上逼真地模拟所设计的产品的各种性能,并获得各种参数,静动态图示各种结果,为突破这些领域的关键技术提供了有力的技术手段。
高性能计算技术的应用是研发技术更新和提高的一个重要环节,为越来越多的企业和科研单位所重视。借助先进的建模工具和硬件平台,可以进一步提高企业的设计水平,为实现国家创新发展的目标打下技术基础。
2 高性能计算技术简介
高性能计算技术(High-Performance Computing)主要是指从体系结构、并行算法和软件开发等方面研究开发高性能计算机的技术。随着信息化社会的飞速发展,高性能计算已成为继理论科学和实验科学之后科学研究的第三大支柱。在一些新兴的学科,如新材料技术和生物技术领域,高性能计算机已成为科学研究的必备工具。
随着对产品各种设计性能要求的不断提高和高性能计算技术的蓬勃发展,现在,高性能计算技术被大范围的应用到产品的性能仿真分析中,尤其在航天航空,船舶,汽车,海洋工程等领域的产品虚拟设计和性能分析方面得到了越来越广泛的应用。
3 高性能计算应用软件的特点与硬件平台的选择
3.1 高性能计算应用软件的特点
CAE分析软件作为高性能计算应用软件的主要类别,通常包括前处理、计算分析和后处理这3个模块。前处理主要是建立问题的几何模型、进行网格划分、建立用于计算分析的数值模型、确定模型的边界条件和初始条件等;计算分析是对所建立的数值模型进行求解,经常需要求解大型的线性方程组,这个过程是CAE分析中计算量最大、对硬件性能要求最高的部分;后处理则是以图形化的方式对所得的计算结果进行检查和处理。
高性能计算技术应用的一个重要特点是,主要采用国际上公认的大型商业软件进行分析和计算。根据水下航行体设计的特点,主要采用FlUENT、ABAQUS、ANSYS、LS-DYNA、ADAMS等CFD和FEA软件。
根据求解算法的不同,高性能计算软件总体上可以分为隐式和显式两类。从对计算资源的需求来说,隐式解法的基本特点是内存占用多、磁盘IO大、进程通信量大,因此,隐式解法要求系统的内存容量大、访存带宽高、磁盘IO速度快、通信延迟低;相对而言,显式解法对内存、磁盘IO和通信延迟的要求要低一些。
从软件的扩展性上来说,隐式算法和显式算法有明显的区别。采用隐式算法的软件,扩展性比较差,计算性能在8-16 CPU以上就很难获得进一步的提升;而采用显式算法的软件,扩展性就要好得多,在64-128 CPU以内都能获得较好的并行性能。
从并行技术的角度来说,隐式算法通常采用OpenMP或者Pthreads等共享内存的方式实现,而显式算法通常采用MPI或者PVM等消息传递方式实现。采用共享内存方式的优点是实现容易,性能较高,但只能运行在SMP结构的服务器上;而消息传递方式则可适用于SMP或者DMP结构的服务器上。不过,随着集群计算的发展,SMP平台上的大多数算法也已移植到了DMP平台上,虽然并不完全。比如ABAQUS/Standard的Direct求解器和Lanczos特征值求解器就只支持Threads模式,因此必须采用SMP平台才能实现并行计算。 #p#page_title#e#
3.2 高性能计算硬件平台的选择
硬件平台的选择对高性能计算的成功实施至关重要,它直接影响到性能仿真的运行、管理和维护。对于用户来讲,往往是在软件选型已经完成之后,才开始考虑硬件选型。因此在硬件平台的选择上,必须综合考虑不同应用软件的特点,才能确定最佳配置方案。
目前市场上的高性能服务器主要有共享内存的SMP和分布式内存的Cluster两种体系结构。在共享内存的系统中,所有的处理器通过公用的总线可以使用一个共同的物理内存空间,因此,每个CPU和其他CPU共享所有内存。常见的产品有SGI的Altix和Origin系列、HP的SuperDome系列等。在分布式内存的系统中,每个计算节点拥有属于自己的内存,不能由其他计算节点使用。节点之间由专用的高速通信网络连接,通过消息传递接口MPI进行通信。常见的产品有曙光天潮系列、联想深腾系列等。
采用共享内存的SMP架构的服务器,既可以支持OpenMP和Pthreads并行,也可以支持MPI和PVM并行,能够利用软件的所有并行功能。但SMP系统的价格相对而言较高,而且对于主要采用隐式算法的软件而言,最多只能利用8-16颗CPU,因此配置CPU数更多的SMP服务器并没有太大的意义,反而会造成投资的浪费。
分布式内存的Cluster系统是近年来迅速普及的一种高性能服务器体系。集群是一组独立的计算机(节点)的集合体,节点间通过高性能的互连网络连接,可以协同工作并表现为一个单一的、集中的计算资源(单一系统映象)供并行计算任务使用。构建这类服务器的成本比较低,具有良好的性价比和可扩放性。集群作为当前高性能计算机的主流架构,在Top 500中占据了75%以上的份额。因此,当前主流的CAE软件都提供了对集群架构和MPI的支持。当前市场上的集群系统大多是采用4-8路的SMP服务器作为计算节点,因此也支持OpenMP。
抛开软件的扩展性问题,实际应用中单个作业使用的CPU数一般不会超过16个,以FEA应用为主的系统,常采用由多个16-CPU的SMP服务器组成的集成系统,以CFD应用为主的系统,常采用"SMP集群+PC Cluster"的混合集群系统。结合我们所选择的软件平台,并考虑并行体系结构和处理器类型,以及所涉及问题的规模,我们选择SGI Altix450,16CPU/24G内存的图形工作站作为高性能计算服务器。
4 高性能计算环境组建
4.1 高性能计算服务器的网络连接
整个网络连接的示意图如图1所示。高性能计算服务器采用SGI Altix450,使用的是suse linux操作系统,客户端是统一定制的windows系统。
一般情况下,前处理和后处理可以在客户端利用员工个人计算机进行,计算分析过程在服务器上进行,这样在客户机端和服务器端之间需要传递数据。为了方便的在这两者之间进行数据读取,采用linux下的samba服务器功能。当启动samba服务器功能,并进行相应的设置后,客户机端就可以将服务器的共享硬盘区域以网络驱动器的方式挂接到本地,使用时就像是操作本地硬盘一样。
4.2 软件安装与设置
高性能计算服务器端主要安装各种分析软件的linux版。客户机端需要的软件主要有字符界面终端,可以选择putty软件和图形界面终端即X服务器,可以选择Xming或者Exceed等软件。
出于安全方面的考虑,服务器禁止以Telnet的方式远程访问,一般是通过SSH的方式远程登陆到服务器上。在putty里有一个特性叫"X11 Forwording",使用这一特性连接服务器,直接启动任何X程序(比如Fluent)时,程序就会自动连接到客户机端的本地X服务器(本地X服务器已启动)。 #p#page_title#e#
5 高性能计算技术入水冲击中的应用实例
论文应用Ls_dyna软件对结构高速空投入水过程进行仿真计算为例,介绍高性能计算在产品设计中的应用。
5.1模型建立
算例中的模型包括流体模型和结构模型。在CAD软件中建立结构的三维模型,导入CAE前处理软件进行网格划分,流体几何模型直接在前处理软件中建立。论文所用的CAD软件为PRO/E,前处理软件为ANSYS。建立的网格模型如图2所示,流体的网格数量为110万。
设置边界条件,生成k文件,并对k文件进行修改,修改材料属性,添加流固耦合控制等,设置结构入水的初始条件,然后提交Ls_dyna求解器进行计算。
5.2实例计算
论文中结构入水的初始条件为:入水速度40m/s、入水倾角85°、入水攻角0°。采用4个节点并行计算,求解物理时间为0.2s,对如此规模的计算,大约需要计算机时为20小时。
对计算结果进行后处理,可以得到如下结果:
通过计算最终得到如下计算结果:
1)入水时刻产生的飞溅、开空泡以及压力波
图3 刚体入水产生飞溅现象
图4 压力波
2)不同时刻刚体的运行姿态
图5不同时刻刚体运行姿态
3)加速度和速度曲线
图6 刚体加速度曲线
图7 刚体速度曲线
通过上面的分析结果,可以看到结构入水的前三个不同阶段,由于刚体的入水速度比较高,形成很长的空泡段,所以看不到空泡闭合阶段。通过上面的结果还可以看到刚体各个时刻的运行姿态以及运行过程中的各种参数随时间的变化。
6 结论
随着计算机技术的不断发展,高性能计算技术正在成为继理论分析和实验研究之后的一种新的研究途径,为理论分析和试验研究提供了不可缺少的重要补充。本文主要针对研究院所中小规模的高性能计算的实现进行了介绍。本实践为空投结构研制提供了有力的技术手段,取得了较好的效果。
参考文献:
[1] SUSE LINUX 管理指南 Edition 4 2005.Novell Inc..
[2] 迟学斌,赵 毅.高性能计算技术及其应用.中国科学院院刊2007年第四期.
[3] 时党勇,李裕春,张胜民. 基于ANSYS/LS-DYNA8.1进行显示动力分析,清华大学出版社,北京.2005(1)