I General Descriptions

2

General Descriptions

1. Subsets of PROPATH
Seven subsets of PROPATH listed below are available.
Table I–1–1 Subsets of PROPATH
name of subset
P-PROPATH
A-PROPATH
M-PROPATH
F-PROPATH
I-PROPATH
E-PROPATH
W-PROPATH

function
Pure substances and mixtures with ﬁxed composition
Moist Air
Binary mixtures
Binary mixtures by general equations
Ideal gases and ideal gas mixtures
Facilities to make PROPATH function reference from MS-Excel
Single Shot P-PROPATH on Internet home page

Part
II
III
IV
V
VI
VII
VIII

Language and Structure of PROGRAMs

3

2. Language and Structure of PROGRAMs
2.1 Language
All PROPATH SUBPROGRAM except E-PROPATH is written in FORTRAN77 and use is made of neither
extended facilities provided only in the special versions of FORTRAN77 compiler nor of utilities prepared forany speciﬁc computer system.
In preparing E-PROPATH(Part VII), extended facilities of Compaq Visual Fortran version 5.0A and Microsoft
VBA Language have been used to build LIBRARY FILEs and to deﬁne MS-Excel functions. Reference to
PROPATH SUBPROGRAMs from E-PROPATH is limited to PROPATH FUCTION SUBPROGRAMs in Part
II and III at this moment.

2.2 Structure of PROGRAM and Precision of Variable (Number of Digits)
Every PROPATH SUBPROGRAM for thermophysical properties or constants is a FORTRAN FUNCTIONSUBPROGRAM or SUBROUTINE SUBPROGRAM. The ARGUMENTs to these FUNCTIONs or SUBROUTINEs are SINGLE PRECISION REAL, SINGLE PRECISION INTEGER or CHARACTER, and the value ofthe FUNCTIONs is also SINGLE PRECISION REAL or CHARACTER.
The value of FUNCTION in E-PROPATH is limited to SINGLE PRECISION REAL.

4

General Descriptions

3. Temperature Scale
The temperature scale used for each formulation of thermophysical property is shown at the proper place. See
2.1.1 of Part II, for example.
Functions for conversion between ‘International practical temperature scale 1968(IPTS-1968)’ and ‘International temperature scale 1990(ITS-1990)’ are available and they are included in the libraries for all substances.

Table I-3-1 Functions for temperature scale conversion
Name of
Function
T90(T68)

T68(T90)

Function and Argument

Range of Argument

T90: Temperature by ITS-1990 [K], [◦ C]
T68: Temperature by IPTS-1968 [K], [◦ C]

73.15 ≤ T68 ≤ 1033.15 [K]1337.15 ≤ T68 ≤ 3273.15 [K]−200 ≤ T68 ≤ 630 [◦ C]
1064 ≤ T68 ≤ 3000 [◦ C]
73.156 ≤ T90 ≤ 902.841 [K]1337.2 ≤ T90 ≤ 3271.65 [K]−199.994 ≤ T90 ≤ 629.691 [◦C]
1064.05 ≤ T90 ≤ 2998.5 [◦C]

T68: Temperature by IPTS-1968 [K], [◦ C]
T90: Temperature by ITS-1990 [K], [◦ C]

PROGRAM EXECUTION

5

4. PROGRAM EXECUTION
This chapter is of concerned only to Part II through VI.

4.1 EXECUTION of User’s PROGRAM UNIT
When a user wishes to run his/her PROGRAM UNIT CALLing PROPATH SUBPROGRAM(s), he/she shalllink his/her OBJECT FILEs with PROPATH FUNCTION SUBPROGRAM(s) or PROPATH SUBROUTINESUBPROGRAM(s) registered as library. An example of these procedures is shown in 7.3(for UNIX) and 8.1(forMS-DOS and Windows).

4.2 Application PROGRAMs and their Execution
Single shot programs that evaluate all SUBPROGRAMs and LIST are available as executable PROGRAMs.
User can get values of various thermophysical properties at any thermodynamic state through these PROGRAMs.
The EXECUTION procedure on MS-DOS or Windows is described in 8.2. LIST of sample EXECUTIONs areshown in part II through V.

6General Descriptions

5. Environment for PROPATH
Since the PROPATH programs in Part II through VI are coded by FORTRAN 77 and partly by C language,
they are independent of operating systems. User can install it to any computers if only compilers of both
FORTRAN 77 and C language are available.
However, E-PROPATH(Part VII) is dependent upon operating systems, and runs only under the enviroment
shown below.
Table I-5-1 Environment for PROPATH
Computer

IBM/PC–AT (and Compatible) or NEC 9800 Series

