Перейти к контенту

Методы расчета коэффициента сжимаемости природного газа


  

10 голосов

  1. 1. Кто-нибудь сам писал программу Расчета Расхода...??? У меня возникло кучу вопросов!!!

    • Да, писал
      9
    • Нет, но помогу
      1


31 сообщение в этой теме

Рекомендуемые сообщения

  • Специалисты

У меня возникло кучу вопросов по методам расчета коэффициента сжимаемости природного газа

Вы констатируете факт или хотите получить ответ на какие-то вопросы? Если второе, то задайте вопрос конкретно.

Ссылка на комментарий
Поделиться на других сайтах

У меня возникло кучу вопросов по методам расчета коэффициента сжимаемости природного газа

Вопросов там быть не может, в ГОСТ 30.319 все предельно ясно, даже есть листинг на Pascal.

Я писал программы по РД 50.213, ГОСТ 8.563, ГОСТ 8.586 и самое незамысловатое это Ксж, вот свойства воды и пара по IAPWS97 это "песня".

Так что задавайте конкетные вопросы помогу.

Ссылка на комментарий
Поделиться на других сайтах

Вы констатируете факт или хотите получить ответ на какие-то вопросы? Если второе, то задайте вопрос конкретно.

При расчете по методу NX-19 мод. фактор сжимаемости при рабочих условия для природного газа получается 0.004...! По Гостам должно быть порядка 0.9...! Проверяю все предшествующие коэффициенты (псевдокритич, и т.д.)- они сходятся! При расчете F, попадаю во второе условие. М.б. конечно ГОСТ 30319.2-с опечатками. Если возможно, вышлите мне оригинал.

И второй вопрос возник по методу Gerg-91мод.-какую в итоге формулу в нем использовать для расчета фактора сжимаемости и откуда берется молярная плотность?

Если я где-то задаю некорректные вопросы, Вы говорите. Я просто в этой области всего месяц: нужно написать программу расчета расхода и количества жидкостей и газов...!!! Спасибо за понимание!

Ссылка на комментарий
Поделиться на других сайтах

  • Специалисты

М.б. конечно ГОСТ 30319.2-с опечатками. Если возможно, вышлите мне оригинал.

Сравните свой вариант с ГОСТ 30319.2, размещённым в разделе "Нормативная документация"

Поскольку речь идёт о расчётах, пишите подробнее - хоть листинг программы. Иначе не понятно. И где конкретно появляются глюки...

И почему не используете листинг программы из приложения В для самоконтроля?

Ссылка на комментарий
Поделиться на других сайтах

При расчете по методу NX-19 мод. фактор сжимаемости при рабочих условия для природного газа получается 0.004...! По Гостам должно быть порядка 0.9...! Проверяю все предшествующие коэффициенты (псевдокритич, и т.д.)- они сходятся! При расчете F, попадаю во второе условие. М.б. конечно ГОСТ 30319.2-с опечатками. Если возможно, вышлите мне оригинал.

И второй вопрос возник по методу Gerg-91мод.-какую в итоге формулу в нем использовать для расчета фактора сжимаемости и откуда берется молярная плотность?

Если я где-то задаю некорректные вопросы, Вы говорите. Я просто в этой области всего месяц: нужно написать программу расчета расхода и количества жидкостей и газов...!!! Спасибо за понимание!

Вот кусок кода из моей программы по расчету Ксж по NX19 и GERG91

где

Ppkr, Tpkr - псевдокрит. Т и Р

PresAMPa - абс.Р

N_2, CO2, Roc - молярные доля азота, СО2 (рассчитываются из объемных по ГОСТ 30.319 приближенно = (об.%/100)) и плотность исходные данные беруться из паспорта качества

R(Х,У) - функция возведения Х в степень У, в паскале напрямую нет, поэтому определена своя.

На СИ не нашел в своих архивах, но если на нем пишите, то с паскаля перевети 2 сек.

Function KzNX (TempK, PresAMPa, N_2, CO2, Roc : Real):Real; Stdcall;

Var

