Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Расчет внутреннего мгновенного источника тепла.doc
Скачиваний:
57
Добавлен:
01.04.2014
Размер:
497.66 Кб
Скачать
  1. Описание программы

Для расчета графика зависимости необходимо задать энергию ионов (E) в верхней части программы и нажать клавишу “РАСЧЕТ”. При этом появится график. Если изменить значение энергии ионов и произвести новый расчет, то новый график будет отображен рядом со старым, а справа от графиков будут приведены значения энергии ионов и цвет линии графика при этом значении.

При нажатии на кнопку “ОЧИСТИТЬ”, производится очистка графика от предыдущих расчётов. Если график не очистить, то следующий график выводится на панель с сохранением графиков предыдущих расчётов, что удобно для наблюдения изменений расчетов.

Если надо указать глубину залегания предварительно выйти в меню “ФАЙЛ” и изменить параметры глубины.

Первоначально график зависимости строится в “x,y,z” формате. Чтобы перейти в плоскость “x,y” – нажимаем меню “ФАЙЛ” затем соответствующий пункт.

Для выхода из программы нажимаем кнопку “ВЫХОД”.

Информация о разработчике указана вверху программы.

Общий вид главного окна программы представлен на рисунке 3.1

Пример работы программы показан на рисунке 3.2

Рисунок 3.1 – Общий вид главного окна программы

Рисунок 3.2 – Пример работы программы

  1. Исходный код с пояснениями

unit Unit1;//Название модуля

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls, ExtCtrls, TeeProcs, TeEngine, Chart, Series, Menus; //Библиотеки

functionf(x,rp,drp:extended):extended; //Предварительное создание функции

type//Описание классов программы

TForm1 = class(TForm)

Chart1: TChart;

ComboBox1: TComboBox;

Label1: TLabel;

Button1: TButton;

Button2: TButton;

Edit1: TEdit;

Label2: TLabel;

Button3: TButton;

Memo1: TMemo;

MainMenu1: TMainMenu;

N1: TMenuItem;

N31: TMenuItem;

XY1: TMenuItem;

N3: TMenuItem;

N4: TMenuItem;

N5: TMenuItem;

Image1: TImage;

Label3: TLabel;

procedure Button2Click(Sender: TObject);

procedure Button1Click(Sender: TObject);

procedure Button3Click(Sender: TObject);

procedure N3Click(Sender: TObject);

procedure N31Click(Sender: TObject);

procedure N5Click(Sender: TObject);

procedure XY1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

implementation

{$R *.dfm}

function f(x,rp,drp:extended):extended; //Программируем функцию по формуле (6)

var

a,b:extended;//Задание переменных

begin

a:=1/sqrt(2*3.14*drp);

b:=-0.5*sqr((x-rp)/drp);

a:=a*exp(b);

f:=a;

end;

procedure TForm1.Button2Click(Sender: TObject); //Очистка графиков при нажатии кнопки

// “ОЧИСТИТЬ”

begin

while Form1.Chart1.SeriesCount<>0 do Form1.Chart1.Series[0].Destroy;

end;

procedure TForm1.Button1Click(Sender: TObject); //непосредственный расчет программы

//при нажатии кнопки “РАСЧЕТ”

var//Задание переменных

h,a,b : extended;

rp,drp: extended;

s : TLineSeries;

begin

Chart1.Visible:=True; //При нажатии кнопки “РАСЧЕТ” выводится окно-графика

Memo1.Visible:=False; //А окно-описание прячется

b:=strtofloat(Form1.Edit1.Text)*1E-6; //Ввод глубины залегания

h:=b/200;

caseForm1.ComboBox1.ItemIndexof//Выбор “энергии ионов” из заданного списка

0: begin// Для E=200 кэВ

rp:=1818E-9;

drp:=123E-9;

end;

1: begin// Для E=500 кэВ

rp:=5000E-9;

drp:=250E-9;

end;

2: begin// Для E=1000 кэВ

rp:=7200E-9;

drp:=450E-9;

end;

end;

a:=0;

s:=TLineSeries.Create(self);

s.Title:='E='+Form1.ComboBox1.Text; //Вывод информации о “энергии ионов (E)”

Form1.Chart1.AddSeries(s); //Добавляет эту надпись на график

while a<b do

begin// Вывод графика зависимости

s.AddXY(a*1E6,f(a,rp,drp),'',clTeeColor);

a:=a+h;

end;

end;

procedure TForm1.Button3Click(Sender: TObject);

begin

close;//Выход из программы

end;

procedure TForm1.N3Click(Sender: TObject);

begin

Label2.Visible:=True;

Edit1.Visible:=True;

end;

procedure TForm1.N31Click(Sender: TObject);

begin

Chart1.View3D:=True; //Вывод 3D графика

end;

procedure TForm1.N5Click(Sender: TObject);

begin

Close;//Выход из программы

end;

procedure TForm1.XY1Click(Sender: TObject);

begin

Chart1.View3D:=False; //Переходит в режимx,yплоскости

end;

end.