《偏微分方程数值解》由会员分享,可在线阅读,更多相关《偏微分方程数值解(31页珍藏版)》请在金锄头文库上搜索。
1、第一章 概 述大家采用下面的方法求解 Terzaghi 一维固结方程。11 偏微分方程工具箱的功能偏微分方程工具箱(PDE Toolbox)提供了研究和求解空间二维偏微分方程问题的一个强大而又灵活实用的环境。PDE Toolbox 的功能包括:(1) 设置 PDE (偏微分方程 )定解问题,即设置二维定解区域、边界条件以及方程的形式和系数;(2) 用有限元法 (FEM) 求解 PDE 数值解;(3) 解的可视化。无论是高级研究人员还是初学者,在使用 PDE Too1box 时都会感到非常方便。只要 PDE 定解问题的提法正确,那么,启动 MATLAB 后,在 MATLAB 工作空间的命令行中键
2、人 pdetool,系统立即产生偏微分方程工具箱(PDE Toolbox)的图形用户界面(Graphical User Interface,简记为 GUI),即 PDE 解的图形环境,这时就可以在它上面画出定解区域、设置方程和边界条件、作网格剖分、求解、作图等工作,详见14 节中的例子。我们将在第二章详细介绍 GUI 的使用,在第二章给出大量典型例子和应用实例。除了用 GUI 求解 PDE 外,也可以用 M 文件的编程计算更为复杂的问题,详见第三章和第四章的内容。12 PDE Toolbox 求解的问题及其背景121 方程类型PDE Toolbox 求解的基本方程有椭圆型方程、抛物型方程、双曲
3、型方程、特征值方程、椭圆型方程组以及非线性椭圆型方程。椭圆型方程: ,(), ,cuafin椭圆型方程: i其中 是平面有界区域,c,a,f 以及未知数 u 是定义在 上的实(或复)函数。抛物型方程: (), .udcafint双曲型方程: .2, ufit 特征值方程: (), ,cadin其中 d 是定义在 上的复函数, 是待求特征值。在抛物型方程和双曲型方程中,系数 c,a,f 和 d可以依赖于时间 t。可以求解非线性椭圆型方程:()(), ,cuafuin其中 c,a,f 可以是未知函数 u 的函数。还可以求解如下 PDE 方程组;1121212()(),cuaufcu利用命令行可以求
4、解高阶方程组。对于椭圆型方程,可以用自适应网格算法,还能与非线性解结合起来使用。另外,对于 Poission 方程还有一个矩形网格的快速求解器。122 边界条件(1)Dirichlet 条件 : hur( 2 ) Neumann 条件: ()ncqg其中 是 的边界 上的单位外法向量, 和 是定义在 上的函数。对于特征值问题仅n,hr限于齐次条件: 和 。对于非线性情形系数 和 可以依赖于 u;对于抛物型方程和双0,gr ,q曲型方程,系数可以依赖于时间 t。对于方程组情形,边界条件为( 1 ) Dirichlet 条件: 121hur212hur( 2 ) Neumann 条件: 1()()
5、nccqg21222nqu( 3 ) 混合边界条件为: 1hur112121()()nccuqgh2 2u其中 的计算要使得 Dirichlet 条件满足。在有限元法中,Dirichlet 条件也称为本质边界条件,Neumann条件称为自然边界条件。1.3 如何使用 FDE Toolbox1.3.1 定解问题的设置员简单的办法是在 PDE Tool 上直接使用图形用户界面(GUl) 。设置定解问题包括三个步骤:(1)Draw 模式:使用 CSG(几何结构实体模型)对话框画几何区域,包括矩形、圆、椭圆和多边形,也可以将它们组合使用。(2)Boundary 模式:在各个边界段上给出边界条件,(3)
6、PDE 模式:确定方程的类型、系数 c,a,f 和 d c。也能够在不同子区域上设置不同的系数( 反映材料的性质)。1.3.2 解 PDE 问题用 GUI 解 PDE 问题主要经过下面两个过程(模式)(1)Mesh 模式;生成网格自动控制网格参数。(2)Solve 模式:对于椭圆型方程还能求非线性和自适应解。对于抛物型和双曲型力程设置初始边值条件后能求出给定 t 时刻的解。对于特征值问题,能求出给定区间内的特征值;求解后可以加密网格再求解。1.3.3 使用 Toolbox 求解非标准的问题对于非标准的问题。可以用 PDE Too1box 的函数。或者用 FEM(有限元法)求解更为复杂的问题。1
7、.3.4 计算结果的可视化从 GUI 能够使用 Plot 模式实现可视化。可以使用 Color, Height 和 Vector 等作图。对于抛物型和双曲型方程,还可以生成解的动画。这些操作通过命令行都很容易实现。1.3.5 应用领域在应用界面提供了丁如下应用领域结构力学平面应力问题结构力学平面应变问题静电场问题静磁场问题交流电磁场问题直流导体介质问题热传导问题9散问题这些界面都有对话框,它包括 PDE 的系数、边界条件、解的性质等。1. 4 解偏微分方程的一个例子解 Poisson 方程 ,边界条件为齐次 Dirichlet 类型。uf第一步:启动 MATLABl, 键入 pdetool,按
8、回车键确定便可启动 GUI,然后在 Options 菜单下选择Grid 命令,打开栅格, 栅格的使用,能使用户容易确定所绘图形的大小,如图 111-1第二步:分步完成平面几何造型:R1-C1-E1+R2+C2。用菜单或快捷工具,分别画矩形 R1、矩形R2、椭圆 E1、圆 C1、圆 C2。画圆时,首先选中椭圆工具,按鼠标右键并拖动即可、或者在按 ctrI 的同时,拖动鼠标也可绘制圆。然后在 Set formula 栏,进行编辑并用算术运算将将图形对象名称连接起来,删除默认的表达式键入 R1-C1-E1+R2+C2,按等号健得到所需图形。若需要,还可进行储存形成 M 文件。选择 Boundary
9、菜单中 Boundary Mode 命令,进入边界模式。单击 Boundary 菜单中 Remove A11 Subdomain Borders 选项,去除子域边界。如果想将几何信息和边界信息进行存储,应选择 Boundary 菜单中的 ExPort Decomposed GeometryBoundary Conds命令,将它们分别储存于 g,b 变量中, 通过MATLAB 形成 M 文件。第三步:选取边界单击 Boundary 菜单中 Specify Bounddy Conditions选项,打开 Boundary conditlons 对话框,输入边界条件,如图 14。本例取缺省条件。即将
10、全部边界设为齐次 Dirichlet 条件,边界颜色显示为红色。第四步:选择 PDE 菜单中 PDE Mode 命令,进入 PDE 模式。单击 PDE 菜单中 PDE Specification选项,打开 PDE 对话框,设置方程类型。本例取缺省设置,类型为椭圆型,参数 c,a,f 分别为 1,0,10。第五步:选择 Mesh 菜单中 Initialize Mesh 命令,进行网格剖分。第六步:选择 Mesh 菜单中 Refine Mesh 命令,对网格加密。第七步:选择 Solve 菜单中 So1ve PDE 命令,解偏微分方程并显示图形解。第八步:单击 Plot 菜单中 Parameter
11、s选项,打开 Plot selection 对话框,选中 Color, Height (3D Plot)和 Show mesh 三项。然后单击 Plot 按钮,显示三维图形解。第九步:如果要画等值线图和矢量场图,单击 Plot 菜单中 Parameters选项,打开 Plot Selection 对话框选中 Contour 和 Arrows 两项。然后单击 P1ot 按钮,可显示解的等值线图和矢量场图。第二章 PDE 图形用户界面2.1 PDE Toolbox 菜单File 菜单(如图 1-1)图 1-1New 新建一个几何结构实体模型( Constructive Solid Geomery,
12、简记为 CSG) ,默认文件名为“Untitled”。Open 从硬盘装载 M 文件Save 将在 GUI 内完成的成果储存到一个 M 文件中。Save As 将在 GUI 内完成的成果储存到另外一个 M 文件中。Print 将 PDE 工具箱完成的图形送到打印机内进行硬拷贝。Exit 退出 PDE 工具图形用户界面。2 Edit 菜单(如图 1-2)图 1-2Undo 在绘制多边形时退回到上一步操作。Cut 将已选实体剪切到剪贴板上。Copy 将已选实体拷贝到剪贴板上。Paste 将剪贴板上的实体粘贴到当前几何结构实体模型中。Clear 删除已选的实体。Select All 选择当前几何结构
13、实体造型 CSG 中的所有实体及其边界和字域。3 Options 菜单(如图 1-3)图 1-3Grid 绘图时打开或关闭栅格。Grid Spacing 调整栅格的大小。Snap 打开或关闭捕捉栅格功能。Axes Limits 设置绘图轴的坐标范围。Axes Equal 打开或关闭绘图方轴。Turn off Toolbar Help 关闭工具栏按钮的帮助信息。Zoom 打开或关闭图形缩放功能。Application 选择应用的模式。Refresh 重新显示 PDE 工具箱中的图形实体。4 Draw 菜单(如图 1-4) 图 1-4Draw Mode 进入绘图模式。Rectangle/squar
14、e 以角点方式画矩形/ 方行(Ctrl+ 鼠标) 。Rectangle/square(centered) 以中心方式画矩形/方行(Ctrl+鼠标) 。Ellipse/circle 以矩阵角点方式画椭圆/圆(Ctrl+鼠标) 。Ellipse/circle(centered) 以中心方式画椭圆 /圆(Ctrl+鼠标) 。Polygon 画多边形,单击鼠标右键可封闭多边形。Rotate 旋转已选的图形。Export Geometry Description,Set Formula,Labels将几何描述矩阵 gd、公式设置字符 sf 和标识空间矩阵 ns 输出到主工作空间去。单击 Draw 菜单中
15、 Rotate选项,可打开 Rotate 比对活框,通过输入旋转的角度,可使选择的物体按输入的角度逆时针旋转。旋转中心的选择如果缺省,则为图形的质心,也可以输入旋转中心坐标。5 Boundary 菜单(如图 1-5)图 1-5Boundary Mode 进入边界模式。Specify Boundary Conditions 对于已选的边界输入条件,如果没有选择边界,则边界条件适用于所有的边界。Show Edge Labels 显示边界区域标识开关,其数据是分解几何矩阵的列数。Show Subdomain Labels 显示子区域标识开关,其数据是分解几何矩阵中的子域数值。Remove Subdomain Border 当图形进行布尔运算时,删除已选取的子域边界。Remove All Subdomain Borders 当图形进行布尔运算时,删除所有的子域边界。Exp