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