Задание:
Рассчитать термогазодинамические процессы в следующей системе. Начальная высота полости 1 h10=0,4 м; высоты других полостей h2=0,15 м и h3=0,1 м. Диаметр всех полостей D=0,2 м. Диаметры отверстий: d12=0,005 м, d23=0,01 м, d3в=0,005 м. Начальные температуры воздуха во всех объемах 293 К, начальные давления p0=105 Па, полости заполнены воздухом. Движение поршня подчиняется закону , где t=0,2 с, =0,35 м. Расчет заканчивается при t=2t. Теплоотдачей пренебречь.
Записываем уравнения для каждого из объемов:
Текст программы:
program gas_sistem;
const
h10=0.4;
h2=0.15;
h3=0.1;
D=0.2;
pi=3.14;
V10=(pi*D*D*h10)/4;
V20=(pi*D*D*h2)/4;
V30=(pi*D*D*h3)/4;
d12=0.005;
F12=pi*d12*d12/4;
Fp=pi*D*D/4;
d23=0.01;
F23=pi*d23*d23/4;
d3vix=0.005;
F3vix=pi*d3vix*d3vix/4;
T0=293;
p02=1.0e5;
p03=1.0e5;
p0=1.0e5;
mu12=0.9;
tauk=0.4;
g=9.8;
Rg=287;
kg=1.4;
cvg=Rg/(kg-1);
cpg=kg*cvg;
ro0=p0/(Rg*T0);
dtwr=2.0e-4;
var
dt:real;
m1,E1,V1,p1,ro1,T1,G12,Tt12,V2,m2,E2,p2,ro2,T2,G23,Tt23,m3,E3, V3,p3,ro3,T3,G30,Tt30,xp0, tau1,t,xp,vp,tau:real;
f:text;
it,nwr:integer;
procedure istechenie(p1,p2,ro1,ro2,F12:real; var G,Tt:real);
var T1,rot12,pkr1,p12,u12,ro12:real;
begin
if p1>p2 then
begin
T1:=p1/(ro1*Rg);
pkr1:=power(2/(kg+1),kg/(kg-1))*p1;
Tt:=T1;
rot12:=p1/(Rg*Tt);
if p2<pkr1 then p12:=pkr1 else p12:=p2;
u12:=sqrt(2*kg/(kg-1)*p1/rot12*(1-power(p12/p1,(kg-1)/kg)));
ro12:=rot12*power(p12/p1,1/kg);
G:=ro12*u12*F12*mu12
end
else if p1<p2 then
begin
istechenie(p2,p1,ro2,ro1,F12,G,Tt);
G:=-G;
end
else
begin
G:=0; Tt:=T0
end
end;
begin
writeln;
p1:=p0; V1:=V10; T1:=T0;
ro1:=p1/(Rg*T1); m1:=ro1*V1; E1:=m1*cvg*T1;
p2:=p02; V2:=V20; T2:=T0;
ro2:=p2/(Rg*T2); m2:=ro2*V2; E2:=m2*cvg*T2;
p3:=p03; V3:=V30; T3:=T0;
ro3:=p3/(Rg*T3); m3:=ro3*V3; E3:=m3*cvg*T3;
xp0:=0.175; tau:=0.2; it:=0; tau1:=0;
dt:=1.0e-5;
nwr:=round(dtwr/dt);
assign(f,'REZULT1.txt'); rewrite(f);
repeat
T1:=E1/(m1*cvg); ro1:=m1/V1; p1:=ro1*Rg*T1;
T2:=E2/(m2*cvg); ro2:=m2/V2; p2:=ro2*Rg*T2;
T3:=E3/(m3*cvg); ro3:=m3/V3; p3:=ro3*Rg*T3;
istechenie(p1,p2,ro1,ro2,F12,G12,Tt12);
istechenie(p2,p3,ro2,ro3,F23,G23,Tt23);
istechenie(p3,p0,ro3,ro0,F3vix,G30,Tt30);
if (t <=tauk) then
xp:=xp0*(1-cos(2*pi*(t/0.2)))
else if t>tauk then
xp:=0;
if t <=tauk then
vp:=10*xp0*pi*sin(10*pi*t)
else if t>tauk then
vp:=0;
begin
if (it mod (20*nwr))=0 then
writeln(f,'t,c xр,м G12,кг/c p1,ата T1,K p2,ата', ' T2,K G23,кг/с', ' T3,K p3,ата G30,кг/с', 'vp,м/c V1,м3');
writeln(f,t:6:3,' ',xp:6:4,' ',G12:7:4,' ',p1/1.0e5:6:4,' ',round(T1):4,' ',p2/1.0e5:6:4,' ',
round(T2):4,' ',G23:8:4,' ',round(T3):4,' ',p3/1.0e5:6:4,' ',G30:8:4,' ',vp:6:4,' ',V1:6:4)
end;
m1:=m1-G12*dt;
E1:=E1-G12*cpg*T1*dt+p1*vp*Fp*dt; }
V1:=V1-vp*Fp*dt;
m2:=m2+G12*dt-G23*dt;
E2:=E2+G12*cpg*Tt12*dt-G23*cpg*T2*dt;
V2:=V20;
m3:=m3+G23*dt-G30*dt;
E3:=E3+G23*cpg*Tt23*dt-G30*cpg*T3*dt;
V3:=V30;
it:=it+1;
t:=it*dt;
until (t=tauk);
writeln ('конец расчёта');
close(f);
end.
Графическое отображение результатов:
Перемещение поршня в зависимости от времени.
Скорость поршня в зависимости от времени.
Изменение объема 1 в зависимости от времени.
Изменение давлений в зависимости от времени.
Изменение температур в зависимости от времени.
Изменение массовых расходов в зависимости от времени.
Балтийский Государственный Технический Университет
«Военмех» им. Д.Ф.Устинова
факультет авиа- и ракетостроения
Кафедра А4
Домашняя работа.
«Расчет термогазодинамических процессов в системе.»
Выполнила:Пяткова А.Ю.
Группа А-472
Проверил:Синильщиков В. Б.
Санкт-Петербург
2011
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.