Смекни!
smekni.com

Методические указания к практическим и лабораторным занятиям для студентов специальностей 070203, 230100, 101700 Санкт-Петербург 2001 (стр. 3 из 5)

f[3]:= (a1 +a2*x[1] + a3*x[1]*x[1] + a4*x[1]*t + a5*t*t) * x[3] – Qtp;

end;

Begin {Программа}

Qtp:=Kn*Fn*(t0s-tpm);

WriteLn (‘Qtp= ‘,Qtp);

Nelur (3,SistNelur, x);

End.

Холодильная установка с фиксированными температурой охлаждаемого помещения и температурой воды на входе в конденсатор является следующим этапом по развитию математической модели. Она позволяет исследовать влияние несколько большего числа входных и управляющих параметров на выходные. Система уравнений описывающих холодильную установку с принятыми ограничениями

Qт = k0F0((tпм + tв2)/2 – t0) ü

Qт = Vвоnвоcвρв(tпмtв2) ½

Qт = (a1 + a2t0 + a3t02 + a4t0t + a5t2)b ý (12)

Q = (b1 + b2t0 + b3t02 + b4t0t + b5t2)b+Qт ½

Q = kkFk(t – (tw1 + tв2)/2) ½

Q = Vwnwcwρw(tw2tw1) þ

где Vw – объемная подача воды одним насосом, м3/с; nц – количество насосов; cц – теплоемкость воды, кДж/(кг×К); ρw – плотность воды, кг/м3; tw2 – температура воды на выходе из конденсатора, оС; tw1 – температура воды на входе в конденсатор.

В системе уравнений (12) неизвестными являются температура кипения хладагента, температура воздуха на выходе из воздухоохладителя, коэффициент рабочего времени компрессорного агрегата, температура конденсации хладагента, температура воды на выходе из конденсатора, тепловая нагрузка на конденсатор. Ниже приведен пример программы на алгоритмическом языке Paskal с использованием библиотеки программ SKMath2.

Program Refrigeretion;

Uses SKMath2;

Сonst

Cv = 1; Rv = 1.3; {Теплоемкость и плотность воздуха}

Сw = 4.19; Rw = 1000; { Теплоемкость и плотность воды}

tpm= -7; tos=28;

Kn=0.00044; Fn=5900;

Fo1=230; Vv1=4.694; Ko=0.008; nvo=8;

Fkd=30; Kkd=0.7; tw1=27.8;

Vw1=0.002; nwn=6;

a1=648.6; a2= -19.214; a3= 3.56; a4=0.200;a5=0.0;

b1=30.70;b2=0.695;b3=2.400;b4=0.0004;b5=0.000002;

var

Qtp: real; {Теплоприток в камеру}

x: massiv;

Procedure SistNelur (x: massiv; var f:massiv);

{Описание системы уравнений}

{Неизвестные – x[1] – t0; x[2] – tv2; x[3] – b;

x[4] – tk; x[5] – tw2; x[6] – Qk}

begin

f[1]:= Cv*Rv*nvo*Vv1*(tpm-x[2]) – Qtp;

f[2]:= Ko*Fo1*nvo*(tpm-x[2])/Ln (tpm-x[1]) / (x[2]-x[1])) – Qtp;

f[3]:= (a1+a2*x[1] + a3*x[1]*x[1]+a4*x[1]*x[4]+a5*x[4]*x[4]) * x[3] – Qtp;

f[4]:= (b1+b2*x[1] + b3*x[1]*x[1]+b4*x[1]*x[4]+b5*x[4]*x[4]) * x[3] + Qtp – x[6];

f[5]:= x[6] – Kkd * Fkd * (x[5]-tw1) / Ln ((x[4] –tw1) / (x[4] - x[5] ));

f[6]:= x[6] – Cw * Rw * Vw1 * nwn * (x[5]-tw1);

end;

Begin

Qtp:=Kn*Fn*(tos-tpm);

WriteLn (‘Qtp= ‘,Qtp);

Nelur (6,SistNelur, x);

End.

Холодильная установка с фиксированной температурой охлаждаемого помещения является полной математической моделью объекта с сосредоточенными параметрами. Она позволяет исследовать влияние основных входных и управляющих параметров на выходные. Система уравнений описывающих холодильную установку с сосредоточенными параметрами

Qт = k0F0((tпм + tв2)/2 – t0) ü

Qт = Vвоnвоcвρв(tпмtв2) ½

Qт = (a1 + a2t0 + a3t02 + a4t0t + a5t2)b ý (13)

Q = (b1 + b2t0 + b3t02 + b4t0t + b5t2)b+Qт ½

Q = kkFk(t – (tw1 + tв2)/2) ½

Q = Vwnwcwρw(tw2tw1) ½

h = (tw2tw1)/(tw2tм. т) þ,

где tм. т – температура мокрого термометра, оС.

В системе уравнений (13) неизвестными являются температура кипения хладагента, температура воздуха на выходе из воздухоохладителя, коэффициент рабочего времени компрессорного агрегата, температура конденсации хладагента, температура воды на входе и на выходе из конденсатора, тепловая нагрузка на конденсатор. Ниже приведен пример программы на алгоритмическом языке Paskal с использованием библиотеки программ SKMath2.

