欢迎订阅!欢迎投稿!
投稿邮箱:jiaoyujiaoxuelt@VIP.163.com
你的位置: 首页 » 收录论文 » 正文
《教育教学论坛》是经中华人民共和国新闻出版广电总局批准,由河北出版集团主管,河北教育出版社主办、中国教育发展战略学会终身教育工作委员会协办的教育类学术期刊。

《教育教学论坛》编辑部

QQ : 859367193

编辑部投稿邮箱:jiaoyujiaoxuelt@VIP.163.com

电话:0311-87766660 80820729

地址:河北石家庄联盟路705号 河北教育出版社 《教育教学论坛》杂志社 编辑部

自编计算流体教学程序与人才培养的思考与实践
2024-02-19

自编计算流体教学程序与人才培养的思考与实践

   蒋运华,龚 喜,王   

(中山大学 海洋工程与技术学院,广东广州 510275)

[摘  要]针对计算流体力学在海洋工程与技术及相关工科专业的教学需求,思考计算流体力学课程教学的特点和存在的问题,即教学以讲授理论为主,计算实践主要采用大型封装的商业软件,初学者难掌握。因此,从激发学生学习该课程的兴趣、帮助学生理解离散格式和数值计算方法理论、和培养学生利用计算流体力学知识实际解决问题能力出发,尝试自编教学程序在实际教学中的实践,在教学过程中取得较好效果,可为相关专业的课程教学提供一定参考。

[关键词]海洋工程与技术;计算流体力学;教学思考;教学实践

[基金项目]2021年中山大学本科教学质量工程类项目资助课题:自编开源CFD教学平台培养核心创新人才,76170781。

[作者简介]蒋运华1984-),男(汉族),广西桂林人,博士,中山大学海洋工程与技术学院副教授(通讯作者),博导,研究方向:计算流体力学教学改革等;王凯(1983-),男(汉族),浙江东阳人, 博士,中山大学海洋工程与技术学院,副教授,硕导,研究方向:计算流体力学教学改革等;龚喜(1987-),男(汉族),湖北宜昌人,硕士,中山大学海洋工程与技术学院,实验师,研究方向:水下特种装备探测与控制、实验室教学改革等。

[中图分类号]G642.0   [文献标识码]A  

 

一、引言

计算流体力学是海洋工程与技术等众多工科类专业的核心课程。它20世纪60年代随着计算机技术和数值计算算法发展而迅速发展起来的一门流体力学分支的学科[1-3]。目前,随着计算机技术和数值计算算法的发展,计算流体力学已经成为研究流体流动问题的三个有效手段之一(即,理论研究、实验研究和数值计算)。而流体的流动问题广泛存在于海洋工程与技术、航空宇航科学与技术、兵器科学与技术、核科学与技术、力学、机械工程、材料科学与工程、动力工程及工程热物理、土木工程、水利工程、环境科学与工程、石油与天然气工程、化学工程与技术、生物医学工程等工科类学科[2-5]。因此,大多数工科专业都要求学生能够利用所学的流体力学知识,分析解决所在专业领域相关流体力学问题[2]。而流体力学的核心控制方程NS方程,只有在极其简化条件下才有理论解,因此很难在理论上获得各种复杂问题的理论解。现阶段,研究流动问题的实验手段,主要包括各种水洞、水槽、水箱、水池、风洞实验等。这些实验手段能够很好的模拟各种实际的复杂流动,但是要想模拟的更加准确,需要耗费大量的资金,而较小尺度的实验又存在边界效应、尺度效应等问题。计算流体力学作为流体力学的研究手段之一,主要通过有限差分、有限体积方法离散NS方程进行数值求解。随着计算机技术的发展,计算流体力学已经从求解雷诺应力平均的湍流数值模拟,逐步发展到大涡模拟,到目前的小规模网格的直接数值模拟,即直接求解NS方程。可以预见的未来,大规模网格的直接数值模拟会得到广泛的发展与应用。因此,计算流体力学技术必然成为流体力学研究的重要手段之一,从而也必将成为众多工科类专业学生必须要掌握的核心专业课程。

 

二、计算流体力学教学现状与思考

