Программная реализация расчета затвердевания и охлаждения
Поможем в ✍️ написании учебной работы
Поможем с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой

Расчет температурных полей и скоростей охлаждения, в простейшем случае, выполняется по следующей программе.

 

program teplo;{расчет температурных полей и скоростей охлаждения}

{одномерная задача явная схема }

var

temp:array[1..15] of real;

temp1:array[1..15] of real;

skor,skorz,skorc,skorr,raz,teplp:array[1..15] of real;

strukct:array[1..15] of char;

a,lamd,c,x,dx,b,tau,tau1,bf,A1,ro,dtau,dtau1,tn,tf,tk,tnac,tem,smit,Dg:real;

i,imax:integer;

cg,ct,c1,c2:real;

tl,ts,tt:real;

d,r:text;

procedure tepl;

begin

if(temp[i]>tl) then c:=cg;

if(temp[i]<=ts) then c:=ct;

if(temp[i]<=tl) and (temp[i]>tt) then c:=c1;

if(temp[i]<=tt) and (temp[i]>ts) then c:=c2; end;

begin

assign(d,'e:\tp7\deendrit\diplom.dan');reset(d);

assign(r,'e:\tp7\deendrit\diplom.rez');rewrite(r);

readln(d,tn); writeln(r,'температура заливки металла tn=',tn:5:1);

readln(d,tf);writeln(r,'начальная температура формы tf=',tf:5:1);

readln(d,tk);writeln(r,'конечная температура tk=',tk:5:1); {для рассмотрения интервала}

readln(d,lamd);writeln(r,'коэф-т теплопроводности lamd=',lamd:6:4);

readln(d,bf);writeln(r,'коэф-т теплоаккумулирующей способности формы bf=',bf:6:1);

readln(d,b);writeln(r,'толщина стенки b=',b:6:3);

readln(d,imax);writeln(r,'количество узлов отливки imax=',imax:4);

readln(d,tl);writeln(r,'температура ликвидус tl=',tl:5:1);

readln(d,ts);writeln(r,'температура солидус ts=',ts:5:1);

readln(d,tt);writeln(r,'температура середины интервала ликвидус-солидус tt=',tt:5:1);

readln(d,cg);writeln(r,'теплоемкость жидкого состояния cg=',cg:10:1);

readln(d,ct);writeln(r,'теплоемкость твердого состояния ct=',ct:10:1);

readln(d,c1);writeln(r,'теплоемкость внутри интервала tl-tt c1=',c1:12:1);

readln(d,c2);writeln(r,'теплоемкость внутри интервала tt-ts c2=',c2:10:1);

tnac:=tn-tf; {избыточная температура заливки, К}

dx:=b/(imax-1);{расстояние между узлами, м}

writeln(r,'расстояние между узлами dx=',dx:8:5);

tau:=0;{начальное время, с}

dtau:=3;{шаг по времени, с}

{начальная температура заливки}

writeln(r);

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

for i:=1 to imax do begin

temp[i]:=tnac;

skorz[i]:=0;

skorc[i]:=0;

skorr[i]:=0;

raz[i]:=0;

strukct[i]:='.';

teplp[i]:=0;

write(r,temp[i]:6:0); end;

{******************************}

tau:=0; writeln(r);

writeln(r,'Распределение температуры и скоростей охлаждения в теле отливки');

writeln(r);

repeat

tepl;

a:=lamd/c;{коэффициент температуропроводности, м^2/c для объемной теплоемкости}

tau:=tau+dtau;

{вычисление граничных температур и скоростей охлаждения}

temp1[1]:=temp[2]*(1/(1+(BF*dx)/(SQRT(3.14*tau)*lamd)));

temp1[imax]:=temp[imax-1]*(1/(1+(bf*dx)/(SQRT(3.14*tau)*lamd)));

skor[1]:=(temp[1]-temp1[1])/dtau;

skor[imax]:=(temp[imax]-temp1[imax])/dtau;

temp[1]:=temp1[1]; temp[imax]:=temp1[imax];

for I:=2 TO Imax-1 DO BEGIN {цикл вычисления температур внутри граничных условий}

tepl;

a:=lamd/c;{коэффициент температуропроводности, м^2/c для объемной теплоемкости}

A1:=(a*dtau)/sqr(dx);

temp1[i]:=temp[i]+A1*(temp[i+1]-2*temp[i]+temp[i-1]);

skor[i]:=(temp[i]-temp1[i])/dtau; end;

