D0I:10.13374/j.issn1001053x.1986.s2.005 19年 北京时佚学院学报 Special icque Journal of Beijing University 专辑2 of iron and Steel Technology N02,1985.9 治金热学数据库应系统的物质 热力学性质程疗 (简称THERDYN.程序) 李智华 张捷宁 程述武 搁 要 本良诗饰为之数纯还平的种THERDYN程序从设计讯图郑道了i详的 论i述。 述了本性序在应闲程序茶花的湖及本序企热:::能。本程序心 件了226球物质及化合的州厅?生质1计。 One of the Applicaion System of the Mfetallurgical Thermodyna- mic Database-----THERDYN Program Li Zhihua Zhang Jieyu (heng Shuwu Abstract we indicate in detail THERD'N program that is one of the application system of the metaliurgical thermodynamics databases from its design to its flow chart in this paper.we have stated the function and the role of the program in the application of the metallurgical thermodynamics database as well as concrete application in the thermodynamics calculation.This program can calculate the thermodynamical properties of 2200 kinds of objects. 前 言 THERDYN程序是在冶金热力学数据库系统的监控系统下实现的-·个用户程序。它 可以独立地完成系统的一一个功能,是系统最基不的应川程序之…。 :2:
幻 少 七 京 钢 铁 学 院 介 报 反,狱 矛 专仍 、 仁 ‘厂 , ,勺 冶金热力学数据库应 少林系统的物质 热 力学性质程序 简科 程 宇 声﹄ 二共智华 摘 弓尺捷宁 程完鑫式 要 本文 甘 帆 与 ‘ 户尝钊认八 止 、泛川 挤长 气 均 论述 。 呷 述 了 沐程 序在 应 川 程 序 系统 ‘ 牡七 一 ’ 夕 矶卜物质及 化合物的 性 与 仲 程序从 泛计 一 臼 仁 裂都 遴 示子’ 羊细 的 的 川 泣 及 本 程序 自 热 匀 护侧 质的 汁价 。 命 之 的 叻能 。 价 程 卜 淤 一 于笼 入百 · 、 〔 一 工 丫 丁 于 、 ℃ 、 ’ 前 言 程 序是在冶金 热 力学数据 库 系统 的 监控 系统 实现 的一 个川 户 程 序 。 ‘ 自 可 以独 一 立地 完 成系统 的一 个功能 , 是 系统 最 基 术的应 川程 序 之一 。 DOI :10.13374/j .issn1001-053x.1986.s2.005
它被监控系统调用,同时也调用数据库管理子程序,实现对数据作中数据的调用。 从而满足计算的要求,完成数据库与应用程序的联系。 1 THERDYN:程序的组成 主程序 THERDYN子程序 计算子程序 打印子程序 主程序:完成与监控程序的联系,分析用户信息,调用数据库管理子程序GET、 UMSP,为计算准备数据。它还调度三个子程序,完成THERDYN程序的功能,起到承 上启下的作用。 THERDYN子程序:这是THERDYN程序的主体。根据用户对某物质计算要求,确 定计算温变的范围、单位、相态等。有选择地调用计算子程序及打印广程序,计算出该 物质在某段温度范围或指定温度下的一组热力学数据。 计算子程序:依据热力学计算公式以及THERDYN子程序谁备好的各档数据,计算 某物质从298K到某温度的热力学数据,并保存最后温度的一组热力学数据,供打印子 程序打印或下次计算使用。 打印子程序:按一定格式将计算子程序扑算出的结果打印输出。 THERDYN程序结构如图1所永。 Main program THERDYN subroutine 图1 THERDYN序的构成 Calculation Printing subroutine subrotine Fig.1 Construction of THERDYN Program 9 THERDYN程序的功能 (1)、选定2200种无机化合物(或元素)中的任一种,h298K到某任意指定温 度,如2000K;温度间隔可以任意指定,如50K、20K皆可。通过THERDYN程序计算出 H、S、G、Cp、B(T)。 其中Cp、S单位在特殊指定下为卡,H、G的单位为千卡。 (2)、若用户指定的物质的终止温度大于数据库中此物质的最高温度时,可指定 延长标识,EXT=T,程序将用最后一档数据延长计算到指定温度。 (3)、计算需要国际单位,用户可在终端输入命令时打入单位标志,JOULE =T。程序可自动将显示结果转换为焦耳。 (4)、若不需要大范围的温度区间数据,可在输入命令时,改变温度的输入方 式,选择几个有效的温度值。系统按指定顺序将结果打印,用户最多可指定十个温度。 3 THERDYN:程序的计算根据 ·24·
它被监控 系统调 用 , 同时也调 用 数据库管理 一 子程 序 , 实 现 对 数据 库 中数据 的调 用 。 从 而满足计算 的要 求 , 完成数据库 与应 用程序 的联 系 。 程序的组成 主程 序 子程 序 计算子 程序 打 印子程序 主程序 完成 与监控程 序的联 系 , 分 析用 户 信 息 , 调 用数据 库管 理 子 程 序 、 , 为计算准 备 数据 。 它还调 度 三个 子程 序 , 完成 程 序 的功 能 , 起 到 承 上 启下 的作 用 。 子程 序 这是 程序 的主 体 。 根 据 用 户 对某 物质计 算要 求 , 确 定计算 温度 的范围 、 单位 、 相态 等 。 有选 择 地 调用计算子 程序及 打 印 程 序 , 计算 出该 物质在某 段温度 范围或指定 温度 下 ‘ 的一组 热 力 学数据 。 计算子程 序 依 据 热 力 学计 算公式 以及 子程序 准 备 好 的各 档数据 , 计算 某物质 从 到某 温度 的热力 学数据 , 并保存 最后 温度 的一 组 热 力 学数据 , 供 打 印 子 程序打 印或下 次计算使用 。 打 印子程序 按一定格式将计算 子程 序 计算 出的结果打 印输 出 。 程 序结构 如 图 所 示 。 图 程 序 的 构成 · 叼 程序的功能 、 选 定 种无机化合 物 或 元素 中的任一种 , 由 到某任 意 指 定温 度 , 如 温 度 间隔可 以任意指定 , 如 、 皆可 。 通 过 程序计算 出 、 、 、 、 月 。 其 中 、 单位在 特殊指定 下为卡 , 、 的 单位为 千卡 。 、 若用 户指定 的物质的终 止 温度 大 于数 据库 中此 物质的 最 高温 度 时 , 可 指定 延 长标 识 , , 程序 将用 最后一 档 数据 延 长计算 到指 定温度 。 、 计 算需 要 国际单位 , 用 户可 在 终 端输人命 令 时打 入 单位 标 志 , 二 。 程序可 自动将显示结果转换为 焦耳 。 、 若不需要大范 围的温度 区间数据 , 可 在 输入命 令时 , 改 变温 度 的 输入方 式 , 选 择几个有效 的温度值 。 系统 按指定顺序 将结 果打 印 , 用 户 最 多可指 定十个 温度 。 程序的计算根据
在系统的数据库中,存有2200种无机化合物(或元素),同时存有在298K时它们 的焙、熵及热容的值。 存贮内容为: (1)、元素及化合物的分子式、名称。 (2)、298K时的焓、熵、热容的值(H298,S298)。 (3)、此物质在焓各个不同的相态及同相态不同温度范围的热容数据。 THERDYN程序就是根据上面的数据对用户指定的温度计算。 其中P、S、H、BT分别有它们自己的计算公式。 Cp=A+B·10-3◆T+C+10-8*T2+D105/T2+E*108/T3 T H=H298+ CpdT+DH 298 -T S=S298+ (p/TdT+DH/Tt 298 G=H-T.S T:为用户指定的温度,即任意温度。 DH:相变热 Tt:相变温度 4 THERDYN:程序的设计思想 4.1 与系统的联系关系 Monitor One of utility .Utility U北1lity 图2 THERDYN彤与系统关系 progrem...THERDYN program 2 pr0gra西3 Fig 2 The relation between THERDYN Datebase manager Database manager Program and system subroutine GET subroutine UMSP 监控系统中的某个程序与用户的关系是将用户从终端输入的信息接收进来。分析并 检验这些信息。 当用户要求计算某物质的热力学性质时(即输人了THERDYN:命令),监控系统检 验-一下输入格式有无错误。如正确,监控系统就调用THERDYN程序进行计算。 THERDYN程序的主程序分析从监控系统传来的用户信息,并将其分解,准备调 用数据库管理子程序GET,UMSP。 GBT子程序是监控系统下的一个数据管理子程序,它可以根据调用要求,将用户 带要的某物质的热力学数据取出来,放人缓冲区。 UMSP子程序也是一个数据管理子程序,它服务于应用程序,功能是将GET子程序 读出的数据按要求放入相应的工作单元,供以后计算时使用。 主程序先后调用GET、UMSP完成计算前的数据准备。 ·25·
在系统 的数据库 中 , 存有 种无机 化合 物 或元素 , 同时存 有在 时它们 的烩 、 嫡及 热容 的值 。 存贮 内容为 、 元素及 化合 物的分子式 、 名称 。 、 时的烩 、 嫡 、 热容 的值 , 。 、 此物质在烩各个不 同的相态及 同相态不 同温度 范 围的热容 数据 。 程序就是根据上面 的数据对用户指定 的温度计算 。 其 中 、 、 、 分别 有它 们 自己的计算公式 。 二 · 一 “ · · 一 “ · · 。 ” · ‘ 厂 了 厂 二 少 一 为用户指定 的温度 , 即任意温 度 。 相变热 相变温度 程序的设计思想 与 系统的联 系关 系 程序 与 系统 关 系 兮 监控 系统 中的某个程序 与用户 的关 系是 将用 户 从终端 输入 的信息接收进 来 。 分析并 检 验这些信息 。 当用户要 求计算某 物质 的热力 学性质时 即输人 了 命令 , 监控系统检 验一下输入格式有无错误 。 如正 确 , 监控 系统就调 用 程 序进 行计算 。 程序的主程序分析从监控 系统传来的用 户信 息 , 并将其分 解 , 准 备 调 用数据库管理子程序 , 。 子程序是监控 系统 下的一个数据管理子程序 , 它可 以根 据调 用要 求 , 将 用户 需要 的某物质 的热力 学数据取 出来 , 放 人缓 冲 区 。 子程序也是一个数据管理子程序 , 它服务 于 应用程 序 , 功 能是 将 子程序 读 出的数据 按要 求放入相应的工 作单元 , 供 以后计算时 使用 。 主程序先后调 用 、 完成计算前的数据淮备
总之,THERDYN程序是受挖于监控系统,根据用户要求到数据库取出数据完成计 算的。 4.2程序的流程 (1)首先从监控程序读入用户信息,这些信息包括用户进行热力学数据计算的全 部要求。 (2)分析从监控程序读入的用户信息,为调用GET子程序、UMSP子程序做好准 备0 (3)调用GET、UMSP子程序。到数据库中读出数据,放入相应的工作单元,保 证在以后的计算中应用。 (4)对用户指定的温度范围、单位进行分析,考虑不同物质有不同的相态,在同 一相态内又可分为不同温度区域,这些因素都可引起计算时公式的变化。 (5)有选择地调用计算子程序及函数子程序,完成某物质在不同温度下的热力学 性质计算。 (6)调用打印子程序,安排好输出格式,为以后绘图程序准备好数据。 5几个程序的简介 见附录 6使用THERDYN程序的实例 例1、在-·个减高N一H-O体系中,希望H2O,Nz,O:的摩尔分数分别为 子,子号。用H0,N,0,线推我示、0.N。彩 H=011HzO+a1N2+1302 N=a21H2O4a22N2+a23O2 O=a3H2O+a32N2+43302 解之:a1,04:=0,4-1 021=0,a22= 2’ a2月=0 891=0,ag2=0,0ga 2 则元系N,H,O分别对体系的自由能贡献为: 3 u三a(器+n+ip) j÷1 n I=三,a,(RT+nR+inp) i1 n ·26·
总之 , 程 序是受控于监控系统 , 根 据 用 户要 求 到数据 库取 出数据 完成计 算的 。 程 序 的 流程 一 首先从 监控程 序 读入 用 户 信息 、 , 这些 信 息 包括 用 户进 行 热 力学数据计 算 的全 部要 求 。 分析从监控程 序读 人 的用 户 信 空 、 , 为调 用 子 程序 、 一 子 程 序 做 好准 备 。 调 用 、 一 子程 序 。 到数据库 中读 出数据 , 放 入 相应 的工 作 单 元 , 保 证 在以后 的计 算 中应 用 。 对用 户 指 定 的温度 范 围 、 一 单位进 行分 析 , 考虑不 同物质 有不 同的 相 态 , 在 同 一 相态 内又 可分 为 不 同温度 区域 , 这些 因素都可 引起 计算 时公式 的变 化 。 有 选 择 地调 用 计算 子程 序 及 函 数子 程序 , 完 成 某 物质 在不 同温度下 的 热 力学 性质计算 。 , 调 用打 印 子程 序 , 安 排好 输 出格式 , 为以后绘 图程 序 准备 好 数据 。 几个程序的简介 见附 录 使 用 程序的实例 例 、 在一 个高温 高味 一 一 体 系 中 , 希 望 , , 的摩 尔 分 数 分 别 为 , 二 , 八 、 , 八 、 ,, 」 , , , , 八 ‘ ’ 弓 ’ 与 “ , 口 , 、 , 口 玫 ‘ ’ 衣不 、 气少 、 刊 · 贝, 于王二 、 , 卜 以 仪 , 。 , · 卜 。 。 , 干 。 解 之 , , 二 二 , 飞 ’ 以 二‘ ’ ‘丫 “ 一 。 , 一 , 一 。 。 , 。 , 土 , 以 二 , 犯 “ 则元索 , , 分 别 对体 系的 自由能 贡献 为 箭 、 , 二 ’ ‘ 以 月乙 卜。 “ ‘奚子 十 , 仃 黔 ·
3 G) m。=∑,dai(RT +Ini+Inp) j=1 n 当T=3500K时, G“,(j=H2O,N2,O2)可以由数据库应用系统的THERDYN计算得到。 G2=-267.594kcl/mol GON=-201.394kcl/mol Go2=-214.752kcl/mol x=1(Go+In +Inp 2(RT n -(二20008+hg+inm)-.g+ap 5 nn=(9R7+n贤+in) n -(286,2680+n6+lap) 5 =-16,245+21np w=2(Rr+n+hp)-4(0Rr+n+ip) n 2 2650+n}+1np)-A(27528+a+ip) 1.987·3500 “5 1.987*3500 5 --11.58+11np 4 其中,利用THERDYN得到G2o,Gw2,Go2的过程如下: ··◆COMMAND,PLEASEI**◆ THERDYN/STF=N2(G),TU=1000,TO=3500,DT=500,EXT=T/ N2(G) NITROGEN (GAS) PHASE T (P s H G BT (K) (CAL/MOL.K) (KAL/MOL) GAS 1000.00 7.680 54.549 5.140 -49.409 10.800 1500.00 8.190 57.759 9.108 -77.532 11.298 2000.00 8.700 60.185 13.330 -107.041 11.698 2500.00 9.210 62.182 17.808 -137.646 12.035 2500.00 8.753 62.182 17.808 -137.646 12.035 3000.00 8,853 63.787 22.211 -169.15012.324 3500.00 8.921 65.157 26.655 -201.39412.577 ·27·
导 ‘ 君 ‘ ‘ 艺 一 当 时 , 。 , 二 , , 可 以 由数 据库应 用 系统 的 计算得 到 。 气 一 。 连 一 。 一 吐 一 , 、 , , , 、 。 ‘ , 、 舟 二七罗 ‘ 竺里至 、 ‘ 二卯 · 。 丝 衬飞叱 牵 ‘ 二 一 ‘ · ” ‘ 互 ‘、 ‘ 工 一 七一 ﹄ 了、 电 一 旦旦 一 唯 口且 一 。 。 、 ‘ , 、 一 月五 土 一 。 一 ‘、 龟 “ 气 曰 ’ 场 , 干 , ︷ 十 了 、 一 。 。 一 , 了二 旦丝 竺 。 了旦呈上 旦了 一 , 通 且嘴 二 一 恶, 怪 其中 利 用 得到 , ‘,, 。 、 , 的过程 如下 一 , 二 辛 , , , , 二 〔 ‘ 一 〔 。 。 。 。 一 。 。 。 。 。 一 。 。 。 。 。 一 。 。 。 。 。 一 。 叹 。 。 。 。 一 。 。 。 。 。 一 。 。 。 了爹 。 , 一 。 。 。 。 。 。 。
·◆◆·"OMMAND,PLEASE1***· THERDYN/STF=02(G),TU=1000,TO=3500,DT=500,EXT=T/ O2(G) OXYGEN(GAS) PHASE T (P S H G BT (K) (CAL/MOL,K) (KCAL/MOL) GAS 1000.00 8.120 58.167 5.387 -52.780 11.537 1500.00 8.642 61.559 9.578 -82.76012.060 2000.00 9.150 64.115 14.027 -114.20212.481 2500.00 9.654 66.210 18,728. -146.79812.835 3000,00 10.154 68.015 23.680 -180.36513,141 3000.00 9.545 68.015 23.680 -180.36513.141 3500.00 9.759 69.504 28.510 -214.75213.412 THERDYN/STF=H20(G),TU=1000,TO=3500,DT=500,EXT=T/ H20(G) WATER(GAS) PHASE T (P H G BT (CAL/MOL.K) (KCAL/MOL) GAS 1000.00 9.738 55.625 -51.576 -107.201 23,432 1500.00 11.014 59.814 -46.389 -136.110 19,834 2000.00 12,292 63.157 -40.563 -166.877 18.238 2500.00 13.571 66.038 -34.097 -199.191 17.416 2500.00 12,860 66.038 -34.097 -199.191 17.416 3000.00 13,308 68.425 -27.546 -232.821 16.963 3500.00 13.615 70.501 -20.811 -267.564 16.710 例2,计算AL2O,SIO2(SI)的两组热力学数据。 a、首先计算从298.15K到2000K,温度增量为200K的数据。 下面是命令格式及打印结果 ◆÷#◆COMMAND,PLEASE!**** THERDYN/STF=AL203,SIO2(KY),TU=298.15,TO=2000.,DT=200./ AL203,SIO2(KY) ALUMINIUM SILICATE(KYANITE) PHASE ? P S H G BT (K) (AL/MOL.K) (KAL/MOL) SOL 298.15 28.786 20.046 -620.056 -626.032 458.956 300.00 28.984 20.225 -620.002 -626.070 456.153 500.00 39.778 38.173 -612.886 -631.972 276.272 700.00 43,612 52.240 -604.503 -641.071 200.178 900.00 45.889 63.492 -595.539 -652.682 158.514 1100.00 47.628 72.875 -586.182 -666,344 132.408 1300.00 49.133 80.956 -576.503 -681.745 114.627 1500.00 50.520 88.085 -566.536 -698.663 101.809 ·28·
, , , 一 , , 每 , ‘ 丫 , 二 , 。 , , 二 口 一 。 。 。 。 。 一 。 。 。 。 。 一 。 。 。 。 一 。 。 。 。 。 一 。 。 。 连 一 。 。 卜 。 。 。 一 。 玉 , “ , 二 , “ , 〔 丫 。 。 。 。 。 。 。 。 。 。 , 。 。 。 。 。 一 。 。 。 一 。 。 。 一 。 。 。 一 。 。 。 一 。 了 。 。 一 。 凌 。 。 一 。 的 两组 热 力 学数据 。 一 。 一 。 一 。 一 。 一 。 一 。 一 。 。 。 。 。 。 。 。 例 、 计算 一, 、 , 、 首 先计算 从 到 , 温 度 增 量为 的 数据 。 下面 是命 令 格式 及打 印结果 … 城 , ‘ 米 , , , , 二 , 二 , ‘ ‘ 。 。 。 一 。 一 。 。 。 。 一 。 一 。 。 。 。 一 。 一 。 。 。 。 一 。 一 。 。 。 一 。 一 。 。 。 。 一 。 一 。 。 。 。 一 。 一 。 。 。 。 一 。 一 。 。 。 。 。 。 。 。 。
续上 1700.00 51.841 94,489 -556.299 -716,931 92.180 1900.00 53.122 100.326 -545.802 -736,421 84.719 2000.00 53.752 103.067 -540,459 -746.592 81.595 b、计算温度1150K,1670K,2500K,4000K时的热力学数据。 下面是命令格式及打印结果 *·W*COMMAND,PLEASE!$◆* THERDYN/STF=AL203,SIO2(SI),T-[1150,1670,2500,40003,EXT-T,JOULE=T/ AL203,SIO2(SI) ALUMINIUM SILICATE(SILLIMANITE) PHASE T CP S H G BT (K) (J/MOL.K) (KJ/MOL) SOL 1150.00 198.857 322.998 -2439.532-2810.980 127.696 SOL 1670.00 216.107 400.271 -2331.547-2999.998 93.847 SOL 2500.00 241.460 492.27 -2141.574-3372.259 70.469 SOL 4000.00 285.973 615.4324 -1745.916-4207.645 54.954 附录:几个程序的框图 1 MAIN PROGRAM Start Define working area Define common area and translate date Set originel value Call GET subroutine and read relative.data Call UMSP subroutine.put reading data into unit Call calculation subroutine Return eode=? =0 T =2 -1 Correct return Temperature<0 Final temperature< Jemperatur前oXG●ed original temperature data range of database Display wrong message R春tUrn ·29·
续上 。 。 一 。 一 。 土 。 。 。 。 一 。 一 。 。 。 。 。 一 。 一 了 。 。 、 计算温度 , 了 , , 吐 时 的热力学数据 。 下面是命令格式及打 印结果 牵 … , 睐 牛 牛 , , , 〔 , , , 〕 , 一 , , 。 。 。 · 。 一 。 。 。 。 。 一 。 一 。 。 。 。 一 。 一 。 。 连 。 。 一 。 一 。 。 附录 , 几个程序的框图 气
2 THERDYN SUBROUTINE 8 CALCULATION SUBROUTINE Skert) Dofine comnon ares and translate date Anslyse user's meseage trarislated from monitor StArt Define some parameters Translating date into,subroutine .Define phase with comroon ar题a N Eveluation Celculating CP,5,H,G,BT value Y temperature N Eveluation temperatyre Pha8 escalling phaee? Y Return Call primting subroutine 图8 to end 图身 Rokuen 4 PRINTING SUBROUTINE Start Translating results into the subroutine with common area Printing in formal menner Prepare data for drawing subroutine Return to THERDYN subroutine ·30·
吕 矛的 主 立 移 山七 七。 二叻 主 脚 月峨娜 梦口 图 习 竹 , 刀乓 典名勺 山 叻 议 工 卜 仍。 八 全性 公 拍 。 功 ·