由于计算流体力学这门课程需要学生掌握大量的数值计算方法理论,如:要求学生掌握流体力学的控制方程的基本形式以及相对应的物理意义、理解有限差分方法、有限体积方法、掌握线性方程的求解方法、掌握网格的生成原理的方程变换等。同时,计算流体力学课程还要求学生利用所学的各种计算流体力学理论进行数值程序的求解,并对数值计算的数据进行输出、处理和分析。因此,计算流体力学课程是一门理论与实践相结合的课程,这对学生和老师都提出了很高的要求。而目前,我们的计算流体力学课程教学主要首先通过教师课堂讲授计算流体力学涉及的各种理论,然后利用一些主流大型的计算流体力学软件,如Fluent、CFX、OpenFOAM进行数值方法算列讲解验证[6-8]。这样的教学模式存在两个问题,一方面大量的计算流体力学理论教学,依旧是灌输模式,学生很难在短时间内接受有限差分、有限体积、格式精度等众多对数学知识要求较高的理论问题。另一方面,采用如Fluent、CFX、OpenFOAM进行数值方法算列讲解验证,由于这些软件除了OpenFOAM是开源代码(但是代码冗长),其他都是封装软件,很难让初学计算流体力学的学生对所学的计算流体力学理论与实际计算完全结合理解。同时需要注意的是这些大型的计算流体力学软件都属于国外相关公司,存在被禁用的风险。因此,目前的计算流体力学教学很难培养出掌握计算流体力学核心思想理论并能自行编写计算流体力学计算代码的核心创新人才。而由于Fluent、CFX、OpenFOAM等大型国外软件在各个工科内行业的广泛使用,导致未来我国在计算流体力学计算程序自主研发的道路上存在卡脖子问题[3]。所以,我们急需改变目前的教学模式,尽快培养出能够开发自主计算流体力学软件的核心创新人才。

 

三、自编计算教学平台与教学实践

结合前期在计算流体力学方面的教学和科学研究成果,将课题组现有的计算流体力学代码进行整合开发一个开源的计算流体力学教学平台,并将其用于实际的计算流体力学教学过程中。如在讲授有限差分法或各种精度的格式的时候,可以直接调用开源计算流体力学的计算代码。这样在教学过程中,学生很容易掌握有限差分法或各种精度的格式和在具体编写计算流体力学代码的使用方法,具有良好的互动教学效果。同时,通过开源的计算流体力学教学平台,学生能够真实感受到方程被离散开来用计算机进行加减计算,使得计算流体力学教学更加具体。最终,不仅会激发学生浓厚的学习兴趣,也会加深学生对计算流体力学理论和实践程序编写的深刻印象,并吸引学生加入到该计算流体力学开源平台的开发中来。经过这样的教学,这些学生未来如果从事计算流体力学相关行业,将具备解决实际工作中的流动问题的能力[4]。因此,自编开源计算流体力学教学平台可有效解决计算流体力学理论与实践教学脱钩和教学导致的只会使用国外商业封装软件的问题。

具体开展实施是在2021年春季和秋季学期,授课对象为2018级大三的海洋工程与技术专业本科和力学学术型硕士课程。课程成绩主要包括平时课堂学习情况占比15%,其中课堂学习占5%,平时作业占10%;编写的数值计算程序占比20%,期末闭卷考试占比65%。从教学过程和教学考核都强调实际编写计算程序的能力培养。作为开始实践主要应用了两个例子进行说明,一是自编不同格式求解激波相遇问题,二是自编准一维喷管流动的数值解用于计算流体力学教学过程。具体来说,使用Fortran语言,采用Godunov和Roe格式求解激波相遇问题并进行比较。在网格较密的情况下,两种格式均能够很好的描述激波相遇问题,得到管内各个区域的流动。其中Godunov格式采用Riemann方法构造界面值,与Roe格式的Rou平均方法相比,具有更高的精度,求解的结果能很好地验证这一理论。通过这一问题的求解可以让学生直观掌握不同差分格式的求解过程以及精度问题。同时吸引学生加入到这个教学平台的开发中来,实现界面程序的编写。

对于第二个问题,使用Fortran语言,采用MacCormack方法求解准一维喷管流动的数值解并与精确解进行比较研究,并编写了相应的界面,方便展示,结果见图1。

自编计算流体教学程序与人才培养的思考与实践自编计算流体教学程序与人才培养的思考与实践 

 

图1 起始界面、解析解曲线图和数值解曲线图

