空气物性计算-源代码-VBA-加载宏-可以在Excel单元格里直接调用:在Excel后台里插入模块,然后复制粘贴输入下面代码,就可以在前面Excel单元格里调用计算氩气物性的函数进行物性计算了

这段VBA代码实现了在Excel中直接计算空气的各种物性,包括比容、密度、比热、焓值、熵、粘度、导热系数、普朗特数、等熵指数、声速、压缩因子等功能。通过在Excel单元格内调用这些函数,可以方便地进行空气物性计算。
摘要由CSDN通过智能技术生成

'空气

'常数

Const R = 287.11 'J/kg.K,气体常数

Const M = 0.02896  'kg/mol,空气的分子量

'Const Pcr = 5 'MPa,临界压力

'Const roucr = 536 'kg/m3,临界密度

'Const tb = -185.86 '℃,沸点

'Const tm = -189.37  '℃,熔点

'Const cp0 = 5198 'J/kg.K

'Const cv0 = 3121 'J/kg.K

Const h0 = -5059 'J/kg 温度315.56℃,压力0.1013MPa时空气的焓

Const s0 = 2607.17 'J/kg.K 温度315.56℃,压力0.1013MPa时空气的熵

Const T0 = 273.15 'K

Const p0 = 100000 'Pa

'Const rou0 = 0.1762 'kg/m3

'空气状态方程

Function f_vpT_Air(V, P, T) 'p-MPa,T-K,v-m3/kg

    Dim A0, a, B0, b, c

        A0 = 157.204

        a = 0.000666782

        B0 = 0.0015922

        b = -0.00038018

        c = 1498.62

        'p = p * 1000000

      Dim f

    f = ((R * T * (1 - c / (V * T ^ 3))) / (V ^ 2)) * (V + B0 * (1 - b / V))

    f = f - (1 - a / V) * A0 / V ^ 2

    f_vpT_Air = f - P

    'f = f

    On Error Resume Next

      

End Function

'A.1. 比容,m3/kg

Function V_PT_Air(P, T)

    Dim vi(10000)

    vi(1) = 0.01

    vi(2) = 2

    WuCha = 0.00001

   

    If f_vpT_Air(vi(1), P, T) <> 0 And f_vpT_Air(vi(2), P, T) Then

    vi(3) = vi(2) - f_vpT_Air(vi(2), P, T) * (vi(2) - vi(1)) / (f_vpT_Air(vi(2), P, T) - f_vpT_Air(vi(1), P, T))

    'Debug.Print "vi(3)="; vi(3)

    'v = vi(3)

    End If

   

   

    If f_vpT_Air(vi(2), P, T) <> 0 And f_vpT_Air(vi(3), P, T) Then

    vi(4) = vi(3) - f_vpT_Air(vi(3), P, T) * (vi(3) - vi(1)) / (f_vpT_Air(vi(3), P, T) - f_vpT_Air(vi(1), P, T))

    'Debug.Print "vi(4)="; vi(4)

    'v = vi(4)

    End If

    Dim i As Integer

    i = 4

   

    'Debug.Print "f(vi(1),p,T)="; f(vi(1), p, T)

    'Debug.Print "f(vi(2),p,T)="; f(vi(2), p, T)

    Do Until Abs(f_vpT_Air(vi(i), P, T)) < 0.00001

   

        vi(i + 1) = vi(i) - f_vpT_Air(vi(i), P, T) * (vi(i) - vi(1)) / (f_vpT_Air(vi(i), P, T) - f_vpT_Air(vi(1), P, T))

       

        i = i + 1

        'Debug.Print "vi("; i; ")="; vi(i)

        'Debug.Print "f("; i; ","; p; ","; T; ")="; f(vi(i), p, T)

        If i >= 10000 Then

        Exit Function

        End If

       

    Loop

   

    V_PT_Air = vi(i)

    On Error Resume Next

End Function

'A.2.密度,kg/m3

Function rou_PT_Air(P, T)

    rou_PT_Air = 1 / V_PT_Air(P, T)

   

End Function

'B.空气的比热

Function cp0_T_Air(T)

    Dim b()

    ReDim Preserve b(0 To 4)

    b(0) = 3.688476

    b(1) = -0.001642285

    b(2) = 0.000004196653

    b(3) = -0.000000002986517

    b(4) = 7.194228E-13

    cp0_Air = 0

    For i = 0 To 4

        cp0_Air = cp0_Air + b(i) * T ^ (i)

    Next

    cp0_T_Air = R * cp0_Air

   

End Function

Function cv0_T_Air(T)

    cv0_T_Air = cp0_T_Air(T) - R

End Function

Function cv_PT_Air(P, T) 'J/kg.K<

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

CODE-boy1

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值