The aga8x92dc performs the calculation of mole average, molar density, density and
compression in accordance with:
Starling, K.E., Savidge, J.L.: Compressibility Factors for
Natural Gas and Other Hydrocarbon Gases", American Gas
Association (AGA) Transmission Measurement Committee Report
No. 8, American Petroleum Institute (API) MpMS, chapter
14.2, second edition, November 1992.
Table 1: Description of the aga8x92dc 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] |
- |
double GetDensity() | ||||||||||||||
Compression |
- |
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/1992 virial-type equation | long int CalculateAga8x92dc(); 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 CalculateAga8x92dc() method as follows | ||||||||||||||||
| Bit 0 =1 (000001H) | There exist at least one mole fraction < 0 or > 1. | |||||||||||||||
| 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 >1.0. | |||||||||||||||
| Bit 4 =1 (000010H) | The mole fraction of Nitrogen >1.0. | |||||||||||||||
| Bit 5 =1 (000020H) | The mole fraction of Carbon Dioxide >1.0. | |||||||||||||||
| Bit 6 =1 (000040H) | The mole fraction of Ethane >1.0. | |||||||||||||||
| Bit 7 =1 (000080H) | The mole fraction of Propane >0.12. | |||||||||||||||
| Bit 8 =1 (000100H) | The mole fraction of Water >0.1. | |||||||||||||||
| Bit 9 =1 (000200H) | The mole fraction of Hydrogen sulfide > 1.0. | |||||||||||||||
| Bit 10 =1 (000400H) | The mole fraction of Hydrogen >1.0. | |||||||||||||||
| Bit 11 =1 (000800H) | The mole fraction of Carbon monoxide > 0.03. | |||||||||||||||
| Bit 12 =1 (001000H) | The mole fraction of Oxygen >0.21. | |||||||||||||||
| Bit 13=1 (002000H) | The mole fraction of Butanes (n-Butane + i-Butane) >0.06. | |||||||||||||||
| Bit 14 =1 (004000H) | The mole fraction of Pentanes (n-pentane + i-Pentane) >0.04. | |||||||||||||||
| Bit 15 =1 (008000H) | The mole fraction of Hexanes plus (n-Hexane + n-Heptane + n-Octane + n-Nonane, n-Decane) >0.1. | |||||||||||||||
| Bit 16 =1 (010000H) | The mole fraction of Helium >0.03. | |||||||||||||||
| Bit 17 =1 (020000H) | The mole fraction of Argon >0.01 | |||||||||||||||
| Bit 18 =1 (040000H) | The pressure <0.1 Pa or >275.8 MPa. | |||||||||||||||
| Bit 19 =1 (080000H) | The temperature temperature <144 K or >678 K. | |||||||||||||||
| Bit 20 =1 (100000H) | The relative density <0.07 or >1.52. | |||||||||||||||
| Bit 21 =1 (200000H) | The superior calorific value <0 MJ/m^3 or >67.066 MJ/m^3. | |||||||||||||||
| Bit 22 =1 (400000H) | No convergence. | |||||||||||||||
| Bit 23 (800000H) | Unused. | |||||||||||||||
| Bit 24 =1 (1000000H) | Incorrect keycode entered. | |||||||||||||||
| Bit 25,... | All higher bits are unused. | |||||||||||||||