subroutine ChemData_Init
!
! 物質の名前に対して番号付けを行い, その番号に対して
! 諸々の物性値を割り当てる
!
!暗黙の型宣言禁止
implicit none
!内部変数
integer :: SNum, ANum1, ANum2, ANum3, RNum
character(2) :: AtmSymbol
character(20) :: SpcSymbol
!-------------------------------------------------------------
! 元素, 分子名を配列に格納.
!-------------------------------------------------------------
!原子記号
ChemData_AtmSymbol = (/ "H ", "He", "C ", "N ", "O ", "S " /)
!原子量 (kg/mol).
ChemData_AtmWt = (/ 1.00794d-3, 4.002602d-3, 12.0107d-3, 14.00674d-3, 15.9994d-3, 32.066d-3 /)
!分子
ChemData_SpcSymbol = (/ "N2-g ", "H2-g ", "He-g ", "He-g ", "H2O-g ", "H2O-l ", "H2O-s ", "NH3-g ", "NH3-s ", "H2S-g ", "NH4SH-s", "CO2-g " /)
!-------------------------------------------------------------
! それぞれの元素, 分子に対応する物性値を格納
!-------------------------------------------------------------
!初期化
ChemData_MolWt = 0.0d0
ChemData_GasR = 0.0d0
ChemData_Entropy = 0.0d0
ChemData_Enthalpy = 0.0d0
ChemData_SpcFormula = 0.0d0
ChemData_CpPerMol = 0.0d0
ChemData_Cp = 0.0d0
ChemData_Cp_Temp = 0.0d0
ChemData_CpPerMolRef = 0.0d0
ChemData_CpRef = 0.0d0
ChemData_CvPerMolRef = 0.0d0
ChemData_CvRef = 0.0d0
ChemData_SVapPress = 0.0d0
ChemData_SVapPress_Temp = 0.0d0
ChemData_SVapPress_AntoineA = 0.0d0
ChemData_SVapPress_AntoineB = 0.0d0
ChemData_SVapPress_AntoineC = 0.0d0
ChemData_SVapPress_AntoineUnit = 0.0d0
ChemData_SVapPress_AMPA = 0.0d0
ChemData_SVapPress_AMPB = 0.0d0
ChemData_SVapPress_AMPC = 0.0d0
ChemData_SVapPress_AMPD = 0.0d0
ChemData_SVapPress_AMPE = 0.0d0
SNum = 0
RNum = 0
ANum1 = 0
ANum2 = 0
ANum3 = 0
!!=============================================================
!! N2-g に関する物性
!!=============================================================
SpcSymbol = 'N2-g'
SNum = ChemData_SearchSpc( SpcSymbol )
AtmSymbol = 'N'
ANum1 = ChemData_SearchAtm( AtmSymbol )
!相
ChemData_Phase(SNum) = 'Gas'
!基準状態でのエントロピー
ChemData_Entropy(SNum) = 191.609d0
!基準状態でのエンタルピー
ChemData_Enthalpy(SNum) = 0.0d0
!分子を構成する元素
ChemData_SpcFormula(SNum,ANum1) = 2.0d0
!分子量 [kg/mol]
ChemData_MolWt(SNum) = dot_product(ChemData_AtmWt, ChemData_SpcFormula(SNum,:))
!気体定数
ChemData_GasR(SNum) = GasRUniv / ChemData_MolWt(SNum)
!単位モル当たりの定圧比熱 [J/K mol]. 温度依存性を考慮
ChemData_CpPerMol(SNum,1:9) = (/ 29.104d0, 29.107d0, 29.111d0, 29.124d0, 29.125d0, 29.165d0, 29.249d0, 29.387d0, 29.58d0 /)
!単位質量当たりの定圧比熱 [J/K kg]. 温度依存性を考慮
ChemData_Cp(SNum,:) = ChemData_CpPerMol(SNum,:) / ChemData_MolWt(SNum)
!定圧比熱の温度依存性
ChemData_Cp_temp(SNum,1:9) = (/ 100.0d0, 200.0d0, 250.0d0, 298.15d0, 300.0d0, 350.0d0, 400.0d0, 450.0d0, 500.0d0 /)
!基準状態の配列要素の番号を求める
RNum = ChemData_SearchRef(ChemData_Cp_temp(SNum,:))
!基準状態での単位モル当たりの定圧比熱 [J/K mol].
ChemData_CpPerMolRef(SNum) = ChemData_CpPerMol(SNum, RNum)
!基準状態での単位質量当たりの定圧比熱 [J/K kg].
ChemData_CpRef(SNum) = ChemData_Cp(SNum, RNum)
!基準状態での単位モル当たりの定積比熱 [J/K mol].
ChemData_CvPerMolRef(SNum) = ChemData_CpPerMol(SNum, RNum) - GasRUniv
!基準状態での単位質量当たりの定積比熱 [J/K kg].
ChemData_CvRef(SNum) = ChemData_CvPerMolRef(SNum) / ChemData_MolWt(SNum)
!!=============================================================
!! H2-g に関する物性
!!=============================================================
SpcSymbol = 'H2-g'
SNum = ChemData_SearchSpc( SpcSymbol)
AtmSymbol = 'H'
ANum1 = ChemData_SearchAtm( AtmSymbol)
!相
ChemData_Phase(SNum) = 'Gas'
!基準状態でのエントロピー
ChemData_Entropy(SNum) = 130.68d0
!基準状態でのエンタルピー
ChemData_Enthalpy(SNum) = 0.0d0
!分子を構成する元素
ChemData_SpcFormula(SNum,ANum1) = 2.0d0
!分子量 [kg/mol]
ChemData_MolWt(SNum) = dot_product(ChemData_AtmWt, ChemData_SpcFormula(SNum,:))
!気体定数
ChemData_GasR(SNum) = GasRUniv / ChemData_MolWt(SNum)
!単位モル当たりの定圧比熱 [J/K mol]. 温度依存性を考慮
ChemData_CpPerMol(SNum,1:12) = (/ 20.65d0, 21.15d0, 22.46d0, 23.85d0, 25.18d0, 26.32d0, 27.17d0, 27.61d0, 28.03d0, 28.34d0, 28.57d0, 28.59d0 /)
!単位質量当たりの定圧比熱 [J/K kg]. 温度依存性を考慮
ChemData_Cp(SNum,:) = ChemData_CpPerMol(SNum,:) / ChemData_MolWt(SNum)
!定圧比熱の温度依存性
ChemData_Cp_temp(SNum,1:12) = (/ 50.0d0, 75.0d0, 100.0d0, 125.0d0, 150.0d0, 175.0d0, 200.0d0, 225.0d0, 250.0d0, 275.0d0, 298.15d0, 300.0d0 /)
!基準状態の配列要素の番号を求める
RNum = ChemData_SearchRef(ChemData_Cp_temp(SNum,:))
!基準状態での単位モル当たりの定圧比熱 [J/K mol].
ChemData_CpPerMolRef(SNum) = ChemData_CpPerMol(SNum, RNum)
!基準状態での単位質量当たりの定圧比熱 [J/K kg].
ChemData_CpRef(SNum) = ChemData_Cp(SNum, RNum)
!基準状態での単位モル当たりの定積比熱 [J/K mol].
ChemData_CvPerMolRef(SNum) = ChemData_CpPerMol(SNum, RNum) - GasRUniv
!基準状態での単位質量当たりの定積比熱 [J/K kg].
ChemData_CvRef(SNum) = ChemData_CvPerMolRef(SNum) / ChemData_MolWt(SNum)
!!=============================================================
!! CO2-g に関する物性
!!=============================================================
SpcSymbol = 'CO2-g'
SNum = ChemData_SearchSpc( SpcSymbol)
AtmSymbol = 'C'
ANum1 = ChemData_SearchAtm( AtmSymbol)
AtmSymbol = 'O'
ANum2 = ChemData_SearchAtm( AtmSymbol)
!相
ChemData_Phase(SNum) = 'Gas'
!基準状態でのエントロピー
ChemData_Entropy(SNum) = 0.0d0 !要チェック
!基準状態でのエンタルピー
ChemData_Enthalpy(SNum) = 0.0d0
!分子を構成する元素
ChemData_SpcFormula(SNum,ANum1) = 1.0d0
ChemData_SpcFormula(SNum,ANum2) = 2.0d0
!分子量 [kg/mol]
ChemData_MolWt(SNum) = dot_product(ChemData_AtmWt, ChemData_SpcFormula(SNum,:))
!気体定数
ChemData_GasR(SNum) = GasRUniv / ChemData_MolWt(SNum)
!単位モル当たりの定圧比熱 [J/K mol]. 温度依存性を考慮
ChemData_CpPerMol(SNum,1:5) = (/ 34.46d0, 32.3d0, 37.53d0, 41.44d0, 44.68d0 /)
!単位質量当たりの定圧比熱 [J/K kg]. 温度依存性を考慮
ChemData_Cp(SNum,:) = ChemData_CpPerMol(SNum,:) / ChemData_MolWt(SNum)
!定圧比熱の温度依存性
ChemData_Cp_temp(SNum,1:5) = (/ 200.0d0, 298.15d0, 300.0d0, 400.0d0, 500.0d0 /)
!基準状態の配列要素の番号を求める
RNum = ChemData_SearchRef(ChemData_Cp_temp(SNum,:))
!基準状態での単位モル当たりの定圧比熱 [J/K mol].
ChemData_CpPerMolRef(SNum) = ChemData_CpPerMol(SNum, RNum)
!基準状態での単位質量当たりの定圧比熱 [J/K kg].
ChemData_CpRef(SNum) = ChemData_Cp(SNum, RNum)
!基準状態での単位モル当たりの定積比熱 [J/K mol].
ChemData_CvPerMolRef(SNum) = ChemData_CpPerMol(SNum, RNum) - GasRUniv
!基準状態での単位質量当たりの定積比熱 [J/K kg].
ChemData_CvRef(SNum) = ChemData_CvPerMolRef(SNum) / ChemData_MolWt(SNum)
! !Antoine の式の係数 (化学工学会, 1999)
! !2008/06/09 山下 達也 追加
! ! これは CO2-g のデータではない. CO2-s のデータ!
! ChemData_SvapPress_AntoineA(SNum) = 27.4d0
! ChemData_SvapPress_AntoineB(SNum) = 3103d0
! ChemData_SvapPress_AntoineC(SNum) = -0.16d0
!!=============================================================
!! He-g に関する物性
!!=============================================================
SpcSymbol = 'He-g'
SNum = ChemData_SearchSpc( SpcSymbol)
AtmSymbol = 'He'
ANum1 = ChemData_SearchAtm( AtmSymbol)
!相
ChemData_Phase(SNum) = 'Gas'
!基準状態でのエントロピー
ChemData_Entropy(SNum) = 0.0d0
!基準状態でのエンタルピー
ChemData_Enthalpy(SNum) = 0.0d0
!分子を構成する元素
ChemData_SpcFormula(SNum,ANum1) = 1.0d0
!分子量 [kg/mol]
ChemData_MolWt(SNum) = dot_product(ChemData_AtmWt, ChemData_SpcFormula(SNum,:))
!気体定数
ChemData_GasR(SNum) = GasRUniv / ChemData_MolWt(SNum)
!単位モル当たりの定圧比熱 [J/K mol]. 温度依存性を考慮
ChemData_CpPerMol(SNum,:) = 20.786d0
!単位質量当たりの定圧比熱 [J/K kg]. 温度依存性を考慮
ChemData_Cp(SNum,:) = ChemData_CpPerMol(SNum,:) / ChemData_MolWt(SNum)
!定圧比熱の温度依存性
ChemData_Cp_temp(SNum,1:12) = (/ 50.0d0, 75.0d0, 100.0d0, 125.0d0, 150.0d0, 175.0d0, 200.0d0, 225.0d0, 250.0d0, 275.0d0, 298.15d0, 300.0d0 /)
!基準状態の配列要素の番号を求める
RNum = ChemData_SearchRef(ChemData_Cp_temp(SNum,:))
!基準状態での単位モル当たりの定圧比熱 [J/K mol].
ChemData_CpPerMolRef(SNum) = ChemData_CpPerMol(SNum, RNum)
!基準状態での単位質量当たりの定圧比熱 [J/K kg].
ChemData_CpRef(SNum) = ChemData_Cp(SNum, RNum)
!基準状態での単位モル当たりの定積比熱 [J/K mol].
ChemData_CvPerMolRef(SNum) = ChemData_CpPerMol(SNum, RNum) - GasRUniv
!基準状態での単位質量当たりの定積比熱 [J/K kg].
ChemData_CvRef(SNum) = ChemData_CvPerMolRef(SNum) / ChemData_MolWt(SNum)
!!=============================================================
!! H2O-g に関する物性
!!=============================================================
SpcSymbol = 'H2O-g'
SNum = ChemData_SearchSpc( SpcSymbol)
AtmSymbol = 'H'
ANum1 = ChemData_SearchAtm( AtmSymbol)
AtmSymbol = 'O'
ANum2 = ChemData_SearchAtm( AtmSymbol)
!相
ChemData_Phase(SNum) = 'Gas'
!基準状態でのエントロピー
ChemData_Entropy(SNum) = 188.834d0
!基準状態でのエンタルピー
ChemData_Enthalpy(SNum) = -2241826.0d0
!分子を構成する元素
ChemData_SpcFormula(SNum,ANum1) = 2.0d0
ChemData_SpcFormula(SNum,ANum2) = 1.0d0
!分子量 [kg/mol]
ChemData_MolWt(SNum) = dot_product(ChemData_AtmWt, ChemData_SpcFormula(SNum,:))
!気体定数
ChemData_GasR(SNum) = GasRUniv / ChemData_MolWt(SNum)
!単位モル当たりの定圧比熱 [J/K mol]. 温度依存性を考慮
ChemData_CpPerMol(SNum,1:11) = (/ 33.299d0, 33.349d0, 33.590d0, 33.596d0, 34.262d0, 35.266d0, 36.325d0, 37.495d0, 38.721d0, 39.987d0, 41.268d0 /)
!単位質量当たりの定圧比熱 [J/K kg]. 温度依存性を考慮
ChemData_Cp(SNum,:) = ChemData_CpPerMol(SNum,:) / ChemData_MolWt(SNum)
!定圧比熱データに対応する温度
ChemData_Cp_temp(SNum,1:11) = (/ 100.0d0, 200.0d0, 298.15d0, 300.0d0, 400.0d0, 500.0d0, 600.0d0, 700.0d0, 800.0d0, 900.0d0, 1000.0d0 /)
!基準状態での定圧比熱
RNum = ChemData_SearchRef(ChemData_Cp_temp(SNum,:))
!単位モル当たりの定圧比熱 [J/K mol].
ChemData_CpPerMolRef(SNum) = ChemData_CpPerMol(SNum, RNum)
!単位質量当たりの定圧比熱 [J/K kg].
ChemData_CpRef(SNum) = ChemData_Cp(SNum, RNum)
!単位モル当たりの定積比熱 [J/K mol].
ChemData_CvPerMolRef(SNum) = ChemData_CpPerMol(SNum, RNum) - GasRUniv
!単位質量当たりの定積比熱 [J/K kg].
ChemData_CvRef(SNum) = ChemData_CvPerMolRef(SNum) / ChemData_MolWt(SNum)
!!=============================================================
!! H2O-l に関する物性
!!=============================================================
SpcSymbol = 'H2O-l'
SNum = ChemData_SearchSpc( SpcSymbol)
AtmSymbol = 'H'
ANum1 = ChemData_SearchAtm( AtmSymbol)
AtmSymbol = 'O'
ANum2 = ChemData_SearchAtm( AtmSymbol)
!相
ChemData_Phase(SNum) = 'Liq'
!基準状態でのエントロピー
ChemData_Entropy(SNum) = 188.834d0
!基準状態でのエンタルピー
ChemData_Enthalpy(SNum) = -2241826.0d0
!分子を構成する元素
ChemData_SpcFormula(SNum,ANum1) = 2.0d0
ChemData_SpcFormula(SNum,ANum2) = 1.0d0
!分子量 [kg/mol]
ChemData_MolWt(SNum) = dot_product(ChemData_AtmWt, ChemData_SpcFormula(SNum,:))
!気体定数
ChemData_GasR(SNum) = GasRUniv / ChemData_MolWt(SNum)
!単位モル当たりの定圧比熱 [J/K mol]. 温度依存性を考慮
ChemData_CpPerMol(SNum,1:11) = (/ 33.299d0, 33.349d0, 33.590d0, 33.596d0, 34.262d0, 35.266d0, 36.325d0, 37.495d0, 38.721d0, 39.987d0, 41.268d0 /)
!単位質量当たりの定圧比熱 [J/K kg]. 温度依存性を考慮
ChemData_Cp(SNum,:) = ChemData_CpPerMol(SNum,:) / ChemData_MolWt(SNum)
!定圧比熱データに対応する温度
ChemData_Cp_temp(SNum,1:11) = (/ 100.0d0, 200.0d0, 298.15d0, 300.0d0, 400.0d0, 500.0d0, 600.0d0, 700.0d0, 800.0d0, 900.0d0, 1000.0d0 /)
!基準状態での定圧比熱
RNum = ChemData_SearchRef(ChemData_Cp_temp(SNum,:))
!単位モル当たりの定圧比熱 [J/K mol].
ChemData_CpPerMolRef(SNum) = ChemData_CpPerMol(SNum, RNum)
!単位質量当たりの定圧比熱 [J/K kg].
ChemData_CpRef(SNum) = ChemData_Cp(SNum, RNum)
!単位モル当たりの定積比熱 [J/K mol].
ChemData_CvPerMolRef(SNum) = ChemData_CpPerMol(SNum, RNum) - GasRUniv
!単位質量当たりの定積比熱 [J/K kg].
ChemData_CvRef(SNum) = ChemData_CvPerMolRef(SNum) / ChemData_MolWt(SNum)
!飽和蒸気圧 [Pa]
ChemData_SvapPress(SNum,1:16) = (/ 610.749769736842d0, 1227.63236842105d0, 2337.94105263158d0, 4243.25101973684d0, 7376.72664473684d0, 12338.9851973684d0, 19923.6947368421d0, 31166.7700657895d0, 47364.1046052632d0, 70110.2338815789d0, 101325d0, 143268.217105263d0, 198530.338815789d0, 270111.118421053d0, 361356.947368421d0, 475974.1875d0 /)
!飽和蒸気圧のデータに対応する温度
ChemData_SvapPress_Temp(SNum,1:16) = (/ 273.15d0, 283.15d0, 293.15d0, 303.15d0, 313.15d0, 323.15d0, 333.15d0, 343.15d0, 353.15d0, 363.15d0, 373.15d0, 383.15d0, 393.15d0, 403.15d0, 413.15d0, 423.15d0 /)
!Antoine の式の係数
ChemData_SvapPress_AntoineA(SNum) = 7.9186968d0
ChemData_SvapPress_AntoineB(SNum) = 1636.909d0
ChemData_SvapPress_AntoineC(SNum) = 224.92d0
ChemData_SvapPress_AntoineUnit(SNum) = dlog(133.322d0)
!AMP 式の係数
ChemData_SvapPress_AMPA(SNum) = -2313.0338d0
ChemData_SvapPress_AMPB(SNum) = -164.03307d0
ChemData_SvapPress_AMPC(SNum) = 38.053682d0
ChemData_SvapPress_AMPD(SNum) = -0.13844344d0
ChemData_SvapPress_AMPE(SNum) = 7.4465367d-5
!!=============================================================
!! H2O-s に関する物性
!!=============================================================
SpcSymbol = 'H2O-s'
SNum = ChemData_SearchSpc( SpcSymbol)
AtmSymbol = 'H'
ANum1 = ChemData_SearchAtm( AtmSymbol)
AtmSymbol = 'O'
ANum2 = ChemData_SearchAtm( AtmSymbol)
!相
ChemData_Phase(SNum) = 'Sol'
!基準状態でのエントロピー
ChemData_Entropy(SNum) = 188.834d0
!基準状態でのエンタルピー
ChemData_Enthalpy(SNum) = -2241826.0d0
!分子を構成する元素
ChemData_SpcFormula(SNum,ANum1) = 2.0d0
ChemData_SpcFormula(SNum,ANum2) = 1.0d0
!分子量 [kg/mol]
ChemData_MolWt(SNum) = dot_product(ChemData_AtmWt, ChemData_SpcFormula(SNum,:))
!気体定数
ChemData_GasR(SNum) = GasRUniv / ChemData_MolWt(SNum)
!単位モル当たりの定圧比熱 [J/K mol]. 温度依存性を考慮
ChemData_CpPerMol(SNum,1:11) = (/ 33.299d0, 33.349d0, 33.590d0, 33.596d0, 34.262d0, 35.266d0, 36.325d0, 37.495d0, 38.721d0, 39.987d0, 41.268d0 /)
!単位質量当たりの定圧比熱 [J/K kg]. 温度依存性を考慮
ChemData_Cp(SNum,:) = ChemData_CpPerMol(SNum,:) / ChemData_MolWt(SNum)
!定圧比熱データに対応する温度
ChemData_Cp_temp(SNum,1:11) = (/ 100.0d0, 200.0d0, 298.15d0, 300.0d0, 400.0d0, 500.0d0, 600.0d0, 700.0d0, 800.0d0, 900.0d0, 1000.0d0 /)
!基準状態での定圧比熱
RNum = ChemData_SearchRef(ChemData_Cp_temp(SNum,:))
!単位モル当たりの定圧比熱 [J/K mol].
ChemData_CpPerMolRef(SNum) = ChemData_CpPerMol(SNum, RNum)
!単位質量当たりの定圧比熱 [J/K kg].
ChemData_CpRef(SNum) = ChemData_Cp(SNum, RNum)
!単位モル当たりの定積比熱 [J/K mol].
ChemData_CvPerMolRef(SNum) = ChemData_CpPerMol(SNum, RNum) - GasRUniv
!単位質量当たりの定積比熱 [J/K kg].
ChemData_CvRef(SNum) = ChemData_CvPerMolRef(SNum) / ChemData_MolWt(SNum)
!飽和蒸気圧 [Pa]
ChemData_SvapPress(SNum,1:15) = (/ 181.451743421053d0, 198.650328947368d0, 217.582105263158d0, 237.980427631579d0, 259.978618421053d0, 284.109967105263d0, 310.107828947368d0, 338.23884868421d0, 368.636348684211d0, 401.700296052632d0, 437.297368421053d0, 475.694210526316d0, 517.290789473684d0, 562.220427631579d0, 610.483125d0 /)
!飽和蒸気圧のデータに対応する温度
ChemData_SvapPress_Temp(SNum,1:15) = (/ 259.15d0, 260.15d0, 261.15d0, 262.15d0, 263.15d0, 264.15d0, 265.15d0, 266.15d0, 267.15d0, 268.15d0, 269.15d0, 270.15d0, 271.15d0, 272.15d0, 273.15d0 /)
!Antoine の式の係数
ChemData_SvapPress_AntoineA(SNum) = 8.184254d0
ChemData_SvapPress_AntoineB(SNum) = 1791.3d0
ChemData_SvapPress_AntoineC(SNum) = 238.1d0
ChemData_SvapPress_AntoineUnit(SNum) = dlog(133.322d0)
!AMP 式の係数
ChemData_SvapPress_AMPA(SNum) = -5631.1206d0
ChemData_SvapPress_AMPB(SNum) = -8.363602d0
ChemData_SvapPress_AMPC(SNum) = 8.2312d0
ChemData_SvapPress_AMPD(SNum) = -0.03861449d0
ChemData_SvapPress_AMPE(SNum) = 2.77494d-5
!!=============================================================
!! NH3-g に関する物性
!!=============================================================
SpcSymbol = 'NH3-g'
SNum = ChemData_SearchSpc( SpcSymbol)
AtmSymbol = 'H'
ANum1 = ChemData_SearchAtm( AtmSymbol)
AtmSymbol = 'N'
ANum2 = ChemData_SearchAtm( AtmSymbol)
!相
ChemData_Phase(SNum) = 'Gas'
!基準状態でのエントロピー
ChemData_Entropy(SNum) = 192.774d0
!基準状態でのエンタルピー
ChemData_Enthalpy(SNum) = -45898.0d0
!分子を構成する元素
ChemData_SpcFormula(SNum,ANum1) = 3.0d0
ChemData_SpcFormula(SNum,ANum2) = 1.0d0
!分子量 [kg/mol]
ChemData_MolWt(SNum) = dot_product(ChemData_AtmWt, ChemData_SpcFormula(SNum,:))
!気体定数
ChemData_GasR(SNum) = GasRUniv / ChemData_MolWt(SNum)
!単位モル当たりの定圧比熱 [J/K mol]. 温度依存性を考慮
ChemData_CpPerMol(SNum,1:11) = (/ 33.284d0, 33.757d0, 35.652d0, 35.701d0, 38.716d0, 42.048d0, 45.293d0, 48.354d0, 51.235d0, 53.948d0, 56.491d0 /)
!単位質量当たりの定圧比熱 [J/K kg]. 温度依存性を考慮
ChemData_Cp(SNum,:) = ChemData_CpPerMol(SNum,:) / ChemData_MolWt(SNum)
!定圧比熱データに対応する温度
ChemData_Cp_temp(SNum,1:11) = (/ 100.0d0, 200.0d0, 298.15d0, 300.0d0, 400.0d0, 500.0d0, 600.0d0, 700.0d0, 800.0d0, 900.0d0, 1000.0d0 /)
!基準状態での定圧比熱
RNum = ChemData_SearchRef(ChemData_Cp_temp(SNum,:))
!単位モル当たりの定圧比熱 [J/K mol].
ChemData_CpPerMolRef(SNum) = ChemData_CpPerMol(SNum, RNum)
!単位質量当たりの定圧比熱 [J/K kg].
ChemData_CpRef(SNum) = ChemData_Cp(SNum, RNum)
!単位モル当たりの定積比熱 [J/K mol].
ChemData_CvPerMolRef(SNum) = ChemData_CpPerMol(SNum, RNum) - GasRUniv
!単位質量当たりの定積比熱 [J/K kg].
ChemData_CvRef(SNum) = ChemData_CvPerMolRef(SNum) / ChemData_MolWt(SNum)
!!=============================================================
!! NH3-s に関する物性
!!=============================================================
SpcSymbol = 'NH3-s'
SNum = ChemData_SearchSpc( SpcSymbol)
AtmSymbol = 'H'
ANum1 = ChemData_SearchAtm( AtmSymbol)
AtmSymbol = 'N'
ANum2 = ChemData_SearchAtm( AtmSymbol)
!相
ChemData_Phase(SNum) = 'Sol'
!基準状態でのエントロピー
ChemData_Entropy(SNum) = 192.774d0
!基準状態でのエンタルピー
ChemData_Enthalpy(SNum) = -45898.0d0
!分子を構成する元素
ChemData_SpcFormula(SNum,ANum1) = 3.0d0
ChemData_SpcFormula(SNum,ANum2) = 1.0d0
!分子量 [kg/mol]
ChemData_MolWt(SNum) = dot_product(ChemData_AtmWt, ChemData_SpcFormula(SNum,:))
!気体定数
ChemData_GasR(SNum) = GasRUniv / ChemData_MolWt(SNum)
!単位モル当たりの定圧比熱 [J/K mol]. 温度依存性を考慮
ChemData_CpPerMol(SNum,1:11) = (/ 33.284d0, 33.757d0, 35.652d0, 35.701d0, 38.716d0, 42.048d0, 45.293d0, 48.354d0, 51.235d0, 53.948d0, 56.491d0 /)
!単位質量当たりの定圧比熱 [J/K kg]. 温度依存性を考慮
ChemData_Cp(SNum,:) = ChemData_CpPerMol(SNum,:) / ChemData_MolWt(SNum)
!定圧比熱データに対応する温度
ChemData_Cp_temp(SNum,1:11) = (/ 100.0d0, 200.0d0, 298.15d0, 300.0d0, 400.0d0, 500.0d0, 600.0d0, 700.0d0, 800.0d0, 900.0d0, 1000.0d0 /)
!基準状態での定圧比熱
RNum = ChemData_SearchRef(ChemData_Cp_temp(SNum,:))
!単位モル当たりの定圧比熱 [J/K mol].
ChemData_CpPerMolRef(SNum) = ChemData_CpPerMol(SNum, RNum)
!単位質量当たりの定圧比熱 [J/K kg].
ChemData_CpRef(SNum) = ChemData_Cp(SNum, RNum)
!単位モル当たりの定積比熱 [J/K mol].
ChemData_CvPerMolRef(SNum) = ChemData_CpPerMol(SNum, RNum) - GasRUniv
!単位質量当たりの定積比熱 [J/K kg].
ChemData_CvRef(SNum) = ChemData_CvPerMolRef(SNum) / ChemData_MolWt(SNum)
!飽和蒸気圧 [Pa]
ChemData_SvapPress(SNum,1:4) = (/ 1333.22368421053d0, 2666.44736842105d0, 7999.34210526316d0, 13332.2368421053d0 /)
!飽和蒸気圧のデータに対応する温度
ChemData_SvapPress_Temp(SNum,1:4) = (/ 181.09d0, 187.37d0, 198.25d0, 203.76d0 /)
!Antoine の式の係数
ChemData_SvapPress_AntoineA(SNum) = 9.96382d0
ChemData_SvapPress_AntoineB(SNum) = 1617.907d0
ChemData_SvapPress_AntoineC(SNum) = 272.55d0
ChemData_SvapPress_AntoineUnit(SNum) = dlog(133.322d0)
!AMP 式の係数
ChemData_SvapPress_AMPA(SNum) = -4122.0d0
ChemData_SvapPress_AMPB(SNum) = 41.67871d0
ChemData_SvapPress_AMPC(SNum) = -1.8163d0
ChemData_SvapPress_AMPD(SNum) = 0.0d0
ChemData_SvapPress_AMPE(SNum) = 0.0d0
!!=============================================================
!! H2S-g に関する物性
!!=============================================================
SpcSymbol = 'H2S-g'
SNum = ChemData_SearchSpc( SpcSymbol)
AtmSymbol = 'H'
ANum1 = ChemData_SearchAtm( AtmSymbol)
AtmSymbol = 'S'
ANum2 = ChemData_SearchAtm( AtmSymbol)
!相
ChemData_Phase(SNum) = 'Gas'
!基準状態でのエントロピー
ChemData_Entropy(SNum) = 205.757d0
!基準状態でのエンタルピー
ChemData_Enthalpy(SNum) = -20502.0d0
!分子を構成する元素
ChemData_SpcFormula(SNum,ANum1) = 2.0d0
ChemData_SpcFormula(SNum,ANum2) = 1.0d0
!分子量 [kg/mol]
ChemData_MolWt(SNum) = dot_product(ChemData_AtmWt, ChemData_SpcFormula(SNum,:))
!気体定数
ChemData_GasR(SNum) = GasRUniv / ChemData_MolWt(SNum)
!単位モル当たりの定圧比熱 [J/K mol]. 温度依存性を考慮
ChemData_CpPerMol(SNum,1:11) = (/ 33.259d0, 33.38d0, 34.192d0, 34.208d0, 35.581d0, 37.192d0, 38.936d0, 40.74d0, 42.518d0, 44.212d0, 45.786d0 /)
!単位質量当たりの定圧比熱 [J/K kg]. 温度依存性を考慮
ChemData_Cp(SNum,:) = ChemData_CpPerMol(SNum,:) / ChemData_MolWt(SNum)
!定圧比熱データに対応する温度
ChemData_Cp_temp(SNum,1:11) = (/ 100.0d0, 200.0d0, 298.15d0, 300.0d0, 400.0d0, 500.0d0, 600.0d0, 700.0d0, 800.0d0, 900.0d0, 1000.0d0 /)
!基準状態での定圧比熱
RNum = ChemData_SearchRef(ChemData_Cp_temp(SNum,:))
!単位モル当たりの定圧比熱 [J/K mol].
ChemData_CpPerMolRef(SNum) = ChemData_CpPerMol(SNum, RNum)
!単位質量当たりの定圧比熱 [J/K kg].
ChemData_CpRef(SNum) = ChemData_Cp(SNum, RNum)
!単位モル当たりの定積比熱 [J/K mol].
ChemData_CvPerMolRef(SNum) = ChemData_CpPerMol(SNum, RNum) - GasRUniv
!単位質量当たりの定積比熱 [J/K kg].
ChemData_CvRef(SNum) = ChemData_CvPerMolRef(SNum) / ChemData_MolWt(SNum)
!!=============================================================
!! NH4SH-s に関する物性
!!=============================================================
SpcSymbol = 'NH4SH-s'
SNum = ChemData_SearchSpc( SpcSymbol)
AtmSymbol = 'H'
ANum1 = ChemData_SearchAtm( AtmSymbol)
AtmSymbol = 'N'
ANum2 = ChemData_SearchAtm( AtmSymbol)
AtmSymbol = 'S'
ANum3 = ChemData_SearchAtm( AtmSymbol)
!相
ChemData_Phase(SNum) = 'Sol'
! !基準状態でのエントロピー
! ChemData_Entropy(SNum) =
!
! !基準状態でのエンタルピー
! ChemData_Enthalpy(SNum) =
!分子を構成する元素
ChemData_SpcFormula(SNum,ANum1) = 5.0d0
ChemData_SpcFormula(SNum,ANum2) = 1.0d0
ChemData_SpcFormula(SNum,ANum3) = 1.0d0
!分子量 [kg/mol]
ChemData_MolWt(SNum) = dot_product(ChemData_AtmWt, ChemData_SpcFormula(SNum,:))
!気体定数
ChemData_GasR(SNum) = GasRUniv / ChemData_MolWt(SNum)
!単位モル当たりの定圧比熱 [J/K mol]. 温度依存性を考慮
ChemData_CpPerMol(SNum,1) = 34.922d0
!単位質量当たりの定圧比熱 [J/K kg]. 温度依存性を考慮
ChemData_Cp(SNum,:) = ChemData_CpPerMol(SNum,:) / ChemData_MolWt(SNum)
!定圧比熱データに対応する温度
ChemData_Cp_temp(SNum,1) = 298.15d0
!基準状態での定圧比熱
RNum = ChemData_SearchRef(ChemData_Cp_temp(SNum,:))
!単位モル当たりの定圧比熱 [J/K mol].
ChemData_CpPerMolRef(SNum) = ChemData_CpPerMol(SNum, RNum)
!単位質量当たりの定圧比熱 [J/K kg].
ChemData_CpRef(SNum) = ChemData_Cp(SNum, RNum)
!単位モル当たりの定積比熱 [J/K mol].
ChemData_CvPerMolRef(SNum) = ChemData_CpPerMol(SNum, RNum) - GasRUniv
!単位質量当たりの定積比熱 [J/K kg].
ChemData_CvRef(SNum) = ChemData_CvPerMolRef(SNum) / ChemData_MolWt(SNum)
!飽和蒸気圧 [Pa]
ChemData_SvapPress(SNum,1:9) = (/ 133.322368421053d0, 666.611842105263d0, 1333.22368421053d0, 2666.44736842105d0, 7999.34210526316d0, 13332.2368421053d0, 26664.4736842105d0, 53328.9473684211d0, 101325d0 /)
!飽和蒸気圧のデータに対応する温度
ChemData_SvapPress_Temp(SNum,1:9) = (/ 222.05d0, 237.15d0, 244.45d0, 252.35d0, 266.15d0, 273.15d0, 283.65d0, 294.95d0, 306.45d0 /)
!Antoine の式の係数 (JANAF Chemical WebBook より)
!但し, 計算コードとの整合性より C 係数は 273.15 [K] 加えてある.
ChemData_SvapPress_AntoineA(SNum) = 6.09146d0
ChemData_SvapPress_AntoineB(SNum) = 1598.378
ChemData_SvapPress_AntoineC(SNum) = -43.805d0 + Temp0C
ChemData_SvapPress_AntoineUnit(SNum) = dlog(1.0d5)
end subroutine ChemData_Init