美高梅官方网站66159

一些CFD软件已经在超级计算机上大规模应用,想要优化 FUN3D

作者:使用交流    来源:未知    发布时间:2020-03-25 07:08    浏览量:

图片 1

图片 2

图片 3

美国宇航局(NASA)刚刚宣布设立多个奖金来招募编程高手,目的是改进流体力学模拟软件 FUN3D。

NASA正在举办一场比赛,需要把自家的 FUN3D 软件加速10000倍。成绩最好的两名选手将分得总额达55000美元的奖金。

利用FUN3D模拟安装在国家全尺寸气动研究综合体内的UH-60旋翼系统

目前,包括 NASA、波音以及洛克希德等航空巨头都在使用 FUN3D 来模拟测试和优化航空器设计。

FUN3D 是NASA在超算昴宿星上用来模拟飞行器周围气流情况的一个软件,在上世纪八十年代由Fortran语言编写。

FUN3D的网格自适应功能可对高升力系统流动关键区进行网格加密

此次,NASA 为技术大牛们准备了丰厚的奖励,优化效率最高的两人将分别获得 1.5 万美元和 1 万美元的现金回报(约合 10 万和 6.9 万人民币),而其余给出普通改进方案的人也会得到一定的奖励。

软件中运用了计算流体动力学,使用了大量复杂的数学公式和数据结构。航天技术的研究经常被称为三腿凳:首先在计算机中分析、解决问题,然后在风洞中测试比利模型,最后用原型机进行实地测试。

计算流体力学如今已经成为飞机设计的基础手段。风洞和飞行试验通常被用来验证由CFD建立的物理模型。随着复杂航空器空气动力学模拟能力的提高,CFD软件也得到了长足的发展。

外媒提醒称,想要优化 FUN3D 其实并不容易,首先只有美国公民才能免费获得这款软件的源代码。此外,FUN3D 是采用 Fortran 语言编写的内核,而这种诞生于 20 世纪 50 年的编程语言在程序员群体中并不受欢迎。

这就是极客界的圣杯啊。NASA变革性航空概念项目的头头 Doug Rohn 如是说,这个项目大量使用这套软件来测试新式飞行器的早期设计。

一些CFD软件已经在超级计算机上大规模应用,但即使这样,对于完全优化一个设计方案来说,利用CFD进行大量的分析计算还显得非常耗时。随着工程师们对愈发复杂的、非传统高效气动构型探索的不断深入,CFD计算的时间成本正在成为一个瓶颈。

同时,NASA 也为此次优化改进工作设定了目标,要将软件的运行效率提升 10-1000 倍,考虑到 NASA 内部已经聚集着大量 Fortran 高手和数学工程师,因此他们无法实现的事情对于外界人士来说就更难了。

NASA官网上举了个例子:只需简化 FUN3D 中一个常用的子程序,使之运行时间缩短几毫秒,就能大幅提高整个软件的性能(如果这个子程序在一次模拟中会被调用上百万次的话)。

NASA为何要加快其超级计算机CFD计算软件运算速度?

来源:驱动之家 作者:小路 

NASA会向所有参赛者提供软件代码,以便他们进行分析、找出性能瓶颈并作出改进。结果的最低要求是提速十倍,当然能做到上千倍就最好了,同时不能降低模拟的准确度。

FUN3D代码在过去的35年发展的非常迅速,目前已经到了第14版;

由于代码的敏感性,这场比赛只允许18岁以上的美国公民参加。

非传统布局的复杂气动问题需要进行更多的CFD分析;

设计师希望能够使用CFD代码实时优化空气动力特性;

NASA希望通过架构、软件和其它改变实现CFD计算的加速。

NASA目前使用的FUN3D是一个强大的、多功能的CFD计算程序,被来自美国大学、工业界和政府机构的研究人员和设计师广泛使用。该软件支持基于物理的空气动力学分析,可进行全机气动模拟,被视为一种国家资产。该软件已经开发超过30年之久,计算能力大幅增长。

由于设计飞机、旋翼机、航天器等飞行器的需求不断增加,FUN3D目前占据了NASA昴宿星超级计算机计算机时的12%,大约每年2亿机时。该软件主要用于降低机体噪声和声爆的研究,以及从直升机旋翼到空间发射系统的设计。

