4.3 Определение скорости звука
Скорость звука природного газа при использовании УС (1) вычисляют по формуле
, (14)
где cp, cv и А1- соответственно изобарная, изохорная теплоемкости природного газа и безразмерный комплекс УС (1), см. (6) - (13);
М - молярная масса природного газа, см. (3) или (4).
4.4 Определение динамической вязкости
Динамическую вязкость природного газа вычисляют по формуле
, (15)
(16)
, (17)
, (18)
Молярную массу природного газа (М) вычисляют по формуле (3) или (4), а формулы расчета фактора Питцера (W) и псевдокритических параметров природного газа (Тп, rп, Тпк, rпк) приведены в ГОСТ 30319.2 (см. п. 3.2.5).
5 Вычисление погрешности расчета физических свойств природного газа с учетом погрешности исходных данных
При измерении расхода и количества природного газа, транспортируемого в газопроводах, давление (р), температуру (Т) и состав (хi) измеряют с определенной погрешностью. Перечисленные параметры являются исходными данными для расчета физических свойств по УС (1) и уравнению для вязкости (15).
В соответствии с рекомендациями ИСО 5168 [5] погрешность расчета физических свойств, которая появляется в связи с погрешностью измерения исходных данных, определяют по формуле
, (19)
где dид - погрешность расчета свойства Q, связанная с погрешностью измерения исходных данных;
dqk - погрешность измерения параметра исходных данных;
; (20)
. (21)
В формулах (19) - (21):
qk - условное обозначение k-го параметра исходных данных (р, Т, хi);
`qk- среднее значение k-го параметра в определенный промежуток времени (сутки, месяц, год и т.д.);
qkмакс и qkмин - максимальное и минимальное значения k-го параметра в определенный промежуток времени;
Q - условное обозначение свойства природного газа (r, к, и, m);
Nq- количество параметров исходных данных, Nq = 2 + N (N - количество основных компонентов природного газа, которыми являются: метан, этан, пропан, бутаны, азот, диоксид углерода, сероводород).
Производную свойства Q по параметру qk рассчитывают по формуле (20) при средних параметрах `q1, отличающихся от параметра qk.
Свойство Q (среднее значение) рассчитывают при средних параметрах `qk.
Общую погрешность расчета физических свойств определяют по формуле
, (22)
где dQ - погрешность расчета физических свойств по УС (1) и по уравнению для вязкости (15), значение которой для каждого свойства приведено в таблице 1.
6 Применение уравнения состояния для аттестации других методов расчета физических свойств природного газа
Приведенный в настоящем стандарте метод расчета физических свойств природного газа необходимо применять для аттестации других методов расчета. Алгоритм проведения такой аттестации состоит в следующем:
Таблица 3
Компонент |
Концентрация компонентов, мол.%, при rс, кг/м3 |
|||
0,67 - 0,70 |
0,70 - 0,76 |
0,76 - 0,88 |
свыше 0,88 |
|
Метан |
90,40 - 99,60 |
86,35 - 98,50 |
73,50 - 92,00 |
74,20 - 81,53 |
Этан |
0,0 - 4,10 |
0,0 - 8,40 |
1,57 - 10,91 |
6,29 - 12,19 |
Пропан |
0,0 - 1,16 |
0,0 - 3,35 |
0,18 - 5,00 |
3,37 - 5,00 |
н-Бутан |
0,0 - 0,48 |
0,0 - 1,54 |
0,12 - 1,50 |
0,51 - 1,98 |
н-Пентан |
0,0 - 0,32 |
0,0 - 1,00 |
0,10 - 1,00 |
0,10 - 1,00 |
Азот |
0,0 - 4,60 |
0,12 - 8,47 |
0,22 - 16,30 |
0,56 - 4,40 |
Диоксид углерода |
0,0 - 1,70 |
0,0 - 3,30 |
0,0 - 5,60 |
0,10 - 14,80 |
Сероводород |
0,0 |
0,0 - 6,50 |
0,0 - 5,30 |
0,0 - 24,00 |
1) используя данные, приведенные в таблице 3, подбираются 5-6 тестовых смесей природного газа таким образом, чтобы сумма молярных долей компонентов этих смесей была равна 1;
2) в заданных интервалах давления и температуры по УС (1) и уравнению для вязкости (15) насчитываются массивы физических свойств для выбранных тестовых смесей, рекомендуемое количество тестовых точек в массивах - не менее 100;
3) вычисляются систематическое и стандартное отклонения рассчитанных по аттестуемым методам физических свойств от тестовых данных, которые получены в перечислении 2) алгоритма
, (23)
, (24)
в формулах (23) и (24) N - количество тестовых точек в массивах
, (25)
где Qрасч и Qтест - условное обозначение, соответственно, расчетного по аттестуемым методам и рассчитанного в перечислении 2) алгоритма тестового значений физического свойства природного газа (r, к, и, m);
4) определяется погрешность расчета свойства Q по аттестуемым методам согласно ИСО 5168 [5]
, (26)
где dQ - погрешность расчета физических свойств по УС (1) и по уравнению для вязкости (15), значение которой для каждого свойства приведено в таблице 1.
Если для аттестуемых методов в качестве исходных данных используют плотность смеси природного газа при стандартных условиях (rc), ее значение для тестовых смесей необходимо рассчитывать по УС (1). Допускается также рассчитывать плотность rc по формуле (16) ГОСТ 30319.1 (см. п. 3.3.2).
ПРИЛОЖЕНИЕ А
(рекомендуемое)
Листинг программы расчета физических свойств природного газа
Расчет физических свойств природного газа по уравнению состояния (1) и по уравнению для вязкости (15) реализован на ПЭВМ, совместимых с IBM PC/AT/XT, на языке программирования ФОРТРАН-77.
C **************************************************************
C * *
С * Программа расчета физических свойств (плотности, показателя *
С * адиабаты, скорости звука и вязкости) природного газа по *
С * уравнению состояния ВНИЦ СМВ. *
С * *
C **************************************************************
IMPLICIT REAL*8(A-H,O-Z)
CHARACTER*26 AR
DIMENSION PI(100),TI(100),ROP(100,100),PAP(100,100),
*WP(100,100),ETAP(100,100)
COMMON/P/P/T/T/RON/RON/YI/YC(25)/NPR/NPR/Z/Z/TS/RO,PA,W
*/ETA/ETA/AR/AR(25)
200 WRITE(*,300)
300 FORMAT(18(/))
WRITE(*,400)
400 FORMAT(
*’ Расчет физических свойств природного газа’/
*’ по уравнению состояния’/////)
WRITE(*,1)
1 FORMAT(’ Введите исходные данные для расчета.’/)
WRITE(*,35)
35 FORMAT(’ Введите 0, если состав задан в молярных долях’/
*’ или 1, если состав задан в объемных долях ’)
READ(*,*)NPR
IF(NPR.EQ.1)THEN
WRITE(*,’(A)’)
*’ Плотность при 293.15 К и 101.325 кПа, в кг/куб.м’
READ(*,*)RON
WRITE(*,33)
33 FORMAT(’ Значение объемной доли, в об.%’)
ELSE
RON=0D0
WRITE(*,3)
3 FORMAT(’ Значение молярной доли, в мол.%’)
ENDIF
DO 5 I=1,25
WRITE(*,’(A)’) AR(I)
READ(*,*)YC(I)
5 YC(I)=YC(I)/100.
WRITE(*,’(A)’)
*’ Введите количество точек по давлению: ’
READ(*,*)NP
WRITE(*,’(A)’)
*’ Введите количество точек по температуре: ’
READ(*,*)NT
WRITE(*,’(A)’)
*’ Введите значения давлений в МПа: ’
READ(*,*)(PI(I),I=1,NP)
WRITE(*,’(A)’)
*’ Введите значения температур в К: ’
READ(*,*)(TI(I),I=1,NT)
WRITE(*,’(A)’)
*’ Ввод исходных данных завершен.’
P=.101325D0
T=293.15D0
ICALC=1
CALL EOSVNIC(ICALC)
IF(Z.EQ.0D0) THEN
CALL RANGE(NRANGE)
IF (NRANGE) 134,134,200
ENDIF
ICALC=2
NTS=0
DO 7 I=1,NP
P=PI(I)
DO 7 J=1,NT
T=TI(J)
CALL EOSVNIC(ICALC)
IF(Z.NE.0D0) THEN
NTS=NTS+1
ROP(I,J)=RO
PAP(I,J)=PA
WP(I,J)=W
ETAP(I,J)=ETA
ELSE
ROP(I,J)=0D0
PAP(I,J)=0D0
WP(I,J)=0D0
ETAP(I,J)=0D0
ENDIF
7 CONTINUE
500 WRITE(*,100)
100 FORMAT(25(/))
IF(NTS.EQ.0) THEN
CALL RANGE(NRANGE)
IF (NRANGE) 134,134,200
ELSE
1=1
9 IS=0
DO 11 J=1,NT
IF(ROP(I,J).EQ.0D0) IS=IS+1
11 CONTINUE
IF(IS.EQ.NT) THEN
IF(I.NE.NP) THEN
DO 13 J=I,NP-1
PI(J)=PI(J+1)
DO 13 K=1,NT
ROP(J,K)=ROP(J+1,K)
PAP(J,K)=PAP(J+1,K)
WP(J,K)=WP(J+1,K)
13 ETAP(J,K)=ETAP(J+1,K)
ENDIF
NP=NP-1
ELSE
I=I+1
ENDIF
IF(I.LE.NP) GO TO 9
J=l
15 JS=0
DO 17 I=1,NP
IF(ROP(I,J).EQ.0D0) JS=JS+1
17 CONTINUE
IF(JS.EQ.NP) THEN
IF(J.NE.NT) THEN
DO 19 I=J,NT-1
TI(I)=TI(I+1)
DO 19 K=1,NP
ROP(K,I)=ROP(K,I+1)
PAP(K,I)=PAP(K,I+1)
WP(K,I)=WP(K,I+1)
19 ETAP(K,I)=ETAP(K,I+1)
ENDIF
NT=NT-1
ELSE
J=J+1
ENDIF
IF(J.LE.NT) GO TO 15
CALL PROP(NPROP)
IF(NPROP.EQ.5) GO TO 134
IF(NPROP.EQ.l) CALL TABL(PI,TI,ROP,NP,NT,NPROP)
IF(NPROP.EQ.2) CALL TABL(PI,TI,PAP,NP,NT,NPROP)
IF(NPROP.EQ.3) CALL TABL(PI,TI,WP,NP,NT,NPROP)
IF(NPROP.EQ.4) CALL TABL(PI,TI,ETAP,NP,NT,NPROP)
WRITE(*,’(A)’)
*’ Продолжить вывод рассчитанных свойств ? 0 - нет, 1 - да ’
READ(*,*)NCONT
IF(NCONT.EQ.l) GO TO 500
ENDIF
134 STOP
END
SUBROUTINE PROP(NPROP)
WRITE(*,1)
1 FORMAT(//
*10X,’¾¾¾¾ Рассчитаны следующие физические свойства ¾¾¾’/
*10Х,’ ’/
*10Х,’ 1. Плотность ’/
*10Х,’ ’/
*10Х,’ 2. Показатель адиабаты ’/
*10Х,’ ’/
*10Х,’ 3. Скорость звука ’/
*10Х,’ ’/
*10Х,’ 4. Коэффициент динамической вязкости ’/
*10Х,’ ’/
*10Х,’¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾’/)
WRITE(*,5)
5 FORMAT(/,3X,
*’Введите порядковый номер свойства для вывода результатов расче’,
*’та’/
*’ или 5 для выхода в ДОС ’)
READ(*,*)NPROP
RETURN
END
SUBROUTINE RANGE(NRANGE)
IMPLICIT REAL*8(A-H,O-Z)
COMMON/Z/Z
WRITE(*,1)
1 FORMAT(//
*’ Метод расчета при заданных параметрах “не работает”’/
*’ Продолжить работу программы ? 0 - нет, 1 - да ’)
READ(*,*)NRANGE
RETURN
END
SUBROUTINE TABL(PI,TI,ZP,NP,NT,NPROP)
IMPLICIT REAL*8(A-H,O-Z)
CHARACTER*26 AR,FNAME
CHARACTER PROP(4)*58,A*6,LIN1(5)*9,LIN2(5)*9,LIN3(6)*9,LIN4*9,
*AT(6)*28,RAZM(4)*39
CHARACTER*70 F,FZ(11,2),FW(11,2)
DIMENSION PI(100),TI(100),ZP(100,100),ZPP(6)
COMMON/YI/YC(25)/NPR/NPR/AR/AR(25)
DATA PROP/
*’ Плотность природного газа.’,
*’ Показатель адиабаты природного газа.’,
*’ Скорость звука природного газа.’,
*’ Коэффициент динамической вязкости природного газа.’/
DATA RAZM/
*’ (в кг/куб.м)’,’ ’,
*’ (в м/с)’,
*’ (в мкПа*с)’/
DATA LIN1/5*’¾¾¾¾¾ ’/,LIN2/5*’¾¾¾¾¾’/,LIN3/6*’¾¾¾¾¾’/,
*LIN4/’¾¾¾¾¾’/,А/’ - ’/
DATA AT/
*’ Т,К’,’ Т,К’,’ Т,К’,’ Т,К’,
*’ Т,К’,’ Т,К’/
DATA FZ/
*’(3Х,F5.2,2X,6(3X,F6.2))’,’(3X,F5.2,5X,A6,5(3X,F6.2))’,
*’(3X,F5.2,2X,2(3X,A6),4(3X,F6.2))’,’(3X,F5.2,2X,3(3X,A6),
*3(3X,F6.2))’,
*’(3X,F5.2,2X,4(3X,A6),2(3X,F6.2))’,’(3X,F5.2,2X,5(3X,A6),
*3X,F6.2)’,
*’(3X,F5.2,2X,5(3X,F6.2),3X,A6)’,’(3X,F5.2,2X,4(3X,F6.2),
*2(3X,A6))’,
*’(3X,F5.2,2X,3(3X,F6.2),3(3X,A6))’,’(3X,F5.2,2X,2(3X,F6.2),
*4(3X,A6))’,
*’(3X,F5.2,5X,F6.2,5(3X,A6))’,’(3X,F9.6,1X,F6.2,5(3X,F6.2))’,
*’(3X,F9.6,1X,A6,5(3X,F6.2))’,’(3X,F9.6,1X,A6,3X,A6,4(3X,F6.2))’,
*’(3X,F9.6,1X,A6,2(3X,A6),3(3X,F6.2))’,’(3X,F9.6,1X,A6,3(3X,A6),
*2(3X,F6.2))’,
*’(3X,F9.6,1X,A6,4(3X,A6),3X,F6.2)’,’(3X,F9.6,1X,F6.2,4(3X,F6.2),
*3X,A6)’,
*’(3X,F9.6,1X,F6.2,3(3X,F6.2),2(3X,A6))’,’(3X,F9.6,1X,F6.2,
*2(3X,F6.2),3(3X,A6))’,
*’(3X,F9.6,1X,F6.2,3X,F6.2,4(3X,A6))’,’(3X,F9.6,1X,F6.2,5(3X,A6))’/
DATA FW/
’(3X,F5.2,2X,6(4X,F5.1))’,’(3X,F5.2,5X,A6,5(4X,F5.1))’,
*’(3X,F5.2,2X,2(3X,A6),4(4X,F5.1))’,’(3X,F5.2,2X,3(3X,A6),
*3(4X,F5.1))’,
*’(3X,F5.2,2X,4(3X,A6),2(4X,F5.1))’,’(3X,F5.2,2X,5(3X,A6),
*4X,F5.1)’,
*’(3X,F5.2,2X,5(4X,F5.1),3X,A6)’,’(3X,F5.2,2X,4(4X,F5.1),
*2(3Х,А6))’,
*’(3X,F5.2,2X,3(4X,F5.1),3(3X,A6))’,’(3X,F5.2,2X,2(4X,F5.1),
*4(3X,A6))’,
*’(3X,F5.2,6X,F5.1,5(3X,A6))’,’(3X,F9.6,2X,F5.1,5(4X,F5.1))’,
*’(3Х,F9.6,1X,A6,5(4X,F5.1))’,’(3X,F9.6,1X,A6,3X,A6,4(4X,F5.1))’,
*’(3X,F9.6,1X,A6,2(3X,A6),3(4X,F5.1))’,’(3X,F9.6,1X,A6,3(3X,A6),
*2(4X,F5.1))’,
*’(3X,F9.6,1X,A6,4(3X,A6),4X,F5.1)’,’(3X,F9.6,2X,F5.1,4(4X,F5.1),
*3X,A6)’,
*’(3X,F9.6,2X,F5.1,3(4X,F5.1),2(3X,A6))’,’(3X,F9.6,2X,F5.1,
*2(4X,F5.1),3(3X,A6))’,
*’(3X,F9.6,2X,F5.1,4X,F5.1,4(3X,A6))’,’(3X,F9.6,2X,F5.1,5(3X,A6))’/
22 WRITE(*,44)
44 FORMAT(//’ Устройство вывода результатов расчета ?,’)
WRITE(*,’(A)’)
*’ 0 - дисплей, 1 - принтер, 2 - файл на диске ’
READ(*,*)NYST
IF(NYST.EQ.0) OPEN(1,FILE=’CON’)
IF(NYST.EQ.l) OPEN(1,FILE=’PRN’)
IF(NYST.EQ.2) WRITE(*,’(A)’) ’ Введите имя файла ’
IF(NYST.EQ.2) READ(*,’(A)’)FNAME
IF(NYST.EQ.2) OPEN(1,FILE=FNAME)
IF(NYST.EQ.0) WRITE(*,100)
100 FORMAT(25(/))
IF(NYST.EQ.l) PAUSE
*’ Включите принтер, вставьте бумагу и нажмите <ВВОД> ’
WRITE(1,88)PROP(NPROP),RAZM(NPROP)
88 FORMAT(A58/A39/)
NW=3
IF(NPR.EQ.0) WRITE(1,3)
3 FORMAT(’ Содержание в мол.%’)
IF(NPR.EQ.l) WR1TE(1,33)
33 FORMAT(’ Содержание в об.%’)
NW=NW+1
I=1
9 J=I+1
13 CONTINUE
IF(YC(J).NE.0D0) THEN
WRITE(1,5)AR(I),YC(I)*100.,AR(J),YC(J)*100.
5 FORMAT(2(A26,F7.4))
NW=NW+1
DO 11 I=J+1,25
IF(YC(I).NE.0D0.AND.I.NE.25) GO TO 9
IF(YC(I).NE.0D0.AND.I.EQ.25)THEN
WRITE(1,5)AR(I),YC(I)*100.
NW=NW+1
GO TO 99
ENDIF
11 CONTINUE
ELSE
J=J+1
IF(J.LE.25) THEN
GO TO 13
ELSE
WRITE(1,5)AR(I),YC(I)*100.
NW=NW+1
ENDIF
ENDIF
99 CONTINUE
IF(NW.GT.12.AND.NYST.EQ.0) THEN
WRITE(*,7)
7 FORMAT(/)
PAUSE ’ Для продолжения вывода нажмите <ВВОД> ’
WRITE(*,100)
NW=0
ENDIF
DO 15 I=1,NT,6
IF(NW.GT.12.AND.NYST.EQ.0) THEN
WRITE(*,7)
PAUSE ’ Для продолжения вывода нажмите <ВВОД> ’
WRITE(*,100)
NW=0
ENDIF
IF(NW.GT.46 AND.NYST.NE.0) THEN
WRITE(1,7)
WRITE(*,7)
IF(NYST.EQ.l) PAUSE
*’ Для продолжения вывода вставьте бумагу и нажмите <ВВОД> ’
NW=0
ENDIF
IF(I+5.LE.NT) THEN
NL=6
ELSE
NL=NT-I+1
ENDIF
WRITE(1,7)
IF(NL.GT.1)WRITE(1,17)LIN2(1),(LIN1(K),K=1,NL-1)
IF(NL.EQ.l) WRITE(1,17)LIN2(1)
17 FORMAT(’¾¾¾’,6A9)
WRITE(1,19)AT(NL)
19 FORMAT(’ ú’,A28)
IF(NL.GT.1)WRITE(1,21)LIN4,(LIN2(K),K=1,NL-1)
IF(NL.EQ.l) WRITE(1,21)LIN4
21 FORMAT(’ p, МПа ’,6А9)
WRITE(1,23)(TI(K),K=I,I+NL-1)
23 FORMAT(10X,6(:,’ ’,F6.2))
WRITE(1,17)(LIN3(K),K=1,NL)
NW=NW+6
DO 25 J=1,NP
JP=1
IF(PI(J).EQ.0.101325D0) JP=2
NL1=0
NLN=0
DO 27 K=I,I+NL-1
NL1=NL1+1
IF(ZP(J,K).EQ.0D0) THEN
ZPP(NL1)=A
NLN=NLN+1
ELSE
ZPP(NL1)=ZP(J,K)
ENDIF
27 CONTINUE
IF(NLN.EQ.NL) GO TO 133
IF(NLN.EQ.0) THEN
IF(NPROP.NE.3) F=FZ(1,JP)
IF(NPROP.EQ.3) F=FW(1,JP)
ELSE
IF(ZP(J,I).EQ.0D0.AND.NPROP.NE.3) F=FZ(NLN+1,JP)
IF(ZP(J,I+NL-1).EQ.0D0.AND.NPROP.NE.3) F=FZ(NLN+12-NL,JP)
IF(ZP(J,I).EQ.0D0.AND.NPROP.EQ.3)F=FW(NLN+1,JP)
IF(ZP(J,I+NL-1).EQ.0D0.AND.NPROP.EQ.3) F=FW(NLN+12-NL,JP)
ENDIF
IF(NL1.EQ.1) WRITE(1,F)PI(J),ZPP(1)
IF(NL1.EQ.2) WRITE(1,F)PI(J),ZPP(1),ZPP(2)
IF(NL1.EQ.3) WRITE(1,F)PI(J),ZPP(1),ZPP(2),ZPP(3)
IF(NL1.EQ.4) WRITE(1,F)PI(J),ZPP(1),ZPP(2),ZPP(3),ZPP(4)
IF(NL1.EQ.5)
*WRITE(1,F)PI(J),ZPP(1),ZPP(2),ZPP(3),ZPP(4),ZPP(5)
IF(NL1.EQ.6)
*WRITE(1,F)PI(J),ZPP(1),ZPP(2),ZPP(3),ZPP(4),ZPP(5),ZPP(6)
NW=NW+1
133 CONTINUE
IF(NW.EQ.20.AND.NYST.EQ.0) THEN
IF(J.EQ.NP.AND.I+NL-1.EQ.NT) GO TO 29
WRITE(*,7)
PAUSE ’ Для продолжения вывода нажмите <ВВОД> ’
WRITE(*,100)
NW=0
WRITE(1,7)
IF(NL.GT.1) WRITE(1,17)LIN2(1),(LIN1(K),K=1,NL-1)
IF(NL.EQ.l) WRITE(1,17)LIN2(1)
WRITE(1,19)AT(NL)
IF(NL.GT.1) WRITE(1,21)LIN4,(LIN2(K),K=1,NL-1)
IF(NL.EQ.l) WRITE(1,21)LIN4
WRITE(1,23)(TI(K),K=I,I+NL-1)
WRITE(1,17)(LIN3(K),K=1,NL)
NW=NW+6
ENDIF
IF(NW.EQ.54.AND.NYST.NE.0) THEN
IF(J.EQ.NP.AND.I+NL-1.EQ.NT) GO TO 29
WRITE(1,7)
WRITE(*,7)
IF(NYST.EQ.l) PAUSE