“工程数值计算与有限元”课程建设

2021-03-15 05:30张一鸣王雪雅
教育教学论坛 2021年1期
关键词:研究生课程数值计算工科

张一鸣 王雪雅

[摘 要] “工程数值计算与有限元”是一门理论—应用结合紧密的工科研究生课程,与其他研究生课程相比,该课程有如下特点:首先,该课程与本科课程高等数学、矩阵论、弹性力学、现代数值计算、程序设计等存在关联,需要一定的知识广度,部分知识点理论性强,也要求一定的知识深度;其次,该课程为研究生后续掌握有限元软件操作、分析工程案例甚至开发软件奠定良好的基础,可以帮助学生“知其所以然”,体现出了应用性与可扩展性。从工科人才培养角度看,课程有着重要的承上启下作用,日益受到学界与科研界重视。该作者基于自己的海外课程经历,结合过去数年的教学经验,在文中提出了“工程数值计算与有限元”课程的一般建设思路,结合了理论授课与案例教学模式,并讨论了课程未来发展方向。

[关键词] 工科;研究生课程;数值计算;有限元

[中图分类号] G643      [文献标识码] A     [文章编号] 1674-9324(2021)01-0033-04    [收稿日期] 2020-10-30

一、前言

世界范围内新一轮科技革命和产业变革加速进行,人才培养是提高国际竞争力的必然要求。2010年,教育部召开“卓越工程师教育培养计划”启动会并提出了“新工科”概念,确立了以培养多元化、创新型和复合型高素质工程人才为教育发展目标。另一方面,2015年国务院提出《中国制造2025》,再一次把提高创新能力、产业质量与信息化程度,从而提升制造业战略支撑作用作为近阶段的新型制造业发展方向。新形势下的新型人才培养是高校的重要任務,顺应时代要求开展教学改革是提高学生素质的基本手段。

我国传统工科人才培养过程中,存在“重两头,轻过渡”的现象,即强调理论基础与具体操作,而忽视了理论—实践的平滑过渡。反映到实际中,学生感觉理论课程“用不上”,而实践课程“只会用”。以目前作为“智能制造”“工业互联网”“数字孪生”等关键技术基石的计算机辅助工程(CAE)技术相关课程为例,学生多数未能建立这些课程与基础课程之间的联系,往往学会了软件操作,但不理解计算全流程,对于中间过程似懂非懂,存在盲目性。

针对上述不足,“工程数值计算与有限元”作为一门连接数学、物理、计算机等基础理论与CAE分析实践的过渡课程,显得尤为必要。考虑研究生课程要求和授课特点,笔者认为“工程数值计算与有限元”作为一门研究生课程,应满足如下要求:一是由于研究生本科毕业于不同高校,知识基础存在差异,因此课程设置应深入浅出,并建立在国内高校“元课程”如“高等数学”“矩阵论”等基础之上;二是课程课时不宜过长,但应具备一定广度,介绍性知识不过度展开,对于关键知识则应重点论述;三是课程应包含较新的领域内成果,摒弃一部分过时内容,在有限元部分,引入较新的案例方法来辅助教学。

基于上述要求与课程建设目标,笔者在本文中对“工程数值计算与有限元”课程的课程结构、授课内容、组织逻辑、案例分析进行了具体阐述与讨论,在本文的论述过程中,笔者注重数值计算—有限元之间的内容过渡,从而让学生在课程学习中能够融会贯通,举一反三。

二、课程建设

工程数值计算与有限元包括了数值计算与有限元两个主题,笔者认为,两个主题的内在逻辑可以简述为:“前者是后者的构成基础,后者是前者的综合应用。”此处首先阐述工程数值方法的主要授课内容,工程数值方法主要授课内容与数值方法相关,但是与传统上占据大量课时的数值方法课程相比,进行了大幅缩减,仅保留了与有限元关联最紧密的内容,同时对于笔者认为阐述不清的部分也进行了额外补充。

笔者梳理的数值方法授课内容如图1所示,与传统的课程内容相比,大量内容被删减,部分相关章节被合并,如插值与拟合、数值微分与积分,以此来区分和对比计算过程与步骤。所保留章节的作用是形成有限元理论所必需的关键“组件”,从数值计算相关理论循序渐进获取如下“组件”:一是多维情况下的牛顿迭代法;二是现代线性方程组求解器;三是形函数;四是最小二乘法;五是差分法;六是多维情况下的高斯积分。具体的教授逻辑如下:

