ADI算法



初边值问题叙述

满足定解条件的齐次方程:

∂u∂t=a2(∂2u∂x2+∂2u∂y2)(1)\frac{{\partial u}}{{\partial t}} = {a^2}\left( {\frac{{{\partial ^2}u}}{{\partial {x^2}}} + \frac{{{\partial ^2}u}}{{\partial {y^2}}}} \right) \tag{1} ∂t∂u​=a2(∂x2∂2u​+∂y2∂2u​)(1)
s.t.0≤x,y≤l;t>0u∣t=0=φ(x,y)∀t>0:u(0,0,t)=u(0,l,t)=u(l,0,t)=u(l,l,t)=0s.t.0 \le x,y \le l;t > 0 \\ u{|_{t = 0}} = \varphi \left( {x,y} \right) \\ \forall t >0:u\left( {0,0,t} \right) = u\left( {0,l,t} \right) = u\left( {l,0,t} \right) = u\left( {l,l,t} \right) = 0 s.t.0≤x,y≤l;t>0u∣t=0​=φ(x,y)∀t>0:u(0,0,t)=u(0,l,t)=u(l,0,t)=u(l,l,t)=0
以及为了求出比较美观的解的一个边值条件:
∀t>0:u(l4,l4,t)=u(l4,3l4,t)=u(3l4,l4,t)=u(3l4,3l4,t)=1\forall t>0:u\left( {\frac{l}{4},\frac{l}{4},t} \right) = u\left( {\frac{l}{4},\frac{{3l}}{4},t} \right) = u\left( {\frac{{3l}}{4},\frac{l}{4},t} \right) = u\left( {\frac{{3l}}{4},\frac{{3l}}{4},t} \right) = 1 ∀t>0:u(4l​,4l​,t)=u(4l​,43l​,t)=u(43l​,4l​,t)=u(43l​,43l​,t)=1

MATLAB实现

