选课类别:基础 | 教学类型:理论课 |
课程类别:研究生课程 | 开课单位:数学科学学院 |
课程层次:本研贯通 | 学分:4.0 |
徐岩老师的《有限元方法》课程内容详实,对有限元理论进行了全面而深入的讲解。课程涵盖了PDE基本知识、Sobolev空间理论、n维椭圆方程模型、有限元空间构造、误差估计、弹性力学问题、非协调有限元、带时间项的问题和间断有限元等多个方面。特别是编程细节,课程讲解细致,强调理解过程,并提供Johnson和Brenner两本教材作为参考。学生普遍认为课程讲解“循循善诱”,板书清晰,“理解起来没啥难度”。
课程考试主要覆盖了PDE基本知识、变分问题、Sobolev空间理论、椭圆问题和误差估计等基础内容。期末考试题目包括弱导数判断、基函数连续性、存在唯一性证明、插值误差估计等,考题例题性强,且难度适中。助教的评分标准严格且细致,主要根据解决问题的关键步骤和正确性评判。总体上,徐老师给分较慷慨,有学生反馈在卷面成绩一般的情况下,总评分数较高。
作业量适中,但包括多个编程任务,需要利用北大天元进行数值计算和分析。然而,多位学生对强制使用北大天元表示不满,特别是程序运行时间要求让一些学生感到压力和困扰。此外,有点评提到作业抄袭现象严重,助教虽尽力解决但效果有限。
课程提供Johnson和Brenner两本教材,前者以例题和习题为主,后者侧重数学理论。助教在课程辅助中发挥重要作用,但有学生反馈某助教态度和资料发布存在问题,影响了课程体验。部分学生认为,课程应更注重对高阶变分问题的细致讲解。
总体来说,《有限元方法》是一门内容丰富、理论深厚和应用广泛的课程,适合对计算方法有深厚兴趣的学生。多位学生建议预修泛函分析、微分方程、数值代数和数值分析,以更好地理解课程内容。计算方向的同学强烈推荐修读,但建议在学完PDE II后再选修有限元,以避免在面对复杂的函数空间时感到吃力。课程对代码优化和数值计算要求较高,有意选择的学生需做好充分准备,合理安排学习时间。
大四上的夏银华老师的有限元,研一为了学分再上一遍,明显感觉两位老师的讲法有许多不同。
有限元方法作为求解PDE的数值方法,无论是在固体力学、流体力学、还是电磁学中都有广泛的应用。
教材有两本,一本是Johnson的 numerical solution of partial differential equations by the finite element method,另一本是Brenner的the mathematical theory of finite element methods。从名字上也可以稍微看出来两本书的侧重点不同,前一本问题与例子更多,后者的数学理论更加的细致。我个人建议主要看Brenner那本,用johnson 的例子与习题作为补充。
徐老师会讲的非常细来降低我们的理解难度,所以相比于夏老师讲课进度要慢一些,第六章的多重网格作为现在解线性方程组的非常好用的解法并没有讲,但最后几节课补充了间断有限元(DG)的理论。编程的难度相比夏老师要低一点,但作为训练帮助理解完全足够。
预修课程:泛函分析,微分方程II(没学过微分II看Evans Chap5足够),数值代数,数值分析(后两门课必须会)
实际上PDE2徐老师是默认大家没学过,讲了sobolev空间,也布置了一些简单的泛函题目。
下面是 每一章的具体内容
(0)PDE的基本知识,变分问题和极小化问题,1维possion方程的一整套有限元做法,包括方程弱形式、有限元空间、基函数的计算、刚度矩阵计算、简单的误差分析。学玩这里实际上有限元的一整套流程就已经搞定了,后面的都是流程中每一步的普遍性理论。徐老师在这花费了大量时间去讲编程的细节,包括二维的局部刚度矩阵与全局刚度矩阵怎么编程计算。(ch0)
(1)sobolev空间理论,因为有限元使用的是方程的弱形式,所以需要介绍弱导数以及对应的函数空间。这部分的作用就是建立方程的弱形式以及后面的误差估计。(ch1)
(2)最开始讲的只是一维的情况,这里讲n维椭圆方程(possion)的模型问题,涉及三类边界条件的处理(ch5),以及使用泛函证明解的存在唯一性(ch2)。这里徐老师还补充了很多johnson书上有的方程的例子,包括双调和、对流扩散。
(3)有限元空间的构造。(ch3)一维就是简单的区间,但二维就有了各种三角单元、四边形单元,每种单元的基函数、对应的节点都不同,适用的 方程也不同。必须要明白每个有限元问题需要用什么空间最好,学会证明单元的连续性、唯一性,一般双三次多项式就够用了。
(4)误差估计。(ch4)思路是使用cea定理把有限元解的误差转化为多项式插值误差,徐老师并没有使用泰勒平均多项式和Brumble-Hilbert定理这种通用性的证明,而是用等价范数定理证明了常用的结果来更好的理解。
(5) 弹性力学问题与stokes(简化的流体)问题。(ch11、12)主要就是处理散度div=0这个条件。徐老师只是简单介绍了问题,提出了非协调有限元的概念,并没有完全讲完书的两章。
(6)非协调有限元。(ch10)介绍非协调元的优点、构造以及误差估计方法。这里不细说了因为需要学完前面的才懂。
(7)带时间项的问题(抛物与双曲方程)。其实就是加了一个时间项的离散,和NPDE里面的格式一样。需要会欧拉向前、向后、CN格式的稳定性分析。
(8)间断有限元。最后几节课都没几个人听了,如果不是NPDE方向不听也没关系。
考试范围是0、1、2、3、4、6、7。实际上期末就是0-4,考的就是最基础问题的核心思路。前三题都是弱导数和一些范数不等式,第四题是基函数的连续性唯一性,第五题椭圆问题的存在唯一性(方程是不满足强制性的,不能用Lax-Milgram定理,不过时间紧我也没举反例,举反例有些线性常微分的知识应该也能举出来),最后一题是双调和方程的一整套,包括弱形式、有限元空间、基函数、误差估计,实际上是johnson那本书的一个习题,需要用到三次hermite插值,22年9月的博资考也考了这题。我最后拿了95分,毕竟学过一遍了,要是还考不好我都没脸读下去了。
总的来看这门课还是比较硬的课,但徐老师讲的非常细所以只要跟着问题不大。计算方向一定要学这门课。还有一些别的学院的比如地空、力学的也有选的,但没学过泛函和PDE2面对一大堆的函数空间和不等式感觉会很痛苦。
2024.1.4:
这次作为助教再来点评一下
昨天考完后干到晚上十一点多把卷子改完了,先说一下考试题目
第一题:问狄利克雷函数是否有弱导数(几乎处处为0导数自然是0)
第二题:三角二次单元的基函数、唯一可解性、连续性,题目不难,但因为卷子有错误写的是双二次把很多人搞晕了
第三题:函数被直线分成两部分,每一部分都H1,证整体H1,这是去年的参考练习第一题,群里有答案的
第四题:插值误差估计,第一问L2,第二问L无穷,基本就是holder不等式算
第五题:双调和但是多了一个二阶导,边界一半强制一半自然,弱形式、存在唯一性,有限元空间的基函数和维数、误差估计。和双调和本质上没区别,习题课提过,考前两小时还在群里说了一定要三次hermite
第六题:二维的线性椭圆方程加robin边界,要给出弱形式和反推原方程,以及能够保证适定性需要的参数条件,
慢慢分部积分就能搞定前面,参数基本没有写对的(助教都觉得太复杂)
前三题很简单,后三题有难度,改卷子几乎是往死里捞了,能给的分都给了,但架不住一部分人送分题拿不到分。
最后说一下助教的经历吧。
开始有110个人选,经过劝退最后剩了90个。刚开始因为程序强制要求使用北太天元加上我限制程序时间被部分学生骂,第一次程序大部分都达不到时间要求,本来是想上一次习题课讲一下程序,但徐老师说写程序靠学生自己没必要就没上,在我把我的代码发群里之后大部分人也都能达标了。因为北太天元写二维的程序有BUG,二维的都是用matlab了。书面作业抄袭极其严重,每次改作业都很明显这几份一样、那几份一样。答案都是写的很详细发群里了,我真不明白做了那么多题目加上习题课专门总结,还有那么多人连弱形式的空间都写不对。上课不认真听,作业也不自己写,小测和期末考炸了只能说自己活该。最后给一个忠告:这门课需要的时间可能比你其他所有课加起来还多,水学分的能不选就不选(计算方向的研究生课实在太少,很多人都没办法只能选这个,学院能不能多开两门课),强烈建议学完PDEII再来学有限元,虽然上课会讲sobolev空间,但只讲定理不讲证明,结果很多人还是不明白这些定理是怎么用来解方程的。
课程收获很大,徐老师上课循循善诱,我这样的笨蛋也能听懂。
扣1分是扣给助教和期末考试试卷。三位助教做的工作还是很多的,但是某位助教有一点阴阳怪气,搞人心态;小测的时候发布的参考资料出现了错误,搞人心态;但是相信这位助教是个好人,他总是积极地回复同学们的问题和发布资料,颇有一种好心办坏事的感觉。期末考试的时候有一道题出错了,搞人心态。
本人上过2022秋这门课,当时成绩是80分,不满意故研究生重新修一遍,结果遇到这么恶心的情况,还是转学分了。
与2022秋相比,2023秋的要求:
1.强制使用北太天元
2.强制要求手撸数值积分
3.卡程序时间
上述三点可以占作业比重的百分之二十,同样的作业在2022秋可以拿到满分,在2023秋只能拿到75分;同样的程序在matlab上只需要0.1秒,在北太天元4.9秒,我不知道我为什么要在北太天元写数值分析的程序。
第二年学这门课,直接折磨双倍,不明白一门数学课花大量时间在优化代码运行上的意义是什么,每次代码运行时间不能超过一秒否则扣分。助教您的代码写的真好,希望以后广为流传。
没见过这么离谱的,编程只给用北大天王
221011:
晚上补前几天的网课,突然想搞个点评了。
上学期上了徐老师的数值分析课,老师是个很和善的人,期末查卷的时候给我找回两分,最后也给我绩点正好往上捞了一档。但是数值分析的课确实没好好听,有点对不起老师。
这学期是她继续上有限元方法的课,从第一节课就开始说这课会比较硬核,不太好水,讲到现在感觉也还好,还是我能跟上的程度,但是显然比数值分析要更认真听了,再加上没有ppt,可能不做笔记就没办法知道老师在讲什么了。不过作业还是比较友好的,量不大,难度也不算高,就是编程作业有可能会做到脑淤血(
讲的还是比较有条理的,板书抄下来可以作为笔记,借用在某群里水群的时候看到群友的一句话:这课讲的“很数学”。与之对比,大三里上的很多课其实都没这么“数学”,我觉得我这种已经预定润信院的学生,大四还能上一门比较硬核的课,对这种强大的计算方法可以有比较全面的了解,也算是一种幸运吧。
顺便提一下,这课应该相当重要。。。。我听说似乎有不少研究生师兄或者跟我同级的同学(不是数院的)被导师要求来上这门课。这种情况下,这课能开的硬核一点就更良心了。
先给八分,预定一下期末之后的九分或者十分。
230303:
出分了,勉强捞了个85的优秀,给老师磕个头咚咚咚,分数直接改成10分。
再讲一下期末题目的安排,期末考的很水(虽然我还是很多题不会),不知道是不是和开学考有关:
一共六道大题,前五道15分最后一道25分。
1,判断某一函数是否在H1空间,实际上是让你判断一个函数的弱导数存不存在,是课本例题,很容易但我忘了;
2,证明某一函数是另一函数的弱导数,没的说,也很容易;
3,误差分析,在L2空间和W11空间(似乎是?我可能记不太清楚了)判断插值误差与单元大小的关系,我怀疑这道题应该用Poincare不等式做,但我实分析和微分方程2学的太差了,还是不会做;
4,手撕矩形单元的二元二次插值的基函数,并证明唯一可解性和整体连续性,这就是课上讲的例题,就算忘了,手推也很容易;
5,证明变分问题解的存在唯一性,要用Lax-Milgram定理,最后结果实际上是不满足定理条件,从而解不是存在唯一的(吐个槽,L-M定理是充分条件吧?就算不满足也不能说明不存在唯一啊。。。)
6.手撕一个一维微分方程,从转化变分问题到构造有限元空间到误差分析,一共四问,把这门课的实际应用场景基本上包圆了,我最后时间不够,只做了前两问,然后还有个坑,就是那个有限元空间说是任意选择,实际上不能选一次的,至少得是二次的。
试题基本就这样,仔细复习一定都是很基础的知识点,预祝下一届的同学能够在这门课上学习愉快,并且取得满意的成绩。
240910:
由于各种原因来重学一遍有限元……
发现居然还要强制使用备胎田园(但没有时间要求了)……
噔 噔 咚
但是分先不改,起码就我的回忆来说,老师讲的确实好。
讲课和板书都挺清晰的,理解起来没啥难度,给分炒鸡无敌奶,我估计我卷面60多,总评给了93。后面的非协调有限元误差估计好难的哇,不过我以后不做数值解研究就摸过去了,考试也没考这部分。1分扣在我学了一学期还是没学会正确写出变分问题,可能是老师在这点没有仔细讲吧,也可能是我理解能力太差了。
教师主页: 暂无