Program Kuhl;

Uses SKMath2;

Сonst

Cv = 1; Rv = 1.3; {Теплоемкость и плотность воздуха}

Cw = 4.19; Rw = 1000; { Теплоемкость и плотность воды}

tpm = -17; tos = 31;

Fn = 5600; Kn = 0.00023;

Fo1 = 150; Vv1 = 2.069; Ko = 0.011;

nvo = 8; Nvo1 = 12.0; Nuvo = 0.24;

Fkd = 20; Kkd = 0.899;

nvn = 8; Vw1 = 0.0022;

tmt = 25.8; Nugr = 0.57;

Var

Qtp : real;

x : massiv;

Procedure SistNelur (x: massiv; var f: massiv);

begin

{Описание системы уравнений}

{Неизвестные – x[1] – to; x[2] – tv2; x[3] – b;

x[4] – tk; x[5] – tw2; x[6] – Qk; x[7] – tw1;}

f [1] := Cv*Rv*nvo*Vv1*(tpm – x [2]) – Qtp;

f [2] := Ko*Fo1*nvo*(tpm – x [2])/Ln ((tpm – x [1])/(x [2] – x [1])) – Qtp;

f[3]:= (a1+a2*x[1] + a3*x[1]*x[1]+a4*x[1]*x[4]+a5*x[4]*x[4]) * x[3] – Qtp;

f[4]:= (b1+b2*x[1] + b3*x[1]*x[1]+b4*x[1]*x[4]+b5*x[4]*x[4]) * x[3] + Qtp – x[6];

f [5] := x [6] – Kkd*Fkd*(x [5] – x [7])/Ln((x [4] – x [7])/(x [4] – x [5]));

f [6] := x [6] – Cw*Rw*Vw1*nvn*(x [5] – x [7]);

f [7] := Nugr – (x [5] – x [7])/(x [5] – tmt);

end;

Вegin

Qtp := Kn*Fn*(tos – tpm) + nvo*Nvo1*Nuvo;

WriteLn (‘Qtp= ‘, Qtp);

Nelur (7, SistNelur, x);

End.

2.5. Математические модели элементов холодильной установки с распределенными параметрами

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

Задача решается двухмерная: по горизонтали рассматривается изменение температуры слоев между двумя обогревающими трубами, по вертикали – изменение температуры от слоя расположения обогревающих труб до пола охлаждаемой камеры. В основу расчета положены метод источников и метод наложения [6]. После преобразований получаются зависимости:

- термическое сопротивление R массива окружающего обогревающую трубу

R = (2pl)—1ln(2s(pd)—1Sh(2ph/s)), (14)

- плотность теплового потока q

