logo资料库

Intel Fortran IAPWS-IF97水物性Fortran源程序.doc

第1页 / 共27页
第2页 / 共27页
第3页 / 共27页
第4页 / 共27页
第5页 / 共27页
第6页 / 共27页
第7页 / 共27页
第8页 / 共27页
资料共27页,剩余部分请下载后查看
IAPWS-IF97 水物性 Fortran90 程序 原版本有问题,现已修改。 代码开源,版权所有,引用请标明出处 (2015/12/1 巢飞-西交大修改) 本文给出了基于 IAPWS-IF97 的水物性计算 Fortran90 语言程序代码,适用 Compaq visual fortran 和 Intel Fortran 编译环境。目前网上大量水物性包在 Intel Fortran 调用都会报错,本 程序最大优势是可在 Intel Fortran 下实现物性调用。本版本基于网上版本修改,使用者若涉 及版权问题,本人概不负责。 如上图所示,水与水蒸气可分为 5 个区,但本程序只适用于 4 个区,即图中的第 1、2、 3、4 区,不包括第 5 区。压力与温度范围为:   611.657Pa P 100MPa 273.15K T 1073.15K   程序的输入变量为压力 P 与温度 T,单位分别为 Pa 与 K。输出变量(12 个)如下: ---------------------------------------------------------------------------------------------------------------- 内能 u 比焓 h 比熵 s 定压比热容 Cp 定容比热容 Cv 声速 w 比容 v m^3/kg J/kg J/kg*K J/kg*K J/kg*K J/kg m/s 定压热膨胀率β 等温压缩率κ 导热系数λ 动力粘度μ 表面张力σ
1/Pa Pa*s N/m W/m*K 1/K ---------------------------------------------------------------------------------------------------------------- 输出变量是以一个数组的形式存储,例如数组为 prop(12),数组与变量的对应顺序为: s v 单位如前所述。 Cp Cv w β μ σ κ λ u h 1. 使用方法: 将附录 19 个源文件处理成.f90 文件(必须是.f90, 处理成.for 需要排除大量语法错 误),然后加入到所需调用物性的工程中,调试即可。 2. 调用方法: 给定压力 P(Pa)与温度 T(K),计算物性,程序自己判断所属区域: call h2o(P,T,prop) 若想得到给定压力 P(Pa)或温度 T(K)下的饱和态物性,则可如下调用: a. 给定温度求压力 call PsatW(P,T)或给定压力求温度 call TsatW(P,T) b. 饱 和 液 态 call h2o(P,0.9999999*T,prop(12)) 或 饱 和 汽 态 call h2o(P,1.0000001*T,prop(12)) (原文误差大,修正) 附录:源程序(19个文件) 【1】. const.f90 module const implicit none real*8 :: Rg=0.461526E3 !J/kg/K real*8 :: Tc=647.096 real*8 :: Pc=22.064E6 real*8 :: rhoc=322.0 end module const !K !Pa !kg/m^3 【2】. reg1.f90 :: I(34),J(34) module reg1 implicit none integer real*8 :: n(34) data I /& 0 0 0 0 0 0 0 0 ,& ,& ,& ,& ,& ,& ,& ,&
1 ,& 1 ,& 1 ,& 1 ,& 1 ,& 1 ,& 2 ,& 2 ,& 2 ,& 2 ,& 2 ,& 3 ,& 3 ,& 3 ,& 4 ,& 4 ,& 4 ,& 5 ,& 8 ,& 8 ,& 21 ,& 23 ,& 29 ,& 30 ,& 31 ,& 32 & / data J /& -2 ,& -1 ,& ,& 0 ,& 1 2 ,& ,& 3 4 ,& 5 ,& -9 ,& -7 ,& -1 ,& ,& 0 ,& 1 3 ,& -3 ,& 0 ,&
,& 1 3 ,& 17 ,& -4 ,& ,& 0 6 ,& -5 ,& -2 ,& 10 ,& -8 ,& -11 ,& -6 ,& -29 ,& -31 ,& -38 ,& -39 ,& -40 ,& -41 & / data n /& ,& 0.14632971213167 ,& -0.84548187169114 ,& -3.756360367204 ,& 3.3855169168385 ,& -0.95791963387872 ,& 0.15772038513228 ,& -0.016616417199501 ,& 8.1214629983568E-04 ,& 2.8319080123804E-04 -6.0706301565874E-04 ,& ,& -0.018990068218419 ,& -0.032529748770505 -0.021841717175414 ,& -5.283835796993E-05 ,& -4.7184321073267E-04 ,& -3.0001780793026E-04 ,& 4.7661393906987E-05 ,& -4.4141845330846E-06 ,& -7.2694996297594E-16 ,& -3.1679644845054E-05 ,& -2.8270797985312E-06 ,& -8.5205128120103E-10 ,& -2.2425281908E-06 ,& -6.5171222895601E-07 ,&
-1.4341729937924E-13 ,& -4.0516996860117E-07 ,& -1.2734301741641E-09 ,& -1.7424871230634E-10 ,& -6.8762131295531E-19 ,& 1.4478307828521E-20 ,& 2.6335781662795E-23 ,& -1.1947622640071E-23 ,& ,& 1.8228094581404E-24 -9.3537087292458E-26 & / end module reg1 【3】. reg2.f90 :: Jo(9),I(43),J(43) module reg2 implicit none integer real*8 :: no(9),n(43) data Jo /& ,& 0 1 ,& -5 ,& -4 ,& -3 ,& -2 ,& -1 ,& ,& 2 3 & / data no /& -9.6927686500217 ,& 10.086655968018 ,& -0.005608791128302 ,& 0.071452738081455 ,& -0.40710498223928 ,& ,& 1.4240819171444 -4.383951131945 ,& -0.28408632460772 ,& 0.021268463753307 & / data I /& 1 1 ,& ,&
,& 1 ,& 1 ,& 1 ,& 2 ,& 2 ,& 2 ,& 2 ,& 2 ,& 3 ,& 3 ,& 3 ,& 3 ,& 3 ,& 4 ,& 4 ,& 4 ,& 5 ,& 6 ,& 6 ,& 6 ,& 7 ,& 7 ,& 7 ,& 8 ,& 8 ,& 9 10 ,& 10 ,& 10 ,& 16 ,& 16 ,& 18 ,& 20 ,& 20 ,& 20 ,& 21 ,& 22 ,& 23 ,& 24 ,& 24 ,& 24 & / data J /& 0 ,&
,& 1 ,& 2 ,& 3 ,& 6 ,& 1 ,& 2 ,& 4 7 ,& 36 ,& 0 ,& ,& 1 ,& 3 6 ,& 35 ,& ,& 1 ,& 2 3 ,& ,& 7 3 ,& 16 ,& 35 ,& 0 ,& 11 ,& 25 ,& 8 ,& 36 ,& 13 ,& 4 ,& 10 ,& 14 ,& 29 ,& 50 ,& 57 ,& 20 ,& 35 ,& 48 ,& 21 ,& 53 ,& 39 ,& 26 ,& 40 ,& 58 & / data n /&
-1.7731742473213E-03 ,& ,& -0.017834862292358 ,& -0.045996013696365 -0.057581259083432 ,& -0.05032527872793 ,& -3.3032641670203E-05 ,& -1.8948987516315E-04 ,& -3.9392777243355E-03 ,& -0.043797295650573 ,& -2.6674547914087E-05 ,& ,& 2.0481737692309E-08 ,& 4.3870667284435E-07 -3.227767723857E-05 ,& -1.5033924542148E-03 ,& -0.040668253562649 ,& -7.8847309559367E-10 ,& 1.2790717852285E-08 ,& ,& 4.8225372718507E-07 2.2922076337661E-06 ,& -1.6714766451061E-11 ,& -2.1171472321355E-03 ,& ,& -23.895741934104 -5.905956432427E-18 ,& -1.2621808899101E-06 ,& ,& -0.038946842435739 1.1256211360459E-11 ,& ,& -8.2311340897998 ,& 1.9809712802088E-08 1.0406965210174E-19 ,& -1.0234747095929E-13 ,& -1.0018179379511E-09 ,& -8.0882908646985E-11 ,& 0.10693031879409 ,& ,& -0.33662250574171 8.9185845355421E-25 ,& 3.0629316876232E-13 ,& -4.2002467698208E-06 ,& -5.9056029685639E-26 ,& 3.7826947613457E-06 ,& -1.2768608934681E-15 ,& ,& 7.3087610595061E-29 5.5414715350778E-17 ,& -9.436970724121E-07 & /
分享到:
收藏