{for i:=1 to imax do begin {распечатка температур}

{write(r,temp1[i]:6:0); }

{end; write(r,' tau=',tau:5:4); writeln(r); }

for i:=1 to imax do begin {распечатка скорости охлаждения}

{write(r,skor[i]:6:2); }

{вычисление скорости охлаждения в интервале затвердевания}

if ((temp[i]<tl) and (temp[i]>ts)) then skorz[i]:=skor[i]; end;

skorz[1]:=2*skorz[2]; skorz[imax]:=2*skorz[imax-1];

{writeln(r);}

{вычисление теплового потока в интервале затвердевания}

{q=lamd*перепад температур между соседними точками/dx*промежуток времени}

for i:=1 to imax do begin

if ((temp[i+1]<tl) and (temp[i+1]>ts)) and ((temp[i+1]-temp[i])>0) then

teplp[i]:=lamd*(temp[i+1]-temp[i])*dx*dtau;

if ((temp[i-1]<tl) and (temp[i-1]>ts)) and ((temp[i-1]-temp[i])>0) then

teplp[i]:=lamd*(temp[i-1]-temp[i])*dx*dtau; end;

for i:=2 to imax-1 do begin {запиcь предыдущего распределения температур}

temp[i]:=temp1[i]; end; {writeln(r);}

until (temp[5]+tf<=tk);

writeln(r,'Скорости охлаждения град/с в интервале затвердевания отливки tl-ts');

for i:=1 to imax do begin {распечатка скорости охлаждения для интервала tl-ts}

write(r,skorz[i]:6:2); end;

writeln(r);

writeln(r,'Распределение размера дендритной ячейки в мкм');

{Размер дендритной ячейки является функцией скорости охлаждения}

for i:=1 to imax do begin

raz[i]:=700/sqrt(skorz[i]);

write(r,raz[i]:6:0); end;

writeln(r);

writeln(r,'Распределение скоростей роста твердой фазы м/с*10^-4');

{ Линейная скорость роста ветви дендрита является функцией скорости охлаждения}

for i:=1 to imax do begin

skorr[i]:=skorz[i]*2;

write(r,skorr[i]:6:2);

end;

writeln(r);

writeln(r,'Относительная степень обогащения границ дендритов углеродом Сгр/Со');

{отношение концентрации элемента на границе и исходной концентрации}

{Зависит от критерия Смита Sm=скорость роста (охлаждения)*размер

дендритной ячейки/коэффициент диффузии элемента в жидкой фазе}

Dg:=5*0.000000001;{ Коэффициент диффузии м^2/с}

for i:=1 to imax do begin

smit:=skorr[i]*0.0001*raz[i]*0.000001/Dg;{критерий Смита}

skorc[i]:=18-0.1*smit;

write(r,skorc[i]:6:2);

end;

writeln(r);

writeln(r,'Распределение теплового потока Вт/м^2 для интервала tl-ts');

for i:=1 to imax do begin

write(r,teplp[i]:6:1);

end;

writeln(r);

writeln(r,'Структурные зоны по толщине отливки');

for i:=1 to imax do begin

if (teplp[i]>100) then strukct[i]:='+';

if ((teplp[i]>12) and (teplp[i]<100)) then strukct[i]:='=';

if (teplp[i]<3) then strukct[i]:='*';

write(r,strukct[i]:6);

end;

writeln(r);

writeln(r,'+ зона замороженных кристаллов');

writeln(r,'= зона столбчатых кристаллов');

writeln(r,'* зоны равноосных кристаллов');

close(d);close(r);

end.

 

Файл результатов

температура заливки металла tn=1500.0

начальная температура формы tf= 20.0

конечная температура tk=1400.0

коэф-т теплопроводности lamd=54.5000

коэф-т теплоаккумулирующей способности формы bf=1628.0

толщина стенки b= 0.070

количество узлов отливки imax= 10

температура ликвидус tl=1495.0

температура солидус ts=1460.0

температура середины интервала ликвидус-солидус tt=1480.0

теплоемкость жидкого состояния cg= 6900000.0

теплоемкость твердого состояния ct= 5647500.0

теплоемкость внутри интервала tl-tt c1= 7280000.0

теплоемкость внутри интервала tt-ts c2= 6740000.0

расстояние между узлами dx= 0.00778

 

начальное распределение температур в отливке

1480 1480 1480 1480 1480 1480 1480 1480 1480 1480

Распределение температуры и скоростей охлажд в теле отливки

 

Скорости охлажд град/с в интервале затвердевания отливки tl-ts

 27.84 13.92 3.11 1.62 1.74 1.74 1.62 3.11 13.92 27.84

Распределение размера дендритной ячейки, мкм

 133 188 397 550 530 530 550 397 188 133

Распределение скоростей роста твердой фазы, м/с*10^-4

 55.69 27.84 6.22 3.24 3.49 3.49 3.24 6.22 27.84 55.69

Относительная степень обогащения границ дендритов углеродом, Сгр/Со

 3.23 7.55 13.06 14.44 14.30 14.30 14.44 13.06 7.55 3.23

Распределение теплового потока, Вт/м^2 для интервала tl-ts

 132.4 50.9 30.0 16.6 0.0 0.0 16.6 30.0 50.9 132.4

Структурные зоны по толщине отливки

+ = = = * * = = = +

+ зона замороженных кристаллов;

= зона столбчатых кристаллов;

* зоны равноосных кристаллов.

 

Дата: 2019-04-23, просмотров: 244.