二维常系数瞬态导热计算_时间显示格式
%% 二维常系数瞬态导热计算,时间显示格式
clc
clear
(资料图片仅供参考)
%% 初始参数--------------
rou = 100;%内能密度
c = 1000;%比热容
k = 10;%热流密度系数
s = 10;%热源强度
%% 划分网格--------------
%空间网格
LENGTH_x = 3; %总长度3m
nx = 5; %距离网格数
dx = LENGTH_x/nx;%距离步长
LENGTH_y = 2;
ny = 5;
dy = LENGTH_y/ny;
%时间网格
dt = 100;%时间步长100s
nt = 2;%时间网格数,步数
t = dt*nt;%总计算时间
%% 初始赋值--------------
%创建温度储存矩阵矩阵
T = zeros(ny+2,nx+2,nt);
%边界温度℃
T_above = 4;
T_down = 2;
T_Left = 3;
T_Right = 5;
%边界温度赋值
for i=1:nt
T(1,:,i) = T_above;
T(end,:,i) = T_down;
T(:,1,i) = T_Left;
T(:,end,i) = T_Right;
T(1,1,i) = 0;
T(1,end,i) = 0;
T(end,end,i) = 0;
T(end,1,i) = 0;
end
%初始时刻温度赋值,假设为1℃
T(2:(end-1),2:(end-1),1) = 3;
%% 计算参数--------------
for time = 2:nt
% w左、e右、n上、s下
%内部节点
ae0_in = k*dy/dx;
aw0_in = k*dy/dx;
an0_in = k*dx/dy;
as0_in = k*dx/dy;
ap0_in = rou*c*dx*dy/dt-ae0_in-aw0_in-an0_in-as0_in;
ap1_in = ae0_in+aw0_in+an0_in+as0_in+ap0_in;
b = s*dx*dy;
for i = 3:ny
for j = 3:nx
T(i,j,time) = (ae0_in*T(i,j+1,time-1) + aw0_in*T(i,j-1,time-1) + ...
an0_in*T(i-1,j,time-1) + as0_in*T(i+1,j,time-1) + ...
ap0_in*T(i,j,time-1) + b)/ap1_in;
end
end
%左侧单边界节点
ae0_outl_1 = k*dy/dx;
aw0_outl_1 = k*dy/(dx/2);
an0_outl_1 = k*dx/dy;
as0_outl_1 = k*dx/dy;
ap0_outl_1 = rou*c*dx*dy/dt-ae0_outl_1-aw0_outl_1-an0_outl_1-as0_outl_1;
ap1_outl_1 = ae0_outl_1+aw0_outl_1+an0_outl_1+as0_outl_1+ap0_outl_1;
b = s*dx*dy;
for i = 3:ny
T(i,2,time) = (ae0_outl_1*T(i,3,time-1) + aw0_outl_1*T(i,1,time-1) + ...
an0_outl_1*T(i-1,2,time-1) + as0_outl_1*T(i+1,2,time-1) + ...
ap0_outl_1*T(i,2,time-1) + b)/ap1_outl_1;
end
%右侧单边界节点
ae0_outR_1 = k*dy/(dx/2);
aw0_outR_1 = k*dy/dx;
an0_outR_1 = k*dx/dy;
as0_outR_1 = k*dx/dy;
ap0_outR_1 = rou*c*dx*dy/dt-ae0_outR_1-aw0_outR_1-an0_outR_1-as0_outR_1;
ap1_outR_1 = ae0_outR_1+aw0_outR_1+an0_outR_1+as0_outR_1+ap0_outR_1;
b = s*dx*dy;
for i = 3:ny
T(i,end-1,time) = (ae0_outR_1*T(i,end,time-1) + aw0_outR_1*T(i,end-2,time-1) + ...
an0_outR_1*T(i-1,end-1,time-1) + as0_outR_1*T(i+1,end-1,time-1) + ...
ap0_outR_1*T(i,end-1,time-1) + b)/ap1_outR_1;
end
%上侧单边界节点
ae0_outa_1 = k*dy/dx;
aw0_outa_1 = k*dy/dx;
an0_outa_1 = k*dx/(dy/2);
as0_outa_1 = k*dx/dy;
ap0_outa_1 = rou*c*dx*dy/dt-ae0_outa_1-aw0_outa_1-an0_outa_1-as0_outa_1;
ap1_outa_1 = ae0_outa_1+aw0_outa_1+an0_outa_1+as0_outa_1+ap0_outa_1;
b = s*dx*dy;
for j = 3:nx
T(2,j,time) = (ae0_outa_1*T(2,j+1,time-1) + aw0_outa_1*T(2,j-1,time-1) + ...
an0_outa_1*T(1,j,time-1) + as0_outa_1*T(3,j,time-1) + ...
ap0_outa_1*T(2,j,time-1) + b)/ap1_outa_1;
end
%下侧单边界节点
ae0_outd_1 = k*dy/dx;
aw0_outd_1 = k*dy/dx;
an0_outd_1 = k*dx/dy;
as0_outd_1 = k*dx/(dy/2);
ap0_outd_1 = rou*c*dx*dy/dt-ae0_outd_1-aw0_outd_1-an0_outd_1-as0_outd_1;
ap1_outd_1 = ae0_outd_1+aw0_outd_1+an0_outd_1+as0_outd_1+ap0_outd_1;
b = s*dx*dy;
for j = 3:nx
T(end-1,j,time) = (ae0_outd_1*T(end-1,j+1,time-1) + aw0_outd_1*T(end-1,j-1,time-1) + ...
an0_outd_1*T(end-2,j,time-1) + as0_outd_1*T(end,j,time-1) + ...
ap0_outd_1*T(end-1,j,time-1) + b)/ap1_outd_1;
end
%左上角两边界节点
ae0_outwn_2 = k*dy/(dx);
aw0_outwn_2 = k*dy/(dx/2);
an0_outwn_2 = k*dx/(dy/2);
as0_outwn_2 = k*dx/(dy);
ap0_outwn_2 = rou*c*dx*dy/dt-ae0_outwn_2-aw0_outwn_2-an0_outwn_2-as0_outwn_2;
ap1_outwn_2 = ae0_outwn_2+aw0_outwn_2+an0_outwn_2+as0_outwn_2+ap0_outwn_2;
b = s*dx*dy;
T(2,2,time) = (ae0_outwn_2*T(2,3,time-1) + aw0_outwn_2*T(2,1,time-1) + ...
an0_outwn_2*T(1,2,time-1) + as0_outwn_2*T(3,2,time-1) + ...
ap0_outwn_2*T(2,2,time-1) + b)/ap1_outwn_2;
%左下角两边界节点
ae0_outws_2 = k*dy/(dx);
aw0_outws_2 = k*dy/(dx/2);
an0_outws_2 = k*dx/(dy);
as0_outws_2 = k*dx/(dy/2);
ap0_outws_2 = rou*c*dx*dy/dt-ae0_outws_2-aw0_outws_2-an0_outws_2-as0_outws_2;
ap1_outws_2 = ae0_outws_2+aw0_outws_2+an0_outws_2+as0_outws_2+ap0_outws_2;
b = s*dx*dy;
T(end-1,2,time) = (ae0_outws_2*T(end-1,3,time-1) + aw0_outws_2*T(end-1,1,time-1) + ...
an0_outws_2*T(end-2,2,time-1) + as0_outws_2*T(end,2,time-1) + ...
ap0_outws_2*T(end-1,2,time-1) + b)/ap1_outws_2;
%右上角两边界节点
ae0_outne_2 = k*dy/(dx/2);
aw0_outne_2 = k*dy/(dx);
an0_outne_2 = k*dx/(dy/2);
as0_outne_2 = k*dx/(dy);
ap0_outne_2 = rou*c*dx*dy/dt-ae0_outne_2-aw0_outne_2-an0_outne_2-as0_outne_2;
ap1_outne_2 = ae0_outne_2+aw0_outne_2+an0_outne_2+as0_outne_2+ap0_outne_2;
b = s*dx*dy;
T(2,end-1,time) = (ae0_outne_2*T(2,end,time-1) + aw0_outne_2*T(2,end-2,time-1) + ...
an0_outne_2*T(1,end-1,time-1) + as0_outne_2*T(3,end-1,time-1) + ...
ap0_outne_2*T(2,end-1,time-1) + b)/ap1_outne_2;
%右下角两边界节点
ae0_outes_2 = k*dy/(dx/2);
aw0_outes_2 = k*dy/(dx);
an0_outes_2 = k*dx/(dy);
as0_outes_2 = k*dx/(dy/2);
ap0_outes_2 = rou*c*dx*dy/dt-ae0_outes_2-aw0_outes_2-an0_outes_2-as0_outes_2;
ap1_outes_2 = ae0_outes_2+aw0_outes_2+an0_outes_2+as0_outes_2+ap0_outes_2;
b = s*dx*dy;
T(end-1,end-1,time) = (ae0_outes_2*T(end-1,end,time-1) + aw0_outes_2*T(end-1,end-2,time-1) + ...
an0_outes_2*T(end-2,end-1,time-1) + as0_outes_2*T(end,end-1,time-1) + ...
ap0_outes_2*T(end-1,end-1,time-1) + b)/ap1_outes_2;
end
关键词:
相关新闻
- 二维常系数瞬态导热计算_时间显示格式
- 四家上市公司半年度业绩预增超1000%,扣非归属净利润最高涨近55倍
- 2023年道县总河长会议召开
- 燕宝慈善奖学金申领流程(附申领入口)
- 追记张晓鹏③|敢于啃“硬骨头”,他把一个又一个大案要案办成铁案
- Python工匠:案例、技巧与工程实践 实现从入门到工匠的跃迁
- 你了解怎么注册期权账号吗?
- 全市道路交通安全警示会议召开
- 东莞中考录取分数线2022年
- 海口发展保障性租赁住房实施办法公开征求意见
- 头条文章
- 美媒:“美国政府自己打造‘反美联盟’”
- 当18A企业靠卖药实现盈利,一个新时代开始了
- 靳羽西在家乡广西桂林签售个人自传《你,自成先锋》
- 南京高淳文旅3亿元短债完成发行 利率3.57%
- 7月6日基金净值:朱雀产业臻选混合A最新净值1.6033,跌0.73%
- 7月6日基金净值:泰康兴泰回报沪港深混合最新净值1.476,跌0.22%
- 超值抢购!iPhone 14 Pro优惠促销
- 海清岸绿看昌江
- 神永学(关于神永学介绍)
- 名记:麦克勒莫希望重返NBA 将在夏季联赛期间试训多队
- 科蓝软件:智能机器人“小蓝”下半年将试点逐步扩展 明年会大规模推广
- 全面注册制下主板IPO被否第一单!鼎镁科技IPO未通过审核
- 干眼症发病率不断攀升,上海市眼病防治中心启用干眼诊治工作室