Ppkr, Tpkr,Pa, Ta, DTa, F0, Tet1, Tet0,B11, B0,B22, Z1, ZC, KZ : Real;

begin

Ppkr := 2.9585 * (1.608-(0.05994*Roc)+CO2-(0.392*N_2));

Tpkr := 88.25*(0.9915+(1.759*Roc)-CO2-(1.681*N_2));

Pa := 0.6714*PresAMPa/Ppkr+0.0147;

Ta := 0.71892*TempK/Tpkr+0.0007;

DTa := Ta-1.09;

DTa := ABS (DTa);

If ((Pa>=0) and (Pa<=2)) and ((DTa>=0)and (Dta<=0.3)) Then

F0 := 0.00075*exp(2.3*ln(Pa))/exp(20*DTa)+0.00011*Sqrt(Dta)*sqr(Pa*(2.17-Pa+1.4*Sqrt(DTa)));

If ((Pa>=0) and (Pa<1.3)) and ((DTa>=-0.25)and (Dta<0)) Then

F0 := (0.00075*(exp(2.3*ln(Pa)))*(2-(exp(20*Dta))))+(1.317*Pa*(1.69-(sqr(Pa)))*R(Dta,4));

If ((Pa>=1.3) and (Pa<2)) and ((DTa>=-0.25)and (Dta<0)) Then

F0:= ((0.00075*(exp(2.3*ln(Pa)))*(2-(exp(20*Dta))))+((0.455*(1.3-Pa))*(((1.69*R(2,1.25)))-sqr(Pa))))*((Dta*(0.03249+(18.028*sqr(DTa))))+(sqr(Dta)*(2.0167+(sqr(Dta)*(42.844+(200*sqr(DTa)))))));

Tet1:= R(Ta,5)/(sqr(Ta)*(6.60756*Ta-4.42646)+3.22706);

Tet0 := (sqr(Ta)*(1.77218-0.8879*Ta)+0.305131)*Tet1/R(Ta,4);

B11 := 2*Tet1/3-Sqr(Tet0);

B0 := Tet0*(Tet1-sqr(tet0))+0.1*Tet1*Pa*(F0-1);

B22 := exp(0.3333333333333333333333*ln(B0+sqrt(sqr(B0)+R(B11,3))));;

Z1 := sqr(1+0.00132/exp(3.25*ln(Ta)))*0.1*Pa/(B11/B22-B22+Tet0);

ZC := 1-(sqr((0.0741*Roc)-0.006-(0.063*N_2)-(0.0575*CO2)));

KZ := z1/zc;

Result := KZ;

end;

Function KzGERG (TempK, PresAMPa, N_2, CO2, Roc : Real):Real; Stdcall;

var

B0, Z1, ZC, KZA2_, A2_1, B3, B23, XA, Ma, H, C_,B_, C233, T : Real;

C223, SL, SL2, BL, BL2, C3, C2,C1, B2, B1,CM, BM, Bb, C0, A1, A0, A2, A2_, KZ : Real;

CL, CL1, CL2, CL3, CL4, CL5 :Real;

begin

T := Sqr(TempK);

XA := 1-N_2-CO2;

ZC := 1-(sqr(0.0741*Roc-0.006-0.063*N_2-0.0575*CO2));

Ma := ((24.05525*ZC*Roc)-(28.0135*N_2)-(44.01*CO2))/XA;

H:= 128.64+47.479*MA;

C_ := 0.92+0.0013*(TempK-270);

B_ := 0.72+1.875e-5*(320-TempK);

C233 := 3.58783e-3+8.06674e-6*TempK-3.25798e-8*T;

C223 := 5.52066e-3-1.68609e-5*TempK-1.57169e-8*T;

C3 := 2.0513e-3+4888e-5*TempK-8.3703e-8*T;

C2 := 7.8498e-3-3.9895e-5*TempK+6.1187e-8*T;

SL:=(6.46422e-4-(4.22876e-6*TempK)+(6.88157e-9*T))*H;