NASA航空研究任务事务部已经启动了一个竞赛高性能快速计算挑战,旨在寻找如何将FUN3D程序在昴宿星超级计算机上的运算速度提高10~10000倍,而同时不降低计算精度的方法。目前,该挑战赛已经在两个众包平台HeroX和托普科德上启动,挑战者们将为55000美元的奖金展开角逐,截止日期是6月29日。

NASA革命性航空概念计划下负责此次挑战赛的项目经理迈克尔赫特表示,在昴宿星上通常需要一周的时间才能给出计算结果,这并不是实时的。如果我们能够加速这一过程,设计师们在当天就能获得结果,实时地分析结果,并根据结果停止或调整进行中的试验。

明尼苏达州立大学教授格雷汉姆坎德勒表示,我们通常在能够应对的最大网格上计算,而不是我们希望运算的网格。在CFD计算中,网格量的大小决定了流动物理特性捕捉的精度。

NASA旨在利用挑战赛为解决CFD计算时间问题提供一个不同的视角,或者至少对其内部研究人员是否在正确的轨道上前进提供一个外部验证。赫特表示,FNU3D需要加快运算速度10000倍用于下一代飞机设计中。

提高FUN3D运算速度带来的好处将是巨大的。普渡大学副教授乔纳森伯吉斯表示:FUN3D是一个广泛应用于复杂布局的CFD代码,比如全机模拟。它是一个通用的代码,在很宽的速度和使用范围内都有效。但是,加快CFD代码的运算速度并不是一件容易的事,与这个代码的开发时间、能力和复杂性有关。

伯吉斯表示,FUN3D是一个非结构网格计算程序,相比结构网格计算程序,它使复杂外形的网格生成更加简单,例如直升机旋翼,但缺点是计算耗时较长。

按照哈佛大学众包创新实验室的建议,NASA将此次挑战赛分成了三个部分。前两个部分是在HeroX上的构思挑战,以及在Topcoder上的架构挑战。

构思挑战主要寻求算法改善,包括网格自适应、高阶方法和高效的求解技术。赫特表示,它的目的是确保NASA在考虑到该程序的年代和语言后,选择正确的路线。FUN3D是用Fortran语言编写的,这在编程语言中一点也不现代。赫特表示:最终的结果可能是用Fortran语言编写的程序是唯一可用的,或者我们发现我们走在错误的道路上,需要采用另外的编程语言。

架构挑战主要是优化单个的软件模块以及模块间的处理以降低计算时间。挑战者将采用现有的代码,寻找道路中弯曲的地方并定位,然后有针对性的疏通和加速。赫特强调,由于FUN3D是受出口管制的,因此挑战赛只限美国公民参加。

基于构思挑战和架构挑战的结果,NASA将决定是否启动第三阶段的挑战改写FUN3D并进行验证。挑战者们将在7月提交他们的解决方案,NASA将在8月审查结果,9月宣布获胜的提案。NASA将在10月决定前两个阶段的挑战是否展示出足够的前景以启动第三阶段竞赛。运算速度的改善将是巨大的。赫特表示,进程目前还不够快,我们需要运算速度的跨越式提升。

坎德勒目前对加快运算速度的目标持怀疑态度,FUN3D和大规模代码不是手机APP,它们相当复杂,内部有许多相互关联的流程。通过外部完全不懂CFD和数值方法的人改善这种复杂代码从而提高运算速度的想法是幼稚的。他表示,不像NASA每天使用FUN3D的科研人员,外部的人根本不能胜任。我高度怀疑是否有10倍提速的可能,更不用说1000倍以上了。

改变一个历史悠久的、许多人非常信任的CFD代码也是存在风险的。伯吉斯表示:重新编写已经经过良好验证的类似FUN3D这样的代码可能会引入新的错误。

坎德勒认为,采用公开挑战的方式也会涉及代码的出口受限问题。任何一个下载FUN3D代码的人都应该有一个适当的技术控制计划,并且必须仔细保护代码。我不明白如何在一个黑客盛行的高度协同化的软件开发环境下做到这一点。

但是如果新的视角能够给航宇基础设计代码带来提速,研究人员和设计人员将获得巨大的收益。我认为NASA有优秀的流程管理众包创新从而实现FUN3D运算速度的提升,伯吉斯说,获得的回报是短时间进行大量复杂设计计算的能力。

上一篇:没有了
下一篇:没有了

更多新闻推荐

Copyright © 2015-2019 http://www.77zhth.net. 美高梅官方网站66159有限公司 版权所有