q = (tтр - tпм )/( (2pls)—1ln(2s(pd)—1Sh(2ph/s)), (15)

где l - теплопроводность массива под полом холодильника, Вт/(м×К); s – шаг обогревающих труб, м; d – диаметр труб, м; h – глубина заложения обогревающих труб, м.

Program Warm;

Uses Crt,Dos,Kbi;

Label m,m1,m2,l;

Var tp1,tp2,di1,di2,li1,li2,tm1,tm2,d1,d2,a1,a2,z,

tp,li,di,a,ttr,tm,t1,d,x,y,x1,x2,x3,t,ch,th,cx,t2,x4,ch1,

x5,am,t3,c,q,s,s1,s2,y0,y1,y2,kt,r,r1,r2,r3 :real;

tt :array[1..10] of real;

tr,tz :array[1..6] of real;

i,j,code :integer;

Ch2,Ch3,Ch4 :char;

res,re :byte;

stroka :string;

Procedure V(var r:real);

var stroka :string;

code :integer;

begin

code:=0;

Repeat

readln(stroka);

val(stroka,r,code);

until code=0;

end;

Procedure V1(text:string;a:real;var r:real);

var stroka :string;

code :integer;

begin

code:=0;

Repeat

ClrScr;writeln;write('Введено');

write(text);writeln(a:7:3);

writeln;

write('Новое значение...................... ');

readln(stroka);

val(stroka,r,code);

until code=0;

end;

Procedure MenuR(k1,k2,kp,f1,r2,r4,r3:byte;yy:integer;

s1,s2,s3,s4,s5,s6,s7,s8,s9,s0:real;ss1:string;

Var a1,a2,a3,a4,a5,a6,a7,a8,a9,a0:real);

Label Met,m1,m2;

Const Kr=10;

Var M :array[1..Kr] of real;

I,T,J,re2,re3,re4,me1,me2 :byte;

pp :array[1..Kr] of byte;

nu :integer;

Ch :char;

Fl :boolean;

s,a :real;

f :file;

pa :pathStr;

begin

re2:=r2;re3:=r3;re4:=r4;

Cursor(False);

Fl:=True;

a1:=s1;a2:=s2;a3:=s3;a4:=s4;a5:=s5;a6:=s6;

M[1]:=s1; M[2]:=s2; M[3]:=s3; M[4]:=s4; M[5]:=s5; M[6]:=s6; M[7]:=s7;

M[8]:=s8;M[9]:=s9;M[10]:=s0;

T:=9;

Window(k1,k2+1,k1+T+1,k2+Kp+1);

for I:=1 to Kp do

begin

writeln(M[i]:7:3);

end;

I:=1;

gotoXY(1,i);

while Fl=True do

begin

Cursor(True);Ch:=ReadKey;

if (Ch=#27) or (Ch=#13) then Fl:=False;

if (Ch=#0) and KeyPressed then begin

Ch:=ReadKey;

m1: case Ch of

#80: begin i:=i+1;if i=(kp+1) then i:=1;GoToXY(1,i);end;

#72: begin i:=i-1;if i=0 then i:=kp;gotoXY(1,i);end;

#83: begin

case i of

1: begin code:=0;

Repeat GoToXY(1,i);ClrEol;Readln(stroka);

val(stroka,z,code) until code=0;

a1:=z;

GoToXY(1,i);write(a1:7:3);

end;

2: begin code:=0;

Repeat GoToXY(1,i);ClrEol;Readln(stroka);

val(stroka,z,code) until code=0;

a2:=z;

GoToXY(1,i);write(a2:7:3);

end;

3: begin code:=0;

Repeat GoToXY(1,i);ClrEol;Readln(stroka);

val(stroka,z,code) until code=0;

a3:=z;

GoToXY(1,i);write(a3:7:3);

end;

4: begin code:=0;

Repeat GoToXY(1,i);ClrEol;Readln(stroka);

val(stroka,z,code) until code=0;

a4:=z;

GoToXY(1,i);write(a4:7:3);

end;

5: begin code:=0;

Repeat GoToXY(1,i);ClrEol;Readln(stroka);

val(stroka,z,code) until code=0;

a5:=z;

GoToXY(1,i);write(a5:7:3);

end;

6: begin code:=0;

Repeat GoToXY(1,i);ClrEol;Readln(stroka);

val(stroka,z,code) until code=0;

a6:=z;

GoToXY(1,i);write(a6:7:3);

end;

7:; 8:; 9:; 10:;

end;

Window(k1,k2+1,k1+T+1,k2+Kp+1);gotoxy(8,i);

if i=kp+1 then Fl:=False;

end;

end;

end;

end;

Met: CF(7,0);

Cursor(True);

end;

Procedure Ogr;

begin

CF(7,0);Pl;

FrameWN(5,4,72,11,1,'ОГРАНИЧЕНИЯ ПАРАМЕТРОВ');

writeln('Температура воздуха камеры, C .......... -4 ... -40');

writeln('Толщина изоляции, м ........... 0.5 ... 1.0');

writeln('Теплопроводность изоляции, Вт/(м.K) .... 0.2 ... 0.35');

writeln('Температура в центре между трубами, C ........... 1 ..... 5');

writeln('Диаметр труб, м ........... 0.032 . 0.07');

write('Шаг труб, м ........... 0.5 ... 2');

CF(7,0);

end;

Procedure Zag;

begin

Window(9,1,80,4);CF(0,7);

write('<<< РАСЧЕТ СИСТЕМЫ ОБОГРЕВА ГРУНТА ПОД ХОЛОДИЛЬНИКОМ >>>');

Window(1,24,80,25);Cf(0,7);

write(' ',Chr(24),Chr(25),' Выбор ',' DEL',' Замена ',' ENTER',' Подтверждение ');

CF(7,0);pl;CF(7,0);

end;

Procedure Err;

begin

Window(1,1,80,25);ClrScr;Gotoxy(10,13);CF(0,7);

writeln(' !!! ПАРАМЕТР ЗА ПРЕДЕЛАМИ ОГРАНИЧЕНИЙ !!! ');

GoToXY(25,14);write('* * *');CF(7,0);

end;

Begin

m1:re:=0;Zastav2;

ttr:=0;x:=0;y:=0;x1:=0;x2:=0;x3:=0;t:=0;ch:=0;th:=0;t2:=0;

x4:=0;ch1:=0;c:=0;q:=0;x5:=0;am:=0;t1:=0;cx:=0;

tp1:=-40;li1:=0.3;di1:=1;tm1:=3;a1:=1;d1:=0.032;

ClrScr;Pl;

Window(10,11,77,13);CF(0,7);

writeln('<<< РАСЧЕТ СИСТЕМЫ ОБОГРЕВА ГРУНТА ПОД ХОЛОДИЛЬНИКОМ >>>');

CF(7,0);

Window(50,22,80,25);

write('Нажмите любую клавишу');

Ch4:=ReadKey;

Pl;ClrScr;

Window(9,1,80,3);CF(0,7);

writeln('<<< РАСЧЕТ СИСТЕМЫ ОБОГРЕВА ГРУНТА ПОД ХОЛОДИЛЬНИКОМ >>>');

CF(7,0);

Window(1,8,80,25);

writeln(' В работе предлагается провести исследование влияния заданного');

writeln('преподавателем параметра на температуру теплоносителя и на плотность');