传热学上机C程序源答案之一维稳态导热的数值计算
传热学上机C程序源答案之一维稳态导热的数值计算

一维稳态导热的数值计算1.1物理问题一个等截面直肋,处于温度t∞=80的流体中。
肋表面与流体之间的对流换热系数为h=45W/(m2∙℃),肋基处温度tw=300℃,肋端绝热。
肋片由铝合金制成,其导热系数为λ=110W/(m ∙℃),肋片厚度为δ=0.01m,高度为H=0.1m 。
试计算肋内的温度分布及肋的总换热量。
1.2数学描述及其解析解引入无量纲过余温度θ=t -t∞tw -t∞,则无量纲温度描述的肋片导热微分方程及其边界条件:2220d m dxθθ-=x=0,θ=θw =1 x=H,0xθ∂=∂ 其中 Ahpm =λ上述数学模型的解析解为:[()]()()w ch m x H t t t t ch mH ∞∞--=-⋅()()w hpt t th mH m∞∅=-1.3数值离散1.3.1区域离散计算区域总节点数取N 。
1.3.2微分方程的离散对任一借点i 有:2220i d m dx θθ⎛⎫-= ⎪⎝⎭用θ在节点i 的二阶差分代替θ在节点i 的二阶导数,得:211220i i i i m x θθθθ+--+-=整理成迭代形式:()112212i i i m x θθθ+-=++ (i=2,3……,N-1)1.3.3边界条件离散补充方程为:11w θθ==右边界为第二类边界条件,边界节点N 的向后差分得:10N N xθθ--=,将此式整理为迭代形式,得:N 1N θθ-=1.3.4最终离散格式11w θθ==()112212i i i m xθθθ+-=++ (i=2,3……,N-1) N 1N θθ-=1.3.5代数方程组的求解及其程序假定一个温度场的初始发布,给出各节点的温度初值:01θ,02θ,….,0N θ。
将这些初值代入离散格式方程组进行迭代计算,直至收敛。
假设第K 步迭代完成,则K+1次迭代计算式为:K 11w θθ+=()11112212i i K K K i m xθθθ+-++=++ (i=2,3……,N-1) 111N K K N θθ-++=#include<stdio.h>#include<math.h>#define N 11main(){int i;float cha;/*cha含义下面用到时会提到*/float t[N],a[N],b[N];float h,t1,t0,r,D,H,x,m,A,p; /*r代表λ,x代表Δx,D代表δ*/printf("\t\t\t一维稳态导热问题\t\t");printf("\n\t\t\t\t\t\t----何鹏举\n");printf("\n题目:补充材料练习题一\n");printf("已知:h=45,t1=80, t0=200, r=110, D=0.01, H=0.1 (ISO)\n");/*下面根据题目赋值*/h=45.0; t1=80.0; t0=300.0; r=110.0; D=0.01; H=0.1;x=H/N; A=3.1415926*D*D/4; p=3.1415926*D; m=sqrt((h*p)/(r*A));/*x代表步长,p代表周长,A代表面积*/printf("\n请首先假定一个温度场的初始分布,即给出各节点的温度初值:\n");for(i=0;i<N;i++){scanf("%f",&t[i]);a[i]=(t[i]-t1)/(t0-t1);b[i]=a[i];/*这里b[i]用记录一下a[i],后面迭代条件及二阶采用温度初场要用到*/ }/*采用一阶精度的向后差分法数值离散*/cha=1;while(cha>0.0001){a[0]=1;for(i=1;i<N;i++)a[i]=(a[i+1]+a[i-1])/(2+m*m*x*x);a[N-1]=a[N-2];cha=0;for(i=0;i<N;i++)cha=cha+a[i]-b[i];cha=cha/N;/*cha代表每次迭代后与上次迭代各点温度差值的平均值*/}for(i=0;i<N;i++)t[i]=a[i]*(t0-t1)+t1;printf("\n\n经数值离散(一阶精度的向后差分法)计算得肋片的温度分布为:\n");for(i=0;i<N;i++)printf("%4.2f\t",t[i]);printf("\n\n");getchar();/*采用二阶精度的元体平衡法数值离散(温度初值还用设定的初场,便于比较)*/ for(i=0;i<N;i++)a[i]=b[i];cha=1;while(cha>0.0001){a[0]=1;for(i=1;i<N;i++)a[i]=(a[i+1]+a[i-1])/(2+m*m*x*x);a[N-1]=a[N-2]/(1+0.5*m*m*x*x);cha=0;for(i=0;i<N;i++)cha=cha+a[i]-b[i];cha=cha/N;}for(i=0;i<N;i++)t[i]=a[i]*(t0-t1)+t1;printf("\n\n经数值离散(二阶精度的元体平衡法)计算得肋片的温度分布为:\n"); for(i=0;i<N;i++)printf("%4.2f\t",t[i]);printf("\n\n");getchar();}-----精心整理,希望对您有所帮助!。
(完整word版)一维非稳态导热的数值计算

