The iso12213x2 performs the calculation of mole average, molar density, density and
compression in accordance with:
International standard ISO-12213-2: Natural gas -
Calculation of compression factor - Part2: Calculation using
molar-composition analysis, 1997-12-01.
Table 1: Description of the iso12213x2 class interface: properties (variables), methods (functions) and error flags.
PROPERTIES |
||||||||||||||||
| Natural gas component | Set property value |
Get property value |
||||||||||||||
I |
X(I) mole fraction for |
|||||||||||||||
0 |
Methane |
void SetComponentMolarFraction(short I, double X(I)) |
double GetComponentMolarFraction(short I) | |||||||||||||
1 |
Nitrogen |
|||||||||||||||
2 |
Carbon dioxide |
|||||||||||||||
3 |
Ethane |
|||||||||||||||
4 |
Propane |
|||||||||||||||
5 |
Water |
|||||||||||||||
6 |
Hydrogen sylfide |
|||||||||||||||
7 |
Hydrogen |
|||||||||||||||
8 |
Carbon monoxide |
|||||||||||||||
9 |
Oxygen |
|||||||||||||||
10 |
iso-Butane |
|||||||||||||||
11 |
n-Butane |
|||||||||||||||
12 |
iso-Pentane |
|||||||||||||||
13 |
n-Pentane |
|||||||||||||||
14 |
n-Hexane |
|||||||||||||||
15 |
n-Heptane |
|||||||||||||||
16 |
n-Octane |
|||||||||||||||
17 |
n-Nonane |
|||||||||||||||
18 |
n-Decane |
|||||||||||||||
19 |
Helium |
|||||||||||||||
20 |
Argon |
|||||||||||||||
Pressure [MPa] |
void SetPressureMPa(double newP) | double GetPressureMPa() | ||||||||||||||
Temperature [K] |
void SetTemperatureK(double newT) | double GetTemperatureK() | ||||||||||||||
Error status |
- |
long int GetErrorFlag() | ||||||||||||||
Mole average |
- |
double GetMoleAverage() | ||||||||||||||
Molar density [kg-mole/m3] |
- |
double GetMolarDensity() | ||||||||||||||
Density [kg/m3] (see Figure) |
- |
double GetDensity() | ||||||||||||||
Compression (see Figure) |
- |
double GetCompression() | ||||||||||||||
Relative density at T2=273.15[K], p2=0.101325[MPa] |
- |
double GetRelativeDensity() | ||||||||||||||
Superior calorific value on a volumetric basis at T1=298.15[K], T2=273.15[K], p1=p2=0.101325[MPa] |
- |
double GetSuperiorCalorificValue() | ||||||||||||||
METHODS |
||||||||||||||||
| Calculation of AGA8-92DC virial-type equation (ISO12213-2) | long int CalculateIso12213x2(); calculates mole average, molar density, density, compression, relative density, superior calorific value and returns long int error status | |||||||||||||||
ERROR STATUS |
||||||||||||||||
| Error status bits are cleared or set upon the completion of long int CalculateIso12213x2() method as follows | ||||||||||||||||
| Bit 0 =1 (000001H) | There exist at least one mole fraction < 0. | |||||||||||||||
| Bit 1 =1 (000002H) | The total sum of mole fractions <0.98 or >1.02 | |||||||||||||||
| Bit 2 =1 (000004H) | The total sum of mole fractions is not exactly equal to 1. This bit denotes only the warning that the fractions have been normalized to give the total sum of mole fractions equal to 1. If only bit 2 was set during the calculation the results are valid. | |||||||||||||||
| Bit 3 =1 (000008H) | The mole fraction of Methane <0.5 or >1.0. | |||||||||||||||
| Bit 4 =1 (000010H) | The mole fraction of Nitrogen >0.5. | |||||||||||||||
| Bit 5 =1 (000020H) | The mole fraction of Carbon Dioxide >0.3. | |||||||||||||||
| Bit 6 =1 (000040H) | The mole fraction of Ethane >0.2. | |||||||||||||||
| Bit 7 =1 (000080H) | The mole fraction of Propane >0.05. | |||||||||||||||
| Bit 8 =1 (000100H) | The mole fraction of Water >0.00015. | |||||||||||||||
| Bit 9 =1 (000200H) | The mole fraction of Hydrogen sulfide > 0.0002. | |||||||||||||||
| Bit 10 =1 (000400H) | The mole fraction of Hydrogen >0.10. | |||||||||||||||
| Bit 11 =1 (000800H) | The mole fraction of Carbon monoxide > 0.03. | |||||||||||||||
| Bit 12 =1 (001000H) | The mole fraction of Oxygen >0.0002. | |||||||||||||||
| Bit 13=1 (002000H) | The mole fraction of Butanes (n-Butane + i-Butane) >0.015. | |||||||||||||||
| Bit 14 =1 (004000H) | The mole fraction of Pentanes (n-pentane + i-Pentane) >0.005. | |||||||||||||||
| Bit 15 =1 (008000H) | The mole fraction of Hexanes (n-Hexane) >0.001. | |||||||||||||||
| Bit 16 =1 (010000H) | The mole fraction of Heptanes (n-Heptane) >0.0005. | |||||||||||||||
| Bit 17 =1 (020000H) | The mole fraction of octanes plus higher hydrocarbons (n-Octane + n-Nonane + n-Decane) >0.01. | |||||||||||||||
| Bit 18 =1 (040000H) | The mole fraction of Helium >0.005. | |||||||||||||||
| Bit 19 =1 (080000H) | The mole fraction of Argon >0.0002 | |||||||||||||||
| Bit 20 =1 (100000H) | The pressure <0.1 Pa or >65 MPa. | |||||||||||||||
| Bit 21 =1 (200000H) | The temperature temperature <225 K or >350 K. | |||||||||||||||
| Bit 22 =1 (400000H) | The relative density <0.55 or >0.90. | |||||||||||||||
| Bit 23 =1 (800000H) | The superior calorific value <20 MJ/m^3 or >48 MJ/m^3. | |||||||||||||||
| Bit 24,... | All higher bits are unused. | |||||||||||||||