Расчет работы сифона. Пояснительная часть и листинг программы

Страницы работы

Содержание работы

Пояснительная часть:

Ps – давление насыщенных паров (для воды Ps=1780 Па );

ro –  плотность жидкости (для воды ro=1000 кг/м3);

h – общие потери (h=hm+ht);

hm – местные потери;

ht – потери по длине;

hc – высота точки С (по условию 5,2 м);

hvc – вакуумметрический напор в точке С;

hvd – допустимый вакуумметрический напор;

V – скорость в трубопроводе;

dV – шаг подбора скорости;

Q – расход в трубопроводе (по условию 1 м3/с);

z – действующий напор (по условию 4,8 м);

L – длина трубопровода (по условию 46 м);

d – диаметр трубопровода (цель задачи нахождение диаметра);

Re1 – 1-ое граничное число Рейнольдса (Re1=10/e);

Re2 – 2-ое граничное число Рейнольдса (Re2=500/e);

Re – число Рейнольдса (текущее число Рейнольдса для данной скорости и диаметра);

ld – коэффициент Дарси (зависит от числа Рейнольдса и e);

nu – кинематическая вязкость жидкости (для воды 0,00000118 м2/с при t°15);

eps – необходимая точность нахождения напора (параметр задаваемый пользователем для определения точности с которой будут считаться напоры);

ke – эквивалентная шероховатость (0,5 для стальных сварных ржавых труб);

n,i – временные переменные для расчетов;

k – коэффициент потерь в местных сопротивлениях;

Pa – атмосферное давление (105 Па);

g – ускорение свободного падения (9,81 м/с2);

Reg – критическое число Рейнольдса (»2320).


Листинг программы:

program d2;

 uses crt;

 var

  hc,Ps,ro,h,hvc,hvd,dV,V,ht,Q,Re1,Re2,Re,ld,nu,d,L,eps,ke,z:real;

  n,i:integer;u:char;

  k:array[0..10] of real;

  hm:array[0..10] of real;

 const

  Pa=100000;g=9.81;Reg=2320;

{функция возведения в степень}

 function s(a,b:real):real;

  begin

   if (a<0) then if round(b) mod 2=0 then s:=exp(b*ln(abs(a)))

                                     else s:=-exp(b*ln(abs(a)))

            else s:=exp(b*ln(abs(a)))

  end;

begin

 clrscr;textcolor(15);

 {ввод начальных данных}

 writeln('Все данные вводить в системе СИ');

 write('Введите расход-');readln(Q);

 write('Введите длину трубопровода-');readln(L);

 write('Введите действующий напор-');readln(z);

 write('Введите кинематическую вязкость-');readln(nu);

 write('Введите эквивалентную шероховатость-');readln(ke);

 write('Введите требуемую точность-');readln(eps);

 write('Введите количество местных сопротивлений-');readln(n);

 for i:=1 to n do begin

  write('Введите коэффициент ',i,'-го местного сопротивления-');readln(k[i]);

 end;

 write('Требуется ли проверять условие кавитации Y/N ');readln(u);

 if (u='y') or (u='Y')then begin

  write('Введите давление насыщенных паров-');readln(Ps);

  write('Введите плотность жидкости-');readln(ro);

  write('Введите высоту точки С-');readln(hc);

 end;

 clrscr;V:=eps;dV:=sqr(eps);

 while abs(z-h)>eps do begin

  h:=0;d:=sqrt(4*Q/(pi*V));

  Re:=4*Q/(pi*d*nu);

  Re1:=10*d/ke;

  Re2:=500*d/ke;

{определение зоны трения и коэффициента Дарси}

  if Re<=Reg then ld:=Re/64; {ламинарная зона}

  if (Re>Reg) and (Re<=Re1) then ld:=0.3164/s(Re,0.25); {зона гладких труб}

  if (Re>Re1) and (Re<=Re2) then ld:=011*s((ke/d+68/Re),0.25); {зона смешанного трения}

if Re>Re2 then ld:=0.11*s(ke/d,0.25); {зона шероховатых труб}

{определение потерь по длине}

  ht:=ld*L*sqr(V)/(2*d*g);

  h:=ht;

{определение местных потерь}

  for i:=1 to n do begin

   hm[i]:=k[i]*sqr(V)/(2*g);

   h:=h+hm[i];

  end;

  gotoxy(1,1);writeln('Искомый диаметр -',d:6:5,' м  ');

  writeln('При скорости-',V:2:4,' м/с');

  writeln('коэф. Дарси-',ld:2:3,' Re-',Re:2:3);

  textcolor(21);gotoxy(27,6);write('Подождите идет расчет!!!');

  textcolor(15);

  V:=V+dV;

 end;

 textcolor(5);gotoxy(27,6);writeln('     Расчет окончен     ');

{вывод результатов}

 textcolor(15);write('Местные потери-');

 for i:=1 to n do write(hm[i]:2:3,' м ');

 writeln(#13#10,' Потери по длине -',ht:2:4,' м');

 if (u='Y') or (u='y') then begin

{проверка условия кавитации}

  hvc:=hc+hm[i]+hm[2]+hm[3]+ht+sqr(V)/(2*g);

  hvd:=(Pa-Ps)/(ro*g);

  if hvc<=hvd then writeln('Сифон работает нормально')

              else writeln('Сифон работает ненормально');

 end;

 readln;

end.


Полученные результаты:

Похожие материалы

Информация о работе

Предмет:
Гидромеханика
Тип:
Дополнительные материалы
Размер файла:
91 Kb
Скачали:
0