VI I-PROPATH:
Ideal Gases and Ideal Gas Mixtures

I-PROPATH is a program package for the properties of ideal gases and ideal gas mixtures based on databaseby Daubert and Danner[1]. This package provides 11 SUBROUTINE SUBPROGRAMs and 19 FUNCTIONSUBPROGRAMs for 54 substances, their mixtures, air as a mixture of ideal gases, and complete combustion-byair products of CX HY OZ . In addition to these SUBPROGRAMs there are 5 single shot programs (ideal gases,
air, complete combustion-by-air products, Keenan-Chao-Kaye-style gas tables [2] and JANAF-style tables [3]).
In calculating the properties of air as a mixture of ideal gases and complete combustion-by-air products of
CX HY OZ , the composition of air is assumed to be that shown in reference [2] (78.03 % nitrogen, 20.99 % oxygenand 0.98 % argon by volume).

566

I-PROPATH: Ideal Gases and Ideal Gas Mixtures

1. SUBPROGRAM REFERENCE

1.1 Initialization process
Every I-PROPATH user has to make initialization process by the following procedures.
1.1.1 Reservation of VARIABLEs (required)
A PROGRAM UNIT which is going to CALL the I-PROPATH SUBPROGRAMs should include the following
LINEs before the ﬁrst EXECUTABLE STATEMENT.
INTEGER KPA,KMOL,MESS
CHARACTER*25 ANAMEREAL GASCONCOMMON /UNIT/KPA,KMOL,MESSCOMMON /CNST/GASCONKPA speciﬁes the units of temperature and pressure and KMOL the unit of amount of substance. The systemof units which a user can select and the relation between the values of KPA and KMOL speciﬁed by a user and theunits are shown in Chapter 3.
MESS speciﬁes whether messages to the erroneous SUBPROGRAM REFERENCE are to be printed out tothe standard output device or not. I-PROPATH does not return any messages when MESS= 0, while it does when
MESS= 0.
GASCON is a reserved NAME as a REAL CONSTANT for the universal gas constant.
ANAME is a reserved NAME as a CHARACTER for the name of substance identiﬁed by the substance index
of an ideal gas.
1.1.2 Initialization of the reserved CONSTANTs (required)
I-PROPATH oﬀers the automatic initialization SUBROUTINE PROGRAM IPINIT. A user has to initialize
parameters mentioned above by writing
CALL IPINIT(KPA,KMOL,MESS,KGAS,GASC)
before the ﬁrst REFERENCE to a I-PROPATH SUBPROGRAM in the MAIN PROGRAM. See section 7.2.9
1.1.3 Re-initialization (optional)
If a user happens to want to use other settings for parameters KPA, KMOL, MESS and GASCON in any places of
his or her PROGRAM UNIT, he or she is supposed to write the similar statement as the one described in section
1.1.2 at those places.

1.2 Specification of substance
Each SUBPROGRAMs has an ARGUMENT ISUB or an ARRAY ISUB(i) named as substance index(es)for each ideal gas or ideal gas mixture. Every user has to specify the substance index when he/she wishes tomake REFERENCE to the SUBPROGRAMs looking up the following table.

SUBPROGRAM REFERENCE

567

Table VI-1-1 List of substance indexes : ISUB
ChemicalSymbol(∗)
Ar
C
CClF2H
CClF3
CClH3
CCl2FH
CCl2F2CCl2H2
CCl3H
CF4
CH4
CH4O
CO
CO2
C2ClF2H3
C2ClH5
C2Cl2F4C2F2H4
C2H2
C2H4
C2H4O
C2H4O2
C2H6
C2H6O
C3H6
C3H6O
C3H8
C4H10
C4H10
C5H12
C5H12
C6H6
C6H14
C7H8
C7H16
C8H18
C8H18
C10H8
ClH
Cl2
F2
HI
H2
H2O
H3N
He
NO
NO2
N2
N2O
Ne
O2
O2S
O3

Molecular Formula

IUPAC Name of Substance (Synonym)