SL2:=(-3.32805e-7+(2.2316e-9*TempK)-(3.67713e-12*T))*Sqr(H);

C1 := (-0.302488+(1.95861e-3*TempK)-(3.16302e-6*T))+SL+SL2;

B3 := -0.86834+4.0376e-3*TempK-5.1657e-6*T;

B23 := -0.339693+1.61176e-3*TempK-2.04429e-6*T;

B2 := -0.1446+7.4091e-4*TempK-9.1195e-7*T;

BL:= (8.77118e-4-5.56281E-6*TempK+8.8151e-9*T)*H;

BL2:= (-8.24747e-7+(4.31436e-9*TempK)-(6.08319e-12*T))*Sqr(H);

B1 := -0.425468+(2.865e-3*TempK)-(4.62073e-6*T)+BL+BL2;

CL:=3*Sqr(XA)*N_2*C_*(R(Sqr(C1)*C2,0.333333333333));

CL1:= 2.76*Sqr(XA)*CO2*(R(Sqr(C1)*C3,0.3333333333333));

CL2:=3*XA*Sqr(N_2)*C_*(R(Sqr(C2)*C1,0.333333333333));

CL3:=6.6*XA*N_2*CO2*(R(C1*C2*C3,0.333333333333));

CL4:=2.76*XA*sqr(CO2)*(R(Sqr(C3)*C1,0.333333333333));

CL5:=(3*Sqr(N_2)*CO2*C223)+(3*N_2*Sqr(CO2)*C233);

CM := (R(XA,3)*C1)+CL+CL1+CL2+CL3+CL4+(R(N_2,3)*C2)+CL5+(R(CO2,3)*C3);

BM := (Sqr(XA)*B1)+(XA*N_2*B_*(B1+B2))-(1.73*XA*CO2*Sqrt(B1*B3))+(Sqr(N_2)*B2)+(2*N_2*CO2*B23)+(Sqr(CO2)*B3);

Bb := (1000*PresAMPa)/(2.7715*TempK);

C0 :=sqr(Bb)*CM;

B0 := Bb*BM;

A1 :=1+B0;

A0 := 1+1.5*(B0+C0);

A2_ := Sqrt(sqr(A0)-R(A1,3));

A2_1 := A0-A2_;

A2 := R(A2_1,0.33333333333333);

Z1 :=(1+A2+(A1/A2))/3;

KZ := z1/zc;

Result := KZ;

end;

Ссылка на комментарий
Поделиться на других сайтах

Вот кусок кода из моей программы по расчету Ксж по NX19 и GERG91

Спасибо за код! А зачем в нем есть DTa := ABS (DTa) ,если в условиях есть проверка по отрицательному DTa?

Ссылка на комментарий
Поделиться на других сайтах

  • Специалисты

М.б. конечно ГОСТ 30319.2-с опечатками. Если возможно, вышлите мне оригинал. 

В ГОСТе, который есть в форумской библиотеке, опечаток нет. Проверяйте свои формулы. Кстати, в ГОСТе есть листинги программ, там всё подробно, можете прямо с них переписать.

Для проверки расчётов можете воспользоваться программкой, которая есть здесь.

Ссылка на комментарий
Поделиться на других сайтах

Спасибо за код! А зачем в нем есть DTa := ABS (DTa) ,если в условиях есть проверка по отрицательному DTa?

В приведенном куске есть ряд вещей которые остались от экспериментов проводившихся с основным телом программы и библиотеками. На конечный результат не влияет, поэтому чистить не стал.

Ссылка на комментарий
Поделиться на других сайтах

В приведенном куске есть ряд вещей которые остались от экспериментов проводившихся с основным телом программы и библиотеками. На конечный результат не влияет, поэтому чистить не стал.

Спасибо разобрался с NX-19 и Gerg

Теперь пытаюсь отладить Aga8-92DC и ВНИЦ СМВ...Критические параметры компонентов, параметры бинарного взаимодействия вы как-нибудь в проге храните?(в базе, например).

Ссылка на комментарий
Поделиться на других сайтах