int i,j,l;
float cha;
float a,x,y,Fo,Bi;
float t[N][K],b[N][K];
/*打印出题目*/
printf("\t\t\t一维非稳态导热问题\t\t");
printf("\n\t\t\t\t\t\t----何鹏举\n");
printf("\n题目:补充材料练习题三\n");
/*时刻为零时,赋予初场温度*/
for(i=0;i<N;i++)
t[i][0]=1000;
/*循环开始,每次计算一个时刻*/
for(j=0;j<K-1;j++)
{
for(i=0;i<N;i++)
b[i][j]=t[i][j];
/*下面对每一个时刻进行迭代求解对应的温度分布,公式按传热学课本P178页公式*/
y=1;/*y代表Δτ*/
x=0.05/(N-1);
a=34.89/(7800*712);
Fo=(a*y)/(x*x);
Bi=233*x/34.89;
printf("\n显示格式条件:");
printf("\n1、Fo=%3.1f<0.5\t",Fo);
printf("\t2、1-2Fo*Bi-2Fo=%4.2f>0\n\n",1-2*Fo*Bi-2*Fo);
{
printf("\n");
l=0;
}
}ห้องสมุดไป่ตู้
getchar();/*为了是生成的exe文件结果算的后不会立即退出,方便观看*/
传热学上机C程序源答案之一维非稳态导热的数值计算