Operating System Microsoft Windows 95/98/Me and WindowsNT 3.51 or later
Version of Excel

Microsoft Excel 97 or later

List of Files7

6. List of Files
Table I-6-1 List of Supplied FILES.
List of uncompressed ﬁlesA-PROPATH
F-PROPATH
I-PROPATH

M-PROPATH
Makefile.linux
Makefile.uxp

src/A-PROPATH:
jmaig.fjmaigss.f
jmaig.forjmaigss.for

NOTE
P-PROPATH
history.sh

jmarf.f
jmarf.forsrc/F-PROPATH:
Makefile.gnu bwr

jmarfss.f
jmarfss.forcsd

src/F-PROPATH/bwr:
MkDosSrc.pl
bwrm14.c
ModFromDos.pl bwrm15.c
README.jpn
bwrm2.cbwrm.hbwrm3.cbwrm1.cbwrm4.cbwrm11.cbwrm5.cbwrm12.cbwrm6.cbwrm13.cbwrm7.cmakefiles
mkmsc.bat
mkvcc.battools

maigss.out

prbwrm8.cbwrm97.cbwrm98.f
bwrm98.for
bwrm99.cctest.clib.lstmakefile.msc

makefile.vcc
mklib.batmkmsclib.bat
mkvcclib.batpropath.hsample1.fsample1.for
sample2.fsample2.fortest.ftest.fortest0.f
test0.fortest2.f
test2.for
unix

src/F-PROPATH/bwr/unix:
Makefile
bwrm15.c
Makefile.gnu bwrm2.c
bwrm.hbwrm3.cbwrm1.cbwrm4.cbwrm11.cbwrm5.cbwrm12.cbwrm6.cbwrm13.cbwrm7.cbwrm14.cbwrm8.cbwrm97.cbwrm98.f
bwrm98.for
bwrm99.c
ctest
ctest.cpropath.hsample1

sample1.fsample1.for
sample2
sample2.fsample2.fortest
test.ftest.fortest0.f
test0.for
test2
test2.f
test2.forsrc/F-PROPATH/csd:
CSDMX-SS.DAT jcsdmx.f

jcsdmx.for

jcsdmxs.f

jcsdmxs.for

src/F-PROPATH/pr:
PRMX-SS.DAT jprmx.f

jprmx.forsrc/I-PROPATH:
Makefile.gnu
jIproidg.for
history.sh
jIprojnf.f
jIproidg.f
jIprojnf.for

jprmxss.f

jiprolib.f
jiprolib.for
jipropair.f

src/M-PROPATH:AWMX-SS.DAT
jawmx.f
Makefile.gnu jawmx.for

jawmxss.f
jawmxss.for

src/P-PROPATH:
Makefile.gnu
jco.forjair.fjco2.fjair.forjco2.forjarg.fjd2o.fjarg.forjd2o.forjc2h4.f
jf2.f
jc2h4.forjf2.forjc2h6.f
jh2.f
jc2h6.forjh2.forjc3h6.f
jh2o.fjc3h6.forjh2o.forjic4h10.for
jkr.f
jkr.for
jn2.f
jn2.forjnc4h10.f
jnc4h10.for
jne.f
jne.forjnh3.fjnh3.forjprmxss.for

jipropair.for
jipropcho.f
jipropcho.for

jr114.forjr115.f
jr115.forjr12.f
jr12.forjr123.f
jr123.forjr12b1.f
jr12b1.forjr13.fjr13.forjipropkck.f
jipropkck.for

jr152a.for
jr21.fjr21.forjr22.fjr22.forjr23.fjr23.forjr500.f
jr500.forjr502.f
jr502.for8
jc3h8.f
jc3h8.forjch4.fjch4.forjch42.fjch42.forjcl2.fjcl2.forjco.f

General Descriptions
jh2oi90.f
jh2oi90.for
jhe4.fjhe4.forjhe4i90.f
jhe4i90.for
jhgk.fjhgk.forjic4h10.f

src/makefiles:
Makefile.gnu.A-PROPATH
Makefile.gnu.F-PROPATH.csd
src/tools:
For2f.plclean.sh

jo2.f
jo2.forjpuress.f
jpuress.forjr11.f
jr11.forjr113.f
jr113.forjr114.f

jr134a.f
jr134a.for
jr13b1.f
jr13b1.forjr14.fjr14.forjr142b.f
jr142b.for
jr152a.f

Makefile.gnu.F-PROPATH.pr
mklink.shmkMakefiles.pl

jr503.f
jr503.forjrc318.f
jrc318.forjsf6.fjsf6.for
jxe.f
jxe.forList of Files

9