第一章节,非线性方程求解,点名问题本质为“F(x)=0,x=?”,由此以二分法做引子,引导学生进入主题。虽然二分法在实践中适用范围极窄,应用场景极为有限,但是其简单易懂,具备初中几何知识即可理解,门槛低,在实践中笔者发现授课效果极好。然后直接教授最为常用的牛顿法,与二分法相比,牛顿法需要一定的高等数学知识,笔者认为牛顿法应充分结合梯度概念来讲授,即沿着最速下降方向来搜索迭代的概念,对于传统教科书中的理论背景泰勒展开仅做简单介绍。传统教材中该章节内容往往止于一维牛顿法求解,笔者认为不合适,有如下原因:一是一维问题采用的是直接求导,而多维问题采用偏微分,但两者的根源都是梯度向量,进一步讲授多维问题有助于学生理解梯度在求解过程中扮演的角色;二是一维问题的牛顿法求解没有引出矩阵的概念,与后续章节的线性方程系统求解存在跳跃,学生难以发现章节间的关联。此处仅需补充一个多维非线性方程组算例即可,笔者在课程中一般选用一个三维问题作为算例,考虑到3×3的矩阵求逆可通过Excel软件完成,三维问题的门槛较低,易调错,因此也可作为课后习题布置。

第二章节,线性方程系统求解,接续了上一章节内容展开讲解。过去数十年间应用数学与计算机领域飞速进步,多种与求解器相关的计算方法纷纷涌现,例如基于图论方法进行前处理,基于多波前法进行方程组并行分解等[1]。与之对比,传统课程教授内容较为滞后,应予以更新和删减。笔者在授课过程中仅对最为经典的高斯消去法和分解法做简单介绍,然后直接讲授现代求解器内容,具体介绍多种高效直接法求解器如MUMPS,Pardiso,SPOOLES等。重点阐述求解器的通用输入输出方式,对于求解器的运行原理推荐学生基于兴趣自学。

第三章节,插值&拟合,两个概念有共通点,也有明显区别。笔者建议以插值章节作为重点阐述内容,占章节总内容的60%以上。虽然除拉格朗日插值以外,也有其他极为重要的插值方法,例如基于傅立叶变换的三角插值多项式,但是作为有限元形函数最为常用的格式,笔者在课程中以拉格朗日插值作为基础教授内容。然后较为自然地过渡到有限元形函数,一般以线性三角形单元和双线性四边形单元为具体例子,其中三角形单元需教授面积坐标相关概念,而双线性四边形单元需教授ξ-η与x-y坐标变换相关内容,包括雅克比矩阵的推导等,此处可通过类比一些日常生活的例子来强化学生认识,例如笔者在教授四边形单元形函数时会将场与坐标函数的关系类比为被子与被套的关系。拟合章节以简单算例教学为主,导出其“误差最小化”的数学背景,也为有限元方法的最小能量原理进行理论铺垫。

第四章節,求导&积分,将两者作为逆运算展开讨论。数值求导应结合数值差分,需介绍几种常用的差分格式。而积分应作为重点阐述内容,占章节总内容的70%以上。仅讨论两类常用数值积分方法,包括牛顿-柯特斯积分与高斯积分,尤其是高斯积分,从一维函数积分→求曲线下面积,到二维函数→求曲面下体积,再到三维函数积→求实体密度变化总质量,逐步深化认识并展示高斯积分点在不同维度下的相对位置,结合上一章节的双线性四边形单元形函数格式,再一次举例说明四边形单元中高斯点坐标、权重,同时再次强化坐标变换概念。

至此,数值计算课程中与有限元关联最强的内容基本教授完成,虽然还有部分其他内容,例如特征值求解、样条函数等,与工程中的振动问题及等几何有限元分析相关,但是由于课时限制,笔者建议这些内容由研究生自学了解。

笔者梳理的有限元方法授课内容如图2所示。如前所述,数值计算授课所提供的关键“组件”将为有限元方法提供支撑。除这些“组件”以外,为了保证理论完整性,还需额外补充(迦辽金)弱形式、最小能量原理、数学物理方程相关知识。(迦辽金)弱形式和最小能量原理的补充过程以举例说明为主,可讨论分析一个一维变截面悬臂梁在集中荷载下的变形,教授数学物理方程相关知识内容时,简要介绍三大方程,描述物理背景、方程初始及边界条件,无须过度展开。补充内容教授完成后,即可开展有限单元法案例式教学。笔者在奥地利维也纳科技大学攻读博士学位期间,修习了多个大学研究生课程,包括有限元基础及多尺度理论,之后在奥地利因斯布鲁克大学助理教学时辅助教授多物理场计算模型与方法。在这些受教与助教过程中,笔者意识到欧洲大学对于案例式教学极为看重,任课教授们往往会先提出具体问题,深化问题细节,再进一步描述解决问题的相关方法和所需的文献,由于问题相较方法更为具体,更易牢记,如此一旦时间久了产生知识遗忘时可通过问题再次出发,搜寻相关文献,重演逻辑过程,强化认识。之后当笔者回国任教后也开始以问题和案例而非方法为中心,同样收获了良好的效果。