ISUB

Ar
C
CHClF2CClF3
CH3 Cl
CHCl2F
CCl2 F2CH2 Cl2
CHCl3
CF4
CH4
CH3 OHCOCO2
CH3 CClF2CH3 CH2 Cl
CClF2 CClF2
CH3 CHF2CHCH
CH2 CH2CH3 CHOCH3 COOH
CH3 CH3CH3 CH2 OH
CH3 CHCH2CH3 COCH3
CH3 CH2 CH3CH3 (CH2 )2 CH3(CH3 )3 CH
CH3 (CH2 )3 CH3(CH3 )2 CHCH2CH3C 6 H6CH3 (CH2 )4 CH3(C6 H5 )CH3CH3 (CH2 )5 CH3CH3 (CH2 )6 CH3(CH3 )2 CH(CH2)4 CH3(C6 H4 )(C4 H4 )
HCl
Cl2
F2
HI
H2
H2 O
NH3
He
NO
NO2
N2
N2 O
Ne
O2
SO2
O3

Argon
CarbonChlorodiﬂuoromethane (HCFC 22)
Chlorotriﬂuoromethane (CFC 13)
Methyl Chloride (Chloromethane)
Dichloroﬂuoromethane (HCFC 21)
Dichlorodiﬂuoromethane (CFC 12)
Dichloromethane (Methylene Chloride)
Chloroform (Trichloromethane)
Carbon Tetraﬂuoride (Tetraﬂuoromethane)
MethanMethanol
Carbon Monoxide
Carbon Dioxide
1-Chloro-1,1-Diﬂuoroethane (HCFC 142B)
Ethyl Chloride (Chloroethane)
1,2-Dichlorotetraﬂuoroethane (CFC 114)
1,1-Diﬂuoroethane (HFC 152A)
Ethyne (Acetylene)
Ethylene (Ethene)
Acetaldehyde
Acetic Acid
EthaneEthanol
Propylene (Propene)
AcetonePropaneButane (n-Butane)
Isobutane
Pentane (n-Pentane)
Isopentane
BenzeneHexane (n-Hexane)
Toluene (Methylbenzene)
Heptane (n-Heptane)
Octane (n-Octane)
2-Methylheptane (Iso-Octane)
Naphthalene
Hydrogen Chloride
Chlorine
Fluorine
Hydrogen Iodide
Hydrogen
Water
Ammonia
Helium (Helium-4)
Nitric Oxide (Nitrogen Monoxide)
Nitrogen Dioxide
Nitrogen
Nitrous Oxide (Dinitrogen Monoxide)
Neon
OxygenSulfur Dioxide
Ozone

23
18
24
25
41
27
28
29
26
30
10
31
8
9
32
33
34
35
36
12
42
43
37
44
45
46
11
38
39
47
40
48
49
50
51
52
53
54
19
13
20
21
3
2
14
22
4
5
1
6
16
7
15
17

(∗) according to the alphabetical order of elements and increasing order of number of atoms.

568

I-PROPATH: Ideal Gases and Ideal Gas Mixtures

2. Operations to Manage Erroneous SUBPROGRAM
REFERENCE
A predetermined sequence of operations will occur to process an erroneous SUBPROGRAM REFERNCE
when improper SUBPROGRAM REFERENCE has been done. Erroneous SUBPROGRAM REFERENCEs aregrouped into 3 levels, with the ascending severity of user’s mistake. A user has committed a more serious mistake
when level 3 ERROR ocurrs than when a level 2 ERROR does, for example.

2.1 Level 1 ERROR (No error)
When a I-PROPATH SUBROUTINE SUBPROGRAM returns the values of ARGUMENTs correctly to the
MAIN PROGRAM, the SUBPROGRAM returns the value 0 of error detection code IERR.