Table I-6-2 List of Single Shot Program and Library FILES for PartII through VI (UNIX).
Name of Subset
P-PROPATH

Name of Substance
Helium 4(IUPAC-IPTS 1968)
Helium 4(NIST-ITS 1990)
Neon
Argon
KryptonXenon
n-Hydrogen
Fluorine
Chlorine
Nitrogen
OxygenAir
Carbon Monoxide
Carbon Dioxide
Water(IFC 1967-IPTS1968)
Water(IFC 1967-ITS1990)
Water(IAPS 1984)
Heavy Water
Ammonia
Sulfur Hexaﬂuoride
Methane(IUPAC)
Methane(Friend, Ely and Ingham)
Ethylene
EthanePropylene
Propanen-Butane
i-Butane
FC-14(R14)
FC-C318(RC318)
CFC-11(R11)
CFC-12(R12)
CFC-13(R13)
CFC-113(R113)
CFC-114(R114)
CFC-115(R115)
CFC-152a(R152a)
HCFC-21(R21)
HCFC-22(R22)
HCFC-123(R123)
HCFC-142b(R142b)
HFC-23(R23)
HFC-134a(R134a)
Halon 1211(R12B1)
Halon 1301(R13B1)
Refrigerant 500
Refrigerant 502
Refrigerant 503

Single Shot Program
he4-sshe4i90ss
ne-ss
arg-ss
kr-ss
xe-ss
h2-ss
f2-ss
cl2-ssn2-ss
o2-ss
air-ssco-ss
co2-ssh2o-ssh2oi90-ss
hgk-ssd2o-ssnh3-sssf6-ssch4-ssch42--ss
c2h4-ss
c2h6-ss
c3h6-ss
c3h8-ss
nc4h10-ss
ic4h10-ss
r14-ssrc318-ss
r11-ss
r12-ss
r13-ssr113-ssr114-ss
r115-ss
r152a-ss
r21-ss
r22-ssr123-ss
r142b-ss
r23-ssr134a-ss
r12b1-ss
r13b1-ss
r500-ss
r502-ss
r503-ss

Library FILE
libjhe4.alibjhe4i90.a
libjne.alibjarg.alibjkr.alibjxe.alibjh2.alibjf2.alibjcl2.a
libjn2.alibjo2.alibjair.a
libjco.alibjco2.alibjh2o.alibjh2oi90.a
libjhgk.a
libjd2o.alibjnh3.alibjsf6.a
libjch4.a
libjch42.a
libjc2h4.a
libjc2h6.alibjc3h6.a
libjc3h8.alibjnc4h10.alibjic4h10.a
libjr14.alibjrc318.a
libjr11.alibjr12.alibjr13.alibjr113.a
libjr114.alibjr115.a
libjr152a.alibjr21.alibjr22.alibjr123.alibjr142b.alibjr23.alibjr134a.alibjr12b.alibjr13b.alibjr500.a
libjr502.a
libjr503.a

10General Descriptions
Table I-6-2 List of Files(cont’d)Name of Subset
A-PROPATH
M-PROPATH

F-PROPATH

Name of Substance
Moist Air (Ideal Gas)
Moist Air (Real Fluid)
Mixture with Ammonia and Water(Ibrahim and Klein)
Mixture with Ammonia and Water(Tiller-Roth and Friend)
Binary Mixtures by General Equations
Peng-Robinson Equation
CSD Equation
BWR Equation

I-PROPATH

Ideal Gases and Ideal Gas Mixtures

Single Shot Programmaig-ss
marf-ss
awmx-ss

Library FILE
libjmaig.alibjmarf.alibjawmx.a

awmx2-ss

libjawmx2.a

prmx-ss
PRMX-SS.DAT
csdmx-ss
CSDMX-ss.DAT----

libjprmx.a

ipropairipropcho
ipropidg
ipropjnf
ipropkcklibjiprolib.a

libjcsdmx.a
libjbwr.aList of Files

11
Table I-6-3 List of Single Shot Program and Library FILES
for Part II through VI (MS-DOS, Windows95/98 and WindowsNT).

Name of Subset
P-PROPATH

Name of Substance
Helium 4(IUPAC-IPTS 1968)
Helium 4(NIST-ITS 1990)
Neon
Argon
KryptonXenon
n-Hydrogen
Fluorine
Chlorine
Nitrogen
OxygenAir
Carbon Monoxide
Carbon Dioxide
Water(IFC 1967-IPTS1968)
Water(IFC 1967-ITS1990)
Water(IAPS 1984)
Heavy Water
Ammonia
Sulfur Hexaﬂuoride
Methane(IUPAC)
Methane(Friend, Ely and Ingham)
Ethylene
EthanePropylene
Propanen-Butane
i-Butane
FC-14(R14)
FC-C318(RC318)
CFC-11(R11)
CFC-12(R12)
CFC-13(R13)
CFC-113(R113)
CFC-114(R114)
CFC-115(R115)
CFC-152a(R152a)
HCFC-21(R21)
HCFC-22(R22)
HCFC-123(R123)
HCFC-142b(R142b)
HFC-23(R23)
HFC-134a(R134a)
Halon 1211(R12B1)
Halon 1301(R13B1)
Refrigerant 500
Refrigerant 502
Refrigerant 503

