此文主要针对上海理工大学传热学上机实验,网上都是c语言的程序,学VB的孩子伤不起呀,经过本人两个晚上的奋战,将c语言版本翻译成成vb语言的版本,其中里面也加入好多自己的理解,仅供大家学习参考。其中得到宋子越同学的鼎力相助。
传热学上机报告
曹兴
一维稳态导热的数值计算
1.1物理问题
一个等截面直肋,处于温度t∞=80的流体中。肋表面与流体之间的对流换热系数为h=45W/(m2?℃),肋基处温度tw=300℃,肋端绝热。肋片由铝合金制成,其导热系数为λ=110W/(m?℃),肋片厚度为δ=0.01m,高度为H=0.1m
1.2数学描述及其解析解
引入无量纲过余温度θ=t-t∞t
x=0,θ=θ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……,N-1)
程序:
Imports System.Math
Public 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.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 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(10) = 225