二维稳态导热的数值计算2.1物理问题一矩形区域,其边长L=W=1,假设区域内无内热源,导热系数为常数,三个边温度为T1=0,一个边温度为T2=1,求该矩形区域内的温度分布。
2.2 数学描述 对上述问题的微分方程及其边界条件为:2222T T 0x y∂∂+=∂∂ x=0,T=T 1=0x=1,T=T 1=0y=0,T=T 1=0y=1,T=T 2=1 该问题的解析解:112121(1)sin n n n sh y T T n L x n T T n L sh W L ππππ∞=⎛⎫⋅ ⎪---⎛⎫⎝⎭=⋅ ⎪-⎛⎫⎝⎭⋅ ⎪⎝⎭∑ 2.3数值离散2.3.1区域离散区域离散x 方向总节点数为N ,y 方向总节点数为M ,区域内任一节点用I,j 表示。
2.3.2方程的离散 对于图中所有的内部节点方程可写为:2222,,0i j i jt t x y ⎛⎫⎛⎫∂∂+= ⎪ ⎪∂∂⎝⎭⎝⎭ 用I,j 节点的二阶中心差分代替上式中的二阶导数,得:+1,,-1,,+1,,-1222+2+0i j i j i ji j i j i j T T T T T T x y --+=上式整理成迭代形式:()()22,1,-1,,1,-12222+2()2()i j i j i j i j i j y x T T T T T x y x y ++=++++ (i=2,3……,N -1),(j=2,3……,M -1)补充四个边界上的第一类边界条件得:1,1j T T = (j=1,2,3……,M),1N j T T = (j=1,2,3……,M),1i j T T = (i=1,2,3……,N),2i M T T = (i=1,2,3……,N)#include<stdio.h>#include<math.h>#define N 10#define K 11main(){int i,j,l;float cha;float a,x,y,Fo,Bi;float t[N][K],b[N][K];/*打印出题目*/printf("\t\t\t一维非稳态导热问题\t\t");printf("\n\t\t\t\t\t\t----何鹏举\n");printf("\n题目:补充材料练习题三\n");y=1;/*y代表Δτ*/x=0.05/(N-1);a=34.89/(7800*712);Fo=(a*y)/(x*x);Bi=233*x/34.89;printf("\n显示格式条件:");printf("\n1、Fo=%3.1f<0.5\t",Fo);printf("\t2、1-2Fo*Bi-2Fo=%4.2f>0\n\n",1-2*Fo*Bi-2*Fo);/*时刻为零时,赋予初场温度*/for(i=0;i<N;i++)t[i][0]=1000;/*循环开始,每次计算一个时刻*/for(j=0;j<K-1;j++){for(i=0;i<N;i++)b[i][j]=t[i][j];/*下面对每一个时刻进行迭代求解对应的温度分布,公式按传热学课本P178页公式*/ cha=1;while(cha>0.001){for(i=0;i<N-1;i++){if(i==0)t[i][j+1]=Fo*(t[i+1][j]+t[i+1][j])+(1-2*Fo)*t[i][j];/*当计算t[0]时,要用到t[-1],其中t[-1]=t[2]的(对称分布)*/elset[i][j+1]=Fo*(t[i+1][j]+t[i-1][j])+(1-2*Fo)*t[i][j];t[N-1][j+1]=t[N-2][j]*(1-2*Fo*Bi-2*Fo)+2*Fo*t[N-1][j]+2*Fo*Bi*20;/*边界点温度用热平衡法推导出公式*/}cha=0;for(i=0;i<N;i++)cha=cha+abs(t[i][j]-b[i][j]);cha=cha/N;}}/*输出温度分布,其中l控制输出值的排列;这个结果是横轴为x,纵轴为τ的直角坐标下从左上角开始依次的*/printf("\n经数值离散计算的温度分布为:\n");l=0;for(j=K-1;j>=0;j--)for(i=0;i<N;i++){if(t[i][j]>999.99)printf("%6.1f ",t[i][j]);elseprintf("%6.2f ",t[i][j]);l=l+1;if(l==N){printf("\n");l=0;}}getchar();/*为了是生成的exe文件结果算的后不会立即退出,方便观看*/}。
一维稳态热传导方程的数值解法及其

由上两式有:
xe xe xe
e
P
E
(5)
此式即为界面上的当量导热系数调和平均公式,
它可以看成是串联过程中热阻叠加原则的反映。
当网格划分为均匀网格时
e
2P E P E
(4)
6.3 两种方法的比较
1)当λ E 0时,由4式λe 0,说明在一个绝热层
界面)
4)把物性阶跃面设置成一个节点的位置比作为控 制容积分界面,使计算结果会更加精确。(由于此种情
况阶跃面两侧温度梯度不同,如按3处理,相当于用平均值来代替,采用此种方法处理 时,物性阶跃面两侧温度梯度单独计算,提高了计算精度。)
一维稳态导热方程的离散形式可表示成:
aP T PaE T Ea W T W b
的表面上qe=0,合乎实际;但 3 式 λe 0;
2)如 P
分时, e
E
P
2
,按算术平均法,当网格为均匀划
E
P
2
则P,E间的导热阻力为
2
x
e
P
,说明P,E间的导
热热阻由导热系数大的决定 ,这是不对的。
若按调和平均法计算,由5式则导热热阻为
xe xexexe
w
TPxTwW
整理得:
TExT PTPxT WxSCSPTP0
e
w
e
w
TPxee xwwSpxTExeeTWxwwScx
简化成 aP T PaE T Ea W T W b (2)
§6 一维稳态热传导方程的数 值解法及其应用
6.1 一维稳态导热的通用控制方程
一维稳态导热方程离散化、边界条件及源项的处 理及非线性代数方程的求解方法等对对流问题数 值解也适用。 一维稳态导热微分方程的通用形式为
一维稳态导热问题数值计算

