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

  

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. К сожалению, этих документов под рукой нет, я сейчас в командировке, но в какой-то теме вопрос о диафрагмах обсуждался, и часть из этих документов я выкладывал. Поищите.

Опубликовано (изменено)

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

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

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

Изменено пользователем litalok
Опубликовано

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

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

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

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

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

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

  • Специалисты
Опубликовано

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

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

Опубликовано

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

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

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

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

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

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

Опубликовано

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

  • Специалисты
Опубликовано

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

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

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

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

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

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

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

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

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

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

Загрузка...

Информация

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

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