2.2 Level 2 ERROR (Invalid ARGUMENT(s))
A level 2 ERROR will occur when the ARGUMENT(s) a user transferred to I-PROPATH SUBPROGRAM
from his or her MAIN PROGRAM fail to drop in the proper range.
A level 2 ERROR is processed as below.
value of error detection cord, one of the arguments of SUBROUTINE : IERR= −2
value of FUNCTION or values of ARGUMENTs of SUBROUTINE returned to the CALLing program :-1.0E+20
output to the standard output device :*** OUT OF RANGE AT (name of SUBPROGRAM CALLed) FOR (name of substance)

2.3 Level 3 ERROR (Substance Unavailable)
A user will encounter a level 3 ERROR when the INTEGER CONSTANT ISUB a user speciﬁed for thesubstance index fails to coincide with any of the allowable values.
The level 3 error is processed as shown below.
value of error detection cord, one of the arguments of SUBROUTINE : IERR= −3
value of FUNCTION or values of ARGUMENTs of SUBROUTINE returned to the CALLing program :-1.0E+30
output to the standard output device :*** SUBSTANCE INDEX * ISUB = (value of substance index) * IS NOT INCLUDED IN I-PROPATH ***System of Units

569

3. System of Units
All REAL quantities are in the fundamental SI or in the coherent derived SI with three exceptions. Temperature can be in the unit of Kelvin [K] or degree Celsius [◦C], pressure in the unit of Pascal [Pa] or bar [bar],and the amount of substance in the unit of kilomole [kmol] or kilogram [kg]. These depend on the values of
INTEGER CONSTANTs, KPA and KMOL, which a user assigned to. See 1.1 and 7.2.9.

Table VI-3-1 Units of Pressure and Temperature Speciﬁed by KPA
KPA
0
1
2
3
othersunit of pressure
Pa
bar
bar
Pa
Pa

unit of temperature
K
◦
C
K
◦
C
K

(default)

Table VI-3-2 Amount of Substance Speciﬁed by KMOL
KMOL
01
othersunit of the amount of substance
kmol
kg
kmol

(default)

570

I-PROPATH: Ideal Gases and Ideal Gas Mixtures

4. Reference Values of Enthalpy and Entropy
At the reference temperature of 298.15 [K] (25 [◦C]), 0 is assigned to enthalpy. At the reference state of 0.1[MPa] ( 1 [bar] ) and 298.15 [K] (25 [◦ C]), the absolute entropy cited from reference [1] is assigned to the speciﬁc
entropy. Thus, the value of enthalpy is relative to the reference temperature while that of entropy is absolute.

Reserved NAMEs of COMMON BLOCKs, FUNCTIONs and SUBROUTINEs

571

5. Reserved NAMEs of COMMON BLOCKs,FUNCTIONs and SUBROUTINEs
I-PROPATH uses a lot of NAMEs, listed below, for its own purpose. These are the NAMEs of SUBPROGRAMs, NAMED COMMON BLOCKs, and ARGUMENTs. A user is supposed to use the NAMEs of SUBPROGRAMs and COMMON BLOCKs only when he/she does so in the original meaning.
Thses are listed below. The letters in the ﬁrst column are the ﬁst LETTERs in the NAMES listed in thesame line.
A
AKG2KM,AKM2KG, AIRTPCCHOTBL, COMMON /CNST/F
FUELMLGGASCONI
IDENTI, IDGCMM, IDGFND, IDGT, IDGTBL, IDGTP, IPINITK
KMOL, KPAM
MIXCMM, MIXTP, MESSPPTSAIR, PTSIDG, PTVAIR, PTVIDG
T
T68,T90, THAIR, THIDG, TPSAIR, TPSIDG, TPVAIR, TPVIDG, TVSAIR, TVSIDG, TUAIR, TUIDGUCOMMON /UNIT/

572

I-PROPATH: Ideal Gases and Ideal Gas Mixtures

6. NAMEs of FUNCTION and SUBROUTINESUBPROGRAMs
NAMEs of FUNCTIONs and SUBROUTINEs are shown below and the full description of these SUBPROGRAMs is given in chapter 7.

