首页/文章/ 详情

CAE软件:目前的形势和任务

2年前浏览820

1. 导言

图1[1] 计算已经成为科学研究的第三种基本手段,与理论和实验并列

在当下的21世纪开发科学计算软件面临着两个挑战

  • 计算硬件的急速发展和不确定性

多核,多线程,矢量化,异构多核,异构内存,petascale时代的MPI设计等等,现下的超级并行计算软,硬件设计正处在一个动荡发展的阶段,科学计算软件的开发如何才能跟上和适应这一过程?

  • 解析对象的复杂化:多物理场,多尺度

从气象分析,核聚变到电子器件,噪声分析,从分子动力学到多体动力学,有限元分析,这样的跨行,跨界分析已经成为现实需求。相应的,软件的设计和开发也越来越复杂。

  • 模拟和数据分析的一体化

所谓数字孪生,与神经元网络计算的统合?等

2. 软件测度

软件的效用可以用不同尺度来衡量,比如

  • 软件本身的生产性。包括软件开发,维护,服务的时间和费用

  • 软件的运营效率。包括软件的运行效率,时间和费用

  • 软件和实验,分析的综合效用。

图2[2] 各种软件品质间的相互影响

软件工程学在这一方面提供了不少有益的见解。俗话说“better, faster, cheaper: choose any two”讲的是如何在软件开发中取得均衡。

3. 开源偏微分方程求解器《四元》的设计和目标

hillyuan/四元gitee.com/hillyuan_be3b/siyuan

  • 软件可以在各种不同的硬件下运行,但是希望能最大限度地使用硬件的计算性能。其实现方法见下述文章

Kokkos:一个异构并行计算通用平台

分布式有限元计算方法

多物理场有限元软件的硬件加速性能评价

  • 柔软的,可对应于各种计算功能的软件接口。现下该接口考虑了: 静态非线性, 瞬态非线性,静瞬态感度分析,优化计算, 稳定性分析和分岔计算, 不确定性量化计算等。

外观模式: 一种非线性问题数学模型定义方法

  • DAG-Based Assembly

图3 FieldManager内用DAG定义变量的依存关系

将所有计算数据的依存关系由DAG(Directed acyclic graph)定义并置于应用程序的上位管理程序FieldManager的一元管理之下。这种数据管理和具体计算程序分离的设计方式使得程序的功能扩张变得容易,特别适用于多物理场间的耦合运算。结合自动求导计算,还可以在方程的Jacobian计算时自动考虑到这些依存关系的影响。

  • 自动求导功能的导入

自动求导运算在有限元软件开发中的应用

由于自动求导功能的导入,用户不需要自己编写Jacobian计算程序。在开发自己的方程求解器是原则上只要定义好了方程式的残差计算式r(u¨(t).u˙(t),u(t),p) 即可。

  • FEM/FVM/FDM一体化实装

同调,上同调和有限元

四元采用的Intrepid2 库采用的Mimetic Dicretization技术可以在本软件框架下同时实现FEM,FVM,FDM计算。

  • 使用了大量现有(主要是Trilinos下属)库。这一策略不关是基于开发成本的考虑,也保证了本软件计算功能的完备和可靠性。

图4[3], 四元软件所引用的库函数

开源软件Albany采用类似的策略。其实若干年前参加开发Albany时发现有种种不满之处,实际上成为了开发《四元》软件的主要动机之一。

4 开源偏微分方程求解器《四元》的现状

溃堤后的水面高度分布 (Shallow water Equation)
磁力线分布(Magneto Static Equation)
浓度分布 (Cahn-Hilliard Equation)
声压分布 (Helmholtz Equation)
温度分布 (Convection–diffusion Equation)

参考文献

[1] U.S. Department of Energy :Software Productivity for Extreme-Scale Science, 2014

[2] Steve McConnell : Code Complete, Microsoft Press, 2004

[3] Andrew G. Salinger等:ALBANY: USING COMPONENT-BASED DESIGN TO DEVELOP A FLEXIBLE, GENERIC MULTIPHYSICS ANALYSIS CODE, International Journal for Multiscale Computational Engineering, 14 (4): 415–438 (2016)

理论科普非线性
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2022-10-02
最近编辑:2年前
hillyuan
力学博士,仿真软件开发者
获赞 139粉丝 12文章 28课程 0
点赞
收藏
未登录
1条评论
仿真秀0919133447
签名征集中
2年前
学习了
回复
课程
培训
服务
行家
VIP会员 学习 福利任务 兑换礼品
下载APP
联系我们
帮助与反馈