%% ADI
M=200;%网格数量
N=2000;%时间分割
T=0.05;%总时间
number = 50;%初始点数
tau=T./N;
L=1;
a=1;%导热系数决定的
h=L./M;
r=tau./h./h./2.*a.^2;%网比
disp(r);
H=sparse(diag(ones(1,M)*(2.*r+1)))+sparse(diag(ones(1,M-1)*(-r),1))+sparse(diag(ones(1,M-1)*(-r),-1));
v=zeros(M,M);
u=zeros(M,M);%初值
u(1,:)=0;u(M,:)=0;u(:,1)=0;u(:,M)=0;
[X,Y] = meshgrid(h:h:L,h:h:L);
RP = [randperm(M-2,number)'+1,randperm(M-2,number)'+1];%初始温度为100.0的点
for iter = 1:number
u(RP(iter,1),RP(iter,2)) = 100.0;
end
for k = 2:N
u(1,:)=0;u(M,:)=0;u(:,1)=0;u(:,M)=0;
delta_y=([zeros(M,1),u(:,1:M-1)]+[u(:,2:M),zeros(M,1)]-2*u)*r;
v=H\(u+delta_y);
v=v';
delta_x=([zeros(M,1),v(:,1:M-1)]+[v(:,2:M),zeros(M,1)]-2*v)*r;
u=H\(v+delta_x);
u=u';
u(1,:)=0;u(M,:)=0;u(:,1)=0;u(:,M)=0;
colormap(hot(10));contourf(h:h:L, (h:h:L)', u, 'ShowText','on');colorbartitle('热传导初边值问题');hold off;frame=getframe(gcf);imind=frame2im(frame); [imind,cm] = rgb2ind(imind,256);if k==1imwrite(imind,cm,'test.gif','gif', 'Loopcount',inf,'DelayTime',1e-4);elseif mod(k,100)==1imwrite(imind,cm,'test.gif','gif','WriteMode','append','DelayTime',1e-4);fprintf('epoch=%d\n',k);endend
end

这里是向单位正方形中滴入50个温度为100的点的散热建模
l=1,T=0.05,a=1l=1,T=0.05,a=1 l=1,T=0.05,a=1
下的解。

ADI交替差分隐格式求解二维热传导方程相关推荐

  1. Matlab二维热传导方程求解

    摘要 本文利用有限差分法来求二维热传导方程的数值解,通过Matlab编程求解并作图,进而与解析 解做出的图进行比较,画出误差图. 引言 对于一维热传导方程,通过差分法将方程离散为方程组,利用追赶法求解 ...

  2. 二维对流方程matlab求解,二维对流扩散方程的有限元计算方法

    冯立伟+张成+屈福志 " " " 摘要:针对二维对流扩散方程边值问题,采用三角形剖分,使用二维线性有限元进行计算分析.采用matlab编写了计算程序,使用算例进行了数值实 ...

  3. [计算流体力学][Matlab] 使用 A,B,C 格式与蛙跳格式求解二维对流问题

    1. 题目 2. 转述 原题目要求可以简化为: 对于二维对流方程: ∂u/∂t+∂u/∂x+∂u/∂y=0 u(x,y,0)={█(1,when-4≤x≤4,-4≤y≤4@0,other)┤ 取计算范 ...

  4. 隐式差分格式matlab,二维热传导方程隐式差分格式系数矩阵特征值的求取

    二维热传导方程隐式差分格式系数矩阵特征值的求取 大庆石油学院学报 JOURNALOFDAQINGPETROLEUMINSTITUTE第29卷Vol.29第3期No.32005年6月Jun.2005 二 ...

  5. 二维有限元方程matlab,有限元法求解二维Poisson方程的MATLAB实现

    有限元法求解二维 Poisson 方程的 MATLAB 实现 陈 莲a ,郭元辉b ,邹叶童a ( 西华师范大学 a. 数学与信息学院; b. 教育信息技术中心,四川南充 6437009) 摘 要: ...

  6. 一节双曲型方程基于MATLAB的求解,二维双曲型方程的分组并行格式及其数值实验...

    第 28卷第 2期 2010年 6月 湖北民族学院学报 (自然科学版 ) Journal of Hubei University for Nationalities(Natural Science E ...

  7. 【运筹优化】求解二维矩形装箱问题的算法合辑 + Java代码实现

    文章目录 一.算法合辑 1.1 结合自定义策略 1.1.1 结合自定义策略的禁忌搜索算法(98.80%) 1.2.1 结合自定义策略的蚁群算法(96.70%) 1.2 堆优化的天际线启发式算法(98. ...

  8. 求解二维矩形 Packing 问题的一种优美度枚举 算法的个人心得1

    求解二维矩形 Packing 问题的一种优美度枚举 算法的个人心得 个人思考: 10.14: 提出了基于 "角区"的基本算法 什么是角区? 定义4 (角区) 矩形框中由块或者矩形框 ...

  9. YDOOK: ANSYS Maxwell 19 教程26:Maxwell 2D 求解二维静电场 电线电缆应用设计4 网格划分

    使用 ANSYS Maxwell 19 Maxwell 2D 求解二维静电场,电线电缆应用通电设计仿真实例,网格划分 1. 选择需要进行网格划分的对象,右键 2. 输入相应参数

  10. 【运筹优化】结合天际线启发式的蚁群算法求解二维矩形装箱问题 + Java代码实现

    文章目录 一.天际线启发式 二.蚁群算法结合天际线启发式 2.1 构建序列 2.1.1 思路一 2.1.2 思路二 2.1.3 思路N 三.Java代码实现 3.1 项目结构 3.2 Ant 3.3 ...

最新文章

  1. python3.6.5安装教程-Centos7 安装Python3.6.5
  2. 第14章 结构和其他数据形式 14.12 typedef 简介
  3. mysql 当前用户连接数_实战:判断mysql中当前用户的连接数-分组淘选
  4. python 游戏 —— 汉诺塔(Hanoita)
  5. Scala的存在类型
  6. 设计一个应用程序,以在C#中的按钮单击事件上在MessageBox中显示TextBox中的文本...
  7. Spring中常用注解的介绍
  8. Face alignment at 3000 FPS via Regressing Local Binary Features
  9. 为什么开发人员应该学习 Kubernetes?
  10. rtpengine集群_ubuntu 安装 rtpengine
  11. 后缀树(Suffix tree)
  12. 建筑物内电缆桥架的选择与安装
  13. Codesys基础应用----ST语言实现经典冒泡排序
  14. 微信小程序cover-image手机上不显示问题
  15. 为什么编程这么难?!
  16. docker安装nginx镜像
  17. C指针与指针之间的相减操作
  18. Spring Cloud Hystrix 服务容错保护
  19. 输入带空格的字符数组
  20. python新闻评论分析_使用 python 抓取并分析京东商品评论数据

热门文章

  1. 发出商品杀手锏之SAP在途库存解决方案
  2. AHCI 与 IDE
  3. dog log 算子_灰度图像--图像分割 Marr-Hildreth算子(LoG算子)
  4. window下安装ruby与sass(附ruby)
  5. R语言统计—配对t检验样本量计算
  6. linux基础学习思维导图及文档(17万字)
  7. 交互式计算机图形学 第六版 pdf,1交互式计算机图形学系统.pdf
  8. OIer有趣代码+资料整理 1.0.0.8.7
  9. 如何提高Solidworks运行速度
  10. html使用什么网络协议,网络协议详细介绍