|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
x
并行计算流体力学的研究与应用
1 计算流体力学(CFD)概况
自然界存在着大量复杂的流动现象,随着人类认识的深入,开始利用流动规律改造自然界。最典型的例子是人类利用空气对运动中的机翼产生升力的机理发明了飞机。航空技术的发展强烈推动了流体力学的迅速发展。
流体运动的规律由一组控制方程描述。计算机没有发明前,流体力学家们在对方程经过大量简化后能够得到一些线形问题解析解。但实际的流动问题大都是复杂的强非线形问题,无法求得精确的解析解。计算机的出现以及计算技术的迅速发展使人们直接求解控制方程组的梦想逐步得到实现,从而催生了计算流体力学这门交叉学科。
计算流体力学(CFD,Computational Fluid Dynamics)是一门用数值计算方法直接求解流动主控方程(Euler或Navier-Stokes方程)以发现各种流动现象规律的学科。它综合了计算数学、计算机科学、流体力学、科学可视化等多种学科。广义的CFD包括计算水动力学、计算空气动力学、计算燃烧学、计算传热学、计算化学反应流动,甚至数值天气预报也可列入其中。
自二十世纪六十年代以来CFD技术得到飞速发展,其原动力是不断增长的工业需求,而航空航天工业自始至终是最强大的推动力。传统飞行器设计方法试验昂贵、费时,所获信息有限,迫使人们需要用先进的计算机仿真手段指导设计,大量减少原型机试验,缩短研发周期,节约研究经费。四十年来,CFD在湍流模型、网格技术、数值算法、可视化、并行计算等方面取得飞速发展,并给工业界带来了革命性的变化。如在汽车工业中,CFD和其它计算机辅助工程(CAE)工具一起,使原来新车研发需要上百辆样车减少为目前的十几辆车;国外飞机厂商用CFD取代大量实物试验,如美国战斗机YF-23采用CFD进行气动设计后比前一代YF-17减少了60%的风洞试验量。目前在航空、航天、汽车等工业领域,利用CFD进行的反复设计、分析、优化已成为标准的必经步骤和手段。
当前CFD问题的规模为:机理研究方面如湍流直接模拟,网格数达到了109(十亿)量级,在工业应用方面,网格数最多达到了107(千万)量级。
2 并行计算流体力学(Parallel CFD)研究与应用现状
2.1 Parallel CFD的推动力
随着计算机技术的迅猛发展,CFD得以迅速发展和普及。单机性能的提高使过去根本无法解算的问题在普通微机上可以解算,从而推动了CFD成为尖端工业、乃至一般过程工业的基本设计分析手段,从而大大激发了其应用,但人们一直难以解决以下问题:
(1)工业应用方面的大规模设计计算问题。如飞机设计中全机气动性能计算,火箭发动机复杂多变的燃烧和跨音速流动模拟,导弹的气动隐身性能评估,低阻力系数高性能汽车外形的设计和分析,透平机械复杂叶型及组合的设计分析,潜艇尾迹模拟,高超音速航天器空气动力学设计分析,核电站水蒸汽两相流流动分析,非定常状态的物理过程如飞机起飞降落、过载下空间推进剂晃动分析等。这些大规模设计计算问题不但单个作业计算量庞大,且需不断调整,重复计算。
(2)流动机理的细致研究方面的问题。人们试图在很多场合期望放弃假设直接去求解和探索机理问题。如抛开基于统计理论的湍流简化模型直接模拟(DNS)湍流。这在计算能力有限的过去几乎是无法想象的。美国1991年提出的“高性能计算与通信(HPCC)计划” 、1995年美国实施的 “加速战略计算创新(ASCI)计划”、 1998美国DOE倡议实施“科学模拟计划”(SSP),这些计划无一例外把计算流体力学作为作为重大挑战问题之一。
基于(1)和(2)两个原因,CFD研究人员发现硬件性能的提高随时会被无止境的需求所吞没,所以他们永远在作突破硬件性能的努力,尽管改进串行程序使用的数值算法可以提高计算效率,但并行化却几乎是唯一的大幅度提高计算效率的手段。
2.2 Parallel CFD的硬件相关性及编程概述
在20世纪80年代,向量计算机大大改善了CFD的计算速度,但是这种改善是以很高的费用为代价的。精简指令集计算机(RISC)在20世纪90年代的出现,提高了性能价格比,但是基于总线共享内存并行操作的规模不能超过8个处理器,原因是总线带宽限制了多CPU同时读取共享内存的速度。后来分布式内存(DMP)和分布共享内存(DSMP)机器的发展突破了这个瓶颈,Parallel CFD得到迅速发展。
Parallel CFD一般采用物理区域分割并行方法,在编程上采用单控制流多数据流(SPMD)模型,采用MPI或PVM实现消息传递,几乎适用于所有的并行机体系结构:如向量机、MPP、集群系统、SMP及其构成的星群系统,甚至是局域网连接的工作站/PC群。并行原理是:将整个流动区域分割成N个子区域分配给N个CPU计算,把子区域的初始流场信息、几何信息(网格坐标、标识号)分别装载入各子区域对应的CPU的内存中,在每一个CPU中启动计算进程,由主进程调度各CPU的计算。在每一次全场的扫描过程中,由各CPU完成子区域的计算并在边界完成数据交换(各CPU间的通信),由主进程收集全场数据完成收敛准则判别,并按需要进行写盘等其它操作。
在物理模型和数值算法确定的条件下,计算速度主要取决于CPU个数、CPU性能、内存、CPU-内存访问带宽、结点互连带宽、网格质量及分区质量。每一个特定问题、每一台特定机器对应于一个最佳分区数,大量的实践会对同一类问题总结出一个最佳网格数/CPU比值。分区数过多,CPU间通信量增大,分区数增大到一定程度会反而降低计算速度;分区数过少,没有充分利用更多的CPU参与计算,也会影响计算速度;分区质量差,各CPU负载不均匀,CPU有等待现象,也影响速度。通常成熟的商业软件包如FLUENT都至少提供两种分区方法:自动分区和手动分区。自动分区的好处在于操作简便,适宜工程应用,但各CPU的负载平衡不一定能保证。手动分区恰好相反。值得注意的是,对于稳态流动,在任何一个计算时刻内存中都只保留整场的一套数据信息,故在计算过程中只存在CPU-内存、CPU-CPU(或计算结点-计算结点)之间的通讯,无需访问磁盘。但对于非定常问题,每一个时间步均产生一套场信息,每一时间步计算结束后必须将各计算结点的场信息会聚起来,执行内存到磁盘的写操作,通信量骤增,计算速度无疑会放慢。
在流动机理研究方面,区域分割并行方法仍然广为使用。如美国劳伦斯利佛莫尔实验室研究湍流及其非定常性时就采用了此法。由于湍流尺度极小,故网格分辨率必须小于湍流尺度,从而使整个计算区域的网格数达到数十亿。
2.3 国外超级计算中心在CFD方面的主要研究和应用领域
美国提出的几项与超级计算相关的大型科技创新计划中无一例外地将CFD列入其中。以下是世界上部分超级计算中心和国家实验室在CFD方面的研究和应用领域:
美国匹兹堡超级计算中心:工程计算(商业软件);
美国国家超级计算应用中心:工程计算(商业软件);
美国康奈尔理论中心:工程计算(商业软件);
美国劳伦斯利佛莫尔国家实验室:湍流及其非定常特性研究;
美国阿尔贡国家实验室、劳伦斯伯克利国家实验室:湍流燃烧;
美国NASA阿莫斯研究中心:航空/航天器任务周期内的集成、多学科仿真和设计优化,高超音速气动计算;
美国国家能源研究科学计算中心:湍流燃烧模拟;
韩国科技信息研究院超级计算中心:工程计算(主要是汽车工业)。
2.4 CFD及Parallel CFD的发展方向
CFD应用方面:CFD在各种工业中的应用将仍然由全球几大CFD软件商主导。商业CFD软件主要发展方向是自动化功能,因为商业CFD软件的终极目标是提供给用户“好用”的分析工具以解决实际应用问题。自动化功能主要包括:
网格的自动化生成:每一个CFD应用至少三分之二的时间用于网格生成。网格生成障碍最根本的原因是计算能力的不足。设想若硬件能力无限大,任何一个问题都无需考虑针对具体几何结构的网格划分策略,只需按照足够精细的几何尺度进行均匀六面体网格生成,就能分辩实际工程问题的几何细节。事实上这个假设至少在目前对绝大多数的CFD使用者来说不现实,因此我们不得不认真考虑硬件能力,去生成经济的网格。因此商用CFD软件必须大力研发网格自动化生成功能,以减轻工程师的压力,缩短网格生成时间。
网格自适应功能:网格自适应的主要思想就是根据几何、流动变化等信息调整有限的网格用于流动模拟,使得采用较少的网格获得较高的流场精度。可见,自适应的压力最终也是来自于硬件能力的限制。网格自适应技术是解决硬件能力和求解精度矛盾的最好办法之一。但网格自适应必须基于基本准确的初始流场信息,否则会适得其反。
输入参数敏感性的自动评估:对于尖端工业如航空航天用户,计算的精度与可靠性是第一位的,尽管商业CFD软件经过大量的验证计算,但对特殊问题仍然必须检验其计算结果复现性。
优化设计技术:CFD已完全具备求解用户设定的一个确定问题的能力,但是工业界对优化设计有越来越强的需求。目前设计à分析à修改设计à分析的过程仍然是不连续的、孤立的、人工干预的,而非自动的,每一次几何更改都带来大量的网格生成工作量,因此CFD软件商正在研发各种工业设备的定制模板,用户只要在模板中对主要优化变量设置约束条件,软件就能自动完成网格生成和计算。这称为“参数化”设计。在这儿值得提及“综合工程优化”(或集成工程优化,Integrated Engineering Optimization)的概念。众所周知,现实的工程优化设计逼近过程中离散的中间态极多,而且一个最优设计不但是流动最合理的,还有结构最合理,甚至产品成本最低,设想人工重复每一个中间态的设计分析工作最终求得一个优化解的过程是多么漫长和昂贵。目前已经有这样的第三方优化设计软件,如iSIGHT,扮演着综合调度、优化算法的集成优化角色,它可以自动调度通用的流体分析、结构分析软件并由用户设置其它约束条件来完成一个特定优化问题的自动求解过程,使人工的干预降低到最低限度。
基于大量计算实践生成和不断更新的专家库-知识引擎技术:每一个CFD应用工程师都知道,从一个生手变成熟手需要经过漫长的过程。除了专业基础外,同行间的交流、大量的实践经验的积累显得特别重要。CFD应用的诀窍存在于每一个人脑中。目前著名CFD软件商美国Fluent公司正在构建一个专家库,该专家库把专家的实践经验、和用户互动积累的经验提炼成一个专家系统,日后任一用户的应用问题都可以利用该专家系统寻求到最佳的问题解决模式。
多场耦合:多场耦合一直是CAE领域极具挑战性的问题。在过去流体软件商、结构分析软件商各自为战,但自然界中很多的问题都是多场耦合问题。比如刚竣工的卢浦大桥在风场中风会对其产生激励引起振动,桥面的振动又影响了表面的风场结构,单独进行气动分析或强度分析都无法得到合理分析结果。而像航天飞机再入时作用在机体的场有空气流场、气动加热温度场、过载、结构、等离子体产生的电磁场等。值得庆幸的是软件商们开始合作起来,首先在软件中互设数据接口,其次将不同的场分析模块整合成一套软件,或联合开发一些专用分析模块。多场耦合注定了计算量的庞大,并且并行化的难度随之增大。
在Parallel CFD方面,发展高效率的并行计算方法是主要的努力方向。同时物理分区的并行计算属非通信密集型,因此基于定制集群计算机和工作站/PC联网计算将迅速得到推广,可以预测在未来几年中,国内将在航空、航天、汽车、船舶行业中完成该类并行计算的普及。
3 上海超级计算中心发展策略
推动大规模并行计算在CFD中的应用是上海超级计算中心义不容辞的责任。考察到上海的需求和国家战略,我们认为上海超级计算中心的CFD研究与应用应主要侧重于以下两个方面:
一、推广大规模并行CFD计算在工业/工程界中的应用
上海有全国门类最齐全的工业部门。其中航天、航空、船舶、汽车、核电是资深的CFD用户,现实和未来对大规模并行计算资源需求非常大。如航天方面,上海承担载人航天工程、新一代运载火箭的研制;航空方面,上海承担我国第一架喷气涡扇式支线飞机的研制;船舶方面,上海到2015年总造船能力要达到120万吨,上海的船舶设计能力名列全国首位;汽车方面,全球汽车制造向中国的转移,汽车研发能力开始向上海转移。处于综合成本的考虑,这些企业都在寻求外部高性能计算资源满足日常业务和峰值业务需求,这些领域中的骨干企业均在上海超级计算中心进行过试算,部分已成为正式用户。
这些工业用户均采用通用成熟的商业CFD软件进行日常设计分析工作。目前上海超级计算中心已经构建了三千亿次的神威集群计算机和应用软件,对外提供CFD计算服务,同时我们将以上海超级计算中心承担的863网格重大专项和市政府投资引进新一代4万亿超级计算机为契机,为用户构建顶级的CFD工程计算平台。
值得一提的是,上海的电子工业、市政建设工程、环保、建筑、机电成套设备工业和其他工业领域也都相继引入CFD作为基本设计分析手段。如在电子工业中采用CFD进行散热分析,在市政工程中采用CFD进行通风、火灾、泥沙淤积模拟,在机电成套设备工业中应用CFD进行水轮机、汽轮机等旋转机械设计和锅炉等燃烧器燃烧流动分析,在环保中应用CFD进行水系污染模拟,在注塑、模具、炼钢中应用CFD进行非牛顿流体过程分析。这些行业不但需要高性能计算资源,更需要专业的一揽子计算分析服务。因此,上海超级计算中心应发展CFD工程咨询能力,为全上海提供服务。
二、联合高校、科研院所进行挑战性CFD研究,发展专用并行分析软件
不是所有的问题都可以通过商业软件来解决。因此我们将联合高校和科研院所,对工业界中的挑战性问题进行研发,充分发挥上海超级计算中心并行编程和计算能力,为用户提供一对一的专业技术服务。比如目前我们正和西北工业大学、中航商用飞机有限公司联合进行机翼颤振分析软件的并行化开发,和交通大学联合开发气动优化设计分析软件和具有自主知识产权的CFD平台。
我们将继续推进在国家战略性基础研究中的地位和作用,联合优势伙伴进入“十一五”国家规划,凭借超级计算能力和并行软件开发特色,为国家战略所需CFD重大基础研究和应用项目做出新贡献。
|
|