笔者建议案例教学应包含至少两个算例,第一个是一个弹性力学平面问题,例如一个受集中荷载的悬臂深梁,首先展示该问题的偏微分控制方程,并指出其数学物理性质(椭圆方程),然后补充边界条件,接着基于最小能量原理和弱形式,给出有限元表达式。然后将计算域剖分为1到2个单元以方便半人工计算,此处可基于对称性剖分从而进一步简化问题,接着按照有限元计算流程:积分计算单元刚度矩阵—组装成总刚度矩阵—求解线性方程组。可见该算例计算过程中用到了数值计算所教授的几大“组件”,包括形函数、多维高斯积分、求解器。类似的,第二个算例笔者建议选用一个一维瞬态热传导问题,该问题为抛物线偏微分方程,数值计算时在时域上采用有限差分法,在空间域上采用有限单元法,建议剖分为2到3个一维单元,然后求解2到3个时间步。该算例用到的组件包括了差分、形函数、高斯积分、多维牛顿迭代以及求解器。其他可行算例包括一维振动问题等,可通过与解析解对比的方式综合验证。

算例计算过程建议采用半人工方法,结合一定的课后习题,可借助如Mathematica,Matlab等数值计算软件及Python,C++,Fortran等编程软件。另一方面,也应鼓励学生利用商用有限元软件如Abaqus,Ansys,开源有限元程序如Calculix等多种方式对比观察算例的计算结果与收敛特征。

最后,课程的终末测试建议以选择/计算题为主,主要测试有限元案例,夹杂数值计算内容,测试例题包括:提供控制方程,回答类型及对应弱形式;提供单元坐标信息,计算某高斯点B矩阵;单元刚度矩阵提供的条件下写总刚矩阵;提供某稀疏刚度矩阵,写出某求解器的对应的向量输入格式等。

三、结论与展望

本文作者基于过去数年授课经验,结合了案例式教学方法,对于研究生课程“工程数值计算与有限元”建设展开了讨论。针对本课程涉及其他课程多,同时研究生基础知识差异大、课时设置少的现状,提出了结构清晰、重点突出、可行性高的课程建设思路,对于教授流程也进行了重点说明。

另一方面,考虑到计算机、信息学等学科的飞速发展,笔者对于本课程未来建设有一些建议与展望:一是虚拟视觉技术的引入:虚拟现实(VR)、增强现实(AR)等手段在教学中的使用,可以让学生对于多维问题和高阶张量的几何特征有更为深入的了解,深化认识;二是计算机学科相关成果的引入:近年来由于产业高利润,计算机科学尤其是计算机图形学吸引了全球范围内大量极高素质跨学科科研人员,发展极为迅速,如[2-3]相关成果,此类内容的引入可以加深研究生对于跨学科研究的重视,拓宽视野,进而全面发展;三是新世代计算方法的引入:目前涌现了深度神经网络求解复杂偏微分方程甚至量子计算方法求解优化问题等多种突破性方法,将其纳入课程教材与教学内容可以让学生对于下一个世代的工程数值计算有更为深刻的认识,为有志于从事科研的研究生们指明未来方向。

参考文献

[1]P. Amestoy, I. Duff, and J.-Y. LExcellent.Multifrontal parallel distributed symmetric and unsymmetric solvers[J]. Computer Methods in Applied Mechanics and Engineering, vol. 184:501-520, 2000.

[2]Y. Hu, L. Anderson, T. Li, Q. Sun, N.Carr, J. Ragan-Kelley, F. Durand.“DiffTaichi: Differentiable Programming for Physical Simulation” [DB]. arXiv: 1910:00935.

[3]J. Wolper, Y. Fang, M. Li, J. Lu, M. Gao and C. Jiang.“ CD-MPM: Continuum Damage Material Point Methods for Dynamic Fracture Animation”[J].ACM Transactions on Graphics, vol. 38, Article No.: 119.

猜你喜欢
研究生课程数值计算工科
云计算环境下研究生课程信息化体系的重塑与优化
英国电子信息类课程观摩与思考
工科研究生教学模式的思考与创新