Автор работы: Пользователь скрыл имя, 08 Сентября 2011 в 00:59, курсовая работа
Ставится задача о нахождении стационарного распределения температуры внутри многоугольника, если задано распределение температуры вдоль его сторон.
Одна из главных трудностей, возникающих при решении этой задачи, обусловлена сложной формой границы расчетной области. Аналитическое решение задачи Дирихле для уравнения (1) удается получить лишь в частных случаях для простейших областей (прямоугольник, круг сектор, шар). Основными методами решения поставленной задачи являются численные методы.
1. Введение.......................................................................................................
2. Аналитические методы решения уравнений в частных производных...
3. Численные методы решения уравнений матфизики................................
3.1. Метод конечных разностей...............................................................
3.2. Метод конечных элементов..............................................................
4. Дискретизация расчетной области.............................................................
5. Формирование матрицы неизвестных температур системы линейных уравне-ний......................................................................................................................
6. Построение изотерм.....................................................................................
6.1. Нахождение температур в любой точке.............................................
6.2. Алгоритм построения изотерм............................................................
7. Характеристика программы........................................................................
8. Результаты программы................................................................................
9. Список используемой литературы.............................................................
10. Приложение..................................................................................................
10.1. Листинг программы...........................................................................
Структура программы проста - использование 1 – для дискретизации области, 2 – для получения данных о температуре в любой точки области, 3 – для получения данных по изотермам. При использовании программы используем 1, затем 2 для получения полного доступа к программе из-за проведения определенных расчетов для области с целью наилучшего восприятия информации. Для перемещения по вычислениям используется любая клавиша.
Теперь перейдем к более подробному описанию программы: в 1 пункте – четыре рисунка дискретизации области, вывод температуры во внутренних и внешних точках области, сообщением о создании файла с результатами, полученных при вычислениях; во 2 пункте вы вводите координату точки, через некоторое мгновение появится температура внутри области и оценкой с реальной температурой, в противном случае – о некорректности введенных параметрах; в 3 пункте – постройка изотермы выполняется при вводе температуры, затем добавляются координаты точек, имеющих эту температуру, и её графическая интепритация с возможностью проверки – рисованием линии, отражающую реальную картину.
8.
РЕЗУЛЬТАТЫ ПРОГРАММЫ
Моя программа позволяет вывести следующие параметры: температура во внутренних и внешних узлах сетки приведены в таблице 1, выведением информации о температуре в любой его точке, результаты построения изотерм.
1) температура во внутренних и внешних узлах сетки
Таблица 1
Температура во внутренних и внешних узлах сетки
N | x | y | T | P (%) |
1 | 0.0 | 2.0 | -6.00 | 0 |
2 | 1.0 | 2.0 | -5.00 | 0 |
3 | 2.0 | 2.0 | -2.00 | -3.6e-12 |
4 | 3.0 | 2.0 | 3.00 | 0 |
5 | -1.0 | 1.0 | -2.00 | 3.6E-12 |
6 | 0.0 | 1.0 | -2.00 | 7.3E-12 |
7 | 1.0 | 1.0 | 0.00 | 4.5E-12 |
8 | 2.0 | 1.0 | 4.00 | 7.3E-12 |
9 | 3.0 | 1.0 | 10.00 | 2.9E-11 |
10 | -2.0 | 0.0 | 0.00 | 2.3E-13 |
11 | -1.0 | 0.0 | -1.00 | 1.8E-12 |
12 | 0.0 | 0.0 | 0.00 | 1.7E-12 |
13 | 1.0 | 0.0 | 3.00 | 0 |
14 | 2.0 | 0.0 | 8.00 | 0 |
15 | 3.0 | 0.0 | 15.00 | 1.5E-11 |
16 | 4.0 | 0.0 | 24.00 | 2.9E-11 |
17 | 2.0 | -1.0 | 10.00 | 1.5E-11 |
18 | 3.0 | -1.0 | 18.00 | 0 |
19 | 4.0 | -1.0 | 28.00 | 0 |
20 | -3.0 | 0.0 | 3.00 | 0 |
21 | -2.0 | 1.0 | 0.00 | 0 |
22 | -1.0 | 2.0 | -5.00 | 0 |
23 | 0.0 | 3.0 | -12.00 | 0 |
24 | 1.0 | 3.0 | -12.00 | 0 |
25 | 2.0 | 3.0 | -10.00 | 0 |
26 | 3.0 | 3.0 | -6.0 | 0 |
27 | 3.4 | 2.0 | 5.6 | 0 |
28 | 3.8 | 1.0 | 16.2 | 0 |
29 | 4.0 | 0.5 | 21.3 | 0 |
30 | 4.2 | 0.0 | 26.0 | 0 |
31 | 4.6 | -1.0 | 35.0 | 0 |
32 | 5.0 | -2.0 | 43.0 | 0 |
33 | 4.0 | -1.8 | 29.7 | 0 |
34 | 3.0 | -1.5 | 18.8 | 0 |
35 | 2.0 | -1.3 | 10.2 | 0 |
36 | 1.0 | -1.0 | 4.0 | 0 |
37 | 0.0 | -0.8 | 0.2 | 0 |
38 | -1.0 | -0.5 | -1.3 | 0 |
39 | -2.0 | -0.3 | -0.3 | 0 |
2) выведением информации о температуре в любой его точке
Нахождение температуры в любой точке области
Введите x:0.5
Введите y:0.6
T=-0.000 t(точная)=-0.010
Относительная погрешность =100.00 %
при x=0.500 y=0.600
3) результаты построения изотерм (рис. 16, рис.17)
Рис.16 Изотерма T=1
Рис.17 Изотерма T=6
9. СПИСОК ИСПОЛЬЗУЕМОЙ ЛИТЕРАТУРЫ
10. ПРИЛОЖЕНИЕ
10.1.Листинг
программы
Program Kursach;
uses CRT,Graph;
type masik=array [1..19,1..20]
of real;
function gx(x:real;mx:integer):integer;
begin
gx:=trunc(mx*x)+trunc(getmaxx/
end;
function gy(y:real;my:integer):integer;
begin
gy:=trunc(getmaxY/2)-Trunc(my*
end;
procedure L(x1,y1,x2,y2,color:integer);
begin
setcolor(color);
line(x1,y1,x2,y2);
end;
procedure init_graph;
var
grDriver: Integer;
grMode: Integer;
ErrCode: Integer;
begin
grDriver := Detect;
InitGraph(grDriver, grMode,'');
ErrCode := GraphResult;
if ErrCode <> grOk then
begin
writeln ('ne syshestvyet!!');
exit;
end;
end;
procedure ris;
begin
L
(gx(-7,50),gy(0,50),gx(7,50),
L
(gx(0,50),gy(3,50),gx(-3,50),
L
(gx(5,50),gy(-2,50),gx(-3,50),
L
(gx(5,50),gy(-2,50),gx(3,50),
L
(gx(3,50),gy(3,50),gx(0,50),
L
(gx(-7,50),gy(0,50),gx(7,50),
L
(gx(0,50),gy(-7,50),gx(0,50),
L
(gx(-7,50),gy(0,50),gx(7,50),
setcolor (12);
outtextxy
(gx(-0.3,50),gy(3.3,50),'B(0,
outtextxy
(gx(-3.5,50),gy(-0.3,50),'A(-
outtextxy
(gx(2.7,50),gy(3.3,50),'C(3,3)
outtextxy
(gx(4.5,50),gy(-2.05,50),'D(5,
outtextxy
(gx(2.55,50),gy(-3.4,50),'
setcolor (15);
outtextxy (gx(6.2,50),gy(-0.1,50),'X');
outtextxy (gx(0.1,50),gy(4.45,50),'Y');
setcolor (11);
outtextxy
(gx(-6.2,50),gy(-0.1,50),'-6')
outtextxy
(gx(-5.2,50),gy(-0.1,50),'-5')
outtextxy
(gx(-4.2,50),gy(-0.1,50),'-4')
outtextxy
(gx(-3.2,50),gy(-0.1,50),'-3')
outtextxy
(gx(-2.2,50),gy(-0.1,50),'-2')
outtextxy
(gx(-1.2,50),gy(-0.1,50),'-1')
outtextxy (gx(0.1,50),gy(-0.1,50),'0');
outtextxy (gx(0.95,50),gy(-0.1,50),'1');
outtextxy (gx(1.95,50),gy(-0.1,50),'2');
outtextxy (gx(2.95,50),gy(-0.1,50),'3');
outtextxy (gx(3.95,50),gy(-0.1,50),'4');
outtextxy (gx(4.95,50),gy(-0.1,50),'5');
outtextxy (gx(5.95,50),gy(-0.1,50),'6');
outtextxy (gx(0.1,50),gy(4.05,50),'4');
outtextxy (gx(0.1,50),gy(3.05,50),'3');
outtextxy (gx(0.1,50),gy(2.05,50),'2');
outtextxy (gx(0.1,50),gy(1.05,50),'1');
outtextxy
(gx(0.1,50),gy(-1.05,50),'-1')
outtextxy
(gx(0.1,50),gy(-2.05,50),'-2')
outtextxy
(gx(0.1,50),gy(-3.05,50),'-3')
outtextxy
(gx(0.1,50),gy(-4.05,50),'-4')
end;
procedure setka;
var h,t:integer;
begin
for t:=-7 to 7 do
L
(gx(t,50),gy(7,50),gx(t,50),
for h:=-7 to 7 do
L
(gx(-7,50),gy(h,50),gx(7,50),
end;
procedure dizkretizaciya;
begin
L (gx(-2,50),gy(1,50),gx(-2,50),
L (gx(-1,50),gy(2,50),gx(-1,50),
L (gx(0,50),gy(3,50),gx(0,50),
L (gx(1,50),gy(3,50),gx(1,50),
L (gx(2,50),gy(3,50),gx(2,50),
L (gx(3,50),gy(3,50),gx(3,50),
L (gx(4,50),gy(0.5,50),gx(4,50),
L (gx(1,50),gy(-1,50),gx(4.6,50)
L (gx(-3,50),gy(0,50),gx(4.2,50)
L (gx(-2,50),gy(1,50),gx(3.8,50)
L (gx(-1,50),gy(2,50),gx(3.4,50)
end;
procedure linia;
begin
init_graph;
ris ;
outtextxy(gx(-3.25,50),gy(3.9,
outtextxy(gx(-3.25,50),gy(3.8,
readkey;clrscr;clearviewport;
setka;
ris;
outtextxy(gx(-4.25,50),gy(3.9,
outtextxy(gx(-4.25,50),gy(3.8,
readkey;
clrscr;
cleardevice;
ris;
outtextxy(gx(-6.25,50),gy(3.9,
outtextxy(gx(-6.25,50),gy(3.8,
dizkretizaciya;
readkey;
clrscr;
clearviewport;
ris;
outtextxy(gx(-6.3,50),gy(3.9,
outtextxy(gx(-6.3,50),gy(3.8,
outtextxy(gx(-6.3,50),gy(3.7,
outtextxy(gx(-6.3,50),gy(3.6,
dizkretizaciya;
setcolor(6);
outtextxy(gx(-0.1,50),gy(2.2,
outtextxy(gx(0.9,50),gy(2.2,
outtextxy(gx(1.9,50),gy(2.2,
outtextxy(gx(2.9,50),gy(2.2,
outtextxy(gx(-1.1,50),gy(1.2,
outtextxy(gx(-0.1,50),gy(1.2,
outtextxy(gx(0.9,50),gy(1.2,
outtextxy(gx(1.9,50),gy(1.2,
outtextxy(gx(2.9,50),gy(1.2,
outtextxy(gx(-2.1,50),gy(0.2,
outtextxy(gx(-1.1,50),gy(0.2,
outtextxy(gx(-0.1,50),gy(0.2,
outtextxy(gx(0.9,50),gy(0.2,
outtextxy(gx(1.9,50),gy(0.2,
outtextxy(gx(2.9,50),gy(0.2,
outtextxy(gx(3.7,50),gy(0.2,
outtextxy(gx(1.9,50),gy(-0.8,
outtextxy(gx(2.9,50),gy(-0.8,
outtextxy(gx(3.9,50),gy(-0.8,
outtextxy(gx(-3.2,50),gy(0.2,
outtextxy(gx(-2.2,50),gy(1.2,
outtextxy(gx(-1.2,50),gy(2.2,
outtextxy(gx(-0.3,50),gy(3.1,
outtextxy(gx(0.8,50),gy(3.2,
outtextxy(gx(1.8,50),gy(3.2,
outtextxy(gx(3.1,50),gy(3.1,
outtextxy(gx(3.5,50),gy(2.1,
outtextxy(gx(3.9,50),gy(1.2,
outtextxy(gx(4.1,50),gy(0.6,
outtextxy(gx(4.3,50),gy(0.2,
outtextxy(gx(4.65,50),gy(-0.9,
outtextxy(gx(5.012,50),gy(-1.
outtextxy(gx(3.95,50),gy(-1.
outtextxy(gx(2.95,50),gy(-1.
outtextxy(gx(1.95,50),gy(-1.
outtextxy(gx(-0.1,50),gy(-0.8,
outtextxy(gx(0.95,50),gy(-1.
Информация о работе Численные методы решения задачи нахождения температуры