0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基础通用CFD软件开发的五个难点

中润汉泰 来源:中润汉泰 作者:中润汉泰 2022-12-08 20:33 次阅读

作为国家重要基础工业产品的国家数值风洞(NNW)工程起源于2018年。NNW项目致力于开发国产CFD研究与应用领域的自主战略性工具,专注于以气动计算为核心,功能覆盖网格生成、流动求解、多学科计算、流场可视化以及可靠性分析等CFD分析全链路。NNW项目的核心是绵阳国家空气动力研究中心开发的通用非结构求解器风雷(PhengLEI)。以风雷为原型,以NNW项目作为支持已经派生了FlowStar低速流动求解器,HyFlow高速流动求解器等多学科领域的高性能求解器。

于名于实“风雷”都是国家基础通用CFD工具最恰当的名字。

为何现在才开发出来基础通用CFD工具呢?有几个数据作为参考:

与国家空气动力中心分立在绵阳城东西两翼的中国工程物理研究院在近六十年前的1964年成功爆炸了第一颗原子弹。如果从1957年立项来说,所用时间为7年。氢弹所用时间为不到3年。

比肩F22的隐身战斗机歼20从研制到首飞不到10年时间。

为何国力雄踞全球第二的今天,大国重器数不胜数,基础通用CFD工具才刚羽翼初丰呢?

答案非常简单:基础通用CFD工具研发是属于国家工业基础技术,代表了一个国家工业实力的重要一环。从重要性上来说,类似于全民医保,国家电网等重要基础民生项目建设。同时它是一项具有超高难度的跨学科的重要科研项目。

困难之一:需持之以恒,非国家队不办。

核心求解器的开发需要CFD专业的顶级人才,呕心沥血,三五年搭台,七八年打磨,十年才能初见成效。无论是从团队构成,人员稳定来说,只有国有科研单位才能完成。美国著名的求解器,究其来源多数来源于国立实验室。

90b555d8-35b2-11ed-ba43-dac502259ad0.png

困难之二:需博采众长,非多学科汇集不成。

很多高校都开发了自己的Inhouse求解器。Inhouse求解器与通用基础求解器的差异大约相当于个人的家宴与麦当劳的快餐供应链之区别吧。下图是风雷的软件框架:

90e2de5e-35b2-11ed-ba43-dac502259ad0.png

大型基础CFD的架构设计某种意义上比求解器精度设计要重要的多,因为软件架构设计牵涉到整个项目的成败,求解器精度倒是可以日日打磨,时时进步的。编写CFD求解器的专业人员,未必熟悉CFD各种数据对象的最佳抽象和表示,更不一定了解里氏替换原则,但是这是IT技术的基本功。

91084cb6-35b2-11ed-ba43-dac502259ad0.png

困难之三:需以实验虚,非试验验证过程不可。

一个普通的流体算例动辄有十个以上参数(比如湍流模型)影响精度。虽然国际上也有公布的较为可信的流体试验数据,但是对于所使用的领域如果没有自主试验数据做校核,就失去了基本的自主度量标准和评价标准。

912dc40a-35b2-11ed-ba43-dac502259ad0.png

困难之四:需快马加鞭,非并行计算不行。

高精度高分辨率的三维湍流流动求解是超级计算机最常见的标准验证测试。高性能的区域分解技术、并行适配技术是现代高性能CFD求解器的标志。一句话,算得再准只有科学价值,必须要算得快才有实用价值。流体求解器从科研走向应用,HPC技术是必需的台阶。

9156e042-35b2-11ed-ba43-dac502259ad0.png

困难之五:需可信可靠,非VVUQ过程不信。

VVUQ是验证确认与不确定性度量的缩写。VVUQ有多困难呢,可以看个例子:

函数Y=A*X2+B*X+C是一个简单的初等二次函数,假如A、B、C服从各自独立的高斯分布,请问如何获得Y的分布?

如果把Y的表达式换为NS方程组的话,怎么获得Y的分布呢?这个问题即便是统计学专业毕业,如果是频率学派的话,其实也不太容易找到最佳方案。

风雷项目工程从验证与确认方法、数据和工具三个方面开展了大量工作,构建了完整的验证与确认体系。无论是流体分析还是结构分析或者EDA领域,风雷项目在自主CAE产品方面都是第一个构建VVUQ体系的。

918df97e-35b2-11ed-ba43-dac502259ad0.png

技术困难以外,资金支持,项目管理也都是非常重要的影响因素。

风雷项目历史地,责无旁贷地,而又自然而然地落到了具有最强大流体计算团队,最完整的高低速流体试验装置和最领先的计算机软件研发团队的中国空气动力研究与发展中心的肩上。

