一维非稳态导热问题的数值解

合集下载

一维圆柱非稳态导热方程求解

一维圆柱非稳态导热方程求解

一维圆柱非稳态导热方程是一个经典的物理问题,通常用于描述一个圆柱体在非均匀温度场中的热量传递过程。

为了求解这个问题,我们可以使用数值方法,如有限差分法、有限元法等。

有限差分法是一种常用的数值计算方法,其基本思想是将连续的时间和空间域离散化为一系列离散的网格点,并将偏微分方程转化为差分方程,从而可以通过计算差分方程来求解偏微分方程。

在一维圆柱非稳态导热方程中,我们可以将圆柱体离散化为一系列环形的网格,并使用有限差分法来求解方程。

具体而言,我们可以将时间域离散化为$N$ 个时刻$t_n$,将空间域离散化为 $M$ 个环形网格,每个网格的宽度为 $\Delta r$,中心为 $r_0$,边界为 $r_M$。

在每个时刻$t_n$,我们可以将非稳态导热方程转化为差分方程,并使用计算机编程语言(如Python、Matlab等)来计算差分方程,从而得到每个时刻每个网格的温度分布。

在计算过程中,我们需要设置初始条件和边界条件。

初始条件通常是指初始时刻每个网格的温度分布,边界条件通常是指圆柱体的表面温度和环境温度。

此外,我们还需要设置时间步长和空间步长,以控制计算的精度和稳定性。

通过使用有限差分法等数值方法,我们可以方便地求解一维圆柱非稳态导热方程,从而得到每个时刻每个网格的温度分布。

这种方法可以用于工程实际中的许多问题,如加热、冷却、热传导等。

一维非稳态导热

一维非稳态导热

一块无限大平板(如图3所示),其一半厚度为L=0.1m ,初始温度T 0=1000℃,突然将其插入温度T ∞=20℃的流体介质中。

平板的导热系数λ=34.89W/m ℃,密度ρ=7800kg/m 3,比热c=0.712310⨯J/kg ℃,平板与介质的对流换热系数为h=233W/m 2.℃,求平板内各点的温度分布。

3.1 数学描述由于平板换热关于中心线是对称的,仅对平板一半区域进行计算即可。

坐标x 的原点选在平板中心线上,因而一半区域的非稳态导热的数学描述为:()∞-=∂∂-==∂∂===∂∂=∂∂T T h xTL x x Tx T T x Ta T λττ,0,0,0022 该数学模型的解析解为:()02cos cos sin sin 210F n n nn n n n e L x T T T T μμμμμμ-∞=∞∞⎪⎭⎫ ⎝⎛+-+=∑ (3-5)其中20L a F τ=,n μ为方程i B ctg /μμ=的根,λhLB i=。

表3给出了在平板表面(x=L)处由式(3-5)计算得到的不同时刻的温度值。

表3 平板表面各不同时刻温度值。

时 间(S ) 12345678910温 度(℃)981.84 974.47 968.88 964.20 960.11 956.14 953.08 949.97 947.07 944.343.2数值离散3.3.1计算区域的离散(3-1) (3-2) (3-3) (3-4)一维非稳态导热指的是空间坐标是一维的。

若考虑时间坐标,则所谓的一维非稳态导热实际上是二维问题(见图4),即:有时间坐标Τ和空间坐标X 两个变量。

但要注意,时间坐标是单向的,就是说,前一时刻的状态会对后一时刻的状态有影响,但后一时刻的状态却影响不到前一时刻,图4示出了以X 和Τ为坐标的计算区域的离散,时间从Τ=0开始,经过一个个时层增加到K 时层和K+1时层。

3.3.2 微分方程的离散对于i 节点,在K 和K+1时刻可将微分方程(3-1)写成下面式子:122122++⎪⎪⎭⎫ ⎝⎛∂∂=⎪⎭⎫ ⎝⎛∂∂⎪⎪⎭⎫ ⎝⎛∂∂=⎪⎭⎫⎝⎛∂∂K iK iKi Ki x T a T x T a T ττ将式(3-6)~(3-7)的左端温度对时间的偏导数进行差分离散为:ττττ∆-=⎪⎭⎫ ⎝⎛∂∂∆-=⎪⎭⎫ ⎝⎛∂∂+++KiK iK iKi K i K i T T T T T T 111观察式(3-8)和(3-9),这两个式子的右端差分式完全相同,但在两个式子中却有不同含义。

(完整word版)一维非稳态导热的数值计算

