aga3 - Instructions for use
Revision: Feb 26, 2010
E-mail: info@felib.com
aga3 is the C source code implementation of the natural gas flow-rate calculation in accordance with AGA Report No. 3 equation of state.
References:
1. AGA Report No. 3, “ORIFICE METERING OF NATURAL GAS AND OTHER RELATED HYDROCARBON FLUIDS
PART1: General Equations and Uncertainty Guidelines, (Third Edition, October 1990, 2nd printing, June 2003), American Gas Association and American Petroleum Institute, 1990, 2003.
PART4: Background, Development, Implementation Procedure, and Subroutine Documentation for Empirical Flange-Tapped Discharge Coefficient Equation, (Third Edition, October 1992, 2nd Printing, August 1995, 3rd Printing, June 2003), American Gas Association and American Petroleum Institute, 1992, 1995, 2003.
The aga3 function implements the AGA Report No. 3 with operating ranges defined in Table 3.1. The software is written in a C-language and embeds all the restrictions implied by AGA-3/2003. The code is fully re-entrant and ANSI C compatible. The following is a brief description of a header, the corresponding input/output parameters and an example of a main program in a c-source code.
1. Header file: aga3.h
The following is the header of the function:
#include "stdio.h"
#include "math.h"
/* declaration of the structure */
struct aga3
{
/* INPUT PARAMETERS */
short ud; /* Position of pressure measurement tap: 0-upstream, 1-downstream */
double px; /* Flowing pressure [Pa] measured either upstream or downstream */
double pl; /* Local barometric pressure [Pa] if gauge pressure measurement else pl=0 */
double dp; /* Differential pressure [Pa] */
double tf; /* Flowing temperature [K] */
double tp; /* Temperature [K] at which meter tube internal diameter was measured */
double pdtp; /* Meter tube internal diameter [m] measured at temperature tp */
double ap; /* Linear coefficient of thermal expansion [m/m-K] of the meter tube material */
double to; /* Temperature [K] at which orifice diameter was measured */
double odto; /* Orifice bore diameter [m] measured at temperature to */
double ao; /* Linear coefficient of thermal expansion of the orifice plate material [m/m-K] */
double d; /* Fluid density [kg/m3] */
double db; /* Fluid base density [kg/m3] */
double v; /* Fluid dynamic viscosity [Pa*s] */
double k; /* Isentropic exponent [], k=-1 for liquids) */
/* OUTPUT PARAMETERS */
unsigned long int es; /* Error status */
double mfr; /* Mass flow rate [kg/s] */
double vfr; /* Volume flow rate at flowing conditions [m3/s] */
double vfrb; /* Volume flow rate at base conditions [m3/s] */
double cd; /* Coefficient of discharge [] */
double y; /* Expansion factor */
double ev; /* Velocity of approach factor */
double ReD; /* Pipe Reynolds number [] */
double od; /* Orifice diameter [m] */
double pd; /* Meter tube diameter [m] */
double br; /* Orifice to pipe diameter ratio at flowing temperature [] */
// Temporary parameters
short i;
double br2, br4, br08;
double l1, l2, m2, td, tu, ts, cd0, cd1, cd2, cd3, cd4, pf;
double fic, fip, fi, xx, fc, dc, dcd;
};
/* declaration of the function aga3.c */
void aga3(struct aga3 *);
2. Input and output parameters
The following Table shows the description of input and output parameters in the aga3 struct:
Table 2.1
|
Input parameters |
|||
|
Data type |
Parameter |
Parameter description |
Physical unit |
|
short int |
aga3.ud |
Position of pressure tap: 0-upstream, 1-downstream of the orifice plate |
dimensionless |
|
double |
aga3.px |
Flowing pressure |
Pa |
|
double |
aga3.pl |
Local barometric pressure |
Pa |
|
double |
aga3.dp |
Differential pressure |
Pa |
|
double |
aga3.tf |
Flowing temperature |
K |
|
double |
aga3.tp |
Temperature at which meter tube internal diameter was measured |
K |
|
double |
aga3.pdtp |
Meter tube internal diameter |
m |
|
double |
aga3.ap |
Meter tube material coefficient of thermal expansion |
m/m-K |
|
double |
aga3.to |
Temperature at which orifice diameter was measured |
K |
|
double |
aga3.odto |
Orifice bore diameter |
m |
|
double |
aga3.ao |
Orifice plate material coefficient of thermal expansion |
m/m-K |
|
double |
aga3.d |
Fluid density |
kg/m3 |
|
double |
aga3.db |
Fluid base density |
kg/m3 |
|
double |
aga3.v |
Fluid dynamic viscosity |
Pa*s |
|
double |
aga3.k |
Isentropic exponent |
dimensionless |
|
Output parameters |
|||
|
unsigned long int |
aga3.ReD |
error status |
dimensionless |
|
double |
aga3.mfr |
Mass flow rate [kg/s] |
kg/s |
|
double |
aga3.vfr |
Volume flow rate at flowing conditions [m3/s] |
m3/s |
|
double |
aga3.vfrb |
Volume flow rate at base conditions [m3/s] |
m3/s |
|
double |
aga3.cd |
Coefficient of discharge |
dimensionless |
|
double |
aga3.y |
Expansion factor |
dimensionless |
|
double |
aga3.ev |
Velocity of approach factor |
dimensionless |
|
double |
aga3.ReD |
Pipe Reynolds number |
dimensionless |
|
double |
aga3.od |
Orifice diameter [m] |
m |
|
double |
aga3.pd |
Meter tube diameter [m] |
m |
|
double |
aga3.br |
Orifice to pipe diameter ratio at flowing temperature |
dimensionless |
3. Parameter ranges
The following Table shows the range limits for ‘aga3’ input parameters.
Table 3.1 Ranges of application for ‘aga3’ flow rate calculation
|
Ranges of application for 'aga3' flow rate calculation using AGA Report No. 3/2003 |
|
|
Parameter |
Valid range |
|
Absolute pressure: (aga3.px) |
0.0 Pa to 109 Pa |
|
Temperature: (aga3.tf) |
0 to 104 K |
|
Differential pressure: (aga3.dp) |
0 to 0.3* Pf_upstream Pa |
|
Local barometric pressure: (aga3.pl) |
0 to 0.2 MPa |
|
Meter tube internal diameter: (aga3.pdtp) |
40 to 1000 mm |
|
Temperature at which meter tube internal diameter is measured: (aga3.tp) |
223.15 to 373.15 K |
|
Linear coefficient of thermal expansion of the meter tube material: (aga3.ap) |
0 to 0.01 m/m-K |
|
Orifice bore diameter: (aga3.odto) |
0.05*Pd£Od£0.75Pd; Od³4mm |
|
Temperature at which orifice plate bore diameter was measured: (aga3.to) |
223.15 to 373.15 K |
|
Linear coefficient of thermal expansion of the orifice plate material: (aga3.ao) |
0 to 0.01 m/m-K |
|
Orifice bore to meter tube internal diameter ratio – beta ratio: (aga3.br) |
0.05£br£0.75 |
|
Fluid density : (aga3.d) |
0.000001£d£10000 kg/m3 |
|
Fluid dynamic viscosity: (aga3.v) |
0.0£v£10.0 Pa*s |
|
Isentropic exponent: (aga3.k) |
0.1£k£2000; k=-1 for liquids |
4. Error status
After completion of the routine the error status - aga3.es (unsigned long integer) will be cleared if there were no errors during the calculation, or the corresponding bits will be set if certain errors were encountered. The description of the error status (aga3.es) bits is given in Table 4.1.
Table 4.1
|
Bit number |
Hexadecimal address |
Description |
|
Bit 0 |
=1 (000001H) |
If pressure <0.0 Pa or >1000 MPa, else =0. |
|
Bit 1 |
=1 (000002H) |
If temperature <0 K or >10000 K, else =0. |
|
Bit 2 |
=1 (000004H) |
If differential pressure <0 Pa or >0.3* Pf_upstream Pa, else =0. |
|
Bit 3 |
=1 (000008H) |
If local barometric pressure <0 MPa or >0.2 Mpa, else =0. |
|
Bit 4 |
=1 (000010H) |
If meter tube internal diameter <40 mm or >1000 mm, else =0. |
|
Bit 5 |
=1 (000020H) |
If temperature at which meter tube internal diameter was measured <223.15 K or >373.15 K, else =0. |
|
Bit 6 |
=1 (000040H) |
If linear coefficient of thermal expansion of the meter tube material <0 m/m-K or >0.01 m/m-K, else =0. |
|
Bit 7 |
=1 (000080H) |
If orifice bore diameter <4mm or >0.75*Pd, else =0. |
|
Bit 8 |
=1 (000100H) |
If temperature at which orifice plate bore diameter was measured <223.15 K or >373.15 K, else =0. |
|
Bit 9 |
=1 (000200H) |
If linear coefficient of thermal expansion of the orifice plate material <0 m/m-K or >0.01 m/m-K, else =0. |
|
Bit 10 |
=1 (000400H) |
If fluid density <0.000001 kg/m3 or >10000 kg/m3, else =0 |
|
Bit 11 |
=1 (000800H) |
If fluid dynamic viscosity <0 Pa*s or >10 Pa*s, else =0 |
|
Bit 12 |
=1 (001000H) |
If isentropic exponent ¹-1 and (<0.1 or >2000), else =0 |
|
Bit 13 |
=1 (002000H) |
If Pipe Reynolds number <4000, else=0 |
|
Bit 14 |
=1 (004000H) |
If beta ratio <0.05 or >0.75, else=0 |
|
Bit 15,... |
=x (008000H) |
All higer bits are unused |
The error status (aga3.es) represents all the errors encountered in the calculation. If bits 0,...,14 are all cleared, the returned output results are valid. If only bit 13 of the error status (aga3.es) is set the returned results are obtained at low Reynolds number and need to be used with caution. In all other cases the results are beyond the scope of AGA-3 and will be cleared.
5. Example of a main program calling function aga3
The following example illustrates the call to aga3 routine from a main program. The program defines a struct for AGA3/2003 input/output data. The program prompts for the selection of the examples (1 to 13) given in Section 6. Calculation examples (AGA3 examples - Table 6.1 and EUB test cases Table 6.2) or for the manual setup of input parameters. The program then transfers the input parameters to the corresponding struct. After the execution the program prints both the input parameters and the results on the screen.
/* **************************************** */
/* THE BEGINNING OF THE MAIN PROGRAM C-CODE */
/* **************************************** */
#include "conio.h"
#include "aga3.h"
void main(void)
{
struct aga3 aga, *agap; /* 'agap' is a pointer to a structure 'aga' */
unsigned short int j, i, m;
char ch;
double yy[13][14] = {
// Input parameters: px, pl, dp, tf, tp, pdtp, ap, to, odto, ao, d, db, v, k
// AGA-3/Part 4/Section 3.4.3 Calculation Examples
101325.0f, 0.0f, 27415.0f, 372.04f, 293.15f, 0.049262f, 0.0000112f,
293.15f, 0.036909f, 0.0000167f, 941.75f, 999.01f, 0.0002825f, -1.0f,
101325.0f, 0.0f, 2238.0f, 255.37f, 293.15f, 0.202729f, 0.0000112f,
293.15f, 0.040481f, 0.0000167f, 932.26f, 910.83f, 1.8650f, -1.0f,
1378950.0f, 0.0f, 13987.0f, 255.37f, 293.15f, 0.102270f, 0.0000112f,
293.15f, 0.067667f, 0.0000167f, 32.783f, 1.86131f, 0.00001352f, 1.3198f,
1378950.0f, 0.0f, 559.5f, 255.37f, 293.15f, 0.049262f, 0.0000112f,
293.15f, 0.004961f, 0.0000167f, 32.783f, 1.86131f, 0.00001352f, 1.3198f,
1378950.0f, 0.0f, 109663.0f, 255.37f, 293.15f, 0.049262f, 0.0000112f,
293.15f, 0.004961f, 0.0000167f, 32.783f, 1.86131f, 0.00001352f, 1.3198f,
101325.0f, 0.0f, 559.5f, 255.37f, 293.15f, 0.202729f, 0.0000112f,
293.15f, 0.020241f, 0.0000167f, 932.26f, 910.83f, 1.8650f, -1.0f,
/* EUB test cases 1 to 7 */
2818090.0f, 0.0f, 10200.0f, 330.15f, 293.15f, 0.05237f, 0.0000112f,
293.15f, 0.009525f, 0.0000167f, 24.96808f, 0.958787f, 0.000010268f, 1.3f,
9.100940E+06f, 0.0f, 11000.0f, 323.15f, 293.15f, 0.10226f, 0.0000112f,
293.15f, 0.047625f, 0.0000167f, 90.33028f, 0.91661f, 0.000010268f, 1.3f,
1.034214E+07f, 0.0f, 22160.0f, 333.15f, 293.15f, 0.59055f, 0.0000112f,
293.15f, 0.3048f, 0.0000167f, 107.9166f, 1.007916f, 0.000010268f, 1.3f,
9.839990E+06f, 0.0f, 6613.0f, 295.5f, 293.15f, 0.14636f, 0.0000112f,
293.15f, 0.0889f, 0.0000167f, 79.88845f, 0.712488f, 0.000010268f, 1.3f,
2.499900E+06f, 0.0f, 75000.0f, 307.15f, 293.15f, 0.15405f, 0.0000112f,
293.15f, 0.09525f, 0.0000167f, 23.1822f, 0.929256f, 0.000010268f, 1.3f,
2.506330E+06f, 0.0f, 17050.0f, 280.35f, 293.15f, 0.0525f, 0.0000112f,
293.15f, 0.01905f, 0.0000167f, 30.377f, 1.03149f, 0.000010268f, 1.3f,
2.999200E+05f, 0.0f, 6345.5f, 274.82f, 293.15f, 0.0525f, 0.0000112f,
293.15f, 0.0127f, 0.0000167f, 2.57668f, 0.824924f, 0.000010268f, 1.3f,
};
char *text_ud = "Upstream (=0) or downstream (=1) pressure tap: ";
char *text_px = "Flowing pressure [Pa]: ";
char *text_pl = "Local barometric pressure if gauge pressure, else =0 [Pa]: ";
char *text_dp = "Differential pressure [Pa]: ";
char *text_tf = "Flowing temperature [K]: ";
char *text_tp = "Temperature at which meter tube diameter is measured [K]: ";
char *text_pdtp = "Measured meter tube internal diameter [m]: ";
char *text_ap = "Thermal coefficient of meter tube material [m/m-K]: ";
char *text_to = "Temperature at which orifice bore diameter is measured [K]: ";
char *text_odto = "Measured orifice bore diameter [m]: ";
char *text_ao = "Thermal coefficient of orifice plate material [m/m-K]: ";
char *text_d = "Flowing Density [kg/m3]: ";
char *text_db = "Base density [kg/m3]: ";
char *text_v = "Dynamic viscosity [Pa*s]: ";
char *text_k = "Isentropic exponent: ";
char *text_mfr = "Mass flow rate [kg/s]: ";
char *text_vfr = "Volume flow rate [m3/s]: ";
char *text_vfrb = "Volume flow rate at base conditions [m3/s]: ";
char *text_cd = "Coefficient of discharge []: ";
char *text_y = "Expansion factor []: ";
char *text_ev = "Velocity of approach factor []: ";
char *text_ReD = "Pipe Reynolds number []: ";
char *text_od = "Orifice diameter at flowing conditions [m]: ";
char *text_pd = "Meter tube diameter at flowing conditions [m]: ";
char *text_br = "Beta ratio at flowing temperature []: ";
for (j=0; ; ) {
/* Get input parameters */
printf("\n\nINPUT PARAMETERS\n");
printf("%s = ", "Select examples (1), or complete setup (2). Type 1 or 2: "); scanf("%d", &m);
if (m==1) { // Select predefined example
printf("%s = ", "Select Example calculation (1-6 AGA3, 7-13 EUB). Type 1-13: ");
scanf("%d", &i);
/* Input parameters for flow-rate calculation */
if (i>0 && i<14) {
i = i-1;
}
else {
i = 0;
}
// set input parameters
aga.ud = 0;
aga.px = yy[i][0];
aga.pl = yy[i][1];
aga.dp = yy[i][2];
aga.tf = yy[i][3];
aga.tp = yy[i][4];
aga.pdtp = yy[i][5];
aga.ap = yy[i][6];
aga.to = yy[i][7];
aga.odto = yy[i][8];
aga.ao = yy[i][9];
aga.d = yy[i][10];
aga.db = yy[i][11];
aga.v = yy[i][12];
aga.k = yy[i][13];
}
else { // Enter each parameter individually
printf("%s = ", text_ud); scanf("%d", &(aga.ud));
printf("%s = ", text_px); scanf("%lf", &(aga.px));
printf("%s = ", text_pl); scanf("%lf", &(aga.pl));
printf("%s = ", text_dp); scanf("%lf", &(aga.dp));
printf("%s = ", text_tf); scanf("%lf", &(aga.tf));
printf("%s = ", text_tp); scanf("%lf", &(aga.tp));
printf("%s = ", text_pdtp); scanf("%lf", &(aga.pdtp));
printf("%s = ", text_ap); scanf("%lf", &(aga.ap));
printf("%s = ", text_to); scanf("%lf", &(aga.to));
printf("%s = ", text_odto); scanf("%lf", &(aga.odto));
printf("%s = ", text_ao); scanf("%lf", &(aga.ao));
printf("%s = ", text_d); scanf("%lf", &(aga.d));
printf("%s = ", text_db); scanf("%lf", &(aga.db));
printf("%s = ", text_v); scanf("%lf", &(aga.v));
printf("%s = ", text_k); scanf("%lf", &(aga.k));
}
agap=&aga; // set pointer to struct aga
aga3(agap); // call aga3 procedure by passing the pointer to struct aga
/* Print input parameters */
printf("\n%s%d", text_ud, aga.ud);
printf("\n%s%e", text_px, aga.px);
printf("\n%s%e", text_pl, aga.pl);
printf("\n%s%e", text_dp, aga.dp);
printf("\n%s%e", text_tf, aga.tf);
printf("\n%s%e", text_tp, aga.tp);
printf("\n%s%e", text_pdtp, aga.pdtp);
printf("\n%s%e", text_ap, aga.ap);
printf("\n%s%e", text_to, aga.to);
printf("\n%s%e", text_odto, aga.odto);
printf("\n%s%e", text_ao, aga.ao);
printf("\n%s%e", text_d, aga.d);
printf("\n%s%e", text_db, aga.db);
printf("\n%s%e", text_v, aga.v);
printf("\n%s%e", text_k, aga.k);
printf("\nR E S U L T S");
/* es, mfr, vfr, vfrb, cd, y, ev, ReD, od, pd, br */
printf("\nError(Hex) = %x", aga.es);
printf("\n%s%e", text_mfr, aga.mfr);
printf("\n%s%e", text_vfr, aga.vfr);
printf("\n%s%e", text_vfrb, aga.vfrb);
printf("\n%s%e", text_cd, aga.cd);
printf("\n%s%e", text_y, aga.y);
printf("\n%s%e", text_ev, aga.ev);
printf("\n%s%e", text_ReD, aga.ReD);
printf("\n%s%e", text_od, aga.od);
printf("\n%s%e", text_pd, aga.pd);
printf("\n%s%e", text_br, aga.br);
printf("\nPress X to exit or anything else to continue: ");
ch = getch();
if (( ch == 'X') || (ch == 'x'))
break;
}
}
/* ********************************** */
/* THE END OF THE MAIN PROGRAM C-CODE */
/* ********************************** */
6. Calculation examples
The following tables contain the comparison of the single precision ‘aga3’ results of flow rate calculation with the AGA-3/Part 4/Section 4.3.4 Example Calculations (Table 6.1) and with the EUB test cases (Table 6.2) The ‘aga3’ routine can be tested from ‘main’ program by selecting the corresponding predefined example or by setting-up each input parameter individually.
Table 6.1. Comparison of ‘aga3’ results with AGA-3/Part 4/Chapter 4.3.4 Example Calculations
|
Parameter |
Flow metering conditions |
|||||
|
Reference temperature [°C] |
20 |
20 |
20 |
20 |
20 |
20 |
|
Pipe diameter [mm] |
49.262 |
202.729 |
102.27 |
49.262 |
49.262 |
202.729 |
|
Pipe CTE [mm/mm-°C] |
0.0000112 |
0.0000112 |
0.0000112 |
0.0000112 |
0.0000112 |
0.0000112 |
|
Orifice bore diameter [mm] |
36.909 |
40.481 |
67.667 |
4.961 |
4.961 |
20.241 |
|
Orifice plate CTE [mm/mm-°C] |
0.0000167 |
0.0000167 |
0.0000167 |
0.0000167 |
0.0000167 |
0.0000167 |
|
Static pressure (U/S Tap) [kPa] |
101.325 |
101.325 |
1378.95 |
1378.95 |
1378.95 |
101.325 |
|
Differential pressure [kPa] |
27.415 |
2.238 |
13.987 |
0.559 |
109.663 |
0.559 |
|
Flowing temperature [°C] |
372.04 |
255.37 |
255.37 |
255.37 |
255.37 |
255.37 |
|
Base pressure [psia] |
N/A |
N/A |
N/A |
N/A |
N/A |
N/A |
|
Base temperature [°F] |
N/A |
N/A |
N/A |
N/A |
N/A |
N/A |
|
Flowing density [kg/m3] |
941.75 |
932.26 |
32.783 |
32.783 |
32.783 |
932.26 |
|
Base density [kg/m3] |
999.01 |
910.83 |
1.86131 |
1.86131 |
1.86131 |
910.83 |
|
Viscosity [Pa*s] |
0.0002825 |
1.865 |
0.00001352 |
0.00001352 |
0.00001352 |
1.865 |
|
Isentropic exponent k (incompressible fluid k=-1) |
-1 |
-1 |
1.3198 |
1.3198 |
1.3198 |
-1 |
|
Parameter |
Results: 'aga3' routine (U/S Tap) |
|||||
|
Coefficient of discharge: Cd |
0.610059 |
1.147523 |
0.605436 |
0.602961 |
0.598999 |
1.154086 |
|
Expansion factor: Y |
1 |
1 |
0.996334 |
0.999874 |
0.975293 |
1 |
|
Velocity of approach factor: Ev |
|
1.000795 |
1.112137 |
1.000051 |
1.000051 |
1.00005 |
|
Mass flow rate : Qm[kg/s] |
5.684783 |
3.015531 |
2.30743 |
0.00222934 |
0.0302435 |
0.378834 |
|
Volumetric flow rate at base conditions : Qvb[m3/s] |
0.00569042 |
0.00331075 |
1.239681 |
0.00119772 |
0.0162485 |
0.000415921 |
|
Parameter |
Results: AGA-3/Part 4/Chapter 4.3.4 Example Calculations |
|||||
|
Coefficient of discharge: Cd |
0.610059 |
1.147522 |
0.605436 |
0.602961 |
0.598999 |
1.154086 |
|
Expansion factor: Y |
1 |
1 |
0.996334 |
0.999874 |
0.975293 |
1 |
|
Velocity of approach factor: Ev |
1.208835 |
1.000795 |
1.112137 |
1.000051 |
1.000051 |
1.00005 |
|
Mass flow rate : Qm[kg/s] |
5.684827 |
3.01554 |
2.307496 |
0.00222935 |
0.0302437 |
0.378835 |
|
Volumetric flow rate at base conditions : Qvb[m3/s] |
0.00569046 |
0.00331076 |
1.239716 |
0.00119773 |
0.0162486 |
0.000415923 |
|
Parameter |
Relative error [%]: 100*(aga3-AGA3_Part4)/AGA3_Part4 |
|||||
|
Coefficient of discharge: Cd |
0.0000 |
0.0001 |
0.0000 |
0.0000 |
0.0000 |
0.0000 |
|
Expansion factor: Y |
0.0000 |
0.0000 |
0.0000 |
0.0000 |
0.0000 |
0.0000 |
|
Velocity of approach factor: Ev |
0.0001 |
0.0000 |
0.0000 |
0.0000 |
0.0000 |
0.0000 |
|
Mass flow rate : Qm[kg/s] |
-0.0008 |
-0.0003 |
-0.0029 |
-0.0004 |
-0.0007 |
-0.0003 |
|
Volumetric flow rate at base conditions : Qvb[m3/s] |
-0.0007 |
-0.0003 |
-0.0028 |
-0.0008 |
-0.0006 |
-0.0005 |
Table 6.2. Comparison of ‘aga3’ results with EUB test cases
|
|
Molar fractions of the gas mixture components |
|||||||||
|
Component |
EUB Test 1 |
EUB Test 2 |
EUB Test 3 |
EUB Test 4 |
EUB Test 5 |
EUB Test 6 |
EUB Test 7 |
|||
|
Methane |
0.7068 |
0.7334 |
0.6 |
0.9709 |
0.7358 |
0.6668 |
0.872 |
|||
|
Nitrogen |
0.0184 |
0.0156 |
0.05 |
0.0029 |
0.0235 |
0.0268 |
0.007 |
|||
|
Carbon dioxide |
0 |
0.0216 |
0.1 |
0.0258 |
0.0082 |
0.003 |
0.04 |
|||
|
Ethane |
0.1414 |
0.0697 |
0.05 |
0.0003 |
0.1296 |
0.1434 |
0.034 |
|||
|
Propane |
0.0674 |
0.0228 |
0 |
0.0001 |
0.0664 |
0.1023 |
0.025 |
|||
|
Water |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
|||
|
Hydrogen sulfide |
0.026 |
0.1166 |
0.2 |
0 |
0.0021 |
0 |
0 |
|||
|
Hydrogen |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
|||
|
Carbon monoxide |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
|||
|
Oxygen |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
|||
|
iso-Butane |
0.0081 |
0.0044 |
0 |
0 |
0.0088 |
0.0123 |
0.0062 |
|||
|
n-Butane |
0.019 |
0.0075 |
0 |
0 |
0.0169 |
0.0274 |
0.009 |
|||
|
i-Pentane |
0.0038 |
0.0028 |
0 |
0 |
0.0035 |
0 |
0.0052 |
|||
|
n-Pentane |
0.0043 |
0.0024 |
0 |
0 |
0.0031 |
0 |
0.0016 |
|||
|
n-Hexane |
0.0026 |
0.0017 |
0 |
0 |
0.0014 |
0.018 |
0 |
|||
|
n-Heptane |
0.0022 |
0.0015 |
0 |
0 |
0.0007 |
0 |
0 |
|||
|
n-Octane |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
|||
|
n-Nonane |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
|||
|
n-Decane |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
|||
|
Argon |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
|||
|
Total sum of fractions |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
|||
|
Parameter |
Flow metering conditions: EUB |
|||||||||
|
Reference temperature [°C] |
20 |
20 |
20 |
20 |
20 |
20 |
20 |
|||
|
Pipe diameter [mm] |
52.37 |
102.26 |
590.55 |
146.36 |
154.05 |
52.5 |
52.5 |
|||
|
Pipe CTE [mm/mm-°C] |
0.0000112 |
0.0000112 |
0.0000112 |
0.0000112 |
0.0000112 |
0.0000112 |
0.0000112 |
|||
|
Orifice bore diameter [mm] |
9.525 |
47.625 |
304.8 |
88.9 |
95.25 |
19.05 |
12.7 |
|||
|
Orifice plate CTE [mm/mm-°C] |
0.0000167 |
0.0000167 |
0.0000167 |
0.0000167 |
0.0000167 |
0.0000167 |
0.0000167 |
|||
|
Static pressure (U/S Tap) [kPa] |
2818.09 |
9100.94 |
10342.14 |
9839.99 |
2499.9 |
2506.33 |
299.92 |
|||
|
Differential pressure [kPa] |
10.2 |
11 |
22.16 |
6.613 |
75 |
17.05 |
6.3455 |
|||
|
Flowing temperature [°C] |
57 |
50 |
60 |
22.35 |
34 |
7.2 |
1.67 |
|||
|
Base pressure [psia] |
14.73 |
14.73 |
14.73 |
14.73 |
14.73 |
14.73 |
14.73 |
|||
|
Base temperature [°F] |
60 |
60 |
60 |
60 |
60 |
60 |
60 |
|||
|
Flowing density [kg/m3] |
24.96808 |
90.33028 |
107.9166 |
79.88845 |
23.1822 |
30.377 |
2.57668 |
|||
|
Base density [kg/m3] |
0.958787 |
0.91661 |
1.007916 |
0.712488 |
0.929256 |
1.03149 |
0.824924 |
|||
|
Viscosity [Pa*s] |
0.000010268 |
0.000010268 |
0.000010268 |
0.000010268 |
0.000010268 |
0.000010268 |
0.000010268 |
|||
|
Isentropic exponent k (incompressible fluid k=-1) |
1.3 |
1.3 |
1.3 |
1.3 |
1.3 |
1.3 |
1.3 |
|||
|
Parameter |
Results: EUB (U/S Tap) |
|||||||||
|
Coefficient of discharge: Cd |
0.599 |
0.6019 |
0.6029 |
0.6047 |
0.6042 |
0.6005 |
0.6006 |
|||
|
Expansion factor: Y |
0.9989 |
0.9996 |
0.9993 |
0.9998 |
0.9894 |
0.9978 |
0.9933 |
|||
|
Velocity of approach factor: Ev |
1.0005 |
1.0244 |
1.0375 |
1.0759 |
1.0822 |
1.0088 |
1.0017 |
|||
|
Volumetric flow rate at base conditions : Qvb[m3/24h] |
2747.8 |
146080 |
8564770 |
503440 |
799830 |
14687 |
1433.5 |
|||
|
Parameter |
Intermediate results: 'aga92dc' |
|||||||||
|
Flowing compressibility |
0.927965 |
0.809682 |
0.821602 |
0.842535 |
0.923952 |
0.858786 |
0.990526 |
|||
|
Flowing density [kg/m3] |
24.96808 |
90.33028 |
107.9166 |
79.88845 |
23.1822 |
30.377 |
2.57668 |
|||
|
Base compressibility |
0.995904 |
0.996662 |
0.99683 |
0.997985 |
0.996238 |
0.995159 |
0.99729 |
|||
|
Base density [kg/m3] |
0.958787 |
0.91661 |
1.007916 |
0.712488 |
0.929256 |
1.03149 |
0.824924 |
|||
|
Parameter |
Results: 'aga3' routine (U/S Tap) |
|||||||||
|
Coefficient of discharge: Cd |
0.599 |
0.6019 |
0.6029 |
0.6046 |
0.6041 |
0.6005 |
0.6006 |
|||
|
Expansion factor: Y |
0.9989 |
0.9996 |
0.9993 |
0.9998 |
0.9894 |
0.9978 |
0.9933 |
|||
|
Velocity of approach factor: Ev |
1.0005 |
1.0244 |
1.0375 |
1.0759 |
1.0822 |
1.0088 |
1.0017 |
|||
|
Mass flow rate : Qm[kg/s] |
0.0304815 |
1.549333 |
99.8775 |
4.1501 |
8.599277 |
0.175281 |
0.0136813 |
|||
|
Volumetric flow rate at base conditions : Qvb[m3/s] |
0.0317917 |
1.690286 |
99.0931 |
5.8248 |
9.253937 |
0.16993 |
0.0165849 |
|||
|
Parameter |
Relative error [%]: 100*(aga3-EUB)/EUB |
|||||||||
|
Coefficient of discharge: Cd |
0.0000 |
0.0000 |
0.0000 |
-0.0165 |
-0.0166 |
0.0000 |
0.0000 |
|||
|
Expansion factor: Y |
0.0000 |
0.0000 |
0.0000 |
0.0000 |
0.0000 |
0.0000 |
0.0000 |
|||
|
Velocity of approach factor: Ev |
0.0000 |
0.0000 |
0.0000 |
0.0000 |
0.0000 |
0.0000 |
0.0000 |
|||
|
Mass flow rate : Qm[kg/s] |
N/A |
N/A |
N/A |
N/A |
N/A |
N/A |
N/A |
|||
|
Volumetric flow rate at base conditions : Qvb[m3/24h] |
-0.0363 |
-0.0269 |
-0.0365 |
-0.0352 |
-0.0362 |
-0.0344 |
-0.0394 |
|||