Single Shot Program
HE4–SS.EXE
HE4I90SS.EXE
NE–SS.EXE
ARG–SS.EXE
KR–SS.EXE
XE–SS.EXE
H2–SS.EXE
F2–SS.EXE
CL2–SS.EXE
N2–SS.EXE
O2–SS.EXE
AIR–SS.EXE
CO–SS.EXE
CO2–SS.EXE
H2O–SS.EXE
H2OI90SS.EXE
HGK–SS.EXE
D2O–SS.EXE
NH3–SS.EXE
SF6–SS.EXE
CH4–SS.EXE
CH42–SS.EXE
C2H4–SS.EXE
C2H6–SS.EXE
C3H6–SS.EXE
C3H8–SS.EXE
NC4H10SS.EXE
IC4H10SS.EXE
R14–SS.EXE
RC318–SS.EXE
R11–SS.EXE
R12–SS.EXE
R13–SS.EXE
R113–SS.EXE
R114–SS.EXE
R115–SS.EXE
R152A–SS.EXE
R21–SS.EXE
R22–SS.EXE
R123–SS.EXE
R142B–SS.EXE
R23–SS.EXE
R134A–SS.EXE
R12B1–SS.EXE
R13B1–SS.EXE
R500–SS.EXE
R502–SS.EXE
R503–SS.EXE

Library FILE
JHE4.LIBJHE4I90.LIB
JNE.LIB
JARG.LIBJKR.LIB
JXE.LIB
JH2.LIB
JF2.LIBJCL2.LIB
JN2.LIBJO2.LIB
JAIR.LIB
JCO.LIBJCO2.LIB
JH2O.LIBJH2OI90.LIB
JHGK.LIBJD2O.LIB
JNH3.LIB
JSF6.LIB
JCH4.LIB
JCH42.LIB
JC2H4.LIB
JC2H6.LIB
JC3H6.LIB
JC3H8.LIB
JNC4H10.LIB
JIC4H10.LIB
JR14.LIB
JRC318.LIB
JR11.LIB
JR12.LIB
JR13.LIB
JR113.LIB
JR114.LIB
JR115.LIB
JR152A.LIB
JR21.LIB
JR22.LIB
JR123.LIB
JR142B.LIB
JR23.LIB
JR134A.LIB
JR12B.LIB
JR13B.LIB
JR500.LIB
JR502.LIB
JR503.LIB

12

General Descriptions
Table I-6-3 List of Files(cont’d)Name of Subset
A-PROPATH
M-PROPATH

F-PROPATH

Name of Substance
Moist Air (Ideal Gas)
Moist Air (Real Fluid)
Mixture with Ammonia and Water(Ibrahim and Klein)
Mixture with Ammonia and Water(Tillner-Roth and Friend)
Binary Mixtures by General Equations
Peng-Robinson Equation
CSD Equation
BWR Equation

I-PROPATH

Ideal Gases and Ideal Gas Mixtures

Single Shot Program
MAIG–SS.EXE
MARF–SS.EXE
AWMX–SS.EXE

Library FILE
JMAIG.LIB
JMARF.LIB
JAWMX.LIB

AWMX2–SS.EXE

JAWMX2.LIB

PRMX–SS.EXE
PRMX-SS.DATCSDMX–SS.EXE
CSDMX-SS.DAT—JPRMX.LIB

IPROPAIR.EXE
IPROPCHO.EXE
IPROPIDG.EXE
IPROPJNF.EXE
IPROPKCK.EXE

JIPROLIB.LIB

JCSDMX.LIB
JBWR.LIB

List of Files

13
Table I-6-4 List of Import FILEs and library FILEs for E-PROPATH(Part VII)
Name of Subset
P-PROPATH

A-PROPATH

