有限元法求解二维 Poisson 方程的 MATLAB 实现 陈 莲a ,郭元辉b ,邹叶童a ( 西华师范大学 a. 数学与信息学院; b. 教育信息技术中心,四川南充 6437009) 摘 要: 文章讨论了圆形区域上的三角形单元剖分、有限元空间,通过变分形式离散得到有限元方程. 用 MATLAB 编程求得数值解,并进行了误差分析. 关键词: Poisson 方程; 有限元方法; MATLAB 编程; 三角形单元剖分中图分类号: O241. 8 文献标识码: A 文章编号: 1009 -4970( 2018) 05 -0015 -04 0 引言 热学、流体力学、电磁学、声学等学科中的相关过程,都可以用椭圆型方程来描述. 最为典型的椭圆型方程就是泊松方程[1]. 泊松方程在许多工程领域中有着广泛的应用,如它可以用来模拟半导体器件的静电过程. 在实际应用中,求解区域往往是不规则的,因此要想求出问题的解析解是非常困难的,很有必要研究其数值计算方法. 求解偏微分方程数值解常用的方法为有限差分法和有限元方法. 有限元方法是由 20 世纪 50 年代初的工程师们提出,其最初的数学思想是康托提出在三角形网格上用逐片线性函数去逼近 Dirichlet 边值问题[2]. 有限元方法[3 -4]是基于传统的 Ritz -Galerkin 方法和有限差分方法优点的一种数值方法,相对有限差分方法它更擅长处理各种复杂区域,是求解偏微分方程数值解的一种有效方法. 基于此,结合 MATLAB 强大的数值计算能力和绘图功能,本文用有限元方法求解圆形区域上的泊松方程,通过 MATLAB 编程实现求解过程. 讨论二维 Poisson 方程 - Δu = f( x,y) , ( x,y) ∈Ω, u =0, ( x,y) ∈Ω{ , ( 1) 其中 Δu = 2u x2 + 2u y2 ,f( x,y) ∈L2( Ω) ,Ω 为 R2 中的 有界凸区域,区域 Ω = x,( )y x2 + y2{ }<1 . 1 二维 Poisson 方程的有限元法 1. 1 有限元方法的基本原理和步骤 有限元法是基于变分原理和剖分技术的一种数值计算方法,把微分方法的定解问题转化为求解一 个等价的“变分问题”. 具体步骤如下. 1) 根据微分方程的边界条件给出对应定解问题的泛函及其等价的变分问题; 2) 选定单元的性状,对求解区域进行单元剖分,构造单元基函数; 3) 对多元函数的泛函求极值,形成有限元方 程; 4) 处理边界插值函数,求解有限元方程; 5) 收敛性及误差分析. 1. 2 Poisson 方程的变分形式 对 u ∈ H2 0( Ω) , v ∈ H1 0( Ω) , 在 方 程 - Δu = f( x,y) 两边同乘以v,在区域Ω上积分,由 Green 积分公式[5] 得, Ω u x v x + u y v ( ) y dxdy = Ω fvdxdy ( 2) 收稿日期: 2017 - 09 - 18 基金项目: 西华师范大学创新团队项目( CXTD2015 - 2) ; 西华师范大学英才基金( 17YC180) 作者简介: 陈莲( 1993—) ,女,四川德阳人,硕士. 研究方向: 数值计算.通讯作者: 郭元辉( 1962—) ,男,重庆巴县人,博士,教授,硕士生导师. 研究方向: 工程模拟与数值计算方法. ·51· 2018 年 5 月第 37 卷 第 5 期 洛阳师范学院学报 Journal of Luoyang Normal Unive