Программа рассчитывает: e - толщина горящего свода (м), ??- плотность газа (кг/), P - давление в камере (Па), T - температуру газа (К).
Среда программирования Delphi выбрана в связи с тем, что она проста в использовании и наглядно представляет результаты расчетов, выводя их в отдельном окне. В основе среды Delphi лежит одноименный язык программирования - Delphi, ранее известный как Object Pascal. При разработке программы среда Delphi создает пользовательский интерфейс согласно заданному дизайну, затем мы описываются обработчики событий на языке Delphi. Данная программная среда имеет множество плюсов. Например, одно и тоже число мы можем записать разными способами:
15 {целое}
15.0 {вещественное с фиксированной точкой}
1.5E01 {вещественное с плавающей точкой}
$F {шестнадцатиричное}.
Запуск программы.
Чтобы запустить программу необходимо нажать иконку:
Рис. 5. Значок исполняемого кода программы
Появится окошко, где можно задать параметры:
Рис. 6. Окно задания исходных данных
Результаты расчетов выводятся в отдельном файле. Чтобы запустить его, необходимо нажать на иконку
Рис. 7. Значок файла с результатами расчета
Появляется окошко с результатами расчетов:
Рис. 8. Результаты расчета давления в камере сгорания РДТТ
Заключение
В ходе выполнения дипломной работы, мы изучена конструкция ракетного двигателя. Создание реактивной тяги есть назначение всякого ракетного двигателя; поэтому величина тяги является важнейшей характеристикой двигателя. Рассмотрен принцип работы ракетного двигателя. Чтобы создать реактивную силу, необходимо обеспечить упорядоченное, организованное истечение продуктов сгорания ракетного топлива из двигателя в одном направлении, давая в результате нужную нам реактивную силу. Для измерения тяги ракетного двигателя существует два типа тягоизмерительных стендов: с горизонтальными подвесками и вертикальными. Тягу можно определить по известному в камере давлению, которое рассчитывается по разработанной компьютерной программе. В ходе расчета определяются четыре параметра: e - толщину горящего свода; ??- плотность газа; P - давление в камере и T - температуру газа.
Список используемой литературы
1. Гильзин К.А. / Ракетные двигатели. М.:1950 - 83 с.
2. Жомотт А., Баррер М., Вебек Б.Ф. / Ракетные двигатели / А. Жомотт и др. М.:1962 - 784 с.
3. Туманов А.Г. / Справочник по авиационным материалам. Коррозионно-стойкие и жаропрочные стали и сплавы. М.: Машиностроение, 1965-165 с.
4. Дорофеев А.А. / Основы теории ракетных двигателей. Теория, расчёт и проектирование. М.: МГТУ им. Н.Э. Баумана, 2010 - 469 с.
5. Глушко В.П. / Ракета. Космонавтика: маленькая энциклопедия, 2-е издание, дополнительное. М.: «Советская энциклопедия», 1970 - 372 с.
6. Кондратьев Е.Г., Соломыков А.И. / Теория ракетных двигателей / Е.Г. Кондратьев и др. М.: 1972 - 341 с.
7. Мелькумов Т.М. / Ракетные двигатели. М.: 1976 - 268 с.
8. Соркин Р.Е. «Теория внутрикамерных процессов в ракетных системах на твердом топливе». М.:1983-288 с.
Приложение
Текст программы:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Edit4: TEdit;
Edit5: TEdit;
Edit7: TEdit;
Edit8: TEdit;
GroupBox1: TGroupBox;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label7: TLabel;
Label9: TLabel;
Button1: TButton;
procedure Button1Click (Sender: TObject);
private
{Private declarations}
public
{Public declarations}
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1. Button1Click (Sender: TObject);
const
b=0; {удельный коволюм}
P_atm=100000; {атмосферное давление, Н/м^2}
Pi=3.14159265;
k=1.5;
hi=0.9; {коэффициент теплопотерь}
fi2=0.9; {коэффициент расхода сопла}
R=300; {газовая постоянная, Дж/кг*К}
ro_top=1600; {плотность топлива кг/м^3}
Tp=2300.0; {термодинамическая температура}
dt=0.00005; {шаг по времени}
BB=0.6580647916; {расходный коэффициент}
var
t, D0, D_kr, D_vn0, L0, Wk, Wz, U:real; {переменные, которые вводятся пользователем}
g1:real; {переменные, необходимые для промежуточных вычислений}
e1, e, en:real;
f: TextFile;
ti:real; {переменная времени}
ro, ron:real; {переменная плотности газа}
p, pn:real; {переменная давления газа}
Tg, tgn:real; {переменная температуры газа}
Gg:real; {переменнач секундного расхода газов}
W, Wn:real; {свободный объем камеры сгорания}
function G (p, T:real):real; {функция вычисления секундного расхода газов, G}
var
F_kr:real; {площадь критического сечения}
begin
F_kr:=Pi*D_kr*D_kr/4;
g1:=fi2*F_kr*BB*p/(sqrt (R*T));
G:=g1;
end;
function S (e:real):real; {функция рассчета площади поверхности горения}
var
S1:real;
begin
if e<e1 then
begin
S1:=Pi*(D0+D_vn0)*(L0+(D0-D_vn0)/2-4*e);
S:=S1;
end
else S:=0.0;
end;
begin
{- Присваиваем значения переменным из полей ввода с Form1 -}
t:=strtofloat (edit1. Text); {время горения}
D0:=strtofloat (edit2. Text); {внешний диаметр камеры сгорания}
D_kr:=strtofloat (edit3. Text); {диаметр критического сечения}
D_vn0:=strtofloat (edit4. Text); {внутренний диаметр заряда}
L0:=strtofloat (edit5. Text); {длина заряда}
//Wk:=strtofloat (edit6. Text); {объем камеры сгорания}
Wz:=strtofloat (edit7. Text); {объем заряда}
U:=strtofloat (edit8. Text); {скорость горения}
{-}
{- Начальные условия-}
e1:=(D0-D_vn0)/4;
Wk:=Pi*L0*D0*D0/4;
e:=0.0;
en:=0;
p:=40*p_atm;
Tg:=1800;
ro:=p/(R*Tg);
W:=Wk-Wz;
ti:=0;
{-}
AssignFile (f, 'out.txt');
Rewrite(f);
writeln (f, 't', ' e', ' ro', ' p', ' T');
writeln(f);
writeln (f, ti:5:5,' ', e:5:5, ' ', ro:5:5,' ', p:5:5,' ', Tg:5:5,' ');
while ti<=t do
begin
if Tg>0 then begin
en:=e+u*dt;
ron:=ro+dt*(S(e)*ro_top*u-G (p, Tg) - S(e)*ro*u)/W;
pn:=p+dt/W*(k*R*S(e)*ro_top*u*(hi*Tp-Tg)+k*P/ro*(S(e)*ro_top*u-G (p, Tg) - S(e)*ro*u));
Tgn:=Tg+Tg*dt/(W*p)*(k*R*S(e)*ro_top*u*(hi*Tp-Tg)+(k-1)*p/ro*(S(e)*ro_top*u-G (p, Tg) - S(e)*ro*u));
writeln (f, ti:5:5,' ', en:5:5, ' ', ron:5:5,' ', pn:5:5,' ', Tgn:5:5,' ');
Wn:=W+dt*S(e)*u;
e:=en;
ro:=ron;
p:=pn;
Tg:=Tgn;
W:=Wn;
end;
ti:=ti+dt;
end;
closeFile(f);
end;
end.