通过这一个教学学年的思考和在教学过程中的具体实践,经过与学生的交流,普遍激发了学生学习计算流体的学习兴趣,也加深和帮助学生理解有限差分方法、有限体积方法、线性方程的求解方法、网格的生成原理的方程变换等。在课程结束的时候,每一个同学都积极参与具体数值计算程序的编写。而每一位同学都尝试寻找自己感兴趣的问题,使用自己熟悉的语言,从方程的离散到数值计算程序的编写和调试,真实的培养学生实际解决问题能力。同时同学们编写的程序,经过整理,未来可以用于该课程的教学平台,达到了良好互动,即培养了学生也促进了教学的改革,其中一个教学班级编写的代码情况见图2。

由于计算流体力学课程在工科核心人才培养中的重要性,以及该课程理论与实践结合的特殊性质,众多学者对教学方法进行了有益的改革尝试。目前该课程的教学问题依旧存在,而自编程的开源教学平台可以有效解决CFD理论复杂、教学不直观,使用商业软件存在看不到源代码和被禁用风险等问题,可为我国培养自主CFD核心创新人才提供一个有效的教学方法。

今后计算流体力学课程的持续建设计划主要包括以下几个方面,(1)加强课程教学课件建设,提高课件的质量;2)加强课程思政建设,思考如何将课程思政与该专业教学结合;3)持续开展课程教学软件建设,提高课程教学软件的质量;(4)开展教学资源共享建设,推进课程课件、教学软件共享推广。该改革和尝试需要进一步解决的问题有,强化课程思政元素、提高课件质量,改善教学软件的接口,实现软件共享及通用,提高可编写和可接入的能力。

 

图2 2021春季学期本科生编写考核程序列表

四、结论与讨论

针对计算流体力学在海洋工程技术及相关工科专业的教学特点,思考目前计算流体力学课程教学存在理论教学难度大,学生理解困难等问题。尝试自编教学程序在实际教学中的实践,经过一个学年在本科和硕士研究生中的教学实践。达到了激发学生学习计算流体的学习兴趣,也加深和帮助学生理解有限差分方法、有限体积方法、线性方程的求解方法、网格的生成原理的方程变换等的目的。在课程结束的时候,每一个同学都积极参与具体数值计算程序的编写。同时同学们编写的程序,经过整理,未来可以用于该课程的教学平台,达到了良好互动。该研究可为相关工科类计算流体力学教学提供一定的参考。

 

 

[参考文献]

[1]邹高万,霍岩,孙丽颖等. 传热与流体流动的数值计算课程教学的几点思考[J]. 教育教学论坛, 2014,6:141-142.

[2]蔡杰. 提高普通“211”高校《计算流体力学》教学效果的探索,科技创新导报[J]2015,20132-134

[3]王莹,孙晓晶. CFD数值模拟在计算流体力学项目驱动实践教学中的应用. 教育教学论坛, 2016,6:141-142.

[4]陶文铨. 数值传热学(第二版)[M]. 西安: 西安交通大学出版社, 2001.

[5]毛军, 熊艳, 薛琳. 实施计算流体力学本科教学的可行性分析[J]. 高等建筑教育, 2003, 122): 46-52.

[6]王福军, 周凌九, 严海军. 计算流体力学课程教学改革与实践[J]. 高等农业教育, 2005(11): 63-64.

[7]赵琴, 杨小林, 严敬. CFD 技术在工程流体力学教学中的应用[J]. 高等教育研究, 2008, 251): 28-29.

[8]J. D. Anderson, Jr, Computational Fluid Dynamics[M], Singapore:McGraw-Hill, 1995.

 

 

Thinking and practice of self-programmed computational fluid teaching program and talent training

JIANG Yun-hua, GONG Xi, WANG kai

(School of Ocean Engineering and Technology, Sun Yat-sen University, Guangzhou, 510275, China)

 

Abstract:  Considering the teaching characteristics and problems of computational fluid dynamics in ocean engineering and technology and related engineering majors, the teaching of computational fluid dynamics was thought. Namely, the teaching is mainly based on teaching theories, and the computational practice is mainly based on the packaged commercial software, which is difficult to master for beginners. Therefore, from stimulating students' interest in learning, helping students understand theories, and cultivating students' practical problem-solving ability, the self-program teaching program was used in teaching. These results have been achieved in the previous teaching process, which can be used to provide a certain reference for this course teaching.

 

Keywords: ocean engineering and technology; computational fluid dynamics; teaching thinking; teaching practice

 

返回顶部