这一天,距离那时少壮的邓小刚院士的蓝图设想差不多有20年了。

编辑:黄飞

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 超级计算机
    +关注

    关注

    2

    文章

    434

    浏览量

    41609
  • CFD
    CFD
    +关注

    关注

    1

    文章

    82

    浏览量

    18022

原文标题:风雷动,旌旗奋:闲谈基础通用CFD软件开发难点

文章出处:【微信号:SinoEngineer,微信公众号:中润汉泰】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    RTX低功耗软件开发

    软件开发
    橙群微电子
    发布于 :2023年02月21日 12:16:24

    RTX低功耗软件开发(三)

    软件开发
    橙群微电子
    发布于 :2023年07月11日 15:48:14

    计算流体力学(CFD)的通用软件

    计算流体力学(CFD)的通用软件摘要:对化学工程领域中的通用CFD(Computational Fluid Dynamics)模拟软件Pho
    发表于 03-18 22:24

    工控上位机软件开发全流程

    工控上位机软件开发全流程自研-上位机软件开发-工业级控制系统一、上位机软件开发底层设计二、上下位机通信的安全性三、上位机软件接收与存储研发四、数据清洗与图形展示研发
    发表于 07-19 08:42

    Eclipse嵌入式软件开发平台

    随着嵌入式系统在通信、网络设施、航空、航海和航天等领域的大范围应用,需要功能强大的软件开发平台辅助嵌入式应用软件开发。一个好的软件开发平台是衡量
    发表于 12-01 15:37 55次下载
    Eclipse嵌入式<b class='flag-5'>软件开发</b>平台

    ARM嵌入式软件开发

    ARM嵌入式软件开发ARM嵌入式软件开发ARM嵌入式软件开发
    发表于 01-15 17:29 63次下载

    CFD软件开发的三个阶段

    本白皮书结合历史背景分析探讨了产品开发用商业 CFD 软件开发所经历的三个阶段,并讨论和展望了未来开发所面临的挑战和机遇。
    发表于 09-11 14:53 11次下载
    <b class='flag-5'>CFD</b><b class='flag-5'>软件开发</b>的三个阶段

    低代码平台在ERP软件开发中的作用

    比较明显的。下面一起来了解一下相关的知识吧! 低代码平台对ERP系统开发的作用: 低代码是针对整个软件开发行业的工作模式提出的,并不单单只是针对ERP系统,低代码开发通过将比较常见的功能模块组件化,
    发表于 05-09 11:16 728次阅读

    Linux软件开发环境

    Linux软件开发环境介绍。
    发表于 03-25 15:46 7次下载
    Linux<b class='flag-5'>软件开发</b>环境

    汽车软件开发流程介绍

    在汽车软件开发中,软件开发流程是软件工程的核心,因为它们为软件开发实践“提供了一个骨架并确保了它的严谨性”。软件开发的流程包含“阶段”“活动
    发表于 08-15 12:03 1.3w次阅读

    软件开发外包有哪些坑要注意?

    提起软件开发外包,大家并不陌生,因为很多企业已经选择了软件外包,但是有人会说软件开发外包就是个坑,千万别选择软件外包。   其实软件外包是没
    的头像 发表于 10-11 18:36 1163次阅读

    自己写一个CFD软件很容易吗?

    简单说来。一个好的CFD软件,或者说一个能往外推的CFD软件,应该经过千锤百炼!
    的头像 发表于 05-18 10:21 690次阅读
    自己写一个<b class='flag-5'>CFD</b><b class='flag-5'>软件</b>很容易吗?

    【沐渥科技】软件开发定制的类型有哪些?

    选择软件开发定制的原因有很多,一是软件的运用是企业管理模式的重要组成部分;二是企业有着自己的一体化业务流程,如果使用通用软件则需要企业改动自身业务流程去适应软件,不
    的头像 发表于 08-16 16:50 352次阅读
    【沐渥科技】<b class='flag-5'>软件开发</b>定制的类型有哪些?

    软件开发的流程和方法有哪些?

    软件开发是根据客户要求构建出软件系统或者系统中的软件部分,一般是通过程序设计语言实现的,比如C/C++/JAVA/JSP/ASP等开发语言。软件开发
    的头像 发表于 12-27 10:56 1119次阅读
    <b class='flag-5'>软件开发</b>的流程和方法有哪些?

    嵌入式软件开发软件开发的区别

    嵌入式软件开发软件开发是两个不同的概念,它们在一些关键方面有着明显的区别。嵌入式软件开发是指开发嵌入在硬件设备中的软件,而
    的头像 发表于 01-22 15:27 594次阅读