Name of Substance
Helium 4(IUPAC-IPTS 1968)
Helium 4(NIST-ITS1990)
Neon
Argon
KryptonXenon
n-Hydrogen
Chlorine
Nitrogen
OxygenAir
Fluorine
Carbon Monoxide
Carbon Dioxide
Water(IFC 1967-IPTS1968)
Water(IFC 1967-ITS1990)
Water(IAPS 1984)
Heavy Water
Ammonia
Sulfur Hexaﬂuoride
Methane(IUPAC Table)
Methane(Friend, Ely and Ingham)
Ethylene
EthanePropylene
Propanen-Butane
i-Butane
FC-14(R14)
FC-C318(RC318)
CFC-11(R11)
CFC-12(R12)
CFC-13(R13)
CFC-113(R113)
CFC-114(R114)
CFC-115(R115)
CFC-152a(R152a)
HCFC-21(R21)
HCFC-22(R22)
HCFC-123(R123)
HCFC-142b(R142b)
HCFC-23(R23)
HCFC-134a(R134a)
Halon 1201(R12B1)
Halon 1301(R13B1)
Refrigerant 500
Refrigerant 502
Refrigerant 503
Moist Air (Ideal Gas)
Moist Air (Real Fluid)

Import FILE
JHE4.BASJHE4I90.BAS
JNE.BAS
JARG.BAS
JKR.BAS
JXE.BAS
JH2.BASJCL2.BAS
JN2.BAS
JO2.BAS
JAIR.BAS
JF2.BAS
JCO.BAS
JCO2.BAS
JH2O.BASJH2OI90.BAS
JHGK.BASJD2O.BASJNH3.BAS
JSF6.BAS
JCH4.BAS
JCH42.BAS
JC2H4.BAS
JC2H6.BAS
JC3H6.BAS
JC3H8.BASJNC4H10.BAS
JIC4H10.BAS
JR14.BAS
JRC318.BAS
JR11.BAS
JR12.BAS
JR13.BAS
JR113.BAS
JR114.BAS
JR115.BAS
JR152A.BAS
JR21.BAS
JR22.BAS
JR123.BAS
JR142B.BAS
JR23.BAS
JR134A.BAS
JR12B1.BAS
JR13B1.BAS
JR500.BAS
JR502.BAS
JR503.BASJMAIG.BASJMARF.BAS

Library FILE
JHE4.DLLJHE4I90.DLL
JNE.DLL
JARG.DLLJKR.DLL
JXE.DLL
JH2.DLL
JCL2.DLL
JN2.DLL
JO2.DLL
JAIR.DLL
JF2.DLL
JCO.DLL
JCO2.DLL
JH2O.DLLJH2OI90.DLL
JHGK.DLLJD2O.DLL
JNH3.DLL
JSF6.DLL
JCH4.DLL
JCH42.DLL
JC2H4.DLL
JC2H6.DLL
JC3H6.DLL
JC3H8.DLLJNC4H10.DLL
JIC4H10.DLL
JR14.DLL
JRC318.DLL
JR11.DLL
JR12.DLL
JR13.DLL
JR113.DLL
JR114.DLL
JR115.DLL
JR152A.DLL
JR21.DLL
JR22.DLL
JR123.DLL
JR142B.DLL
JR23.DLL
JR134A.DLL
JR12B1.DLL
JR13B1.DLL
JR500.DLL
JR502.DLL
JR503.DLLJMAIG.DLLJMARF.DLL

14

General Descriptions

7. Procedures to Register PROPATH SUBPROGRAM(s)as Libraries and How to Link User’s PROGRAM
UNIT with the Library at the EXECUTION in UNIX
Operatind System
This section is of concerned only to Part II through VI.
Any element of PROPATH SUBPROGRAM should be installed in a computer system as a library in the form ofarchive ﬁle to be oﬀered for public use. However it cannot be registered as an automatic CALL library, because
the NAMEs of SUBPROGRAMs are common between some subsets of PROPATH. Therefore a user should
specify the library of which he/she wants to get thermophysical properties at the EXECUTION. The proceduresfor installation to make a library and the procedure to specify it at the EXECUTION for FUJITSU main frame
computer with UXP operating system are described below:(1) How to extract compressed source files
The source programs of PROPATH are supplied as compressed ﬁles of pXXsrc.tar.gz(XX is number of version).
The gzip and tar programs are made use to extract these ﬁles.
gzip -c -d pXXsrc.tar.gz | tar xvfp -

The subdirectories of A-PROPATH, F-PROPATH, I-PROPATH, M-PROPATH and P-PROPATH are created under thesubdirectory src, and the source programs are extracted into these subdirectories.

(2) Procedure for making libraries and single shot programs
There is a makeﬁle named Makefile.uxp in the subdirectory src. With this makeﬁle and make command,compilation and linking process will be done as follows.
make -f Makefile.uxp