6.1 FUNCTION SUBPROGRAMs
6.1.1 REAL valued FUNCTIONs (conversion of temperature scale and mole-mass conversion)
T68 = conversion from ITS-1990 to ITPS-1968
T90 = conversion from ITPS-1968 to ITS-1990
AKM2KG = conversion from mole to mass
AKG2KM = conversion from mass to mole
6.1.2 REAL valued FUNCTIONs (ideal gas)
PTSIDG = pressure as a function of temperature and entropy
PTVIDG = pressure as a function of temperature and volume
THIDG = temperature as a function of enthalpy
TPSIDG = temperature as a function of pressure and entropy
TPVIDG = temperature as a function of pressure and volume
TVSIDG = temperature as a function of volume and entropy
TUIDG = temperature as a function of internal energy
6.1.3 REAL valued FUNCTIONs (air as a mixture of ideal gases)
PTSAIR = pressure as a function of temperature and entropy
PTVAIR = pressure as a function of temperature and volume
THAIR = temperature as a function of enthalpy
TPSAIR = temperature as a function of pressure and entropy
TPVAIR = temperature as a function of pressure and volume
TVSAIR = temperature as a function of volume and entropy
TUAIR = temperature as a function of internal energy
6.1.4 CHARACTER valued FUNCTIONIDENTI = name of an ideal gas, or version number of PROPATH

6.2 SUBROUTINE SUBPROGRAMs
6.2.1 initialization and conversion
IPINIT = initialization
IDGCMM = conversion from mass to mole, or reverse, for ideal gas.
MIXCMM = conversion from mass fractions to mole fractions, or reverse, for mixture of ideal gases.
6.2.2 ideal gas
IDGFND = critical and fundamental constants
IDGT = properties of ideal gases as a function of temperature at 0.1 MPa (JANAF-style table)
IDGTBL = properties of ideal gases as a function of temperature at 0.1 MPa (Keenan-Chao-Kaye-style gas
table)IDGTP = properties of ideal gases as a function of temperature
6.2.3 mixture of ideal gases
MIXTP = properties of ideal gas mixture as a function of temperature and pressure
6.2.4 air as a mixture of ideal gases

NAMEs of FUNCTION and SUBROUTINE SUBPROGRAMs

573

AIRTP = properties of air (78.03 % nitrogen, 20.99 % oxygen and 0.98 % argon by volume) as a function oftemperature and pressure
6.2.5 complete combustion-by-air product of CX HY OZCHOTBL = properties of complete combustion-by-air products of CX HY OZ at 0.1 MPa (Keenan-Chao-Kayestyle gas table) as a function of temperature
FUELML = mole fractions of complete combustion-by-air products of the mixture of CX HY OZ fuels.

574

I-PROPATH: Ideal Gases and Ideal Gas Mixtures

7. Descriptions of FUNCTIONs and SUBROUTINEs
Shown in alphabetical order of NAMEs.

7.1 FUNCTIONs
7.1.1 AKM2KG
mole to mass conversion for ideal gas
REAL FUNCTION AKM2KG(ISUB,Z)
Input
INTEGER ISUB : substance index of the gas
REAL Z : mole [kmol]
Returned
REAL AKM2KG : mass [kg]7.1.2 AKG2KM
mass to mole conversion for ideal gas
REAL FUNCTION AKG2KM(ISUB,Z)
Input
INTEGER ISUB : substance index of gas
REAL Z : mass [kg]Returned
REAL AKG2KM : mole [kmol]
7.1.3 IDENTI
name of an ideal gas, or version number
CHARACTER*25 FUNCTION IDENTI(ISUB,A)
Input
INTEGER ISUB : substance index
CHARACTER*1 A : a character to control output
Returned
IDENTI : name of substance when A=’S’, or version number when A=’S’
7.1.4 PTSAIR
pressure of air as a function of temperature and entropy
REAL FUNCTION PTSAIR(T,S)
Input
REAL T : temperature [K],[ ◦C]
REAL S : absolute entropy [J/(kmol·K)], [J/(kg·K)]
Returned
REAL PTSAIR : pressure [Pa], [bar]7.1.5 PTSIDG
pressure of ideal gas as a function of temperature and entropy
REAL FUNCTION PTSIDG(ISUB,T,S)