(完整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文件结果算的后不会立即退出,方便观看*/

传热学-学习课件-4-4 一维非稳态导热问题的数值求解

传热学-学习课件-4-4  一维非稳态导热问题的数值求解
N

1


2
a x2

2h cx



2
a x2
t
i
N

1

2h cx
tf
③对称点
t (i)
-1

t (i)
2
传热学 Heat Transfer
2.直接用差分代替微分

①向前差分(forward difference)
i
t

t
i
n
1

t
i
n

n,i

②向后差分(backward difference)
t

t
i
n


t
i
n
1

n,i

i n,i+1
n-1,i n,i n+1,
t
i
n

1


t

n
i



a
t (i1) n 1

2
t
( n
i
1
)
x2
t (i1) n 1
(1,1)
n,i-1 i
n
x
整理成隐式格式:
传热学 Heat Transfer
传热学 Heat Transfer
主讲老师:王舫 适用专业:能源与动力工程专业
传热学 Heat Transfer
§4.4 一维非稳态导热问题的数值求解
在非稳态导热问题中,不但需要对空间区域进 行离散,还需要对时间变量进行离散,接下来以一 个一维非稳态导热问题为例,重点介绍对非稳态项 的离散方法,以及不同离散方法对计算带来的影响 等。

(完整word版)一维非稳态导热的数值计算

(完整word版)一维非稳态导热的数值计算

传热学C 程序源 二维稳态导热的数值计算2.1物理问题一矩形区域,其边长L=W=1,假设区域内无内热源,导热系数为常数,三个边温度为T1=0,一个边温度为T2=1,求该矩形区域内的温度分布。

2.2 数学描述对上述问题的微分方程及其边界条件为:2222T T0x y∂∂+=∂∂x=0,T=T 1=0x=1,T=T 1=0 y=0,T=T 1=0 y=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 11 main() {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文件结果算的后不会立即退出,方便观看*/}。

第三章第三节 一维非稳态导热的分析解

第三章第三节 一维非稳态导热的分析解

θ
( x,τ θ0
)
=
μ1
+
2 sin μ1 sin μ1 cos
μ1
cos(
μ1
e x ) − μ12F0 δ
θ
(0,τ θ0
)
=
θ m (τ θ0
)
=
μ1
+
2 sin μ 1 sin μ1 cos
μ1
e − μ12 F0
第三节一维非稳态导热的分析解
θ
( x,τ θ0
)
=
μ1
+
2 sin μ1 sin μ1 cos
式中常数a ,b ,c ,d 见P75表3-3 a`,b`,c`,d`见P75表3-4
第三节一维非稳态导热的分析解
3 正规热状况的实用计算方法-线算图法
诺谟图
以无限大平板为例,F0>0.2 时,取其级数首项即可
θ (x,τ ) =θ0
μ1
+
2sin μ1 sin μ1 cos
μ1
e−μ12
F0
cos(μ1
第三节一维非稳态导热的分析解
上式化为:
∂θ = a ∂ 2θ
∂τ
∂x 2
θ =θ0
∂θ = 0 ∂x
0 < x < δ ,τ > 0 τ =0 x=0
− λ ∂θ = hθ x = δ ∂x
第三节一维非稳态导热的分析解
用分离变量法可得其分析解为:
θ
( x,τ θ0
)
=


n =1
2 sin( β nδ ) cos( β n x) β nδ + sin( β nδ ) cos( β nδ

数值传热学一维非稳态导热

数值传热学一维非稳态导热

数值传热学一维非稳态导热
数值传热学一维非稳态导热是一个拟表达热量输运多方面考虑下的相关分析技术,例如光斑热传递,带有间断层热传导,恒定物质热传导等等。

本文将重点简要介绍一维非稳态导热模型中的理论方法,为解决该问题提供重要基础。

首先,我们讨论的一维非稳态导热模型是一维的,在这种模型中,温度的变化是由上下相邻的单元格热传导加权平均值决定的,从一个单元格到另一个单元格的变化必须满足偏微分方程的通用表达式。

其次,根据以上的假设,一维非稳态导热的数值解将以定义的步长迭代,用于求解温度在不同单元中的变化。

在数值模拟中,需要对边界条件、热导率和温度输入进行有效描述,以确定最终的解答模式。

同时,本次分析中,利用有限差分和蒙特卡罗方法来求解温度场。

这种有趣且可行的做法,不但实现了所需求解的模式,而且能够精确地给出结果。

此外,在电脑指令中,采取该方法对数值运算很有效,从而提高了计算机解的精度和实现的质量。

最后,一维非稳态导热模型是在一定物理场中进行计算的,通用性很强,其能够很好地模拟简单模型中物理场的变化。

因此,它经常被用于诸如热管道传热、滑动轴热传导、负载温度场仿真等多种领域的研究。

总而言之,一维非稳态导热的数值模拟具有良好的数学基础、使用简单的算法以及电脑指令,从而实现快速求解热传导问题的目的,是今后研究的重要课题。

一维圆柱非稳态导热方程求解

一维圆柱非稳态导热方程求解

一维圆柱非稳态导热方程求解引言在工程和科学领域中,导热方程是研究物体内部温度分布变化的重要方程。

本文将介绍一维圆柱非稳态导热方程的求解方法。

问题描述考虑一个半径为 R 的圆柱体,其内部由一个材料填充。

我们想要求解该圆柱体内部的温度分布,其中的热传导过程遵循非稳态导热方程。

在一维情况下,非稳态导热方程可以表示为:equation1equation1其中,T 是温度关于时间和半径的函数,α 是热扩散系数。

数值方法为了求解该方程,我们将应用有限差分法,离散化时间和半径的变量。

首先,我们将时间区域 [0, T] 离散化为 N 个等间距的时间步长,得到:equation2equation2其中,Δt 是时间步长,N 是总的时间步数。

接下来,我们将半径区域 [0, R] 离散化为 M 个等间距的半径步长,得到:equation3equation3其中,Δr 是半径步长,M 是总的半径步数。

将温度T 在时间和半径的离散点上进行近似,我们可以写出离散的导热方程为:equation4equation4其中,上标 n 表示时间步数,下标 i 表示半径步数。

由于我们已经将时间和半径离散化,上述方程可以重写为一个递推关系:equation5equation5数值实验我们将通过一个简单的数值实验来验证我们的数值方法。

设定圆柱体半径 R = 1,热扩散系数α = 1。

令边界条件为半径为 R 处的温度始终为 0,初始条件为半径为 R/2 处的温度为 1,其他位置的温度为 0。

在使用递推关系计算之前,需要选择合适的时间步长Δt 和半径步长Δr。

一般来说,选择小的步长可以提高数值解的准确性,但同时也会增加计算时间。

在这里,我们选择Δt = 0.001,Δr = 0.1。

我们使用一个循环来逐步计算每个时间步骤的温度分布,并在每个时间步骤结束后,使用画图软件绘制温度分布图。

结果与讨论经过数值计算和绘图,我们得到了随时间演化的温度分布图。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

计算传热学程序报告
题目:一维非稳态导热问题的数值解姓名:
学号:
学院:能源与动力工程学院
专业:工程热物理
日期:2014年5月25日
一维非稳态导热问题数值解
求解下列热传导问题:
⎪⎪⎩
⎪⎪⎨⎧=====≤≤=∂∂-∂∂1,10),(,1),0(0)0,()0(01T 22ααL t L T t T x T L x t T x 1.方程离散化
对方程进行控制体积分得到:
dxdt t T dxdt x T t
t t e
w t
t t e w ⎰⎰⎰⎰∆+∆+∂∂=∂∂α122 ⎰⎰-=∂∂-∂∂∆+∆+e
w t t t w e t
t t dx T T dt x T x T )(1])()([α
非稳态项:选取T 随x 阶梯式变化,有
x T T dx T T t p t t p e w t t t ∆-=-∆+∆+⎰
)()( 扩散项:选取一阶导数随时间做显示变化,有 t x
T x T dt x T x T t
w t
e w e t
t t ∆∂∂-∂∂=∂∂-∂∂⎰∆+])()[(])()[( 进一步取T 随x 呈分段线性变化,有
e P E e x T T x T )()(δ-=∂∂ , w
W P w x T T x T )()(δ-=∂∂ 整理可以得到总的离散方程为:
2
21x T T T t T T t W t P t E t P t t E ∆+-=∆-∆+α 2.计算空间和时间步长
取空间步长为:
h=L/N
网格Fourier 数为:
220x
t x t
F ∆∆=∆∆=α(小于0.5时稳定)
时间步长为: α20h F n =
3.建立温度矩阵与边界条件
T=ones(N+1,M+1)
T(:,1)=Ti (初始条件温度都为0)
T(1,:)=To (边界条件x=0处温度为1)
T(N+1,:)=Te (边界条件x=L 处温度为0)
4.差分法求解温度
由离散方程可得到:
t P t W t P t E t t E T T T T F T -+-=∆+)2(0
转化为相应的温度矩阵形式:
),()],(2),1(),1([)1,(0k m T k m T k m T k m T F k m T +*--++*=+
5.输入界面
考虑到方程的变量,采用inputdlg 函数设置5个输入变量,对这5个变量设置了默认值,如图1所示。

在计算中可以改变不同的数值,得到不同的结果,特别注意稳定条件的临界值是0.5。

根据设置的默认值,得到的计算结果如图2所示。

图1 matlab 变量输入界面
图2 默认值的计算结果
6.结果分析
根据上面的分析,给出了程序的输入界面,以及默认值状态下的数值解。

可以通过改变不同的输入值,得到需要的分析结果,总结出了下面4点结论:
(1)取F0=0.48,得到一维非稳态导热结果如下图所示
图2 F0=0.48时一维非稳态导热
从图中可以看出,对于长度L=1的细杆,初始时刻t=0时温度为0,边界条件x=0时,T=1,边界条件x=1时,T=0。

随着时间的增加,温度从x=0通过导热的形式传递到x=1,不同时刻不同位置杆的温度都不同,并且随着时间的增加,杆的温度也逐渐增加。

(2)取F0=0.48,可以得到不同位置的温度响应曲线,如下图所示
图3 F0=0.48时不同x位置处的温度响应
图中红色曲线代表x=0.1位置的温度瞬态响应,黑色曲线代表x=0.2位置的温度瞬态响应,蓝色曲线代表x=0.4位置的温度瞬态响应。

从图中可以看出,随着x的增加,曲线与x轴的交点值越大,温度开始传递到该位置的所需的时间越长。

随着x的增加,温度响应曲线的变化速率越慢,最终的达到的温度也越低。

(3)取F0=0.25,得到不同位置的温度响应曲线如下图所示
图4 F0=0.25时不同x位置处的温度响应
图中三条曲线分别是x=0.1,x=0.2,x=0.4位置的温度瞬态响应。

与图3的F0=0.48进行对比,两种情况下的F0值不同,F0值越大表明热扩散系数 的值越大。

从图中可以看出热扩散系数对于导热的影响,F0=0.25时,与F0=0.48相比
较,各位置开始响应时所需的时间较长,而且各位置响应曲线的变化速率较小,最终的达到的温度也较低,说明了热扩散系数越小,热传导越慢,传递效率越低。

(4)取F0=0.51,得到非稳定的数值解如图所示
图5 F0=0.51时一维非稳态导热
图6 F0=0.51时不同x位置处的温度响应
从图中可以看出,对于显示格式的离散方程,并不是所有的F0值都能得到有意义的解,必须要求F0<0.5时才能得到稳定的数值解,当F0>0.5时,会出现物理上不真实的解。

附件:(matlab程序)
function heat_conduction() %一维齐次热传导方程
%设置输入界面
options={'空间杆长L','空间点数N' ,'时间点数M','扩散系数a','稳定条件的值Fo(临界值0.5)',}; topic='一维非稳态导热';%标题栏显示
lines=1;%输入行为1行
def={'1','100','1000','1','0.48'};%默认值输入
f=inputdlg(options,topic,lines,def);%输入框设置
L=eval(f{1});%设置输入值
N=eval(f{2});
M=eval(f{3});
a=eval(f{4});
Fo=eval(f{5});%Fo的值必须小于0.5,小于0.5波动
%计算空间步长与时间步长
h=L/N;%空间步长
x1=0:h:L;
x=x1';
n=Fo*h^2/a;%时间步长
tm=n*M;%传导总时间
t1=0:n:tm;
t=t1';
%计算初始条件与边界条件
Ti=x.*0;%初始条件
To=1+t.*0;%x=0的边界条件
Te=t.*0;%x=L的边界条件
%建立温度矩阵T
T=ones(N+1,M+1);
T(:,1)=Ti;%第一列为初始条件
T(1,:)=To;%第一行为x=0边界条件
T(N+1,:)=Te;%最后一行为x=L边界条件
%利用差分法求解温度矩阵T
for k=1:M
m=2;
while m<=N;
T(m,k+1)=Fo*(T(m+1,k)+T(m-1,k)-2*T(m,k))+T(m,k);
m=m+1;
end
end
%将时间空间的一维坐标转化为二维坐标
[Y,X]=meshgrid(t1,x);
%根据温度矩阵T绘图
subplot(2,2,1);
mesh(X,Y,T);%三维图绘制
view([1,-1,1]);%调整视图角度
title('非稳态导热');%图像名称xlabel('长度x');%x轴名称
ylabel('时间t');%y轴名称
zlabel('温度T');%z轴名称
subplot(2,2,2);
A=T(11,:);%取矩阵第11列的值plot(A,'r');%二维曲线绘制
legend('A=0.1');%显示函数名称title('x=0.1瞬态响应');
xlabel('时间t');
ylabel('温度T');
axis([0 1000 0 1]);%坐标轴数值范围subplot(2,2,3);
B=T(21,:);%取矩阵第21列
plot(B,'k');
legend('B=0.2');
title('x=0.2瞬态响应');
xlabel('时间t');
ylabel('温度T');
axis([0 1000 0 1]);
subplot(2,2,4);
C=T(41,:);%取矩阵第41列
plot(A,'r');
hold on;%多条曲线绘制
plot(B,'k');
plot(C);
hold off;
title('瞬态响应');
xlabel('时间t');
ylabel('温度T');
axis([0 1000 0 1]);
legend('A=0.1','B=0.2','C=0.4');。

相关文档
最新文档