内容简介
《大型CAE软件工程管窥》探讨了计算机辅助工程(CAE)软件的发展历程、研发流程及大型项目研发与管理实践,重点分析了美国计算研究与工程采办工具及环境(Computational Research and Engineering Acquisition Tools and Environments,CREATE)项目的开发运维(DevOps)管理实践和基于实践的风险管理方法,对飞行器项目相关的三款主要软件产品(Kestrel、Helios和DaVinci)进行了详细分析,对软件规划、相关功能、架构设计及近期进展开展了跟踪研究,提供了波音公司对Kestrel和Helios两款软件开展的行业评估情况,总结了CREATE项目的经验启示及未来发展方向。
《大型CAE软件工程管窥》适合关注大型 CAE软件开发和管理的CAE软件工程师、CAE软件管理人员以及从事相关研究的高校研究生和教师阅读参考。
目录
第1章 概述 1
1.1 CAE软件发展回顾 1
1.1.1 早期软件开发实践阶段 2
1.1.2 结构化编程和模块化设计阶段 4
1.1.3 面向对象编程和自动化阶段 5
1.1.4 敏捷开发和持续集成阶段 7
1.1.5 云计算和智能化阶段 8
1.2 CAE软件研发流程 10
1.2.1 提出问题 11
1.2.2 确定路径 14
1.2.3 代码开发 15
1.2.4 验证与确认 16
1.2.5 产品运行 17
1.2.6 结果分析 18
1.2.7 做出决策 19
1.3 大型CAE软件开发案例研究 20
1.3.1 美国DARPA高性能计算现代化计划案例 20
1.3.2 美国能源部加速战略计算计划案例 25
第2章 HPCMP CREATE项目 36
2.1 项目简介 37
2.1.1 项目规划 37
2.1.2 软件产品 38
2.1.3 开发团队 46
2.1.4 设计理念 48
2.1.5 知识产权保护 50
2.1.6 软件推广与应用 53
2.2 项目开发运维管理实践 55
2.2.1 核心软件开发实践 55
2.2.2 跨域软件开发协调 57
2.2.3 核心质量保证运营实践 58
2.3 基于实践的风险管理方法 62
2.3.1 风险1:现有软件管理结构无法应对创新软件技术挑战 63
2.3.2 风险2:软件缺陷或不精确模型导致可信度和有效性降低 64
2.3.3 风险3:无权雇佣员工而无法建立软件开发团队 65
2.3.4 风险4:资金削减导致核心人员及知识严重流失 66
2.3.5 风险5:不同组织内多元管理文化的程序协调难题 66
2.3.6 风险6:项目主要发展阶段无法管理需求蠕变 68
2.3.7 风险7:无法预测和应对快速变化的计算及计算机技术 69
2.3.8 风险8:管理人员频繁更替导致丧失资助方的持续支持 70
2.3.9 风险9:失去对知识产权的控制 71
2.3.10 风险10:无法支持CREATE软件用户 72
第3章 CREATE-AV项目 73
3.1 主要产品开发 74
3.1.1 需求收集 74
3.1.2 概念设计 75
3.1.3 设计验证 76
3.2 软件开发日志 77
3.2.1 软件研发阶段划分 77
3.2.2 软件研发里程碑 80
3.3 软件质量保证 83
3.3.1 质量标准与现实限制 83
3.3.2 验证、确认与不确定性的量化 85
3.3.3 质量保证测试 85
3.3.4 软件发布和部署 87
3.3.5 软件培训 89
3.3.6 用户支持及问题分类 89
3.4 自动测试平台 90
3.4.1 生成测试用例套件 91
3.4.2 启动测试 91
3.4.3 生成报告 92
第4章 CREATE-AVKestrel软件 94
4.1 软件规划 94
4.1.1 软件发展路线图 94
4.1.2 软件开发计划时间表 96
4.1.3 能力实现过程 97
4.2 软件设计架构 98
4.2.1 通用可扩展基础架构 99
4.2.2 基础架构与执行层 100
4.2.3 用户界面 103
4.2.4 组件 104
4.2.5 插件 109
4.3 软件主要功能 110
4.3.1 有限体积非结构网格求解器 110
4.3.2 有限元非结构网格求解器 111
4.3.3 不可压流场求解器 112
4.3.4 发动机数值模拟模块 112
4.3.5 弹性结构求解器 113
4.3.6 多种类型化学反应模拟模块 113
4.3.7 并行解决方案 114
4.3.8 教育版本 115
4.4 软件计算环境 115
4.4.1 用户环境 115
4.4.2 运行时环境 118
4.4.3 解决方案环境 119
4.4.4 协作环境 123
4.4.5 测试和验证环境 124
4.5 软件运行及前/后处理 124
4.5.1 作业设置 124
4.5.2 作业运行 125
4.5.3 软件操作及前/后处理 126
4.6 软件近期进展 129
4.6.1 V9.x版本新功能 129
4.6.2 V10.0版本新功能 133
4.6.3 近期进展 135
第5章 CREATE-AV Helios软件 137
5.1 软件规划 138
5.1.1 软件发展路线图 138
5.1.2 能力发布时间表 139
5.2 软件架构 141
5.2.1 软件总体设计 141
5.2.2 软件集成框架 143
5.3 软件组件和功能 144
5.3.1 近体流场求解器 145
5.3.2 新型近体求解器(FUN3D和KCFD) 146
5.3.3 笛卡儿远体求解器 148
5.3.4 域连接模块 149
5.3.5 旋翼综合分析系统 150
5.3.6 网格运动和飞行动力学 153
5.3.7 转捩模型 154
5.3.8 原位分析和可视化增强 154
5.4 软件运行 156
5.4.1 运行界面 157
5.4.2 静态CFD分析 158
5.4.3 动态CFD分析 160
5.4.4 CFD-CA松耦合分析 161
5.5 软件近期进展 163
5.5.1 V9.0版本新功能 163
5.5.2 V11.0版本新功能 166
5.5.3 近期研发进展 168
第6章 CREATE-AV DaVinci软件 171
6.1 航空航天设计的复杂性 171
6.1.1 概念设计现状 172
6.1.2 概念设计过程 172
6.1.3 当前能力差距 173
6.1.4 未来设计需求 174
6.2 DaVinci基本情况 176
6.2.1 采购需求能力差距 176
6.2.2 系统工程能力需求 177
6.2.3 预期特性 179
6.2.4 基本架构 184
6.2.5 产品能力与发展路径 185
6.3 DaVinci V4.0功能 187
6.3.1 软件简介 188
6.3.2 软件能力 191
6.3.3 小结 193
第7章 CREATE-AV软件行业评估 195
7.1 波音公司对Kestrel软件的行业评估 195
7.1.1 评估介绍 196
7.1.2 新用户应用评估 196
7.1.3 专家用户应用评估 200
7.1.4 门户网站应用评估 207
7.1.5 评估结论 210
7.2 波音公司对Helios软件的行业评估 211
7.2.1 评估介绍 211
7.2.2 新用户应用评估 212
7.2.3 专家用户应用评估 216
7.2.4 门户网站应用评估 222
7.2.5 评估结论 223
第8章 启示及未来发展方向 225
8.1 项目启示 225
8.1.1 项目研发过程中的挑战 226
8.1.2 项目研发成功的经验 227
8.1.3 项目研发成功的启示 229
8.2 未来发展的几个方向 232
8.2.1 ADAPT工具 232
8.2.2 机器学习 234
8.2.3 GPU计算 235
8.2.4 代理模型 236
8.2.5 适应下一代硬件体系的发展 237
参考文献 238
试读
第1章 概述
计算机辅助工程(CAE)软件作为现代工程领域的技术基础,是利用计算机技术进行工程分析、仿真与优化的综合性工具平台。此类软件为工程师提供了在产品设计初期精准预测产品实际工况下性能表现的能力,从而降低物理原型依赖、缩短研发周期、提高产品可靠性,对产品市场化竞争及装备采购决策具有重要意义。
CAE软件的发展跨越了多个时代,每个时代的科技进步都为其注入了独特的活力与内涵。从20世纪50至60年代早期软件开发实践的初步探索,到70至80年代结构化编程和模块化设计的逐步成熟,再到90年代面向对象编程和自动化带来的革新,以及21世纪初敏捷开发和持续集成理念的融入,直至如今云计算与智能化的深度融合,CAE软件在不同历史时期的发展轨迹,清晰地记录了工程技术与计算机科学相互促进、共同进步的发展历程。
然而,CAE软件的发展并不仅限于技术层面的演进,其背后还有一套严谨的研发流程与规范作为支撑。该流程始于问题的提出,经过路径规划、代码开发、验证与确认、产品运行、结果分析,最终实现决策优化,构成了一个完整的闭环。每一个环节都至关重要,共同推动CAE软件从理论概念走向工程实际应用。
1.1 CAE软件发展回顾
CAE软件诞生之初仅包含基础数值计算模块,发展至今已演变为集成多学科、多功能的复杂软件系统,其发展历程是一条充满挑战与创新的曲折路径。每一次技术迭代更新以及新功能的集成,均体现了工程需求在不同历史阶段的演变和计算技术的进步。这一演进过程不仅标志着软件功能的逐步扩展与性能的逐步提升,更推动工程设计思想从经验主导转向数据驱动、从局部分析迈向系统集成的深层次转变。
1.1.1 早期软件开发实践阶段
计算机硬件技术的革命性突破为CAE软件的萌芽提供了关键的物质基础。1946年电子数字积分计算机(Electronic Numerical Integrator andComputer,ENIAC)的问世开启了真空管计算机时代,其每秒5000次运算能力虽然有限,但已能完成弹道轨迹计算等基础工程任务。到1959年IBM7090晶体管计算机的推出,运算速度突破每秒10万次,内存容量扩展至32KB,使得复杂结构分析成为可能。特别是1964年IBM System/360系列的问世,首次采用集成电路技术,其模块化架构和32位字长的设计,使单机计算能力达到每秒百万次量级,这为NASTRAN等早期有限元软件的开发提供了硬件支撑。存储技术的革新同样具有里程碑意义:20世纪50年代磁芯存储器的访问时间缩短至6μs,60年代末至70年代初半导体MOS存储器(如Intel 1103)进一步将访问时间降至1μs,存储密度提升数十倍,推动CAE软件在70年代末实现数百节点模型的实用化分析。
编程语言的出现为CAE软件构建了算法实现的载体。1957年IBM公司推出的Fortran语言彻底改变了科学计算的编程方式,其优化的数组处理机制使矩阵运算效率较汇编语言提升3~5倍。在NASTRAN开发中,超过80%的核心代码编写使用了Fortran语言,其DO循环结构极大简化了刚度矩阵的装配流程。值得注意的是,其他编程语言也深刻影响着CAE架构设计:块结构概念启发了软件模块划分思想,其作用域规则为后来的前处理/求解器/后处理模块分离奠定了基础。编程语言发展过程中确立了基础的编程范式,如过程式编程、函数式编程等。这些范式推动了CAE软件从概念走向实际应用,并为后续CAE软件发展奠定了坚实基础。
数值方法的理论突破构建了CAE软件的核心算法体系。有限元法的演进轨迹尤为典型:1956年Turner等人出在波音公司首次将三角形单元应用于机翼分析,1960年Clough提出“有限元”术语并开发平面应力分析程序SAFE。有限差分法领域,1955年Peaceman等人提出的ADI算法将二维热传导问题的计算效率显著提升,1968年Stone提出的SIP方法使石油渗流模拟的收敛速度大辐加快。英国国家物理实验室Wilkinson团队1965年提出的QR分解算法将特征值计算复杂度从O(n3)降至0(n2),使模态分析首次能在小型机上实现。这些突破性进展通过NAG Library的算法封装实现工程化应用,其V1版本集成的72个数学子程序(包括线性代数求解器、常微分方程积分器等),成为早期CAE软件的标准算法来源。
经典CAE软件开发实践体现了工程需求的驱动作用。NASA主导的NASTRAN项目(1966-1970)是这一时期的标志性软件工程,其开发过程体现三大技术创新:首先采用模块化架构将系统划分为多个功能组件,其中执行控制模块首创基于DMAP语言的求解流程定制技术;其次建立工程数据库管理系统,支持刚度矩阵等数据对象的持久化存储,其二进制文件格式效率据称较文本格式提升10倍;再次开发自动误差控制系统,通过条件数估计和残差分析实现计算精度的量化评估。英国国家物理实验室(NationalPhysical Laboratory,NPL)的NAG项目则开创了算法库开发模式,其1967年发布的V2版本包含142个数学程序,涵盖特征值计算、稀疏矩阵求解等关键技术,被很多科研机构采用。
……
前言/序言
随着软件技术的快速发展和工程应用实践的深入,计算机辅助工程(Computer Aided Engineering,CAE)软件已成为现代工程设计与分析的重要工具。CAE软件集成了物理、数学、计算机科学等多个学科的研究成果,并通过整合共性算法库与运行时环境等支撑技术,有效克服了复杂数学物理模型、计算优化方法及流程操作的复杂性问题。CAE软件可以灵活支持前处理、后处理等环节的集成,能够对复杂产品的功能、性能及行为进行仿真分析与优化设计,其模拟分析不仅能够大幅缩短产品研发周期,降低生产成本,而且可以显著提升产品的性能指标。因此,CAE软件已成为“虚拟制造”和“数字化设计”的核心技术,为工程创新与产业转型提供了强有力的技术支撑。
尽管CAE软件在工程领域的应用取得了巨大成功,但其商业市场呈现出高度集中的特征。ANSYS、Siemens、Altair Engineering、MSC等头部企业占据了绝大部分市场份额,形成了明显的垄断态势。这不仅对我国工程软件行业的发展带来严重影响,也使得我国中小企业在承担高昂软件成本方面面临巨大压力,部分高端功能模块甚至成为我国难以获取的受限技术。针对这一问题,习近平主席在2018年两院院士大会上强调,关键核心技术是要不来、买不来、讨不来的。因此,必须正视我国在大型CAE软件研发领域的困境与不足,迎难而上,开发具有自主知识产权的大型CAE软件。
大型CAE软件的研发是一项复杂工程,不仅面临技术、资源、市场、用户需求、法规及长期维护等多维度挑战,而且需要理论研究、技术创新、软件集成和工程实践等多方面的协同合作。研发团队必须应对多物理场耦合、数值方法、大规模计算、智能优化等技术难题,并且要进行需求分析与规划、风险管理、团队建设、质量保证、配置与变更管理等项目管理活动。此外,还需要深入了解用户需求和市场动态,以便持续地满足市场需求。
美国“计算研究与工程采办工具及环境”(Computational Research andEngineering Acquisition Tools and Environments,CREATE)项目的成功为我们提供了学习大型CAE软件研发的宝贵案例。该项目于2008年启动,涵盖了飞行器、舰船、车辆、射频与几何网格5个领域的13个独立软件产品。其中,CREATE-AV(飞行器)领域开发的Kestrel(面向固定翼飞行器)和Helios(面向旋翼飞行器)两款软件均先后发布二十余个版本,并在政府和军工部门得到广泛应用,支撑对典型工程产品的概念与详细设计进行独立分析评估,显著提高了装备采购人员的工作效率。CREATE项目的成功与其基于实践的风险管理方法密切相关,其独具特色的项目开发运维管理实践对现代大型CAE软件开发具有重要启示意义。
本书所引用的资料均来源于互联网公开信息。鉴于CREATE项目相关信息的发布和披露相对有限,本书仅能以管中窥豹方式进行分析和展示。此外,由于作者在CAE软件研发领域的知识视野有限,书中难免存在偏颇或错误之处,作者诚挚地希望读者能够提出宝贵意见,以便在后续版本中进行修正和更新。
作者
2025年12月




















