目录
利用pde工具箱解偏微分方程的步骤包括
- 确定方程类型(椭圆、双曲、抛物、特征值)
- 根据方程的边界条件等信息绘图
- 确定边界条件(初值、Dirichlet、Neumann)
- 画网格、求解、后处理
在一个二维的有界区域Ω\OmegaΩ上,matlab的PDE工具箱主要使用有限元方法解决下面四类问题:
- 椭圆形方程(elliptic)
- 抛物型方程(parabolic)
- 双曲线方程(hyperbolic)
- 特征值问题
这些系数和右端项是可以包含时间t(如果有的话)、函数u,函数的梯度∇u
边界条件选择
- 狄利克雷边界条件(Dirichlet) hu = r ,需要确定h、r
-
诺依曼边界条件(Neumann) n⋅(c∇u)+qu=g ,需要确定q、g
这上边的参数可以是空间变量、时间变量以及函数u的函数。
PDE工具箱的介绍
命令行输入pdetool,打开GUI编辑界面如下:
简单地说,就是前面几个拿来画区域的,后面一个∂Ω拿来设置边界条件,带三角形的是拿来剖分以及加密的,等号是求解,最后那个带图的那个是画图。
工具栏上的菜单栏,我们常用到的有:
Option下的坐标轴显示网格,坐标轴限制以及坐标轴显示是否等宽
Draw下的对区域的旋转选项,
mesh下的显示网格编号,到处网格节点、边、面等。
Solve下对于抛物问题和双曲问题的参数设定(和时间有关的步长,终止时间,初值等),解的导出也在solve下。
如果知道真解的话,可以使用plot下拉下的参数选项,选择user entry来绘制误差曲线。
当然,还有一些简单的tip,比如,在设置边界条件时,若多个边界的边界条件时一样的,那么可以shift+单击选中多个边界,一次性设置边界条件。在plot当中还可以生成动画等。
一个简单的小例子
对于这样一个问题,我们如何用pde工具箱求解呢?
分析:方程为抛物线方程;第二式为假定 R0= 1/4,求解的时间 t=3/256,那么,操作如下:
(1)命令行输入pdetool打开工具箱
(2)点击PDE按钮,选择抛物方程,设置参数如下:
(3)使用矩形工具(第一个)拖动绘制矩形。双击画出的矩形,填写Left=0,Bottom=0,Width=1,Height =1,如下:
(4)使用Options下Axes Limits可以调整横纵坐标的显示。
(5)点击∂Ω,边界以红色显示(红蓝绿依次表示狄利克雷、诺依曼和混合边界条件)。使用shift和鼠标点击,选中四条边界,设置为诺依曼边界条件,根据问题,填写q=0,g=0,点选OK。
(6)点击三角形按钮,以及后面的加密按钮,对区域进行三角形剖分。(Mesh-->undo mesh change可返回上一种网格状态)
(7)选择Solve下拉菜单中的参数,根据问题设置参数如下:
(8)点击等号,即进行求解了。
这里一般用颜色的深浅来表示值的大小。
(9)点击带图案的那个按钮,选中Color选项,以及Height(3-D plot)选项和Animation选项,其他想勾的也可以勾,比如show mesh。点击plot,就进行绘图以及动画的制作。
请发表评论