选课类别:基础 | 教学类型:理论课 |
课程类别:研究生课程 | 开课单位:数学科学学院 |
课程层次:本研贯通 | 学分:4.0 |
夏银华老师的《有限元方法》普遍被认为是质量上乘的计算数学课程。课程内容丰富,涉及泛函分析、Sobolev空间、有限元空间构造、误差分析、多重网格法、非协调有限元等。前半学期课程重点在于基础知识铺垫,后半学期则深入探讨有限元方法及相关高级课题。Summer教学条理清晰,特别是从多重网格开始,挑选核心部分进行讲解,有助于学生构建完整知识体系。
课程难度较高,建议学生具备泛函分析、数值分析、数值代数和微分方程II的背景。一位学生指出课程前半部分对泛函和微分方程II的重复学习占用较多时间,但后半部分内容精彩,对基础知识要求高。由于有限元方法理论复杂且编程要求重,若基础不足选课可能较为吃力。
编程在课程中占重要地位,共有6-7次程序作业,涉及1维和2维问题的有限元求解、多重网格法、迭代法等,独立完成这些作业是最低要求。虽然作业量大,但对于深入理解课程内容至关重要。课程编程可用任意编程语言,作业负担较重但结构清晰。
考试难度中等,通常包括理论证明和实际应用的题目。多位学生提到考试题目相对固定,期末考试前习题课复习内容与考试相近,适当准备可以应对顺利。给分严格,建议求轻松学分者慎选。此外,作业评分标准较为严格且偶有争议,一些学生反映助教批改作业不够认真。
夏银华老师讲课生动有趣,思路清晰,注重学生掌握整体框架和思路。尽管有些细节跳过,但总体上课堂体验较好。不过,有学生反映助教表现不理想,助教不及时反馈解决问题的情况较常见。
总体来看,《有限元方法》课程系统且深入,适合有志于PDE数值解和科学计算方向的同学。课程难度高、编程量大,但所获知识和技能非常实用,如果具备扎实的预备知识并愿意投入时间和精力,这是一门收获丰厚的课程。然而,若仅为凑学分或对课程背景不足,可能会感到吃力甚至退课。
写在前面:其实纵观你科计算数学方向的课程,夏老师的有限元方法算是质量上乘甚至顶尖了。个人认为有限元方法是一门对学生要求比较高(基础课要求高、编程要求高)且对老师而言很难讲好的一门课,水学分慎选。
预修课程:泛函分析,微分方程II(没学过微分II看Evans Chap5足够),数值代数,数值分析(后两门课没学过会有点吃力)
授课内容:预备知识(泛函、Sobolev空间)、1维模型问题、有限元空间的构造(三角元、四边形元)、Sobolev空间的多项式逼近理论、n维椭圆方程模型问题、(几何)多重网格法、1维时间依赖问题。(之后都是介绍性质)非协调有限元、平面弹性力学问题、混合有限元、间断有限元等。
(正文)
这门课为了照顾没修过相关课程的研究生,不仅耗费了大量时间在泛函和微分II的重复学习上,而且削减了很多理论学习与编程要求。这导致前半学期的教学很无聊。但是后半学期的正题还是很精彩的。特别是从多重网格及之后开始,夏老师有选择挑出了每章最核心的部分,省略了大量次要、繁琐的过程,很清晰的为我们构建了有限元方法的框架。
有限元方法作为基于变分方法的PDE数值解法,其格式建立与误差推导的证明过程和PDE的基础课程有着很大的共通之处,因此学好泛函和微分II对这门课的学习至关重要。与此同时,有限元的很多误差推导是比较繁琐甚至恶心的,这也使得老师课上跳过的有些细节确实没有硬啃的必要。个人认为比起去抠一些稀奇古怪的细节,掌握整体的知识框架和思路才是更重要的。
需要强调,编程是计算数学课程中的重要环节,如果不进行编程很难真正学习掌握知识。这学期总共有7次程序作业,分别是:
(1)1维P1,P2有限元方法解Poisson模型问题;(2)1维Sturm-Liouville问题;
(3)1维自适应网格法(shishikin mesh);(4)2维Poisson问题;(5)迭代法解FEM产生的方程组;
(6)多重网格法(其中2维是加分项);(7)1维时间依赖问题。
这门课的编程要求已经为了照顾研究生而削减了很多,因此独立、完整地完成程序作业是最低要求。如果觉得这些不够的话可以去b站上搜何晓明老师的有限元编程基础网课(https://space.bilibili.com/393390076?from=search&seid=14520726602212506121),这个网课因为主要是面向工程等非数学专业学生开设因此编程更为侧重。
最后,有限元方法是一门硬课,如果想水学分完全可以选更轻松的课程。学过泛函、微分II的同学也千万不能轻视这门课,这门课的投入与产出基本是成正比的。
(手动分割线)
关于助教(不计入本课程评分):
批作业标准很迷,莫名其妙就被批错了。QQ长期失联,难得上号发几个消息就没人影了。自称可以去博士生自习教室找他,找了三次,一次没碰到。
我觉得如果事情繁忙无暇顾及助教工作的话大可不必做助教,解答学生疑惑也是助教的义务之一,拿钱办事天经地义。这个问题很多外校研究生助教都在犯,有些甚至犯了还不以为然。我寻思这种人拿了学校的钱跑来祸害本科生,到头来学生被坑了还得被强行换位思考体谅助教工作……委屈啊。
今天听了最后一次习题课,讲拖堂了,但重点几乎没讲到。原来存在的问题没一个被解决。我本人课后也有急事要办所以没时间留堂咨询问题。助教似乎总是喜欢无视学生们的诉求,此前我提过的几个问题、他也难得看到并回复的、一个都没在课上讲。或许助教同学专业水平确实还可以,但从习题课的表现上来看实在是无法看出他有什么专业水平可言。
最后诚挚的邀请助教同学明年重修有限元方法这门课,我来教教他怎么做一名合格的助教。我也欢迎其他不知道怎么做助教的外校研究生明年前来选修或旁听这门课。
(2021-01-13更新)
今天考完,据说题目和去年一样,而且习题课上讲过。有点离谱。
助教同学是真的懒,按规定提前15分钟到场却在考前7分钟姗姗来迟,夏老师急的打电话催人。考完核对平时作业成绩,漏了不少人的成绩,而且最后一次笔头作业批完迟迟不发(之前有承诺放到教室)。建议学校教务处建立不作为助教黑名单。
19fall大四选过这门课不过没咋认真听,20fall因为被迫留科又来仔细听了一遍。。。这门课是计算数学入门最重要的课程,也是我觉得科大开给本科生的科学计算方向课程中唯一算的上非常精彩的课程,实至名归的满分课程。
修读计划上是本科大四选修及研一必修,建议大四自制力不强的同学(比如我)不要选这门课凑学分,旁听即可,因为课程难度并不低,编程workload也比较重,再加上夏老师给分比较杀,如果太浪存在挂科的可能。
课程内容极其丰富,而且“数学味”较重,不过为了能介绍了整个有限元学科的骨架而略去了很多理论证明部分。教材是《the mathematical theory of finite element method》,市面上大多(中文)有限元参考书都从力学角度出发,而这本书从PDE变分形式和sobolev空间开始介绍,对数学系同学巨大友好。具体内容可参考上面Epsilon-79th同学的回答。不过个人觉得这门课适合拆成两门,一学期讲有限元基础,再加上一些编程内容,另一学期再详细讲混合元、间断有限元等等。
PS: 我明明是隔壁班的助教为啥有限元答疑找我。。老夏要不要给我开点工资。。
PPS: 期末严重放水。。
计算数学的专业方向课,学了之后你会知道怎么用 FEM 解 PDE(废话)。
相对另一门《PDE 数值解》里面介绍的 FDM,FEM 可以处理更复杂的区域和边界条件。个人认为 FEM 的理论要更漂亮一些。如果学 FDM,感觉只需要熟练掌握 Taylor 展开(雾);学这门课的话,实分析和泛函是必要的。
前半个学期基本上是按照教材的 ch0 到 ch5 上的,大概按照下面这个逻辑,围绕 ch0 展开,学完就可以期末考:
先写出 PDE 的变分形式,它告诉我们方程的解要在什么函数空间里面找,要满足一个什么样的关系。就是一步分部积分。但是为了讲清楚这个函数空间,需要引入 Sobolev 空间的概念(ch1);为了知道这个变分形式有没有唯一解,要研究它的适定性(ch2)。
在知道这个变分形式确实存在唯一的解之后,想让计算机来求解,就需要把无穷维的问题转换成有限维的问题(比如说用分片多项式来逼近),转化成线性方程组喂给计算机。需要知道这样的有限维空间怎么刻画(ch3)。
拿分片多项式空间处理得到的数值解肯定会有误差,这个误差和多项式逼近误差有些关系,所以 ch4 研究这玩意。ch0 和 ch5 相当于是走了一遍从变分形式到误差估计的流程。
后半个学期没有特定的顺序,讲了时间依赖问题、多重网格法(ch6),还介绍了非协调元、混合元(ch10,11,12)、间断有限元等等。大概是说前半学期的 FEM 处理一般的(多边形区域的)椭圆问题还好,处理平面弹性力学问题、不可压缩流体、对流扩散方程等等会遇到各种各样的困难,所以需要一些推广。这部分有的在教材上没有,是补充的。老师也是点到为止,毕竟讲开了都是一门课。
关于作业,这学期有六次程序作业,和其他回答说的差不太多。属于是前几次花点时间写个程序和报告的模板,后面就可以啃老本。书面作业挺友好的,而且在后半学期暴减,每周就一两道题。
关于考试,这学期考了 5 个大题。第一题问 |x| 可以算几阶弱导数;第二题分别找两个分片线性有限元空间的基底,区别在一个是 H_0^1 另一个只要求 L2 ;第三题证明一个不等式,是个习题,类似于 0.x.10;第四题证明 k=0 时的 RT 元是有限元;第五题把一个方程从变分形式到 L2 误差估计推一遍,相当于默写。
总的来说,这门课上下来确实对基本的有限元理论有了一些了解,也大概知道进一步可以去看些什么,收获还是不少的。但如果只是要用 FEM,对背后的理论不太感兴趣的话,并不建议选这个课,教材的第零章就够了。
这学期上课体验还不错,助教把习题答案和程序要求都敲出来发到群里,爱了爱了。老师上课挺有趣,跟着听的话思路挺清楚的,有时候会扯点小故事。感觉老师一直很开心。
物院大四的我去选这门课。。。学到一半崩溃了。。。退课了。。。
现在回忆起来还挺有意思的,hhh。
老师讲课很有意思,属于偏分析的分析类课程。不同于工科的有限元,这门课从微分方程的弱解的角度来构造有限元,且主要着重于有限元的适定性、方程的适定性、误差的精度估计,但同时也会介绍并实操有限元编程。
如果没有学过泛函分析、数值代数、数值分析的话不建议选择,但未选择微分方程2的情况下跟上课程难度不大。对于希望从事PDE数值解研究的一定要选修。
编程可以使用任何一种语言,内容包括:1维/2维某方程有限元求解、多重网格法有限元求解、共轭梯度法有限元求解。最后的附加作业(额外5分总评)是2维多重网格求解Poisson方程。
给分暂时不清楚,正在等成绩。