function A=secdim2% 本程序可实现两种可选边界条件的对流扩散实时动态模拟
% 采用乘方格式
% 初始温度场为10,速度可选
% 时间差分采用全隐式格式
clc
dt=0.001;
bc=input('南北边界条件:1-第一类,2-第二类:  ');
q=0;
ddt=input('迭代次数: ');
L1=0.02;r=1000;k=0.017;sp=0;L2=0.01;
u=input('横向速度: ');if bc==2v=0;
elsev=input('纵向速度 : ');
end
n=100;m=100;
dx=L1/n;dy=L2/m;F1=r*u*dy;F2=r*v*dx;
ap0=r*dx*dy/dt;
D1=k*dy/dx;pe1=F1/D1;D2=k*dx/dy;pe2=F2/D2;tp0=10*ones(n*m,1);%初场温度tw=10;te=10; %边界条件A=sparse(n*m);
b=ap0*tp0;
%二维影响系数采用乘方格式
ae=D1*max(0,(1-0.1*abs(pe1^5)))+max(-F1,0);
aw=D1*max(0,(1-0.1*abs(pe1^5)))+max(0,F1);
as=D2*max(0,(1-0.1*abs(pe2^5)))+max(0,F2);
an=D2*max(0,(1-0.1*abs(pe2^5)))+max(0,-F2);ap=aw+ae+as+an+ap0-sp;spw=-1*2*k*dy/dx;
spe=-1*2*k*dy/dx;
%边界条件源项处理
if bc==2q=input('热流为: ');spn=0;sps=0;tn=0;ts=0;te=0;spe=0;
elsetn=input('北侧温度: ');ts=input('南侧温度: ');
spn=-1*2*k*dx/dy;
sps=-1*2*k*dx/dy;
end
sun=zeros(n,1);
sus=zeros(n,1);
sun(5:64)=2*k*tn*dx/dy+q*dx;
sus(5:64)=2*k*ts*dx/dy+q*dx;
suw=2*k*tw*dy/dx;
sue=2*k*te*dy/dx;%系数矩阵,常数向量赋值
for i=1:n*m
%南s边界点赋值  if(i<n&&i>1)A(i,i)=ae+an+aw+ap0-sps;A(i,i+1)=-ae; A(i,i-1)=-aw;A(i,i+n)=-an;b(i)=b(i)+sus(i);
%内节点inner赋值else if(i>n&&rem(i,n)~=1&&rem(i,n)~=0&&i<n*(m-1)+1)   A(i,i)=ap;A(i,i+n)=-an; A(i,i-n)=-as; A(i,i+1)=-ae; A(i,i-1)=-aw;
%北n边界点赋值else if(i>n*m-n+1&&i<n*m)          A(i,i)=ae+aw+as+ap0-spn;A(i,i+1)=-ae; A(i,i-1)=-aw; A(i,i-n)=-as;b(i)=b(i)+sun(i-n*m+n);%西w边界点赋值    else if(i>n&&i<n*m-n+1&&rem(i,n)==1)A(i,i)=ae+an+as+ap0-spw;A(i,i+n)=-an; A(i,i-n)=-as;  A(i,i+1)=-ae;b(i)=b(i)+suw;%东e边界点赋值else if(i>n&&i<n*m&&rem(i,n)==0)A(i,i)=aw+an+as+ap0-spe;A(i,i+n)=-an; A(i,i-n)=-as;  A(i,i-1)=-aw;b(i)=b(i)+sue;elseendendendendend
end
%四个角点赋值%西南角点A(1,1)=1; %东南角点  A(n,n)=1;  %西北角点    A(n*m-n+1,n*m-n+1)=1;%东北角点A(n*m,n*m)=1;%
end

 ​

