#

偏微分方程数值方法


偏微分方程数值解

工具箱使用

步骤如下:

  1. 画区域,Draw或者直接在菜单栏上找,(画圆时,需要按住 Ctrl
  2. 设置边界条件,Boundary进入边界模式,按住shift选择边界进行设置
  3. 设置方程:PDE Specification
  4. 网格剖分
  5. 解方程:Solve PDE
  6. 绘图:Plot Parameters
  7. 输出数值解: Export Solution

偏微分方程模型

  1. 椭圆方程
  • 散射问题
  • 最小曲面问题(泛函极值问题):利用变分极值转化为非线性偏微分方程
  • 非线性椭圆型方程
  1. 抛物型方程
  • 热传导方程
  1. 双曲型方程
  • 波动方程

有限差分

核心:用差商代替微商

对于椭圆型:

  • 五点差分格式
  • 九点差分格式
  • 极坐标下的差分格式

对于抛物型:

  1. 常系数扩散方程
  • 1.1 差分格式
  • 1.2 加权格式
  • 1.3 三层格式
  • 1.4 跳点格式
  1. 初值问题
  • Saul‘ev算法
  • 分组显示方法
  1. 对流扩散方程
  • 修正中心显格式
  • 迎风差分格式
  • Samarskii格式
  • 指数型差分格式
  • 隐式格式
  • 特征差分格式
  1. 变系数方程
  • Taylor展开法
  • Keller盒式格式
  1. 多维问题
  • 交替方向隐式格式
  • 局部一维格式
  • 预测-校正格式
  • 跳点格式
  1. 非线性方程
  • Richtmyer线性化方法
  • 拟线性扩散方程的隐式格式
  • 三层格式
  • 预测-校正法
    对于双曲型:

有限元法如下:

有限差分法如下:

v0=100;%上边界
hx=17;hy=10;%确定网格步长上下界
v1=zeros(hy,hx);
v1(hy,:)=ones(1,hx)*v0;%上边界
v1(2:hy-1,2:hx-1)=ones(hy-2,hx-2);%中间的初始化
v2=zeros(hy,hx);maxt=1;t=0;%初始化
v2(hy,:)=v1(hy,:);%上边界
while (maxt>0.1)%由v1迭代,算出v2,迭代精度为0.1
    for i=2:hy-1
        for j=2:hx-1
            v2(i,j)=(v1(i,j-1)+v1(i,j+1)+v1(i-1,j)+...
                v1(i+1,j))/4;%五点格式差分法
            t=v2(i,j)-v1(i,j);
            maxt=0;
            if(t>maxt) 
                maxt=t; 
            end
        end
    end
    v1=v2;
end
subplot(1,2,1),surf(v2);
axis([0,17,0,10,0,100])
subplot(122)
contour(v2);%画等值线
hold on;%保屏
x=1:hx;y=1:hy;
[xx,yy]=meshgrid(x,y);%形成栅格
[Gx,Gy]=gradient(v2,0.6,0.6);%计算梯度
quiver(xx,yy,Gx,Gy,'r');%画矢量图
hold off

椭圆型

五点差分格式

五点差分格式

未完待续。。。


文章作者: 王胜鹏
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 王胜鹏 !
评论
 上一篇
通信原理信息论 通信原理信息论
通信原理信息论 信息量III单位(bit) I=−log2P(x)I=-log_2 P(x) I=−log2​P(x) 平均信息量(或熵)H(x)H(x)H(x)单位(b/符号) 描述信源的不确定性: H(x)=−∑i=1MP(xi)log
2020-09-21
下一篇 
常微分方程数值解法 常微分方程数值解法
微分方程数值解 核心思想:用差分代替微分 常微分方程 eg1:$$\begin{equation} \begin{cases} y’=y-\frac{2x}{y}, 0<x<1 \\ y\left( 0 \right) =1
2020-07-30
  目录