一维非稳态导热求解,绝热和热流边界条件,附Matlab程序,共同学习提高
function oned
% 根据网上一维算例改了下边界条件,边界条件为绝热和恒定热流 % by hxg
clear all;clc;
%%%%%%%%%%%%%
%需要输入的物性参数
Lambda=10;%导热系数
cp=440;%热容
rou=7800;%密度
qw=500000;%壁面热流
%%%%%%%%%%%%%
a=Lambda/rou/cp;%定义中间系数
c=qw/Lambda;%定义中间系数
xspan=[0 0.012];%轴向坐标起止位置
tspan=[0 10];%仿真时间起止
ngrid=[1000 20];%空间网格数和时间网格数
%%%%%%%%%%%%%
%调用子函数
[T,x,t]=rechuandao(a,c,xspan,tspan,ngrid);
%画图
[x,t]=meshgrid(x,t);
figure(1)
mesh(x,t,T);
xlabel('x')
ylabel('t')
zlabel('T')
function [U,x,t]=rechuandao(a,c,xspan,tspan,ngrid)
% 热传导方程:
% Ut(x,t)=c^2*Uxx(x,t) a
%一维非稳态导热方程
% 参数说明
% c:方程中的系数
% f:初值条件
% g1,g2:边值条件
% xspan=[a,b]:x的取值范围
% tspan=[ts,tf]:t的取值范围
% ngrid=[n,m]:网格数量,m为x网格点数量,n为t的网格点数量 % U:方程的数值解
% x,t:x和t的网格点
n=ngrid(1);
m=ngrid(2);
h=range(xspan)/(m-1);
x=linspace(xspan(1),xspan(2),m);