2 работа / Работа 2 - Тамбовцев - Сизов - 2006 / Принятые допущения
.docРОССИЙСКИЙ ХИМИКО-ТЕХНОЛОГИЧЕСКИЙ УНИВЕРСИТЕТ
им. Д.И.Менделеева
Кафедра информатики и компьютерного моделирования
Моделирование гидравлической системы, динамический режим.
выполнил
Студент группы Ф-32
Сизов А.П.
Проверил
Преподаватель
Тамбовцев И.И.
Москва 2006
Принятые допущения.
-
Режим динамический, рассматривается только движение жидкости.
-
Жидкость идеальна.
-
Движение жидкости описывается уравнением Бернулли (жидкость не сжимаема).
-
Сопротивление в вентилях много больше всех местных сопротивлений и сопротивления трению, т.е. на участках, где нет вентилей, давление постоянно.
-
Газ в емкостях идеален.
-
Процесс изотермичен.
-
Все трубопроводы находятся на одном уровне.
-
В пустой емкости давление равно атмосферному.
Схема трубопровода.
Система уравнений.
Дано: P1-P3; P5-P7; , Pa, H1, H2, S1,S2, ρ
Найти: P8, P9, P10, P11, .
1)
2)
3)
4)
5)
6)
7)
8)
9)
10)
11)
12)
13)
14)
15)
Информационная матрица.
|
V |
V |
V |
V |
V |
V |
V |
P |
P |
P |
P |
h |
h |
h |
h |
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
6 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
7 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
8 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
9 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
10 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
11 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
12 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
13 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Блок схема.
Программа.
program dinamik SizOFF v 3;
const
nk=7;np=11; g=9.81;
Var
k,v,vm:array [1..nk] of real;
P:array [1..np] of real;
hb,hm,s,f,y:array [1..2] of real;
i,q,n:byte;pa,e,po,dt:real;
label 1,2;
FUNCTION znak(a:real):integer;
begin if a>0 then znak:=1; if a<0 then znak:=-1; end;
procedure fn(h1,h2:real);
begin
p[10]:=(pa*hb[1])/(hb[1]-h1);
p[8]:=p[10]+po*g*h1;
p[11]:=(pa*hb[2])/(hb[1]-h2);
p[9]:=p[11]+po*g*h2;
v[1]:=k[1] * znak(p[1] - p[8]) * SQRt(ABS(p[1] - p[8]));
v[2]:=k[2] * znak(p[2] - p[8]) * SQRt(ABS(p[2] - p[8]));
v[3]:=k[3] * znak(p[3] - p[8]) * SQRt(ABS(p[3] - p[8]));
v[4]:=k[4] * znak(p[8] - p[9]) * SQRt(ABS(p[8] - p[9]));
v[5]:=k[5] * znak(p[9] - p[5]) * SQRt(ABS(p[9] - p[5]));
v[6]:=k[6] * znak(p[9] - p[6]) * SQRt(ABS(p[9] - p[6]));
v[7]:=k[7] * znak(p[9] - p[7]) * SQRt(ABS(p[9] - p[7]));
f[1]:=(v[1]+v[2]+v[3]-v[4])/s[1];
f[2]:=(v[4]-v[5]-v[6]-v[7])/s[2];
if q=1 then
begin
writeln(' p(8-11) v(1-7);
writeln(' ', p[8]:5,' ', v[1]:5);
writeln(' ', p[9]:5,' ', v[2]:5);
writeln(' ', p[10]:5,' ', v[3]:5);
writeln(' ', p[11]:5,' ', v[4]:5);
writeln(' ',' ', v[5]:5);
writeln(' ',' ', v[6]:5);
writeln(' ',' ', v[7]:5);
writeln(' f1= ',f[1],' f2=',f[2]);
readln;
end;
end;
Begin
2:writeln ('Vvedite massiv k');
for i:=1 to nk do Readln (k[i]);
writeln ('Vvedite massiv P v ata');
for i:=1 to 3 do Readln (p[i]);
for i:=5 to 7 do Readln (p[i]);
for i:=1 to 7 do p[i]:=p[i]*100000;
writeln ('Vvedite massiv H');
for i:=1 to 2 do Readln (hb[i]);
writeln ('Vvedite massiv s /m2/');
for i:=1 to 2 do Readln (s[i]);
writeln ('Vvedite massiv h0 /m/');
for i:=1 to 2 do Readln (hm[i]);
writeln ('Vvedite atmosfernoe davlenie v ata');
readln(pa); pa:=pa*100000;
writeln ('Vvedite otnositelnuy pogreshnost');
readln(e);
writeln ('Vvedite po kg/m3');
readln(po);
writeln ('Vvedite hag vremeni sek');
readln(dt);
1:writeln ('Vvedite 4islo hagov vremeni');
readln(n);
writeln('Klu4 q=0 - ne moro4itsa, q=1 - moro4itsa, q=2 - moro4itsia s mod met ELIEra');
readln(q);
for i:=1 to n do
begin
fn(hm[1],hm[2]);
if q=2 then writeln('fh1=', f[1],' fh2=',f[2]);
y[1]:=hm[1]+(dt*f[1]/2);
y[2]:=hm[2]+(dt*f[2]/2);
fn(y[1],y[2]);
if q=2 then writeln('fh1/2=', f[1],' fh2/2=',f[2]);
writeln('hm1=', hm[1],' hm2=',hm[2]);
if abs(f[1])>e then hm[1]:=hm[1]+dt*f[1];
if abs(f[2])>e then hm[2]:=hm[2]+dt*f[2];
if (abs(f[1])<e) and (abs(f[2])<e) then
begin
writeln('hm1=', hm[1],' hm2=',hm[2], ' stacionarnii regim' );
writeln('fh1=', f[1],' fh2=',f[2]);
readln;
halt;
end;
end;
writeln('Prodolgit?, n=0 - net; n:=1 - da,');
readln(n);
if n=1 then goto 1;
end.
Проведение расчетов с целью исследования поведения системы.
Режим заполнения емкостей.
Дано:
,
Переходный режим.
Дано:
,
Режим аварийного слива.
Дано:
,
Выводы.
Произведено моделирование гидравлической системы (не стационарный режим), моделирование проводилось по следующему плану:
-
Принятие основных допущений.
-
Составление системы из пятнадцати уравнений (два из которых диффренциальные).
-
Составление информационной матрицы и блок-схемы алгоритма расчета (расчет значений искомой функции проводился с помощью модифицированного метода Эйлера ).
-
Программная реализация алгоритма расчета на языке программирования Turbo Pascal.
-
Проведение анализа поведения гидравлической системы (рассчитаны зависимости h1 и h2 от времени для режимов заполнения емкостей, переходного и аварийного слива).
-
Построение, соответствующих полученным зависимостям, графиков.