Спасибо разобрался с NX-19 и Gerg

Теперь пытаюсь отладить Aga8-92DC и ВНИЦ СМВ...Критические параметры компонентов, параметры бинарного взаимодействия вы как-нибудь в проге храните?(в базе, например).

Не изощряясь:

Type

Bnn=array [1..53] of Real ;

Const Bn: Bnn=(.........);

и

Eij:array [1..17,1..17] of Real

и в нетипизированном файле хранятся последние введенные данные о составе.

Но в дальнейшем я отказался от расчетов по полному компонентному составу и оставил только NX и GERG, т.к. различие в результате минимально, а ввод 27 переменных по компонентному составу утомляет.

Изменено пользователем Alex37
Ссылка на комментарий
Поделиться на других сайтах

  • Специалисты

Не изощряясь:

   Type

      Bnn=array [1..53] of Real ;

    Const Bn: Bnn=(.........);

и

Eij:array [1..17,1..17] of Real;

Разница не только в таблицах данных. В этих методах молярная плотность рассчитывается итерационным методом.

Ссылка на комментарий
Поделиться на других сайтах

Разница не только в таблицах данных. В этих методах молярная плотность рассчитывается итерационным методом.

Так и хранить данные на каждом шаге итерации незачем, а вопрос был про сохранение...

Ссылка на комментарий
Поделиться на других сайтах

Так и хранить данные на каждом шаге итерации незачем, а вопрос был про сохранение...

На самом деле, я точно не знаю, надо ли прописывать Aga8-92DC и ВНИЦ СМВ. И как часто они используются?!

Ссылка на комментарий
Поделиться на других сайтах

  • Специалисты

На самом деле, я точно не знаю, надо ли прописывать Aga8-92DC и ВНИЦ СМВ. И как часто они используются?!

Они используются при расчётах расхода газа, как правило, на магистральных трубопроводах, на месторождениях и т.п. На остальных пунктах учёта газа обычно знание точного состава не требуется, поэтому достаточно двух первых методов.

Диапазоны применимости методов есть в ГОСТ 30319, во 2-й части.

Изменено пользователем su215
Ссылка на комментарий
Поделиться на других сайтах

На самом деле, я точно не знаю, надо ли прописывать Aga8-92DC и ВНИЦ СМВ. И как часто они используются?!

На практике Aga8-92DC и ВНИЦ СМВ, на распределительных сетях не применяются, как в принципе и трансгазы их не используют тоже. Может в других регионах и по другому, но у нас так. Объяснить это можно тем, что на практике объем поставленного газа при взаиморасчетах округляется до целых значений, поэтому биться за второй знак после запятой нет смысла.

Ссылка на комментарий
Поделиться на других сайтах

В расчете СУ для диафрагмы, например, нужно найти "допустимые значения толщины диафрагмы от.......мм до.........мм"

Гост 8.586.2 формула (5.1). В ней указывается D'- внутренний диаметр опоры выходного торца диафрагмы в узле ее крепления, м. Значение этого диаметра где можно найти, либо это справочные данные?

Изменено пользователем litalok
Ссылка на комментарий
Поделиться на других сайтах

  • Специалисты

В расчете СУ для диафрагмы, например, нужно найти "допустимые значения толщины диафрагмы от.......мм до.........мм"

Гост 8.586.2 формула (5.1). В ней указывается D'- внутренний диаметр опоры выходного торца диафрагмы в узле ее крепления, м. Значение этого диаметра где можно найти, либо это справочные данные?

Либо из паспорта диафрагмы, либо из справочника, либо из МИ 2638-2001. К сожалению, этих документов под рукой нет, я сейчас в командировке, но в какой-то теме вопрос о диафрагмах обсуждался, и часть из этих документов я выкладывал. Поищите.

Ссылка на комментарий
Поделиться на других сайтах

  • Специалисты

Сейчас посмотрел, МИ 2638 есть в библиотеке форума.

Ссылка на комментарий
Поделиться на других сайтах