The target directory where the PROPATH libraries and single shot programs are installed is speciﬁed in the
Makefile.uxp as follows.
BINDIR=/usr/local/lib/propath/bin
LIBDIR=/usr/local/lib/propath/bin(3) How to specify the library at the EXECUTION
Nitrogen library libjn2.a is assumed to be located in the directory /usr/local/lib/propath/bin. To link thelibrary with user’s PROGRAM UNIT main.f, the user execute the following command.

frt main.f -L/usr/local/lib/propath/bin -llibjn2
How to Link User’s PROGRAM UNIT with the Library and How to EXECUTE the Single Shot Programs in MS-DOS or Windo

8. How to Link User’s PROGRAM UNIT with the
Library and How to EXECUTE the Single Shot
Programs in MS-DOS or Windows
This section is of concerned only to Part II through VI.

(1) How to build the Library from the source file
A user must complie the source ﬁle to make the object ﬁle before building the Library. For example, if he/she
wishes to build the Library of helium 4, he/she complies the source ﬁle JHE4.F using FL command or FL32
command.
• 16bit MS-FORTRANC:>FL /c JHE4.F• 32bit MS-FOTRAN(Fortran PowerStation version 4.0 or later)


C:>FL32 /c JHE4.F

If the compilation of the source ﬁle has been completed successfully, the object ﬁle JHE4.OBJ is created at thecurrent directory. A user can build the Library from the object ﬁle using LIB command.

C:>LIB
JHE4.OBJThe Library JHE4.LIB is created.

(2) How to Link User’s PROGRAM UNIT with the Library
A user may use LINK command to link user-deﬁned object ﬁle with Library.
• 16bit MS-FORTRAN

C:>LINK ***.OBJ,,,JHE4.LIB+LLIBFOR7.LIB• 32bit MS-FOTRAN(Fortran PowerStation version 4.0 or later)

C:>LINK ***.OBJ JHE4.LIB




where
LINK:
***.OBJ:LLIBFOR7.LIB:

Linker of MS-FORTRAN
User’s object ﬁle (compiled using FL or FL32 command)
Standard Library of 16 bit MS-FORTRAN (Large-memory Model andMath Coprocessor)

16

General Descriptions(3) How to EXECUTE the Single Shot Programs
Simply execute one of EXECUTABLE PROGRAMs which have ﬁle extension of EXE. For example, entering

C:>HE4-SS.EXE

is all you do when you wish to execute the helium 4 Single Shot Program.

FUNCTION REFERENCE from MS-C

17

9. FUNCTION REFERENCE from MS-C
This chapter is of concerned only to PartII through VI.
When the PROPATH libraries are created by MS-FORTRAN compiler, a user can refer these FUNCTIONs
from MS-C which is a product of the same company. FUNCTION REFERENCE from MS-C may be advantageous
if one would like to get a graphic output on display or plotter. Here the procedure of mixed language programingis introduced.
List 1 is an example of the MS-C PROGRAM. This PROGRAM calculates some thermodynamic properties inthe saturated region for temperatures inputted from the standard input device. The line degignated by (1) deﬁnes
external REFERENCE of FORTRAN SUBROUTINE KPAMES descrived in 1.1 in Part II. Making use of this
SUBROUTINE is recommended because it is complicated to specify the value of the COMMON VALIABLES
KPA and MESS from MS-C. The lines designated by (2) are the deﬁnitions of PROPATH FUNCTIONs to bereferred from MS-C. The meaning of these PROPATH FUNCTIONs are described in FUNCTION Tables of each
substance. The line (3) sets the values of KPA and MESS. In this case, the units of pressure and temperature are[Pa] and [C], respectively. The lines (4) call PROPATH FUNCTIONs.
Now the following procedures show how to compile and link List 1 program with PROPATH library and tocreate EXECUTABLE PROGRAM.
Compiling by MS-C compiler:


where
CL:
SAT TBL.C:

A>CL/AL /c SAT TBL.C



MS-C compiler
Source File of List 1

Linking with the PROPATH library:

A>LINK /NOE SAT TBL.OBJ,,,JH2O.LIB+LLIBFOR7.LIB+LLIBC7.LIB




where
LINK:
Linker of MS-C
SAT TBL.OBJ:OBJECT FILE of List 1
JH2O.LIB:
Library of water FUNCTION SUBPROGRAMs
LLIBFOR7.LIB: Standard Library of MS-FORTRAN (Large-memory Model and Math Coprocessor)
LLIBC7.LIB:
Standard Library of MS-C (Large-memory Model and Math Coprocessor)
Finally, the EXECUTABLE PROGRAM SAT TBL.EXE is to be created.

