|
旧日本原子力研究所のレーポートで気体の熱物性値を求める資料を見つけ、今,作成中の保温計算プログラムに組み込む為に,十進basicで作成しましたので登校させていただきます。
元資料 旧日本原子力研究所 JAERI-M 92-131
多成分混合気体の熱物性値 1992年9月 武田哲明・Bing HAN・小川益郎
REM ********************************************************************
REM 多成分混合気体の熱物性値
REM 元になっているのは 旧日本原子力研究所のレポートです。
REM JAERI-M 92-131 多成分混合気体の熱物性値 1992年9月
REM 武田 哲明・Bing HAN ・小川 益郎
REM ********************************************************************
REM
REM N2,O2,CO2,CO,He,Air 6種類の気体からなる多成分混合気体の熱物性値を
REM 計算、表示します。
REM
REM 指示に従って各組成気体の百分率を入力してください。
REM 混合気体の温度、気圧を入力してください。
REM その温度に於ける、N2,O2,CO2,CO,He,Air の熱物性値と混合気体の
REM 熱物性値を表示します。
REM
SET WINDOW 0,1.0,0,1.0
LET n=6 !対象気体数 6種類 N2,O2,CO2,CO,He,Air
DIM rho(n+1) !各気体の密度
DIM CP(n+1) ! 〃 定圧比熱
DIM CVv(n+1) ! 〃 定容比熱
DIM CPO(n+1) ! 〃 定圧分子熱
DIM n$(n) !気体名称 N2 , O2 , CO2 , CO , He , Air
DIM mwp(n) !質量分率 重量%
DIM mw(n) !分子量 molecular weight
DIM Xmol(n+1) !モル数
DIM Xmolb(n) !モル分率(体積分率)
DIM mu(n+1) !粘性係数
DIM phi(n,n) !粘性係数計算係数
DIM phix(n,n)
DIM nu(n+1) !動粘性係数
DIM alpha(n+1) !温度伝導率
DIM Pr(n+1) !プラントル数
DIM kk(n)
DIM lambda(n+1) !熱伝導率
DIM Tc(n) !臨界温度 critical temperature
DIM Pc(n) !臨界圧力 critical pressure
DIM zeta(n) !偏心因子
DIM Ac0(n) !Ac0 定圧分子熱の推算式に於ける係数
DIM Bc0(n) !Bc0 〃 〃
DIM Cc0(n) !Cc0 〃 〃
DIM Dc0(n) !Dc0 〃 〃
DIM Ac1(n) !Ac1 定圧比熱の推算式に於ける係数
DIM Bc1(n) !Bc1 〃 〃
DIM Cc1(n) !Cc1 〃 〃
DIM Dc1(n) !Dc1 〃 〃
DIM Ac2(n) !Ac2 定容比熱の推算式に於ける係数
DIM Bc2(n) !Bc2 〃 〃
DIM Cc2(n) !Cc2 〃 〃
DIM Dc2(n) !Dc2 〃 〃
DIM shiguma (n) !σ 各成分気体の特性直径
DIM epsilonk(n) !ε/k 各成分気体の特性エネルギー
DIM ohmv(6) !Ωv 粘性の衝突積分
DIM ohmd(8) !Ωd 拡散の衝突積分
REM *******************************************************************
REM * 定数の読み込み *
REM *******************************************************************
FOR i=1 TO n
READ n$(i)
NEXT i
FOR i=1 TO n
READ mw(i)
NEXT i
FOR i=1 TO n
READ Tc(i)
NEXT i
FOR i=1 TO n
READ Pc(i)
NEXT i
FOR i=1 TO n
READ zeta(i)
NEXT i
FOR i=1 TO n
READ Ac0(i)
NEXT i
FOR i=1 TO n
READ Bc0(i)
LET Bc0(i)=Bc0(i)*1E-2
NEXT i
FOR i=1 TO n
READ Cc0(i)
LET Cc0(i)=Cc0(i)*1E-6
NEXT i
FOR i=1 TO n
READ Dc0(n)
LET Dc0(i)=Dc0(i)*1E-9
NEXT i
FOR i=1 TO n
READ Ac1(i)
NEXT i
FOR i=1 TO n
READ Bc1(i)
LET Bc1(i)=Bc1(i)*1E-4
NEXT i
FOR i=1 TO n
READ Cc1(i)
LET Cc1(i)=Cc1(i)*1E-8
NEXT i
FOR i=1 TO n
READ Dc1(i)
LET Dc1(i)=Dc1(i)*1E-12
NEXT i
FOR i=1 TO n
READ Ac2(i)
NEXT i
FOR i=1 TO n
READ Bc2(i)
LET Bc2(i)=Bc2(i)*1E-4
NEXT I
FOR i=1 TO n
READ Cc2(i)
LET Cc2(i)=Cc2(i)*1E-8
NEXT i
FOR i=1 TO n
READ Dc2(i)
LET Dc2(i)=Dc2(i)*1E-12
NEXT i
FOR i=1 TO n
READ shiguma(i)
NEXT i
FOR i=1 TO n
READ epsilonk(i)
NEXT i
READ Av
READ Bv
READ Cv
READ Dv
READ Ev
READ Fv
READ Ad
READ Bd
READ Cd
READ Dd
READ Ed
READ Fd
READ Gd
READ Hd
REM *****************************************************
REM * 各気体の質量分率=重量%を入力 *
REM *****************************************************
REM 百分率の合計が100にならなければ再入力となります。
DO WHILE mwp(1)+mwp(2)+mwp(3)+mwp(4)+mwp(5)+mwp(6)<>100
INPUT PROMPT"各気体の重量%を入力してください。 N2 , O2 , CO2 , CO , He , Air":mwp(1),mwp(2),mwp(3),mwp(4),mwp(5),mwp(6)
LOOP
FOR i=1 TO n
IF mwp(i)<>0 THEN
LET Mkongou=(mwp(i)/100/mw(i))+Mkongou
END IF
NEXT i
LET Mkongou=1/Mkongou ! 混合気体の分子量
FOR i = 1 TO n
IF mwp(i)<>0 THEN
LET Xmolb(i)=Mkongou/mw(i)*mwp(i) ! 体積分率の計算
END IF
NEXT i
FOR i=1 TO n
LET Xmol(i)=mwp(i)/mw(i)
NEXT i
REM *****************************************************
REM * 圧力、温度の設定 *
REM *****************************************************
INPUT PROMPT"計算条件 温度(℃) , 圧力を指示してください。 T C', P atm ":T,Patm !T C' : T ℃ P atm : P 気圧
LET TK=T+273.15 !TK : 絶対温度 K
LET Pa=Patm*101325 !Pa : パスカル
REM *****************************************************
REM * 密度の計算 kg/m^3 *
REM *****************************************************
LET rho(n+1)=0
FOR i=1 TO n
LET rho(i)=Pa*mw(i)/8.314/TK/1000
LET rho(n+1)=rho(i)*Xmolb(i)/100+rho(n+1)
NEXT i
REM *****************************************************
REM * 定圧比熱の計算 KJ/kgK *
REM *****************************************************
LET CP(n+1)=0
FOR i=1 TO n
IF i=5 THEN
LET CP(i)=5193/1000
ELSE
LET CP(i)=Ac1(i)+Bc1(i)*TK+Cc1(i)*TK^2+Dc1(i)*TK^3
END IF
LET CP0=CP(i)*Xmolb(i)/100+CP0
NEXT i
LET CP(n+1)=CP0
REM ****************************************************
REM * 粘性率の計算 Pa・s *
REM ****************************************************
FOR i=1 TO n
LET tdot=TK/epsilonk(i)
IF i=5 THEN
IF TK>1100 THEN
LET visc =Av/tdot^Bv
ELSE
LET visc=Av/tdot^Bv+Cv/EXP(Dv*tdot)
END IF
LET mu(i)=26.69*SQR(mw(i)*TK)/shiguma(i)^2/visc*1E-7*1E6
ELSE
LET ohmv(i)=(Av/tdot^Bv+Cv/EXP(Dv*tdot)+Ev/EXP(Fv*tdot))
LET mu(i)=26.69*SQR(mw(i)*TK)/shiguma(i)^2/ohmv(I)*1E-7*1E6
END IF
NEXT i
LET mu(n+1)=0
FOR i=1 TO n
FOR j=1 TO n
IF mwp(j)<>0 THEN
IF mwp(i)<>0 THEN
LET phi(i,j)=(1+(mu(i)/mu(j))^0.5*(mw(j)/mw(i))^0.25)^2/(8*(1+mw(i)/mw(j)))^0.5
END IF
END IF
NEXT j
NEXT i
LET ZZ=0
FOR i=1 TO n
IF mwp(i)<>0 THEN
LET Z=0
FOR j= 1 TO n
IF mwp(j)<>0 THEN
LET Z=Z+xmolb(j)*phi(i,j)
END IF
NEXT j
LET ZZ=ZZ+Xmolb(i)*mu(i)/Z
END IF
NEXT i
LET mu(n+1)=ZZ
REM ***************************************************
REM * 熱伝導率の計算 mW/mK *
REM ***************************************************
FOR i=1 TO n
LET CVv(i)=Ac2(i)+Bc2(i)*TK+Cc2(i)*TK^2+Dc2(i)*TK^3
LET tdot=TK/epsilonk(i)
IF i=5 THEN
LET CVv(i)=3114
IF TK > 1100 THEN
LET Ohmvh=Av/tdot^Bv
ELSE
LET ohmvh=Av/tdot^Bv+Cv/EXP(Dv*tdot)
END IF
LET lambdahe=2.669*SQR(mw(i)*TK)/shiguma(i)^2/ohmvh*1E-7*1E6
LET lambda(i)=(1.32*CVv(i)*mw(i)*0.001/4.186+3.52)*lambdahe/mw(i)*4.186*10
ELSE
LET lambda(i)=(1.32*CVv(i)*mw(i)/4.186+3.52)*mu(i)/mw(i)*4.186
END IF
NEXT i
LET lambda(n+1)=0
FOR i=1 TO n
FOR j=1 TO n
IF mwp(j)<>0 THEN
IF mwp(i)<>0 THEN
LET phi(i,j)=(1+(lambda(i)/lambda(j))^0.5*(mw(j)/mw(i))^0.25)^2/(8*(1+mw(i)/mw(j)))^0.5
END IF
END IF
NEXT j
NEXT i
LET ZZ=0
FOR i=1 TO n
IF mwp(i)<>0 THEN
LET Z=0
FOR j= 1 TO n
IF mwp(j)<>0 THEN
LET Z=Z+xmolb(j)*phi(i,j)
END IF
NEXT j
LET ZZ=ZZ+Xmolb(i)*lambda(i)/Z
END IF
NEXT i
LET lambda(n+1)=ZZ
REM *************************************************
REM * 動粘性係数 mm^2/s *
REM *************************************************
FOR i= 1TO n+1
IF rho(i)<>0 THEN
LET nu(i)=mu(i)/rho(i)
END IF
NEXT i
REM *************************************************
REM * 温度伝導率 mm^2/s *
REM *************************************************
FOR i=1 TO n+1
IF Rho(i)<> 0 THEN
LET alpha(i)=lambda(i)/rho(i)/CP(I)
END IF
NEXT i
REM *************************************************
REM * プラントル数 *
REM *************************************************
FOR i=1TO n+1
IF alpha(i)<>0 THEN
LET Pr(i)=nu(i)/alpha(i)
END IF
NEXT i
REM *************************************************
REM * 計算結果 打ち出し *
REM *************************************************
PLOT TEXT ,AT 0.05,0.95 ,USING "温度、圧力 絶対温度 ---%.# K 摂氏 ---%.# ℃ 圧力 -%.##MPa ":TK,T,Pa/1000000
PLOT TEXT ,AT 0.05,0.90:" N2 O2 CO2 CO He Air "
PLOT TEXT ,AT 0.05,0.88 ,USING "質量分率 ## ---%.# ---%.# ---%.# ---%.# ---%.# ---%.# ":"%",mwp(1),mwp(2),mwp(3),mwp(4),mwp(5),mwp(6)
PLOT TEXT ,AT 0.05,0.86 ,USING "モル数 n mol ---%.## ---%.## ---%.## ---%.## ---%.## ---%.##":Xmol(1),Xmol(2),Xmol(3),Xmol(4),Xmol(5),Xmol(6)
PLOT TEXT ,AT 0.05,0.84 ,USING "体積分率 ## ---%.## ---%.## ---%.## ---%.## ---%.## ---%.##":"%",Xmolb(1),Xmolb(2),Xmolb(3),Xmolb(4),Xmolb(5),Xmolb(6)
PLOT TEXT ,AT 0.05,0.80 ,USING "混合気体分子量 ---%.##":Mkongou
PLOT TEXT ,AT 0.05,0.76: " N2 O2 CO2 CO He Air Mix"
PLOT TEXT ,AT 0.05,0.74 ,USING "密度 ###### -%.#### -%.#### -%.#### -%.#### -%.#### -%.#### -%.####":"kg/m^3",rho(1),rho(2),rho(3),rho(4),rho(5),rho(6),rho(n+1)
PLOT TEXT ,AT 0.05,0.72 ,USING "定圧比熱 ###### -%.#### -%.#### -%.#### -%.#### -%.#### -%.#### -%.####":"KJ/kgK",CP(1),CP(2),CP(3),CP(4),CP(5),CP(6),CP(n+1)
PLOT TEXT ,AT 0.05,0.70 ,USING "粘性率の計算 ###### --%.## --%.## --%.## --%.## --%.## --%.## --%.##":"uPa.s",mu(1),mu(2),mu(3),mu(4),mu(5),mu(6),mu(n+1)
PLOT TEXT ,AT 0.05,0.68 ,USING "動粘性係数 ##### ---%.## ---%.## ---%.## ---%.## ---%.## ---%.## ---%.##":"mm2/s",nu(1),nu(2),nu(3),nu(4),nu(5),nu(6),nu(n+1)
PLOT TEXT ,AT 0.05,0.66 ,USING "熱伝導率 ##### ---%.## ---%.## ---%.## ---%.## ---%.## ---%.## ---%.##":"mW/mK",lambda(1),lambda(2),lambda(3),lambda(4),lambda(5),lambda(6),lambda(n+1)
PLOT TEXT ,AT 0.05,0.64 ,USING "温度伝導率 ##### ---%.## ---%.## ---%.## ---%.## ---%.## ---%.## ---%.##":"mm2/s",alpha(1),alpha(2),alpha(3),alpha(4),alpha(5),alpha(6),alpha(n+1)
PLOT TEXT ,AT 0.05,0.62 ,USING "プラントル数 -%.#### -%.#### -%.#### -%.#### -%.#### -%.#### -%.####":Pr(1),Pr(2),Pr(3),Pr(4),Pr(5),Pr(6),Pr(n+1)
REM N2 O2 CO2 CO He Air
DATA N2 , O2 , CO2 , CO , He , Air
DATA 28.0134 ,31.999 ,44.010 ,28.010 ,4.0026 ,28.964 !molecular weight 分子量
DATA 126.2 ,154.6 ,304.2 ,132.9 ,5.19 ,132.5 !Tc 臨界温度 K
DATA 33.5 ,50.1 ,72.8 ,34.5 ,2.24 ,37.2 !Pc 臨界圧力 atm 760mmhg 101325Pa
DATA 0.040 ,0.021 ,0.225 ,0.049 ,-0.387 ,0 !ζ zeta 偏心因子
DATA 7.440 ,6.713 ,4.728 ,7.373 ,0 ,0 !Ac0 定圧分子熱の推算式に於ける係数
DATA -0.324 ,-8.79E-5 ,1.754 ,-0.307 ,0 ,0 !Bc0(×10^-2) 〃 〃
DATA 6.400 ,4.170 ,-13.38 ,6.662 ,0 ,0 !Cc0(×10^-6) 〃 〃
DATA -2.790 ,-2.544 ,4.097 ,-3.037 ,0 ,0 !Dc0(×10^-9) 〃 〃
DATA 0.938314 ,0.817026 ,0.618542 ,0.929207 ,0 ,0.905673 !Ac1 定圧比熱の推算式に於ける係数
DATA 2.95732 ,3.87124 ,9.43157 ,3.43656 ,0 ,3.10391 !Bc1(×10^-4) 〃 〃
DATA -7.31507 ,-14.1476 ,-39.2290 ,-10.0711 ,0 ,-8.59483 !Cc1(×10^-8) 〃 〃
DATA 5.81796 ,19.9678 ,54.4078 ,10.1493 ,0 ,8.56212 !Dc1(×10^-12) 〃 〃
DATA 0.656848 ,0.547045 ,0.396046 ,0.641668 ,0 ,0.625027 !Ac2 定容比熱の推算式に於ける係数
DATA 2.46015 ,4.12982 ,10.5300 ,3.13564 ,0 ,2.89050 !Bc2(×10^-4) 〃 〃
DATA -3.16796 ,-16.1964 ,-48.3891 ,-7.57080 ,0 ,-6.76530 !Cc2(×10^-8) 〃 〃
DATA -3.91928 ,24.6892 ,75.8699 ,4.29183 ,0 ,4.17504 !Dc2(×10^-12) 〃 〃
DATA 3.798 ,3.467 ,3.941 ,3.690 ,2.551 ,3.711 !σ 各成分気体の特性直径
DATA 71.4 ,106.7 ,195.2 ,91.7 ,10.22 ,78.6 !ε/k と特性エネルギー
REM Av Bv Cv Dv Ev Fv Ωv 粘性の衝突積分
DATA 1.16145 ,0.14874 ,0.52487 ,0.77320 ,2.16178 ,2.43787 !
REM Ad Bd Cd Dd Ed Fd Gd Hd !Ωd 拡散の衝突積分
DATA 1.06036 ,0.15610 ,0.19300 ,0.47635 ,1.03587 ,1.52996 ,1.76474 ,3.89411 !
END
|
|