Автор работы: Пользователь скрыл имя, 15 Декабря 2015 в 09:13, курсовая работа
Целью данной курсовой работы является создание математической модели растворения кусковых материалов в кипящем слое. На первом этапе моделирования помимо постановки задачи, необходимо накопление априорных знаний об объекте исследования. Необходимо выделить существенные стороны объекта и описать их.
Во-первых, в данном пункте работы надо разобраться в терминологии.
Взаимодействие на поверхности раздела многокомпонентных систем характеризуется чаще всего изменением состава пограничного слоя, при этом общая скорость процесса определяется скоростью выравнивания концентрации в пограничном слое, т.е. скоростью диффузии. Диффузионный пограничный слой, представляет собой слой, прилегающий к каждой фазе системы.
На рисунке приведен пример плавления твердого вещества. Под цифрой 1 - обозначено твердое вещество, под цифрой 2 - пограничный слой, цифрой 3 – представлена жидкость.
В системах,
для которых характерно
Рисунок 2 – Нагрев диффузионного пограничного слоя
Восстановление твердым углеродом называется прямым восстановлением. Оно происходит при температурах выше 950-1000 oC по реакции:
FeO
+ C = Fe + CO – Q
Следует отметить, что эта реакция отражает лишь конечный результат процесса прямого восстановления, который протекает в две стадии:
FeO
+ CO = Fe + CO2 + Q
CO2 + C = 2CO – Q
FeO
+ C = Fe + CO2 - Q
Таким образом, при прямом восстановлении расходуется только углерод кокса, хотя реагентом, взаимодействующим с FeO, является оксид углерода CO. Непосредственное восстановление оксидов железа при контакте с углеродом кокса практически не происходит.
При температурах выше 400-500 oC наряду с восстановлением железа происходит и его науглероживание за счет оксида углерода CO по реакции:
3Fe + 2CO = Fe3C + CO2 + Q
Карбид железа Fe3C хорошо растворяется в твердом железе и постепенно образуется сплав железа с углеродом.
Рисунок 3 – Реакция в слое
С увеличением содержания углерода температура плавления сплава значительно понижается и достигает минимального значения 1147 oC при содержании углерода 4,3%.
В определенный момент, когда температура плавления науглероженного железа становится равной температуре в печи, железо плавится (примерно при содержании углерода 2,5% и температуре около 1200 oC).
Рисунок 4 – Смыв слоя
В данном примере мы рассмотрели процесс «плавление – восстановление», т.е. восстановлению оксидов железа предшествует плавление материалов, а железо восстанавливается из расплава. Таким образом, процесс плавления куска руды зависит от количества подаваемой энергии на его поверхность.
Количество энергии, необходимое на получение 1 т железа, 4052 кДж или 1,1253 кВт*ч., при этом на получение 1 т железа уходит 1,59 т руды с высоким содержанием железа, т.е. на расплавление 1 т руды требуется:
1,1253/1,59= 0,7077 кВт*ч. (1)
Скорость расплавления руды прямо – пропорциональна потоку тепла, который находим по формуле:
qt=A *(Tокр. ср. -Tсл),
где: Т — температура расплава;
А — коэффициент теплопередачи.
Тсл=1540-86*С,
Тсл — температура плавления слоя, которая зависит от степени науглероживания слоя - С.
Диапазон концентрации С: 1-4 %;
Диапазон температуры окружающей среды: 1600-2000 ºС;
Коэффициент теплопередачи находится по формуле исходя из формул потока тепла:
qt=A *( Tокр. ср. - Tсл) Rк
A=2λ/Rк
где λ–коэффициент теплопроводности куска руды – 0,38379 Вт/(м*К)[4]; Rк – радиус куска руды.
qt=2λ/Rк *( Tокр. ср. - Tсл) (6)
Скорость расплавления куска руды υ с единицы поверхности рассчитываем по формуле:
υ = qt /0,7077,
υ = ((2*0,38379/Rз) *(T-Tсл)/ 0,7077)/3600 кг/(м2*с) (8)
Скорость расплавления руды m высчитываем по формуле:
m = υ *S= υ *4πRк2 (кг/с)
Данная формула является не точной, поскольку не учитываются трещины и форма шероховатости поверхности.
Определяя скорость расплавления руды следует учитывать изменение объема ΔV:
ΔV = m/p,
где р – плотность гематита – 5,24 г/см2.
При проектировании плавления куска руды в среде Delphi можно вычислять радиус куска через каждую секунду по формуле:
Rк = ((V- ΔV)*3/4π)-3 (м).
Таким образом, на процесс плавления руды могут влиять температура расплава, и концентрация углерода в расплаве. Скорость расплавления падает пропорционально уменьшению радиуса куска руды.
Реализация вычислительного алгоритма и построение графиков-зависимостей по результатам вычислений произведена в среде Borland Delphi на языке Pascal.
Рисунок 5 – Основное окно приложения перед началом работы
На панели справа пользователь задает начальные параметры эксперимента: концентрацию углерода, температуру среды, радиус куска руды. Нажатием кнопки «Считать» пользователь запускает моделируемый процесс и расчеты по эксперименту.
Условия реализации:
В данных расчётах не учитывается шероховатость и пористость куска.
Для удобства расчета принимаем, что кусок руды имеет форму шара.
Рисунок 6 – Работа приложения, моделирование процесса
После введения данных пользователем, программа рассчитывает необходимые параметры, эмитирует процесс растворения металла на области рисования, рассчитывает время процесса, а также строит графики зависимостей и отображает их в диалоговом окне, вызываемом нажатием кнопки «Графики». А также пользователь может ознакомиться с краткой теорией по моделируемому процессу нажатием кнопки «Теория».
Построив графики и рассмотрев
их, можно сделать вывод, что при расплавлении
куска с уменьшением радиуса скорость
плавления руды на квадратный метр увеличивается,
а скорость плавления куска уменьшается.
Скорость плавления куска прямо - пропорциональна
температуре среды и концентрации углерода,
но углерод влияет на скорость плавления
незначительно. Он необходим в большей
степени для качественных показателей.
Рисунок 7 – Диалоговое окно «Графики»
Рисунок 8 – Диалоговое окно «Теоретический
материал»
Ниже приведен
код основной формы приложения:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ComCtrls, ExtCtrls, XPMan, Unit2;
type
TForm1 = class(TForm)
GroupBox1: TGroupBox;
TrackBar1: TTrackBar;
TrackBar3: TTrackBar;
Label1: TLabel;
Label3: TLabel;
Label4: TLabel;
Label6: TLabel;
Timer1: TTimer;
TrackBar4: TTrackBar;
Label7: TLabel;
Label2: TLabel;
Button1: TButton;
Button2: TButton;
Image1: TImage;
Label5: TLabel;
Timer2: TTimer;
Button3: TButton;
procedure TrackBar1Change(Sender: TObject);
procedure TrackBar3Change(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure TrackBar4Change(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure FormDestroy(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
procedure Image1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure Timer2Timer(Sender: TObject);
procedure Button3Click(Sender: TObject);
private
{ Private declarations }
procedure XY;
public
pl: TSh;{ Public declarations }
times,it:integer;
NewX,NewY:Integer; //Новые координаты
end;
var
Form1: TForm1;
implementation
uses Unit3, Unit4;
{$R *.dfm}
procedure TForm1.TrackBar1Change(Sender: TObject);
begin
Label4.Caption:=IntToStr(
Button2.Enabled:=False;
end;
procedure TForm1.TrackBar3Change(Sender: TObject);
begin
Label6.Caption:=IntToStr(
Button2.Enabled:=False;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
XY;
pl:=TSh.Create(Image1.
end;
procedure TForm1.TrackBar4Change(Sender: TObject);
begin
Label7.Caption:=FloatToStr(
Button2.Enabled:=False;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
Image1.Canvas.Pen.Color:=
Image1.Canvas.Brush.Color:=
Image1.Canvas.Rectangle(0,0,
times:=calculation(TrackBar3.
it:=0;
Label5.Caption:='Время: '+IntToStr(times+1)+' сек.';
pl.R:=(Trunc(TrackBar4.
pl.RR:= Trunc(pl.R / times);
Button2.Enabled:=True;
Timer1.Enabled:=True;
end;
procedure TForm1.Button2Click(Sender: TObject);
var
i:Integer;
begin
with Form3 do
begin
Chart1.Series[0].Clear;
Chart2.Series[0].Clear;
Chart3.Series[0].Clear;
for i:=0 to high(Vrr) do
Chart1.Series[0].AddXY(i+1,
for i:=0 to high(Vrk) do
Chart2.Series[0].AddXY(i+1,
for i:=0 to high(Rs) do
Chart3.Series[0].AddXY(i+1,Rs[
Show;
end;
end;
procedure TForm1.FormDestroy(Sender: TObject);
begin
if pl <> nil then
pl.Destroy;
end;
procedure TForm1.Timer1Timer(Sender: TObject);
begin
if pl <> nil then
begin
pl.Hide;
pl.Speed;
if pl.it = 0 then
begin
Timer1.Enabled:=False;
Timer2.Enabled:=True;
end;
pl.Show;
inc(it);
if (it = times) or (pl.R = 0) then
begin
it:=0;
Timer2.Enabled:=False;
ShowMessage('Процес успешно завершен');
Button1.Click;
end;
end;
end;
procedure TForm1.XY;
var
i,j,n:Integer;
begin
with Image1 do
begin
Canvas.Pen.Color:=clBlack;
Canvas.MoveTo(ClientWidth div 2,0);
Canvas.LineTo(ClientWidth div 2,ClientHeight);
Canvas.MoveTo(0,ClientHeight div 2);
Canvas.LineTo(ClientWidth,
Canvas.TextOut(ClientWidth div 2,0,'Y');
Canvas.TextOut(ClientWidth-
j:=20;
for i:=0 to ClientWidth do
if i = j then
begin
Canvas.TextOut(i-Canvas.
j:=j+Canvas.TextWidth(
end;
n:=20;
for i:=0 to ClientHeight do
if i = n then
begin
Canvas.TextOut(ClientWidth
div 2+10,i-Canvas.TextWidth(
n:=n+Canvas.TextWidth(
end;
end;
end;
procedure TForm1.Image1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
with Image1 do
begin
NewX:=X - ClientWidth div 2;
NewY:=ClientHeight div 2 - Y;
Caption:= 'X = '+IntToStr(NewX)+', Y = '+IntToStr(NewY);
end;
end;
procedure TForm1.Timer2Timer(Sender: TObject);
begin
pl.Hide;
pl.Speed;
if pl.it = 1 then
begin
Timer1.Enabled:=True;
Timer2.Enabled:=False;
end;
pl.Show;
end;
procedure TForm1.Button3Click(Sender: TObject);
begin
with Form4 do
begin
Caption := 'Теоретический материал';
ShowModal;
end;
end;
end.
Для исследования модели мной были проведены три эксперимента. При этом во входных параметрах мною были взяты отличные друг от друга начальные радиусы частиц, температура и концентрация углерода в расплаве.
В ходе исследования составленной модели мной были получены результаты многих расчетов кинетики растворения твердых частиц в ходе гетерогенной реакции куска руды в кипящем слое и были установлены следующие зависимости от их входных параметров:
Информация о работе Кинетика растворения кусковых материалов в кипящем слое