一维稳态导热问题数值计算刘强引言❖目前为止,一般稍微复杂的导热问题几乎都依靠数值法求解。
❖导热问题的数值法有三种:有限差分法,有限元法和边界元法。
本教材介绍目前在铸造领域温度场计算中普遍采用的直接差分法,也叫单元热平衡法。
❖基本思想:不用导热微分方程,而是直接通过能量守恒定律,根据相邻单元间的能量交换关系导出差热方程。
❖分析i 单元的热量平衡关系,从t n 到t n+1时间内,由i-1单元流入i 单元的热量为:=1Q x i T i T k n n ∆---)1()(x ∆⋅(1)由i 单元流入i+1单元的热量为:=2Q 由内能计算公式:t x i T i T k n n ∆⋅∆-+-)()1(Tm C Q p ∆=而在该时间内,得出单元的内能增量为:[])()(1i T i T C x Q n n p -∆=+ρ蓄(2)(3)根据能量守恒定律则能得出蓄Q Q Q =-21t x i T i T k n n ∆⋅∆---)1()([])()()()1(1i T i T C x t x i T i T k n n p n n -∆=∆⋅∆-+++ρ或是其中[])1()()2()1(1++-+-i T i T M i T M n n n tx M ∆⋅∆=α/上式即为显式差分格式(4)=+)(1i T n初始条件:边界条件:给定初始温度T (i ),i=1,2,3,…,N由初始和边界条件可计算区域内部各节点随时间t 变化的温度值:代表时间步常数给定边界温度n n N T T nn ,,2,1,0),(),1(⋅⋅⋅=),3,2,1;1,,3,2(),(⋅⋅⋅=-⋅⋅⋅=n N i i T n步骤如下由初始条件和边界条件知图中第0排的温度,知,其中由初始条件提供)1(~)2(T 00-N T 由边界条件提供,与)()1(00N T T 第一排的温度值)1,,3,2)(1(1-⋅⋅⋅=N i T 可由(4)式得到;再利用边界条件,得到),()1(11N T T 与即能得到第一排上的全部节点的温度再由(4)式和边界条件依次算得inT n⋅⋅⋅==⋅⋅⋅i),,),2,1;(,3,2(n显示与隐式差分格式)(1i T n +)(1i T n +)1()()1(+-i T i T i T n n n 、、在4式中,n+1排上的任一节点i 的温度只依赖在n 排上i 节点及相邻节点i-1、i+1的温度值换言之,就是可由明显地来表示出来⇒显示差分格式若用)1()()1(111+-+++i T i T i T n n n 、、时刻的温度去计算1+n t tx i T i Tk Q n n ∆⋅∆---=++)1()(111t x i T i T k Q n n ∆⋅∆-+-=++)()1(112,21Q Q 、则能得到(5)(6)结合(3)式便得到另一种差分格式)()1(1)()21()1(1111i T i T Mi T M i T M n n n n =+-++--+++(7)此式只是表示的时间水平不同,实际上⇒与(4)式形势完全一致式(7)即完全隐式差分格式谢谢。
一维稳态导热数值解法matlab

一维稳态导热数值解法matlab 在导热传输的研究中,解析方法常常难以适用于复杂的边界条件和非均匀材料性质的情况。
因此,数值解法在求解热传导方程的问题上发挥了重要作用。
本文将介绍一维稳态导热数值解法,以及如何使用MATLAB来实现。
稳态导热数值解法通常基于有限差分法(Finite Difference Method, FDM),它将连续的一维热传导方程离散为一组代数方程。
首先,我们需要将热传导方程转化为差分格式,然后利用MATLAB编写程序来求解。
下面,将具体介绍该方法的步骤。
步骤一:离散化根据一维热传导方程,可以将其离散为一组差分方程。
假设被研究的材料长度为L,将其等分为N个离散节点。
令x为节点位置,T(x)表示节点处的温度。
则可以得到以下差分方程:d²T/dx² ≈ (T(x+Δx) - 2T(x) + T(x-Δx)) / Δx²其中,Δx = L/N是节点之间的间距。
将热传导方程在每个节点处应用上述差分格式后,我们便得到了一组代表节点温度的代数方程。
步骤二:建立矩阵方程将差分方程中各节点的温度代入,我们可以将其表示为一个线性方程组。
这个方程组可以用矩阵的形式表示为Ax = b,其中A是系数矩阵,x是节点温度的向量,b是右侧项的向量。
步骤三:求解方程组使用MATLAB的线性方程求解器可以直接求解上述的线性方程组。
具体而言,通过利用MATLAB中的"\ "操作符,我们可以快速求解未知节点的温度向量x。
步骤四:结果分析与可视化在得到节点温度向量后,我们可以对结果进行可视化和分析。
例如,可以使用MATLAB的plot函数绘制温度随位置的分布曲线,以及温度随节点编号的变化曲线。
这样可以直观地观察到温度的变化情况。
总结:本文介绍了一维稳态导热数值解法以及使用MATLAB实现的步骤。
通过将热传导方程离散化为差分方程,然后建立矩阵方程并利用MATLAB的线性方程求解器求解,我们可以得到节点温度的数值解。
一维稳态导热数值计算
一维稳态导热数值计算引言在工程和科学领域中,热传导是一个重要的问题,它涉及到物体内部的热量传递过程。
一维稳态导热是指物体在一个方向上的热传导过程,且不随时间变化。
为了分析和解决一维稳态导热问题,我们可以使用数值计算方法,如有限差分法。
本文将介绍一维稳态导热数值计算的基本原理和步骤。
基本原理一维稳态导热问题可以描述为以下的热传导方程:$$\\frac{{d}}{{dx}}(k \\frac{{dT}}{{dx}}) = 0$$其中,k是物质的热导率,T是温度。
我们需要根据边界条件和初始条件求解该方程的解析解或数值解。
在数值求解中,我们通常将问题的区域离散化,将连续变量转化为离散变量。
我们可以将区域划分为多个小区间,每个小区间内的温度和导热系数近似为常数。
然后,我们可以使用有限差分法来近似求解。
数值计算步骤为了进行一维稳态导热问题的数值计算,我们需要按照以下步骤进行操作:步骤 1:确定区域和边界条件首先,我们需要确定问题的区域,并确定边界条件。
区域可以是一根导热杆或其他具有一维结构的物体。
边界条件可以是固定温度或热流量。
步骤 2:离散化区域将区域离散化是数值计算的基础。
我们可以将区域划分为多个小区间,每个小区间内的温度和导热系数近似为常数。
确定离散化的步长可以根据问题的要求进行选择。
步骤 3:建立差分方程根据离散化后的区域,我们可以建立差分方程,将热传导方程转化为一个线性方程组。
在一维稳态导热问题中,通常采用中心差分法或其他差分格式进行近似。
步骤 4:求解线性方程组求解差分方程就是求解线性方程组。
我们可以使用常见的数值计算工具或算法,如高斯消元法或迭代法,来求解线性方程组。
根据边界条件的不同,方程组的形式也会有所不同,需要根据具体情况进行选择。
步骤 5:计算结果最后,根据线性方程组的解,我们可以计算出每个小区间内的温度分布。
可以根据具体需求进行进一步计算和分析。
总结本文介绍了一维稳态导热数值计算的基本原理和步骤。
一维稳态热传导方程的数值解法及其
具体步骤如下:(1)先假设一个温度分布初值;
(2)计算相应函数b, a n b 及 a p
(3)求解线性离散方程组; (4)由新的温度再计算函数(改进系数);
(5)返回2后,再重复计算T,直到 104 为止。
其中
Tn1 Tn
Tn
设初值为T*,迭代后新的温度分布为T,
例如在热传导问题中SP为正值,意味着TP增加,源项热源也增加,如果这时没有有效的散热机构,可能会反 过来导致温度的升高,如此反复下去,造成温度飞升的不稳定现象。
为了保证代数方程迭代求解的收敛。Δν为控制容积的体积, 线性代数方程迭代求解收敛的一个充分条件是对角占优,即
ap anbSPV
ap anb
,这里A是控制体积界面的面积,这里取1,于是ΔV= ΔX
从而有
d dT x e d dT x w xSCSP T P0
对扩散项T 随x 呈分段线性分布得:
dT dx
e
e
TExTeP理得:
TExT ePTPxT w WxSCSPTP0
e
w
TPxee xwwSpxTExeeTWxwwScx
1) S c =4 S p=-5
2) S c =4-5Tp* S p=0
3) S c =4+7Tp* S p=-12
2)中将S作为常数(以上一次迭代计算的T*计算S)处理,使源项相对于T永远有一 个滞后;1)中Tp是迭代计算当前值使S能更快跟上Tp的变化;3)比实际的S~ T 关系更陡的曲线,使迭代收敛速度减慢,相当于欠松弛。
一维稳态导热方程的离散形式可表示成:
aP T PaE T Ea W T W b
1
aE
传热学2.3 典型一维稳态导热问题的分析解
1笛卡尔坐标系中三维非稳态导热微分方程的一般表达式·)()()(Φ+∂∂∂∂+∂∂∂∂+∂∂∂∂=∂∂ztz y t y x t x t c λλλτρ边界条件——导热物体边界上温度或换热情况第一类边界条件()0w t f ττ>=时第二类边界条件20()()w tf nτλτ∂>−=∂时第三类边界条件()()w w f th t t nλ∂−=−∂定解条件初始条件——初始时间温度分布非稳态项扩散项源项物理问题→数学描写→微分方程①导热系数为常数c zt y t x t a tρτ·222222)(Φ+∂∂+∂∂+∂∂=∂∂②导热系数为常数 、无内热源 222222()t t t ta x y zτ∂∂∂∂=++∂∂∂∂③导热系数为常数 、稳态·2222220t t t x y z λ∂∂∂Φ+++=∂∂∂简化④导热系数为常数 、稳态 、无内热源 2222220t t tx y z ∂∂∂++=∂∂∂·)()()(Φ+∂∂∂∂+∂∂∂∂+∂∂∂∂=∂∂ztz y t y x t x t c λλλτρ⑴ 物理问题:大平壁,λ=const.⑵ 数学描写:微分方程边界条件·)()()(Φ+∂∂∂∂+∂∂∂∂+∂∂∂∂=∂∂z tz y t y x t xt c λλλτρ导热微分方程稳态、一维、无内热源、常物性t 1t 2q oδxtdx1. 单层平壁⑶ 解微分方程:⎪⎩⎪⎨⎧=−=⇒12121t c t t c δ112t x t t t +−=δ线性分布带入Fourier 定律δ12d d t t x t −=⇒)(12λδλδδλA ttt t q Δ=ΦΔ=−−=⇒—— 温度分布—— 通过平壁导热的计算公式共同规律可表示为 :2.热阻的含义过程中的转换量 = 过程中的动力 / 过程中的阻力)(λδA tΔ=Φ如:欧姆定律A R R A δδλλ==热阻分析法适用于一维、稳态、无内热源的情况RU I /=平板导热:转移过程的动力转移过程的阻力导热过程的转移量面积热阻热阻tq δλΔ=}多层平壁:由几层不同材料组成}例:房屋的墙壁 — 白灰内层、水泥沙浆层、红砖(青砖)主体层等组成}假设各层之间接触良好,可以近似地认为接合面上各处的温度相等边界条件:⎪⎩⎪⎨⎧====+=∑1110n n i i t t x t t x δ热 阻:nn n r r λδλδ==,,111L 3.多层平壁的导热t 1t 2t 3t 4t 1t 2t 3t 4三层平壁的稳态导热热阻的特点:串联热阻叠加原则:在一个串联的热量传递过程中,若通过各串联环节的热流量相同,则串联过程的总热阻等于各串联环节的分热阻之和。
一维传热问题数值计算
一维传热问题数值计算
一维传热问题是热传导理论中的经典问题,涉及热量在一个维
度上的传递和分布。
数值计算一维传热问题通常涉及使用数值方法
来模拟热量在材料中的传递和分布。
这个问题在工程、物理学和材
料科学等领域都有重要的应用。
首先,我们可以考虑使用有限差分法来数值计算一维传热问题。
有限差分法将材料空间离散化为若干个网格点,然后利用热传导方
程进行离散化,最终转化为一个差分方程。
通过迭代求解这个差分
方程,我们可以得到材料中温度随时间和空间的分布。
这种方法通
常需要考虑边界条件和初始条件,以及选择合适的时间步长和空间
步长。
另外,有限元法也是计算一维传热问题的常用数值方法。
有限
元法将材料分割为有限个小单元,然后利用单元间的热传导关系建
立整个系统的方程。
通过求解这些方程,可以得到材料中温度的分布。
有限元法通常适用于复杂几何形状的材料,并且可以很好地处
理不均匀材料性质的情况。
除了这些基本的数值方法,还可以考虑使用计算流体动力学
(CFD)方法来模拟一维传热问题。
CFD方法可以更全面地考虑流体在传热过程中的影响,适用于液体或气体在管道或其他结构中的传热问题。
在进行数值计算一维传热问题时,需要注意选择合适的数值方法和参数,以确保计算结果的准确性和稳定性。
同时,还需要考虑材料的热物性参数、边界条件、初始条件等因素,以保证数值模拟的真实性和可靠性。
总之,数值计算一维传热问题涉及多种数值方法和复杂的物理过程,需要综合考虑材料性质、边界条件和数值方法的选择,以获得准确而可靠的计算结果。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一维稳态导热的数值计算
1.1物理问题
一个等截面直肋,处于温度t ∞=80
的流体中。
肋表面与流体之间的对流换热系数为h =
45W/(m 2∙℃),肋基处温度t w =300℃,肋端绝热。
肋片由铝合金制成,其导热系数为λ=110W/(m ∙℃),肋片厚度为δ=0.01m ,高度为H=0.1m 。
试计算肋内的温度分布及肋的总换热量。
1.2数学描述及其解析解
引入无量纲过余温度θ
=
t−t ∞t w −t ∞
,则无量纲温度描述的肋片导热微分方程及其边界条
件:22
20d m dx
θθ-=
x=0,θ=θw =1 x=H,
0x
θ∂=∂ 其中 A
hp
m =
λ上述数学模型的解析解为:[()]
()()
w ch m x H t t t t ch mH ∞∞--=-⋅
()()w hp
t t th mH m
∞∅=
-
1.3数值离散
1.3.1区域离散
计算区域总节点数取N 。
1.3.2微分方程的离散
对任一借点i 有:22
20i d m dx θθ⎛⎫-= ⎪⎝⎭
用θ在节点i 的二阶差分代替θ在节点i 的二阶导数,得:211
2
20i i i i m x θθθθ+--+-=
整理成迭代形式:()1122
1
2i i i m x θθθ+-=++ (i=2,3……,N -1)
1.3.3边界条件离散
补充方程为:11w θθ==
右边界为第二类边界条件,边界节点N 的向后差分得:1
0N N x
θθ--=,将此式整理为
迭代形式,得:N 1N θθ-=
1.3.4最终离散格式
11w θθ==
()1122
1
2i i i m x θθθ+-=
++ (i=2,3……,N -1)
N 1N θθ-=
1.3.5代数方程组的求解及其程序
假定一个温度场的初始发布,给出各节点的温度初值:01θ,02θ,….,0
N θ。
将这些初
值代入离散格式方程组进行迭代计算,直至收敛。
假设第K 步迭代完成,则K+1次迭代计算式为:K 1
1
w θθ+=
()
11
11
2212i i K K K i m x
θθθ+-++=
++ (i=2,3……,N -1) 1
11N K K N θθ-++=
#include<stdio.h> #include<math.h> #define N 11 main() { int i;
float cha;/*cha 含义下面用到时会提到*/
float t[N],a[N],b[N];
float h,t1,t0,r,D,H,x,m,A,p; /*r 代表λ,x 代表Δx ,D 代表δ*/ printf("\t\t\t 一维稳态导热问题\t\t"); printf("\n\t\t\t\t\t\t----何鹏举\n");
printf("\n 题目:补充材料练习题一\n");
printf("已知:h=45,t1=80, t0=200, r=110, D=0.01, H=0.1 (ISO)\n"); /*下面根据题目赋值*/
h=45.0; t1=80.0; t0=300.0; r=110.0; D=0.01; H=0.1;
x=H/N; A=3.1415926*D*D/4; p=3.1415926*D; m=sqrt((h*p)/(r*A)); /*x 代表步长,p 代表周长,A 代表面积*/
printf("\n 请首先假定一个温度场的初始分布,即给出各节点的温度初值:\n");
{
scanf("%f",&t[i]);
a[i]=(t[i]-t1)/(t0-t1);
b[i]=a[i];/*这里b[i]用记录一下a[i],后面迭代条件及二阶采用温度初场要用到*/ }
/*采用一阶精度的向后差分法数值离散*/
cha=1;
while(cha>0.0001)
{
a[0]=1;
for(i=1;i<N;i++)
a[i]=(a[i+1]+a[i-1])/(2+m*m*x*x);
a[N-1]=a[N-2];
cha=0;
for(i=0;i<N;i++)
cha=cha+a[i]-b[i];
cha=cha/N;/*cha代表每次迭代后与上次迭代各点温度差值的平均值*/
}
for(i=0;i<N;i++)
t[i]=a[i]*(t0-t1)+t1;
printf("\n\n经数值离散(一阶精度的向后差分法)计算得肋片的温度分布为:\n");
for(i=0;i<N;i++)
printf("%4.2f\t",t[i]);
printf("\n\n");
getchar();
/*采用二阶精度的元体平衡法数值离散(温度初值还用设定的初场,便于比较)*/ for(i=0;i<N;i++)
a[i]=b[i];
cha=1;
while(cha>0.0001)
{
a[0]=1;
for(i=1;i<N;i++)
a[i]=(a[i+1]+a[i-1])/(2+m*m*x*x);
a[N-1]=a[N-2]/(1+0.5*m*m*x*x);
cha=0;
for(i=0;i<N;i++)
cha=cha+a[i]-b[i];
cha=cha/N;
}
for(i=0;i<N;i++)
t[i]=a[i]*(t0-t1)+t1;
printf("\n\n经数值离散(二阶精度的元体平衡法)计算得肋片的温度分布为:\n");
printf("%4.2f\t",t[i]); printf("\n\n");
getchar();
}。