日期:2023-01-13 阅读量:0次 所属栏目:高等教育
作为一门研究生专业基础课,计算流体力学(CFD)涉及到离散数学、数值分析与算法、非线性偏微分方程等方面的知识,具有较强的理论深度及抽象性[1-3]。如何采用合理的教学手段,取得良好的教学效果,使研究生理解掌握CFD的基本原理及方法,是从事该课程教学的老师需要面对的一个重要课题。不同层次的研究生,其认知特点存在差异,因此教学手段和方法上也应该有所区别。笔者总结自己几年来的教学实践,对如何提高普通“211”高校的CFD教学效果,提出了自己的一些看法。
1 了解掌握授课对象的认知特征
知名高校的研究生,由于本科大多来自知名高校,或者是普通高校里面拔尖的,其理论基础相对比较扎实;而像南京师范大学能源学院这类层次的研究生培养单位,其研究生除少数来自本校外,其他基本来自普通二本或三本院校,其数学基础及计算机编程等基本功普遍较差,对流体力学、传热学专业基础知识的理解也不够深刻。
这种认知结构的差异,要求授课教师针对性地采用相应的教学手段与教学方法进行该课程的教学。作者几年的教学实践表明,直接采用知名高校的教学内容、教学素材及教学方法进行本单位的CFD教学是不合适的,无法适应本单位研究生的认知水平和认知能力,无法取得满意的教学效果。应根据本校研究生的认知特点进行CFD教学体系的建设。
2 合理设置课程教学方法
2.1 基于完整的理论体系开展教学
CFD是以计算机以依托,以编写程序为基础的一门学科,因此具备计算机编程能力是CFD特殊性的一部分。计算机程序只有在源代码完整、规范、正确的情况下才能进行正确的运算。因此,无论针对什么层次的研究生,在进行该课程教学时,都必须做到内容周到、完整。
质量守恒方程、动量方程和能量守恒方程等三大守恒方程,以及模拟湍流流动的时均N-S方程及其封闭模型,是CFD的理论基础,研究生必须理解掌握[4]。CFD采用的离散方法主要有有限差分法和有限容积法,目前主流的商业软件都采用有限容积法,而有限容积法是在有限差分法基础上发展起来的,因此需要深入地讲解有限差分法和有限容积的基本离散原理。必须让学生掌握扩散和扩散―对流两种条件下的离散格式,掌握各种条件下控制容积节点系数和边界系数的求解模型极其物理意义。三对角阵算法(TDMA)、交替方向隐式方法(ADI)等是CFD的重要内容,因为在内迭代层次上,需要对离散的线性代数方程组进行求解。对于对流―扩散问题,由于质量守恒方程与N-S守恒方程之间是非线性的关系,因此需要学习掌握SIMPLE―经典的分离式求解方法―的基本原理和方法。边界条件的处理虽然相对比较简单,但若处理不当,亦会导致程序无法运行,计算结果不正确,因此这部分内容也需重视。动量方程、能量方程、湍动能方程、湍流耗散率方程的边界处理各有不同,其相应的处理方法,都需要学生理解掌握。
2.2 突出教学重点
实践表明,CFD的理论基础,即质量守恒方程、动量方程和能量守恒方程等三大守恒方程,尤其是方程中非稳态项、对流项、扩散项和源项的物理意义,必须花费大量时间进行充分的讲解。原因在于,这部分内容物理概念抽象,涉及诸多非线性偏微分方程,难度较大,学生不易掌握,导致很多高校在本科教学中很少讲或者不讲这部分内容;对于本单位的研究生,专业基本功稍差,因此在学习这部分内容时普遍感觉有难度,看不懂、听不明白。但对研究生而言,尤其是将来可能从事数值研究的研究生而言,掌握这部分内容是必须的,因为三大守恒方程是CFD的理论基础。并且,只有充分理解和掌握守恒方程中各项的物理意义,才能应用有限容积法或有限差分法对偏微分方程进行数值离散,才能在此基础上学习模拟湍流流动的基于时均N-S方程的经典模型。
有限差分法和有限体积法是CFD课程的核心内容之一,它将无法求得解析解的非线性偏微分方程数值离散成线性代数问题,从而获得数值解。对本校层次的研究生而言,在理解和掌握有限差分法中以差分代替微分、差商代替微商的思想和有限体积法中的控制体积分的思想方面,存在一些困难。非线性偏微分方程及其定解条件的离散方程的相容性证明,数值解的收敛性及稳定性证明,对研究生而言,也存在理解上的困难。
以上两部分内容是CFD的重中之重,对于本校层次的研究生而言,需要重复讲解,一遍讲解之后,了解研究生理解上的盲点,再针对盲点,有的放矢地进行第二遍讲解,力求达到教学目的。对于这部分内容,务必从数学层面上、物理意义上,对其来龙去脉,进行深入讲解,不能怕麻烦。
2.3 培养学生编程能力
对于知名高校的研究生而言,由于其编程基本功相对较好,在本科阶段也学过数值分析与算法等课程,因此,在进行教学时,可以将重点放在基本原理的讲解上,编写CFD计算机程序可以由他们自己去完成。但对于本校层次的研究生而言,普遍存在由于编程基本功较差,无法应用所学CFD理论知识编写程序,哪怕是最简单的计算扩散问题的程序;反过来这又影响他们对CFD理论知识的理解和掌握。CFD作为一门基于计算机的新型独立学科,能够应用CFD理论进行流场计算程序的开发是基本能力与素质。并且,在科研及工程实践中,很多时候需要对商业软件进行二次开发(udf)[5-6],以满足特定的模拟需求。因此,培养研究生的编程能力,是该课程教学的一项重要内容。作者在教学过程中,强制要求研究生必须自己动手编写程序,从最简单的扩散问题开始,先看别人编写的程序,再在此基础上自己学着写,个人独立完成。这作为他们课程考核的一部分。事实上,这样做也确实取得了一些良好的效果。研究生在编写程序的过程中,从无从下手到不断发现问题,在摸索中不断增强其对CFD相关知识点的理解和掌握,编程能力也大大提高。 2.4 结合FLUENT等CFD商业软件
随着FLUENT等CFD商业软件的不断发展,一些常见的、成熟的流体力学问题的模拟都可以基于商业软件完成。CFD商业软件平台的背后就是CFD理论,因此,结合FLUENT等CFD商业软件的具体使用,可以帮助研究生理解CFD的相关概念如SIMPLE算法、亚松弛因子、迭代、网格生成等。事实上,有些研究生在本科阶段参加一些科研创新项目或毕业设计的时候也会一定程度上接触到FLUENT等商业软件,但他们仅会按图索骥,却不知其里。因此在课堂或课后安排研究生使用CFD商业软件模拟具体的流体力学问题,再结合CFD相关知识点,解释分析他们在使用软件中遇到的困惑或不解,将能够非常有效地帮助他们理解CFD相关知识点。与此同时,掌握了CFD理论知识,也能够帮助他们更深入地了解商业软件,从而更充分、高效地使用商业软件,更好地拓展商业软件的使用范围。比方说,掌握CFD相关理论原理及知识和足够的语言开发能力,研究生能够对基于udf对FLUENT商业软件进行程序的二次开发。
3 结语
笔者在该文中谈了一些CFD教学方面的感想,主要内容可以概括为以下几点:(1)计算流体力学是一个基于计算机编程的完整体系,因此我们在教学中要根据课程的特点,在教学过程中注重理论体系的完整性;(2)CFD教学必须重点突出,对守恒方程、有限差分法和有限体积法等内容必须进行重复地、鞭辟入里的讲解;(3)在教学过程中必须培养强化研究生基于CFD编写开发流场计算程序的能力;(4)在教学过程结合FLUENT等CFD商业软件的使用促进研究生对CFD理论与知识点的理解。
本文链接:http://www.qk112.com/lwfw/jiaoyulunwen/gaodengjiaoyu/198377.html