1、上海理工大学传热学上机实验此文主要针对上海理工大学传热学上机实验,网上都是c语言的程序,学VB的孩子伤不起呀,经过本人两个晚上的奋战,将c语言版本翻译成成vb语言的版本,其中里面也加入好多自己的理解,仅供大家学习参考。其中得到宋子越同学的鼎力相助。传热学上机报告曹兴一维稳态导热的数值计算1.1物理问题一个等截面直肋,处于温度=80的流体中。肋表面与流体之间的对流换热系数为,肋基处温度,肋端绝热。肋片由铝合金制成,其导热系数为,肋片厚度为,高度为H=0.1m。试计算肋内的温度分布及肋的总换热量。1.2数学描述及其解析解 引入无量纲过余温度,则无量纲温度描述的肋片导热微分方程及其边界条件: x=0
2、,=w=1 x=H, 其中 上述数学模型的解析解为: 1.3数值离散1.3.1区域离散计算区域总节点数取N。1.3.2微分方程的离散对任一借点i有: 用在节点i的二阶差分代替在节点i的二阶导数,得: 整理成迭代形式: (i=2,3,N-1)1.3.3边界条件离散补充方程为: 右边界为第二类边界条件,边界节点N的向后差分得:,将此式整理为迭代形式,得: 1.3.4最终离散格式 (i=2,3,N-1)1.3.5代数方程组的求解及其程序 假定一个温度场的初始发布,给出各节点的温度初值:,.,。将这些初值代入离散格式方程组进行迭代计算,直至收敛。假设第K步迭代完成,则K+1次迭代计算式为: (i=2,
3、3,N-1)程序:Imports System.MathPublic Class Form1 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim t1, t2, p, , , h, dx, a, H1, m As Single Dim i, j, N As Integer Dim t(11), k As Double t1 = 300.0 t2 = 80.0 N = 11 = 110 = 0.01 h = 45 H1 = 0
4、.1 dx = H1 / N a = * H1 p = 2 * ( + H1) m = Sqrt(h * p) / ( * a) 计算m的方法自己研究一下 Label1.Text = 首先假定一个温度场的初始分布,即给出各节点的温度初值: ListBox1.Items.Add(坐标x/m 温度t/) ListBox1.Items.Add(0 300.00) ListBox1.Items.Add(0.01 300.00) ListBox1.Items.Add(0.02 290.00) ListBox1.Items.Add(0.03 280.00) ListBox1.Items.Add(0.04
5、275.00) ListBox1.Items.Add(0.05 260.00) ListBox1.Items.Add(0.06 250.00) ListBox1.Items.Add(0.07 240.00) ListBox1.Items.Add(0.08 235.00) ListBox1.Items.Add(0.09 230.00) ListBox1.Items.Add(0.1 225.00) t(1) = 300 t(2) = 290 t(3) = 280 t(4) = 270 t(5) = 260 t(6) = 250 t(7) = 240 t(8) = 235 t(9) = 230 t(
6、10) = 225 t(11) = 225 For i = 1 To 11 t(i) = (t(i) - t2) / (t1 - t2) Next For i = 0 To 10000 k = t(N - 1) For j = 2 To 10 t(j) = (t(j + 1) + t(j - 1) / (2 + m * m * dx * dx) Next t(N) = t(N - 1) / (1 + 0.5 * m * m * dx * dx) If Abs(t(N - 1) - k) = 0.0001 Then Exit For End If Next For i = 1 To 11 t(i
7、) = t(i) * 220 + 80 Next For i = 1 To 11 t(i) = Format(t(i), f) 保留两位小数 Next Label2.Text = 各点温度分布为: ListBox2.Items.Add(坐标x/m 温度t/) ListBox2.Items.Add(0 & t(1) & .00) ListBox2.Items.Add(0.01 & t(2) ListBox2.Items.Add(0.02 & t(3) ListBox2.Items.Add(0.03 & t(4) ListBox2.Items.Add(0.04 & t(5) ListBox2.It
8、ems.Add(0.05 & t(6) ListBox2.Items.Add(0.06 & t(7) ListBox2.Items.Add(0.07 & t(8) ListBox2.Items.Add(0.08 & t(9) ListBox2.Items.Add(0.09 & t(10) ListBox2.Items.Add(0.1 & t(11) End SubEnd Class二维稳态导热的数值计算2.1物理问题一矩形区域,其边长L=W=1,假设区域内无内热源,导热系数为常数,三个边温度为T1=0,一个边温度为T2=1,求该矩形区域内的温度分布。2.2 数学描述对上述问题的微分方程及其边界
9、条件为: x=0,T=T1=0 x=1,T=T1=0 y=0,T=T1=0 y=1,T=T2=1该问题的解析解: 2.3数值离散2.3.1区域离散 区域离散x方向总节点数为N,y方向总节点数为M,区域内任一节点用I,j表示。2.3.2方程的离散对于图中所有的内部节点方程可写为: 用I,j节点的二阶中心差分代替上式中的二阶导数,得: 上式整理成迭代形式: (i=2,3,N-1),(j=2,3,M-1)补充四个边界上的第一类边界条件得: (j=1,2,3,M) (j=1,2,3,M) (i=1,2,3,N) (i=1,2,3,N)2.4程序及截图:Imports System.MathPublic
10、 Class Form1 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim N, M As Integer N = 5 M = 5 Dim t(N, M), w, x, y As Double Dim i, j As Integer w = 0 x = 0 y = 0 For i = 0 To N - 1 For j = 0 To M - 2 t(i, j) = 0 Next t(i, M - 1) = 1 Next Fo
11、r x = 1 To 10000 w = t(N - 2, M - 2) For i = 1 To N - 2 For j = 1 To M - 2 t(i, j) = (t(i + 1, j) + t(i - 1, j) + t(i, j + 1) + t(i, j - 1) / 4 Next Next If Abs(t(N - 2, M - 2) - w) 0.00001 Then Exit For End If Next For i = 1 To N - 1 For j = 1 To M - 1 t(j, i) = Format(t(j, i), 0.000) Next Next Lis
12、tBox1.Items.Add(x y 温度T) ListBox1.Items.Add(0.25 0.25 & t(1, 1) ListBox1.Items.Add(0.50 0.25 & t(2, 1) ListBox1.Items.Add(0.75 0.25 & t(3, 1) ListBox1.Items.Add(1.00 0.25 & t(4, 1) ListBox1.Items.Add(0.25 0.50 & t(1, 2) ListBox1.Items.Add(0.50 0.50 & t(2, 2) ListBox1.Items.Add(0.75 0.50 & t(3, 2) Li
13、stBox1.Items.Add(1.00 0.50 & t(4, 2) ListBox1.Items.Add(0.25 0.75 & t(1, 3) ListBox1.Items.Add(0.50 0.75 & t(2, 3) ListBox1.Items.Add(0.75 0.75 & t(3, 3) ListBox1.Items.Add(1.00 1.00 & t(4, 3) ListBox1.Items.Add(0.25 1.00 & t(1, 4) ListBox1.Items.Add(0.50 1.00 & t(2, 4) ListBox1.Items.Add(0.75 1.00
14、& t(3, 4) ListBox1.Items.Add(1.00 1.00 & t(4, 4) End SubEnd Class一维非稳态导热的数值计算 非稳态导热问题由于有时间变量,其数值计算出现了一些新的特点。3.1问题一块无限大平板,其一半厚度为L=0.1m,初始温度T0=1000,突然将其插入温度T=20的流体介质中。平板的导热系数=34.89W/(m),密度=7800kg/m3,比热c=712J/(kg),平板与介质的对流换热系数为h=233W/(m2),求平板内各点的温度分布。3.2数学描述由于平板换热关于中心线是对称的,仅对平板一半区域进行计算即可。坐标x的原点选在平板中心线上
15、,因而一半区域的非稳态导热的数学描述为:,=0,T=T0 x=0, x=L, 该数学模型的解析解为:,其中,n为方程ctg=/Bi 的根,。3.3数值离散3.3.1计算区域的离散以X和T为坐标的计算区域的离散,时间从T=0开始,经过一个个时层增加到K时层和K时层。3.3.2微分方程的离散对于I节点,在K和K+1时刻可将微分方程写成下面式子: 将上式的左端温度对时间的偏导数进行差分离散为: 显式差分格式: (K=0,1,i=2,3,N-1)全隐式差分格式: (K=0,1,i=2,3,N-1)其中3.3.3边界条件的离散边界节点的差分方程: 3.3.4最终离散格式显式:Ti=T0 (i=1,2,3
16、,N) (i=1,2,3,N-1) 其中K=0,1,2。隐式: 其中K=0,1,23.4程序及截图:Imports System.MathPublic Class Form1 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim N, M As Integer N = 10 M = 11 Dim f, Bi As Double f = 0.062824114 Bi = 0.066781312 Dim a(N, M), w As
17、 Single Dim i, j, k, t, s As Integer For i = 0 To N - 1 For k = 0 To M - 1 a(i, k) = 1000.0 Next Next For k = 0 To 100000 w = a(N - 1, M - 1) For i = 1 To N - 1 For j = 1 To M - 1 a(i, j) = f * a(i + 1, j - 1) + f * a(i - 1, j - 1) + (1 - 2 * f) * a(i, j - 1) a(0, j) = a(0, j - 1) * (1 - 2 * f) + 2
18、* f * a(1, j - 1) a(N - 1, j) = (1 - 2 * f - 2 * f * Bi) * a(N - 1, j - 1) + 2 * f * a(N - 2, j - 1) + 2 * f * Bi * 20 Next Next If Abs(a(N - 1, M - 1) - w) 0.000001 Then Exit For End If Next For i = 1 To 11 a(9, i) = Format(a(9, i), 0.00) Next ListBox1.Items.Add(时间/s 温度/) ListBox1.Items.Add(1 & a(9
19、, 1) ListBox1.Items.Add(2 & a(9, 2) ListBox1.Items.Add(3 & a(9, 3) ListBox1.Items.Add(4 & a(9, 4) ListBox1.Items.Add(5 & a(9, 5) ListBox1.Items.Add(6 & a(9, 6) ListBox1.Items.Add(7 & a(9, 7) ListBox1.Items.Add(8 & a(9, 8) ListBox1.Items.Add(9 & a(9, 9) ListBox1.Items.Add(10 & a(9, 10) End SubEnd Class
copyright@ 2008-2023 冰点文库 网站版权所有
经营许可证编号:鄂ICP备19020893号-2