List 1/* <<<< SAT_TBL.C >>>>
Thermodynamic Properties in Saturated Region
coding history: 01/07/91 Ver.1.00
06/10/96 Ver.1.10 */#include <dos.h>#include <stdio.h>#include <conio.h>#include <string.h>#define NL fprintf(stdout,"\n")extern void fortran18

kpames (long far *, long far *); /* ----------(1) */extern float fortran pst(float *); /* ---+*/
extern float fortran vtd(float *); /*|*/extern float fortran vtdd
(float *); /*|*/extern float fortran htd(float *); /*|*/extern float fortran htdd
(float *); /*+------(2) */extern float fortran alht
(float *); /*|*/extern float fortran std(float *); /*|*/extern float fortran stdd
(float *); /*|*/extern float fortran cptd
(float *); /*|*/extern float fortran cptdd (float *); /* ---+*/
void main(){float ps,t[100],tt,vd,vdd,hd,hdd,lh,sd,sdd,cpd,cpdd,
kiro=1.0e+003, mega=1.0e+006;
long kpa=3,mess=0; /* P[Pa], T[C], no messages */kpames(&kpa,&mess); /* --------------------------(3) */NL;
while (1){printf("\ninput T[C] (T<0: quit)=");
scanf("%e",&tt);
if(tt<0.0) exit();/* PROPATH functions for saturated region */ps=pst(&tt)/mega;/* ---+*/
vd=vtd(&tt);/*|*/
vdd=vtdd(&tt);/*|*/
hd=htd(&tt)/kiro;/*|*/
hdd=htdd(&tt)/kiro;/*+------(4) */lh=alht(&tt)/kiro;/*|*/
sd=std(&tt)/kiro;/*|*/
sdd=stdd(&tt)/kiro;/*|*/
cpd=cptd(&tt)/kiro;/*|*/
cpdd=cptdd(&tt)/kiro;/* ---+*/
printf("T=%10.3f[C]\t\t\t",tt);
printf("P=%10.4f[MPa]\n",ps);
printf("v’=%12.4e[m^3/kg]\t\t",vd);
printf("V\"=%12.4e[m^3/kg]\n",vdd);
printf("h’=%10.3f[kJ/kg]\t\t",hd);
printf("h\"=%10.3f[kJ/kg]\t",hdd);
printf("r=%10.3f[kJ/kg]\n",lh);
printf("s’=%10.3f[kJ/(kg*K)]\t",sd);
printf("s\"=%10.3f[kJ/(kg*K)]\n",sdd);
printf("cp’=%10.3f[kJ/(kg*K)]\t",cpd);
printf("cp\"=%10.3f[kJ/(kg*K)]\n",cpdd);}}

General Descriptions

Addition and Alteration in Version 12.1

19

10. Addition and Alteration in Version 12.1

10.1 New Subset of PROPATH
W-PROPATH has been added on.

10.2 New Substances or Formulations
Water (IAPWS Industrial Formulation 1997-ITS 1990) has been added to P-PROPATH.

10.3 Newly Introduced PROPATH FUNCTIONs
The following new FUNCTIONs have been added to P-PROPATH. However, these FUNCTIONs are implemented only in above new water library at this moment.
AKPD, AKPDD, AKTD, AKTDD, CVPD, CVTD, EPSPD, EPSPDD, EPSTD, EPSTDD,GAMPD, GAMTD, WPD, WPDD, WTD, WTDD, TPH2, TPS2
Last two FUNCTIONs have the common arguments and return value with conventional TPH and TPS. The new
FUNCTIONs are based on the direct formulations newly developed, whereas the conventiolnal FUNCTIONs
perform iterative calculations.

20

General Descriptions

11. Definition of Some Thermodynamic Properties
The isentropic exponent, Joule-Thomson coeﬃcient, volmetric coeﬃcient of expansion, isentropic compressibility, isothermal compressibility, pressure coeﬃcient, pseudo boiling point and velocity of sound are deﬁned asfollows:
Table I–11–1

Deﬁnition of Some Thermodynamic Properties

No.

Name of
Function

Thermodynamic property

Deﬁnition

82

AKPT

isentropic exponent, κ

κ=−


94
92
90

91

AJTPT
BPPT
BSPT
BTPT











v ∂p
cp v ∂p
cp v ∂ 2 f=−=−
p ∂v scv p ∂v T
cv p ∂v2
where f denotes speciﬁc helmholtz free energy.
∂T∂pJoule-Thomson coeﬃcient, µµ=volmetric coeﬃcient of expansion, βp

1
βp =
v



T

=

 ∂v 
∂Th∂T

isentropic compressibility, βs1βs = −
v

isothermal compressibility, βT

1
βT = −
v

−v

p

∂v
∂p



T

cv

 ∂v 


p






