matlab的PDE工具箱的简单使用

matlab的PDE工具箱的简单使用

问题选择

在一个二维的有界区域 Ω \Omega Ω上,matlab的PDE工具箱主要使用有限元方法解决下面四类问题:

  • 椭圆形方程(elliptic)
    − ∇ ⋅ ( c ∇ u ) + a u = f -\nabla\cdot(c\nabla u)+au=f (cu)+au=f
  • 抛物型方程(parabolic)
    d ∂ u ∂ t − ∇ ( c ⋅ ∇ u ) + a u = f d\frac{\partial u}{\partial t}-\nabla (c\cdot \nabla u)+au = f dtu(cu)+au=f
  • 双曲型方程(hyperbolic)
    d ∂ 2 u ∂ t 2 − ∇ ( c ⋅ ∇ u ) + a u = f d\frac{\partial^2 u}{\partial t^2}-\nabla (c\cdot \nabla u)+au = f dt22u(cu)+au=f
  • 特征值问题(eigen)
    − ∇ ( c ⋅ ∇ u ) + a u = λ d u -\nabla (c\cdot \nabla u)+au = \lambda du (cu)+au=λdu

这些系数和右端项是可以包含时间 t t t(如果有的话)、函数 u u u,函数的梯度 ∇ u \nabla u u

边界条件选择
  • 狄利克雷边界条件(Dirichlet)
    h u = r hu=r hu=r
  • 诺依曼边界条件(Neumann)
    n ⃗ ⋅ ( c ∇ u ) + q u = g \vec{n} \cdot (c\nabla u)+qu =g n (cu)+qu=g
    这里 n ⃗ \vec{n} n 是外法向量。
  • 方程组求解的情况下,还有混合边界条件。

这上边的参数可以使空间变量、时间变量以及函数 u u u的函数。

菜单按钮和简单使用

命令行输入pdetool,打开GUI编辑界面如下:

在这里插入图片描述

在这里插入图片描述

注意到工具栏上,就是我们要用到的,从左到右依次使用每个工具,就完成了整个pde的求解过程。每个工具的含义如下:

在这里插入图片描述

简单地说,就是前面几个拿来画区域的,后面一个 ∂ Ω \partial \Omega Ω拿来设置边界条件,带三角形的是拿来剖分以及加密的,等号是求解,最后那个带图的那个是画图。

工具栏上的菜单栏,我们常用到的有Option下的坐标轴显示网格,坐标轴限制以及坐标轴显示是否等宽。再有就是Draw下的对区域的旋转选项,以及mesh下的显示网格编号,到处网格节点、边、面等。最重要的是Solve下对于抛物问题和双曲问题的参数设定(和时间有关的步长,终止时间,初值等),解的导出也在solve下。如果知道真解的话,可以使用plot下拉下的参数选项,选择user entry来绘制误差曲线。

当然,还有一些简单的tip,比如,在设置边界条件时,若多个边界的边界条件时一样的,那么可以shift+单击选中多个边界,一次性设置边界条件。在plot当中还可以生成动画等。

一个简单的小例子

u t − Δ u = 0   i n   Ω = [ 0 , 1 ] 2 n ⋅ ∇ u = 0   o n   ∂ Ω u ( 0 , x , y ) = R 0 − ( x − 0.5 ) 2 + ( y − 0.5 ) 2 u_t - \Delta u = 0 \ in \ \Omega=[0,1]^2\\ n \cdot \nabla u = 0 \ on \ \partial \Omega\\ u(0,x,y) = R_0 - \sqrt{(x-0.5)^2+(y-0.5)^2} utΔu=0 in Ω=[0,1]2nu=0 on Ωu(0,x,y)=R0(x0.5)2+(y0.5)2

对于这样一个问题,我们如何用pde工具箱求解呢?假定 R 0 = 1 / 4 R_0 = 1/4 R0=1/4,求解的时间 t = 3 / 256 t = 3/256 t=3/256,那么,操作如下:

  • 命令行输入pdetool打开工具箱

  • 使用矩形工具(第一个)拖动绘制矩形。双击画出的矩形,填写Left=0,Bottom=0,Width=1,Height =1,如下: 在这里插入图片描述点击OK。

  • 使用Options下Axes Limits可以调整横纵坐标的显示。

  • 点击 ∂ Ω \partial \Omega Ω,边界以红色显示(红蓝绿依次表示狄利克雷、诺依曼和混合边界条件)。使用shift和鼠标点击,选中四条边界,设置为诺依曼边界条件,根据问题,填写 q = 0 , g = 0 q=0,g=0 q=0,g=0,点选OK。

  • 点击PDE按钮,选择抛物方程,设置参数如下:在这里插入图片描述

  • 点击三角形按钮,以及后面的加密按钮,对区域进行三角形剖分。

  • 选择Solve下拉菜单中的参数,根据问题设置参数如下:在这里插入图片描述

  • 点击等号,即进行求解了。在这里插入图片描述
    这里一般用颜色的深浅来表示值的大小。

  • 点击带图案的那个按钮,选中Color选项,以及Height(3-D plot)选项和Animation选项,其他想勾的也可以勾,比如show mesh。点击plot,就进行绘图以及动画的制作。在这里插入图片描述

PDE工具箱还有针对性地为一些领域的具体问题提供了解决方案,如:结构力学、静电学、电磁学、热传导等。当然,除了图形界面,也可以编写m文件求解PDE。但是,它也有很大的局限性,就是只能求解特定的PDE,且网格密度大的时候,运算量巨大。

Matlab PDE工具箱Matlab的一个功能强大的工具箱,用于求偏微分方程(PDE)问题。使用PDE工具箱,可以通过建立一个PDE模型并选择合适的求方法来决各种PDE问题。 使用PDE工具箱简单步骤如下: 1. 定义几何区域:首先,需要定义一个几何区域,可以使用预定义的形状,例如矩形、圆形等,也可以使用自定义的几何区域。可以通过绘图工具在GUI界面上绘制几何区域,也可以通过代码编写定义几何区域。 2. 定义PDE模型:在PDE工具箱中,需要定义一个PDE模型,包括偏微分方程和边界条件。可以选择常见的偏微分方程,如热传导方程、泊松方程等,也可以定义自定义的偏微分方程。同时,需要定义边界条件,如固定值、导数值等。 3. 选择求方法:PDE工具箱提供了多种求方法,包括有限元方法、有限差分方法等。根据问题的特点和求效率,可以选择合适的求方法。 4. 求PDE模型:通过点击求按钮,PDE工具箱将自动求PDE模型,并给出结果。可以在GUI界面上实时查看的变化,也可以通过代码编写脚本来进行求。 总结起来,使用PDE工具箱简单步骤包括定义几何区域、定义PDE模型、选择求方法和求PDE模型。通过这些步骤,可以轻松地使用Matlab PDE工具箱决各种PDE问题。<span class="em">1</span><span class="em">2</span> #### 引用[.reference_title] - *1* [matlabPDE工具箱简单使用](https://blog.csdn.net/shixin_0125/article/details/123488858)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [热扩散方程matlab代码-First-passage:使用MatlabPDE工具箱数值FirstPassage概率问题](https://download.csdn.net/download/weixin_38739164/19460948)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论 103
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

陆嵩

有打赏才有动力,你懂的。

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值