【物理应用】Matlab 二维对流扩散温度场相关推荐

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

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

  2. [计算流体力学][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)┤ 取计算范 ...

  3. MATLAB二维绘图(二)向图中添加标题,坐标轴,图标和文字信息

    MATLAB二维绘图(二)向图中添加标题,坐标轴,图标和文字信息 1.添加标题.图例.x轴信息和y轴信息,示例: %% 添加标题 clear; clc; close all; x = 0:0.1:2* ...

  4. Matlab 二维网格图pcolor和imagesc区别

    Matlab 二维网格图pcolor和imagesc区别 在速度或者衰减层析成像反演之后会得到地下介质每个网格点的速度/衰减值,在进行呈现的时候可以使用maltab的pcolor和imagesc进行二 ...

  5. matlab 二维矩阵变成一维矩阵

    matlab 二维矩阵变成一维矩阵 1.一维变二维: https://blog.csdn.net/qq_40584593/article/details/90691276 reshape 2.a(:) ...

  6. Matlab二维图形绘制与图形处理

    Matlab二维图形绘制与图形处理 一.二维图形绘制 1.极坐标图 2.散点图 3. 平面等值线图 二.图形处理 1.添加格栅,图例 和标注 2.定制坐标 3.在之前基础上继续作图 4.新建图形置于当 ...

  7. matlab二维绘图部分

    matlab二维绘图部分 X,Y是向量,分别表示点集的横坐标和纵坐标 PLOT(X,Y,S) 符号函数(显函数.隐函数和参数方程)画图 (1) ezplot ezplot('f(x)',[a,b]) ...

  8. matlab二维三维图形绘制和坐标轴范围设置

    matlab二维绘图 一. 二维图形(Two dimensional plotting) 1. 基本绘图函数(Basic plotting function):Plot, semilogx,   se ...

  9. MATLAB二维图形绘制

    MATLAB二维图形绘制 数据点标记 数据点 颜色 线型 曲线图 一.plot函数 (一)最简单的plot函数调用格式: plot(x) (1)plot函数的参数 X 为普通向量, (2)plot函数 ...

最新文章

  1. 如何提高网站的访问速度
  2. 开发路上踩过的坑要一个个填起来————持续更新······(7月30日)
  3. 基于区块链交易技术开发的证券
  4. C++ Primer 5th笔记(chap 16 模板和泛型编程)模板实参推断
  5. linux编译llvm代码
  6. 【NOI 2011】阿狸的打字机
  7. 用JAVA语言创建链表的方法
  8. CSS3 outline-offset 属性 项目中input会遇到
  9. 1984. 学生分数的最小差值
  10. [Leedcode][JAVA][第680题][验证回文字符串Ⅱ][贪心][递归]
  11. Swift快速入门(一)第一个Swift程序
  12. 西门子plm_好事连连 西门子PLM新品多项合作并举
  13. alien指令 linux,使用alien命令让deb包和rpm包互相转换
  14. (1)定义一个抽象类Weapon,该抽象类有两个抽象方法attack(),move() 这两个方法分别表示武器的攻击方式和移动方式。 (2)定义3个类:Tank,Fl
  15. PCL学习(4.5)——点云对象的两种定义方式的区别与转换
  16. 研磨java系列_研磨设计模式 之 工厂系列(一)简单工厂模式
  17. 儒略历、儒略日与儒略年原来是鸡同鸭讲
  18. 2020届秋招/WEB前端工程师/面经/内附面试问题心得体会/vue框架面试题
  19. linux—rm命令详解(一天一个命令)
  20. 刷脸支付设备深度融合多项赋能

热门文章

  1. 软件测试简单么,发展前景如何?
  2. vcpkg安装freeglut(起因:#include <GL/glut.h>无法识别)
  3. mysqlnbsp;索引(index)
  4. 网购系统设计Java_基于JavaEE架构的网上购物系统的设计与实现
  5. JAVA面向对象详细
  6. HAproxy+keepalived安装配置教程
  7. Python攻城师的成长————模块突破(collections、time与datetime、random随机数模块)
  8. Android通过POI架包生成Excle表格
  9. android 播放音乐 自定义控件,Android音乐播放器开发小记——项目简介
  10. 脸部识别是根据什么识别的_面部识别行业承诺要自我调节。 当然可以