有限单元法课程教学探索
2015-04-01谭晓慧,侯晓亮,查甫生
谭晓慧,侯晓亮,查甫生
摘要:以研究生有限单元法课程教学为例,指出采用“理论讲解、程序验证、软件计算”相结合的方式来组织教学可有效提高教学效果,培养研究生利用有限元方法分析问题、解决问题的能力,促进创新思维的激发及科研实践能力的提高。
关键词:有限单元法;课程教学;创新能力
中图分类号:G642.0 文献标志码:A 文章编号:1674-9324(2014)41-0185-03
一、引言
增强自主创新能力,建设创新型国家,关键在于人才,尤其是创新型人才的培养。研究生教育是培养创新型人才的一个主渠道,如何在新形势下进一步提高研究生的创新意识和创新能力,具有重要的战略意义。创新能力培养是研究生教育的核心内容,是提高研究生培养质量的重要任务。研究生培养质量的提高及创新型人才的培养关键要落实到具体课程的教学上。有限单元法作为一种相对成熟的数值计算方法,是很多工科专业研究生进行数值计算、解决工程实际问题必不可少的工具之一。它是一门理论与实践相结合的课程,不仅需要学生有系统的理论分析能力,还需要很强的工程实践能力。有限单元法是一门相对较难学的课程,学生在一定时间内掌握它比较困难。如何提高有限单元法教学效果是一个急需解决的问题。为了培养研究生的创新能力,通过有限单元法的教学,应使学生在理论学习、程序编制及软件使用上都有所收获,培养学生的工程建模、数值计算及结果分析的能力。因此,本文结合对我校地质工程专业研究生进行有限单元法课程的教学实践,探讨提高教学效果、培养研究生创新能力的一些方法。
二、传统教学方法存在的问题
有限单元法是力学、地质、土木、水利、机械等多数工科专业研究生学习中一门重要的学位课程,它综合运用了矩阵论、数值分析、弹塑性力学等知识,是将理论知识运用于解决工程问题的重要工具,是培养研究生创新能力的一门重要课程。但是,长期以来,这门课程的教学偏重于理论讲解及有限元软件包的介绍,而忽视了对有限元程序的教学。这导致学生在学完这门课程后,虽然对有限元理论有了一定的理解,也能使用商品化的通用或专业有限元软件,但他们无法将有限元理论的具体内容与商品化的有限元软件联系起来,不清楚有限元软件的理论基础。由此造成的后果是:学生学习了成堆的公式,但不知这些公式与大型软件有何内在联系,对理论学习没有热情;学生尽管能熟练使用商业有限元软件进行数值计算,但不清楚软件的计算原理,对有限元软件的模块结构及功能也理解不透彻,因此很难基于现有的软件进行二次开发,提高创新能力。
三、创新教学方式的探讨
为了克服传统教学方法中存在的问题,培养研究生的创新力,在教学过程中,以“理论讲解、程序验证、软件计算”相结合的方式来组织教学。通过“程序验证”这一中间环节,将纯理论的知识点程序化,建立起理论与软件间的联系桥梁,避免学生对理论与软件理解的脱节。
1.理论讲解。基础理论知识的学习是保证教学效果的前提。对于理论讲解部分,要进行教学内容的优化设计,提高授课质量。有限元法是一个庞大和复杂的理论体系,需要有较深厚的数学及力学基础知识,学生在一定时间内掌握有限元法比较困难,因此如何提高有限元法教学效果成为一个急需解决的问题。由于教学时数的限制,要结合授课对象的专业特点及培养目标,研究具体的授课内容,构建课程的知识结构,并在授课之初向学生讲清楚这一知识结构。有限单元法理论性强,所涉及到的基础知识较难,有些内容学生一时难以理解与掌握。但是,有些知识点与后续学习没有太多的必然联系。教师在课程讲授的过程中,应注重引导学生对课程知识结构的总体理解,不要因为局部难点而阻碍了对后续内容的学习热情。通过教师的理论讲解,学生应该能够理解基础的计算理论及各知识点的物理意义,理解有限单元法的本质、方法与思想,学会用有限单元法分析具体问题的思路、步骤及需要注意的问题。以地质工程的有限单元法课程为例,理论教学的主要内容有:有限单元法的基本理论;有限元法在地质及岩土工程中的应用。这些理论内容涉及大量公式及其推导。因此,在教学过程中,使用多媒体进行授课是必不可少的。在讲授公式推导时,应注重讲解公式推导的思路,而公式推导的细节则可留给学生自己分析。对于若干形式上相同但实质上又不同的公式,要注意引导学生分析公式间的差别。
2.程序验证。学习有限元的目的是为了应用。通过理论讲解,学生学习了大量的理论公式,也学习了使用有限单元法解决实际问题的思路。由于理论的复杂性,必须将这些公式转化为相应的计算程序,才可对实际问题进行分析计算。否则,必将导致理论学习与实际应用的脱节。将有限元理论用程序表示出来非常复杂。让学生编写完整的有限元程序难度太大;而且由于商用软件的普及,学生也不一定要编写完整的有限元程序。但是,有限元程序是从理论走向软件应用的必由之路,新理论、新算法等研究成果也都需要通过程序来实现。因此,程序的学习对于有限元课程是非常必要的。为了发挥学生的学习主动性,我们的做法是:将学生分成若干组,给每个组选择一个既具有代表性又相对简单的有限元程序供学生学习,让学生阅读程序,并绘出详细的程序流程图。多年的教学经验告诉我们,多数学生的编程基础相对较差,对太长的程序也有畏难情绪。因此,在选用程序时,尽可能选择内容简单、短小精练的程序。通过比较,我们选择了文献[8]的部分主程序作为教学程序。文献[8]采用结构化方法进行编程,而且对于很多具体功能采用子程序的形式予以表示,这大大减少了主程序的长度,非常有利于学生对程序的阅读理解。在引导学生阅读程序并绘制流程图时,首先只要求学生能看懂每一条语句;当该语句需要调用子程序时,只要求学生了解该子程序的功能及其对应的输入输出变量,而不必关注该子程序的具体内容。因此,这一任务对学生来说较为简单,学生都比较有兴趣,并绘出了质量较高的流程图。绘制程序流程图,可使学生了解整个有限元程序的结构及其组成部分,抓住学习的主干。但是,有限元的很多理论是通过子程序实现的,如各种形函数、弹性刚度矩阵、塑性刚度矩阵、屈服函数值的计算等。因此,在引导学习了有限元程序的总体结构之后,教师再列出一些重点子程序的清单,要求学生学习这些子程序的具体内容。由于每个子程序的功能相对单一,这些子程序一般都很短小,简单易懂。通过这些子程序的学习,学生能把理论学习中的公式与程序中主要语句一一对应,能深入了解理论公式是如何在有限元程序中起作用的。在让学生学习子程序具体内容的同时,也布置了一些简单的编程任务。如,学生学习了平面问题的应变矩阵求解程序之后,教师让其编写空间问题的对应程序;学生学习了Von-Mises屈服函数的求解程序之后,教师让其编写Mohr-Coulomb屈服函数的求解程序。通过这种学习,学生普遍感到理论公式活了起来,这反过来又促进了学生学习理论的热情,为掌握有限元理论打下了扎实的基础。endprint
3.软件计算。通过程序验证环节,学生可以理解书本上的理论知识及公式在软件中的实现过程。但简单的有限元教学程序毕竟只是验证之用,它功能单一,计算能力有限,前后处理功能较差,无法和经过众多专业人士开发并经多年修改完善的商业化有限元软件相比。学习有限元编程的目的是使学生了解理论公式是如何在有限元程序中实现的,提高学生的创新能力。为了能对具体工程问题进行分析,熟练掌握至少一种有限元软件是非常必要的。因此,在程序教学之后,我们进行了软件教学。软件教学主要有两大内容:一是有限元软件的使用,这主要是让学生自学;二是案例教学,在案例教学的过程中,适当穿插讲解有限元软件的基本操作过程以及一些必要的操作技巧。案例教学,注重培养学生解决实际工程问题的能力。结合专业特点,我们选择了地基承载力分析、边坡稳定性分析、挡土墙土压力分析等工程案例进行教学。这些案例既包括了本专业主要的工程问题,又有对应的简单有限元程序,有利于程序与软件的对比学习。在每个案例的教学分析中,主要侧重模型的建立、单元网格的选择及划分、边界及初始条件的定义、载荷的施加等问题,使学生掌握用有限元软件解决各类工程问题的基本方法。课程讲授之后,让学生分别用简单的有限元程序及大型软件进行对比计算和分析。通过计算比较,引导学生发现简单程序与通用有限元软件间的差别,了解通用有限元软件的强大功能是由众多小程序有机地迭加成的。当有限元软件的某种功能不能满足用户的需求时,学生就能很好地利用软件的二次开发功能编写新的程序,这对提高研究生的创新能力有极大的促进作用。
四、结语
有限单元法是进行数值计算、解决工程实际问题的必不可少的工具之一。为了提高研究生的培养质量,培养研究生的数值计算及创新能力,以地质工程专业研究生课程“有限单元法”为例,以“理论讲解、程序验证、软件计算”相结合的多元化教学方法和手段来组织教学。在理论讲解部分,以教师授课为主,有利于快速构建整个课程的知识体系及学生对主要知识点的学习;在程序验证部分,以学生分组学习为主,教师引导为辅,调动学生学习的主动性;在软件计算部分,教师的主要任务是设计并精讲算例,学生的主要任务是学习有限元软件,并分别采用简单程序及大型软件对工程问题进行有限元计算。这种教学方式,能够将枯燥的理论知识学习与具体的软件使用结合起来,使学生理解程序在有限元计算中的作用,理解软件的强大功能是具体知识点的体现。这不仅有助于理论知识的学习及掌握,对培养研究生的数值计算与创新能力也是极为重要的。
参考文献:
[1]李世彬,苏继红.在研究生教育中培养创新精神的基本途径[J].黑龙江高教研究,2006,(11):68-69.
[2]刘尧.构建以研究与创新为主线的研究生培养方式[J].江苏高教,2010,(2):42-44.
[3]刘国福,李慧,张玘,等.研究生课程研讨式教学初探[J].高等教育研究学报,2009,(3):37-38.
[4]吉逸,陈国庆,曹玖新.研究生创新型学习的教学研究与实践[J].计算机工程与科学,2011,33(A1):5-8.
[5]司海宝.计算结构力学与有限单元法课程教学的思考[J].安徽工业大学学报,2011,28(3):101,103.
[6]Zarza G,Lugones D,Franco D,Luque E.Innovative Teaching Strategy to Understand High-Performance Systems through Performance Evaluation[J].Procedia Computer Science,2012,(9):1733-1742.
[7]郑翔,顾乡.有限元分析课程引入问题式学习(PBL)教学探索[J].力学与实践,2011,33(6):88-91.
[8]Smith I M,Griffiths D V.有限元方法编程[M].第三版.王崧,等,译.北京:电子工业出版社,2003:178-187.
基金项目:合肥工业大学研究生教学改革研究项目(033006)endprint