На практике Aga8-92DC и ВНИЦ СМВ, на распределительных сетях не применяются, как в принципе и трансгазы их не используют тоже. Может в других регионах и по другому, но у нас так. Объяснить это можно тем, что на практике объем поставленного газа при взаиморасчетах округляется до целых значений, поэтому биться за второй знак после запятой нет смысла.

Вы случайно не писали Расчет СУ? Меня интересует в какой последовательности он делается!!! В организации своей не могу найти человека, который может ответить на мои вопросы...)))

А программа предприятию нужна как ни странно))))

Изменено пользователем litalok
Ссылка на комментарий
Поделиться на других сайтах

Вы случайно не писали Расчет СУ? Меня интересует в какой последовательности он делается!!! В организации своей не могу найти человека, который может ответить на мои вопросы...)))

А программа предприятию нужна как ни странно))))

Я так понял, что для Вас, как для программиста, это теоретический вопрос ("дайте мне алгоритм, и я переверну Землю"),

или материальный (будет программа - будет премия).

Задайте Вашему руководству простой вопрос:"На сколько лигитимны будут расчёты, сделанные на основании разработанной Вами

прораммы, при судебных разбирательствах по разбаллансам?" (Коммерческое ПО ещё аттестовать нужно)

Ссылка на комментарий
Поделиться на других сайтах

  • Специалисты

Расчёт - дело не хитрое. Алал правильно спрашивает, - Вы уверены, что сможете пользоваться результатами расчёта? 

А алгоритм расчёта весь в ГОСТе. Берите и пишите на любом языке. Я делал и на Паскале и просто в Exel-е.  Но, - для своих личных задач. Для заказчиков - Расходомер ИСО, Флоуметрика.

Ссылка на комментарий
Поделиться на других сайтах

Вы случайно не писали Расчет СУ? Меня интересует в какой последовательности он делается!!! В организации своей не могу найти человека, который может ответить на мои вопросы...)))

А программа предприятию нужна как ни странно))))

Я не понял: Вам нужна программа для расчета суточного расхода среды или для расчета СУ?? Это две большие разницы!

В первом случае Вы можете сами писать программу и если контрагент согласен с получаемыми результатами - в добрый путь.

Во втором случае не надо изобретать велосипед, он есть (см. предыдущий пост) заплатил и пользуйся. Но для рез-тов даже в этом случае, при использовании на коммерческом узле, я требую проверки в ЦСМ и отметки об этом.

По вопросу писал ли я программы - расходом занимаюсь с 1995 г.и писал много программ и себе и другим. И наверное вправе дать один совет :thankyou: - прежде чем писать какую либо прикладную программу необходимо досконально влезть в тему, или заручиться помощью хорошего спеца, который и будет постановщиком задач которые Вы будете реализовывать.

Ссылка на комментарий
Поделиться на других сайтах

Кого не затруднит, можете прислать входные(начальные) данные для расчета сужающего устройства(сопел, трубы вентури) в измеряемых средах кроме природного газа. Нужны для проверки расчетов для проги

Ссылка на комментарий
Поделиться на других сайтах

  • Специалисты

Кого не затруднит, можете прислать входные(начальные) данные для расчета сужающего устройства(сопел, трубы вентури) в измеряемых средах кроме природного газа. Нужны для проверки расчетов для проги

Если время терпит,  в выходные постараюсь выложить. Сейчас занят очень.

Ссылка на комментарий
Поделиться на других сайтах

Присоединиться к обсуждению

Вы можете ответить сейчас, а зарегистрироваться позже. Если у вас уже есть аккаунт, войдите, чтобы ответить от своего имени.

Гость
Ответить в этой теме...

×   Вы вставили отформатированный текст.   Удалить форматирование

  Допустимо не более 75 смайлов.

×   Ваша ссылка была автоматически заменена на медиа-контент.   Отображать как ссылку

×   Ваши публикации восстановлены.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Загрузка...

Информация

  • Недавно просматривали   0 пользователей

    • Ни один зарегистрированный пользователь не просматривает эту страницу.

×
×
  • Создать...