Descriptions of FUNCTIONs and SUBROUTINEs
Input
INTEGER ISUB : substance index of the gas
REAL T : temperature [K],[ ◦C]
REAL S : absolute entropy [J/(kmol·K)], [J/(kg·K)]
Returned
REAL PTSIDG : pressure [Pa],[bar]7.1.6 PTVAIR
pressure of air as a function of temperature and volume
REAL FUNCTION PTVAIR(T,V)
Input
REAL T : temperature [K],[ ◦C]
REAL V : volume [m3 /kmol], [m3 /kg]
Returned
REAL PTVAIR : pressure [Pa],[bar]7.1.7 PTVIDG
pressure of ideal gas as a function of temperature and volume
REAL FUNCTION PTVIDG(ISUB,T,V)
Input
INTEGER ISUB : substance index of the gas
REAL T : temperature [K],[ ◦C]
REAL V : volume [m3 /kmol], [m3 /kg]
Returned
REAL PTVIDG : pressure [Pa],[bar]7.1.8 THAIR
temperature of air as a function of enthalpy
REAL FUNCTION THAIR(H)
Input
REAL H : enthalpy [J/kmol], [J/kg]
Returned
REAL THAIR : temperature [K],[ ◦C]
7.1.9 THIDG
temperature of ideal gas as a function of enthalpy
REAL FUNCTION THIDG(ISUB,H)
Input
INTEGER ISUB : substance index of the gas
REAL H : enthalpy [J/kmol], [J/kg]
Returned
REAL THIDG : temperature [K],[ ◦C]
7.1.10 TPSAIR
temperature of air as a function of pressure and entropy
REAL FUNCTION TPSAIR(P,S)
Input
REAL P : pressure [Pa],[bar]
REAL S : absolute entropy [J/(kmol·K)], [J/(kg·K)]

575

576

I-PROPATH: Ideal Gases and Ideal Gas Mixtures

Returned
REAL TPSAIR : temperature [K],[ ◦C]
7.1.11 TPSIDG
temperature of ideal gas as a function of pressure and entropy
REAL FUNCTION TPSIDG(ISUB,P,S)
Input
INTEGER ISUB : substance index of the gas
REAL P : pressure [Pa],[bar]
REAL S : absolute entropy [J/(kmol·K)], [J/(kg·K)]
Returned
REAL TPSIDG : temperature [K],[ ◦C]
7.1.12 TPVAIR
temperature of air as a function of pressure and volume
REAL FUNCTION TPVAIR(P,V)
Input
REAL P : pressure [Pa],[bar]
REAL V : volume [m3 /kmol],[m 3/kg]
Returned
REAL TPVAIR : temperature [K],[ ◦C]
7.1.13 TPVIDG
temperature of ideal gas as a function of pressure and volume
REAL FUNCTION TPVIDG(ISUB,P,V)
Input
INTEGER ISUB : substance index of the gas
REAL P : pressure [Pa],[bar]
REAL V : volume [m3 /kmol],[m 3/kg]
Returned
REAL TPVIDG : temperature [K],[ ◦C]
7.1.14 TVSAIR
temperature of air as a function of volume and entropy
REAL FUNCTION TVSAIR(V,S)
Input
REAL V : volume [m3 /kmol],[m 3/kg]
REAL S : absolute entropy [J/(kmol·K)], [J/(kg·K)]
Returned
REAL TVSAIR : temperature [K],[ ◦C]
7.1.15 TVSIDG
temperature of ideal gas as a function of volume and entropy
REAL FUNCTION TVSIDG(ISUB,V,S)
Input
INTEGER ISUB : substance index of the gas
REAL V : volume [m3 /kmol],[m 3/kg]
REAL S : absolute entropy [J/(kmol·K)], [J/(kg·K)]

Descriptions of FUNCTIONs and SUBROUTINEs

577