1
= −  ∂p  = v/w 2v ∂v ss∂v∂p ∂p 

=
T

cp
βs
cv

93

BVPT

pressure coeﬃcient, βv

1
βv =
p

98

TPSEUP

pseudo boiling point, Tm

The temperature which satisﬁes the following equation.


∂cp
=0
∂T p

∂T



83

WPT

velocity of sound, w

w=

−v 2

v

 ∂p 
∂vs=

v/βs 2

Bridgman’s Table

21

12. Bridgman’s Table
Most of the ﬁrst partial derivatives of thermodynamic properties are evaluated by looking up the Bridgman’stable. The table yields derivatives symbolized as (∂ ∗ /∂ ∗ ∗)∗∗∗ , where “*”, “**” and “***” are any one fromthe following 8 properties.
p, T, v, s, u, h, f, g(∂ ∗ /∂ ∗ ∗)∗∗∗ reduces to unity when “*”=“**”, and is meaningless when “*”=“***” or “**”=“***” holds. Thus
the number of interesting derivatives is 8 p3 = 8 × 7 × 6=336. The ﬁrst derivatives constructed from the tablecontains some of the 8 properties listed above andisobaric speciﬁc heat:volumetric coeﬃcient of expansion:isothermal compressibility:

cp = (∂h/∂T )p = T (∂s/∂T )pβp = (1/v)(∂v/∂T )p
βT = −(1/v)(∂v/∂p)T(∂ ∗ /∂ ∗ ∗)∗∗∗ is found as the ratio of two entries like (∂∗)∗∗ and (∂ ∗ ∗)∗∗∗ from the table by the following rule.
∂∗(∂∗)∗∗∗=∂ ∗ ∗ ∗∗∗(∂ ∗ ∗)∗∗∗The table is constructed by only 28 lines of formula for 336 diﬀerent derivatives evaluated. Though the numberof diﬀerent (∂∗)∗∗ is 8 p2 = 8 × 7=56, the pair of (∂∗)∗∗ and −(∂ ∗ ∗)∗ is listed in the same line.
[example] Joule-Thomson coeﬃcient (∂T /∂p)h is found from (∂T )h and (∂p)h in the table as follows.
∂T(∂T )h−(−v + βp T v)
v(βp T − 1)
µ=
=
=
=
∂p h
(∂p)h
−cp
cp
Isochoric speciﬁc heat (∂u/∂T )v is evaluated from (∂u)v and (∂T )v in the table as follows.


∂u
(∂u)v
T βp 2 v2 − βT vcp
cv ==== cp − (βp 2 v/βT )T∂T v(∂T )v−βT v

22General Descriptions

Tbale I-12-1 Bridgman’s table
[p]

[T ]

[v]

[s]

[u]

[h]
[f]

(∂T )p = −(∂p)T = 1(∂v)p = −(∂p)v = βp v(∂s)p = −(∂p)s = cp /T(∂u)p = −(∂p)u = cp − βp pv(∂h)p = −(∂p)h = cp(∂f)p = −(∂p)f = −s − βp pv(∂g)p = −(∂p)g = −s(∂v)T = −(∂T )v = βT v(∂s)T = −(∂T )s = βp v(∂u)T = −(∂T )u = βp T v − βT pv(∂h)T = −(∂T )h = −v + βp T v(∂f)T = −(∂T )f = −βT pv(∂g)T = −(∂T )g = −v(∂s)v = −(∂v)s = βp 2 v2 − βT vcp /T(∂u)v = −(∂v)u = T βp 2 v2 − βT vcp(∂h)v = −(∂v)h = T βp 2 v2 − βp v2 − βT vcp(∂f)v = −(∂v)f = βT vs(∂g)v = −(∂v)g = βT vs − βp v2(∂u)s = −(∂s)u = βp 2 v2 p − βT vcp /T(∂h)s = −(∂s)h = −vcp /T(∂f)s = −(∂s)f = βp vs + βp 2 v2 p − βT vcp p/T(∂g)s = −(∂s)g = βp vs − vcp /T(∂h)u = −(∂u)h = pβp v2 − βT vcp p − vcp − pT βp 2 v2(∂f)u = −(∂u)f = sT βp v − βT vcp p − βT vsp + pT βp 2 v2(∂g)u = −(∂u)g = βp v2 p + βp vsT − vcp − βT vsp(∂f)h = −(∂h)f = (s − vβp p)(v − vβp T ) − βT vcp p(∂g)h = −(∂h)g = βp vsT − v(s − cp )(∂g)f = −(∂f)g = βT vsp − vs − βp v2 p[p], for example, in the table means that the entries in that box is (∂∗)p or −(∂p)∗ .