Returned
REAL TVSIDG : temperature [K],[ ◦C]
7.1.16 TUAIR
temperature of air as a function of internal energy
REAL FUNCTION TUAIR(U)
Input
REAL U : internal energy [J/kmol], [J/kg]
Returned
REAL TUAIR : temperature [K],[ ◦C]
7.1.17 TUIDG
temperature of ideal gas as a function of internal energy
REAL FUNCTION TUIDG(ISUB,U)
Input
INTEGER ISUB : substance index of the gas
REAL U : internal energy [J/kmol], [J/kg]
Returned
REAL TUIDG : temperature [K],[ ◦C]

7.2 SUBROUTINEs
7.2.1 AIRTP
properties of air as a function of temperature and pressure
SUBROUTINE AIRTP(IERR,AMM,T,P,V,CP,CV,W,U,H,S)
Input
REAL T : temperature [K],[ ◦C]
REAL P : pressure [Pa],[bar]OutputINTEGER IERR : error detection code
0 : no error-2 : invalid ARGUMENT(s)REAL AMM : molar mass [kg/kmol]
REAL V : volume [m3 /kmol], [m3 /kg]
REAL CP : isobaric speciﬁc heat [J/(kmol·K)], [J/(kg·K)]
REAL CV : isochoric speciﬁc heat [J/(kmol·K)], [J/(kg·K)]
REAL W : speed of sound [m/s]
REAL U : internal energy [J/kmol], [J/kg]
REAL H : enthalpy [J/kmol], [J/kg]
REAL S : absolute entropy [J/(kmol·K)], [J/(kg·K)]
7.2.2 CHOTBL
properties of comlplete combustion-by-air product of CX HY OZ at 0.1MPa, Keenan-Chao-Kaye-style gas table.
SUBROUTINE CHOTBL(IERR,X,Y,Z,AF,AMM,T,H,PR,U,VR,S0)
Input
REAL AF : air factor (≥ 1)
REAL T : temperature [K],[ ◦C]
REAL X : value of X
REAL Y : value of Y
REAL Z : value of Z

578

I-PROPATH: Ideal Gases and Ideal Gas Mixtures

OutputINTEGER IERR : error detection code
0 : no error-2 : invalid ARGUMENT(s)REAL AMM : molar mass [kg/kmol]
REAL H : enthalpy [J/kmol], [J/kg]

1 T cpREAL PR : relative pressure, = exp
dt [-]R Tref T
REAL U : internal energy [J/kmol],[J/kg]
1 T cvREAL VR : relative volume, = exp −dt [-]R Tref T
T

cp
dT [J/(kmol·K)], [J/(kg·K)]
T ref T
where Tref is the reference temperature 298.15K(25 ◦C).

REAL S0 : entropy function, =7.2.3 FUELML
mole fractions of comlplete combustion-by-moist-air products of the mixture of CX HY OZ fuels.
SUBROUTINE FUELML(IERR,A,IR,AF,XW,XC,XH,XN,XO)
Input
REAL ARRAY A(1:4,1:IR) : parameters for a component fuel of the mixture of CX HY OZ fuels.
REAL ARRAY A(1,I) : mole fraction of the ith component fuel
REAL A(2,I) : value of X of the ith component fuel
REAL A(3,I) : value of Y of the ith component fuel
REAL A(4,I) : value of Z of the ith component fuel
INTEGER IR : number of component fuels of the mixture
REAL AF : air factor (≥ 1)
REAL XW : absolute humidity of the moist air [kg/kg of dry air]OutputINTEGER IERR : error detection code
0 : no error-2 : invalid ARGUMENT(s)REAL XC : mole fraction of CO2 in the combustion products [-]REAL XH : mole fraction of H2 O in the combustion products [-]REAL XN : mole fraction of N2 in the combustion products [-]REAL XO : mole fraction of O2 in the combustion products [-]7.2.4 IDGCMM
conversion from mole to mass, or reverse, for ideal gas
SUBROUTINE IDGCMM(IERR,ITRNS,ISUB,X,Y)
Input
INTEGER ITRNS : direction of conversion= 0 : conversion from mole to mass
= 0 : conversion from mass to mole
INTEGER ISUB : substance index of the gas
REAL X: mole (for ITRNS = 0 ) or mass (for ITRNS= 0 )OutputINTEGER IERR : error detection code
0 : no error-3 : invalid substance index ISUB speciﬁed
REAL Y : mass (for ITRNS = 0 ) or mole (for ITRNS = 0 )7.2.5 IDGFND
critical fundamental constants

Descriptions of FUNCTIONs and SUBROUTINEs

579

SUBROUTINE IDGFND(IERR,ISUB,C,ANAME)
Input
INTEGER ISUB : substance index
OutputINTEGER IERR : error detection code
0 : no error-3 : invalid substance index ISUB speciﬁed
REAL ARRAY C(1:10)
C(1) : molar mass [kg/kmol]
C(2) : critical temperature [K], [◦ C]
C(3) : critical pressure [Pa], [bar]C(4) : critical volume [m3 /kmol], [m3 /kg]
C(5) : ideal gas absolute entropy at reference state of 0.1MPa and 25◦ C, [J/(kmol· K)], [J/(kg · K)]
C(6) : ideal gas enthalpy of formation at reference state of 0.1MPa and 25◦ C, [[J/kmol], [J/kg]
C(7) : ideal gas Gibbs energy of formation at reference state of 0.1MPa and 25◦ C, [J/(kmol· K)], [J/(kg · K)]
C(8) : lower bound of temperature for the ideal gas isobaric speciﬁc heat equation [K], [◦ C]
C(9) : upper bound of temperature for the ideal gas isobaric speciﬁc heat equation [K], [◦C]
C(10) : type of state= 10 : ideal gas and reference state= 11 : ideal gas= 19 : ideal gas (not included in JANAF Table [3])CHARACTER*25 ANAME : name of substance
7.2.6 IDGT
properties of ideal gases at 0.1 MPa, JANAF-style table
SUBROUTINE IDGT(IERR,ISUB,T,A,ANAME)
Input
INTEGER ISUB : substance index
REAL T : temperature [K],[ ◦C]OutputINTEGER IERR : error detection code
0 : no error-2 : invalid ARGUMENT(s)-3 : invalid substance index ISUB speciﬁed
REAL ARRAY A(1:4)
A(1) : isobaric speciﬁc heat [J/(kmol·K)], [J/(kg·K)]
A(2) : absolute entropy [J/(kmol·K)], [J/(kg·K)]g◦ (T ) − h◦ (Tref )A(3) : −gref ◦ (T ) = −[J/(kmol·K)], [J/(kg·K)]
T
where g◦ (T ) and h◦ (Tref ) are the Gibbs free energy at a temperature T and the enthalpy at the reference
temperature of 298.15K, respectively.
A(4) : enthalpy [J/kmol], [J/kg]
CHARACTER*25 ANAME : name of substance7.2.7 IDGTBL
properties of ideal gases at 0.1MPa, Keenan-Chao-Kaye-style gas table
SUBROUTINE IDGTBL(IERR,ISUB,T,H,PR,U,VR,S0)Input
INTEGER ISUB : substance index of the gas
REAL T : temperature [K],[ ◦C]OutputINTEGER IERR : error detection code
0 : no error-2 : invalid ARGUMENT(s)580

I-PROPATH: Ideal Gases and Ideal Gas Mixtures-3 : invalid substance index ISUB speciﬁed
REAL AMM : molar mass [kg/kmol]
REAL H : enthalpy [J/kmol], [J/kg]

1 T cpREAL PR : relative pressure = exp −dt [-]R Tref T
REAL U : internal energy [J/kmol], [J/kg]
1 T cvREAL VR : relative volume = exp −dt [-]R Tref T
T

cp
dT [J/(kmol·K)], [J/(kg·K)]
T ref T
where Tref is the reference temperature 298.15K.

REAL S0 : entropy function, =7.2.8 IDGTP
properties of ideal gas as a function of temperature and pressure.
SUBROUTINE IDGTP(IERR,ISUB,T,P,V,CP,CV,WS,U,H,S,ANAME)
Input
INTEGER ISUB : substance index
REAL T : temperature [K],[ ◦C]
REAL P : pressure [Pa],[bar]OutputINTEGER IERR : error detection code
0 : no error-2 : invalid ARGUMENT(s)-3 : invalid substance index ISUB speciﬁed
REAL AMM : molar mass [kg/kmol]
REAL V : volume [m3 /kmol], [m3 /kg]
REAL CP : isobaric speciﬁc heat [J/(kmol·K)], [J/(kg·K)]
REAL CV : isochoric speciﬁc heat [J/(kmol·K)], [J/(kg·K)]
REAL W : speed of sound [m/s]
REAL U : internal energy [J/kmol], [J/kg]
REAL H : enthalpy [J/kmol], [J/kg]
REAL S : absolute entropy [J/(kmol·K)], [J/(kg·K)]
CHARACTER*25 ANAME : name of substance
7.2.9 IPINIT
Initialization
SUBROUTINE IPINIT(K1,K2,K3,KGAS,GASC)Input
INTEGER K1 : value of KPA for the units of pressure and temperature
INTEGER K2 : value of KMOL for the unit of amount of substance
INTEGER K3 : value of MESS for error message
INTEGER KGAS : universal gas constant = 8.31451 × 103 J/(kmol·K) (built-in value) when KGAS=0REAL GASC : universal gas constant = GASC (user’s selection) when KGAS= 0
Output
The values of KPA, KMOL, MESS and GASCON are sent to COMMON BLOCK UNIT and CNST. See section 1.1
and chapter 3.
7.2.10 MIXCMM
conversion from mass fraction to mole, or reverse, for mixture of ideal gases
SUBROUTINE MIXCMM(IERR,ITRNS,ISUBNO,ISUB,X,Y)Descriptions of FUNCTIONs and SUBROUTINEs

581

Input
INTEGER ITRNS : direction to conversion= 0 : mole fraction to mass fraction
= 0 : mass fraction to mole fraction
INTEGER ISUBNO : number of component gases
INTEGER ARRAY ISUB(1:ISUBNO) : substance index of the ISUBNO components
REAL ARRAY X(1:ISUBNO) : mole fraction (for ITRNS=0) or mass fraction (for ITRNS = 0) of the ith
component
OutputINTEGER IERR : error detection code
0 : no error-3 : invalid substance index, or invalid number of components
REAL ARRAY Y(1:ISUBNO) : mass fraction (for ITRNS=0) or mole fraction (for ITRNS = 0) of the ith
component
7.2.11 MIXTP
properties of a mixture of ideal gases as a function of temperature and pressure
SUBROUTINE MIXTP(IERR,ISUBNO,ISUB,AM,AMM,TI,PI,V,CP,CV,W,U,H,S)
Input
REAL T : temperature [K],[ ◦C]
REAL P : pressure [Pa],[bar]
INTEGER ISUBNO : number of component gases
INTEGER ARRAY ISUB(1:ISUBNO) : substance index of the ISUBNO components
REAL ARRAY AM(1:ISUBNO) : molar fraction of the ISUBNO components
OutputINTEGER IERR : error detection code
0 : no error-2 : invalid ARGUMENT(s)-3 : invalid substance index ISUB speciﬁed
REAL AMM : molar mass [kg/kmol]
REAL V : volume [m3 /kmol], [m3 /kg]
REAL CP : isobaric speciﬁc heat [J/(kmol·K)], [J/(kg·K)]
REAL CV : isochoric speciﬁc heat [J/(kmol·K)], [J/(kg·K)]
REAL W : speed of sound [m/s]
REAL U : internal energy [J/kmol], [J/kg]
REAL H : enthalpy [J/kmol], [J/kg]
REAL S : absolute entropy [J/(kmol·K)], [J/(kg·K)]