-------------------kogda p<0--------------- kogda G=1 | |||
50sloy N priblijennoe tochnoe pogreshnosti | |||
0 | 0.03678794 | 0.03678794 | 0.00000000 |
1 | 0.03676351 | 0.03654351 | 0.00022000 |
2 | 0.03679165 | 0.03630069 | 0.00049096 |
3 | 0.03676949 | 0.03605949 | 0.00070999 |
4 | 0.03679966 | 0.03581990 | 0.00097976 |
5 | 0.03677973 | 0.03558189 | 0.00119784 |
6 | 0.03681190 | 0.03534547 | 0.00146643 |
7 | 0.03679418 | 0.03511062 | 0.00168357 |
8 | 0.03682831 | 0.03487732 | 0.00195098 |
9 | 0.03681277 | 0.03464558 | 0.00216719 |
10 | 0.03684883 | 0.03441538 | 0.00243345 |
11 | 0.03683543 | 0.03418671 | 0.00264872 |
12 | 0.03687339 | 0.03395955 | 0.00291384 |
13 | 0.03686210 | 0.03373391 | 0.00312820 |
14 | 0.03690193 | 0.03350976 | 0.00339217 |
15 | 0.03689273 | 0.03328711 | 0.00360562 |
Таблица 18. Численное решение уравнения переноса с постоянными коэффициентами Трехточечная схема с весом Метод прогонки
-------------------kogda p<0--------------- kogda G=0.5 | |||
50sloy N priblijennoe tochnoe pogreshnosti | |||
0 | 0.03678794 | 0.03678794 | 0.00000000 |
1 | 0.03697886 | 0.03654351 | 0.00043535 |
2 | 0.03685351 | 0.03630069 | 0.00055282 |
3 | 0.03694215 | 0.03605949 | 0.00088265 |
4 | 0.03678490 | 0.03581990 | 0.00096500 |
5 | 0.03709634 | 0.03558189 | 0.00151445 |
6 | 0.03702149 | 0.03534547 | 0.00167603 |
7 | 0.03710468 | 0.03511062 | 0.00199406 |
8 | 0.03712939 | 0.03487732 | 0.00225206 |
9 | 0.03693008 | 0.03464558 | 0.00228450 |
10 | 0.03706115 | 0.03441538 | 0.00264577 |
11 | 0.03679396 | 0.03418671 | 0.00260725 |
12 | 0.03713746 | 0.03395955 | 0.00317791 |
13 | 0.03669566 | 0.03373391 | 0.00296175 |
14 | 0.03706614 | 0.03350976 | 0.00355638 |
15 | 0.03675340 | 0.03328711 | 0.00346629 |
Текст программы смотри в приложении 6
3.3.3 Схема “прямоугольник”
1. p>0 разностная схема правая имеет вид
2. p<0 разностная схема левая имеет вид
3.3.4 Схема со сглаживанием
Разностная схема имеет вид
1. p>0
2. p<0
Схема сводится к стандартному виду и решается методом прогонки.
3.3.5 Схема прямоугольник со сглаживанием
1.p>0
2. p<0
3.3.6 “Шахматная” схема
Имеем схему с весом
1. p>0
2. p<0
Параметр
управляет реализацией схемы. При =0 и(i+j)- четном решаем по явной схеме, при
=1 и(i+j)- нечетном решаем по неявной схеме явно. В целом схема реализуется явно.
Заключение
Теория разностных схем является самостоятельным разделом вычислительной математики, где изучаются методы приближенного решения дифференциальных уравнений путем замены их конечно –разностными уравнениями (разностными схемами).
Конечно –разностный метод (метод сеток) –один из мощных достаточно универсальных методов современной вычислительной математики. Этот метод относится к классу машинных методов решения широкого круга задач для дифференциальных уравнений.
В дипломной работе рассмотрены “явные” и неявные разностные методы решения для одномерного уравнения переноса с переменными коэффициентами и для одномерного уравнения переноса с постоянными коэффициентами на неравномерных сетках. Использованы такие разностные схемы, как схема бегущего счета, трехточечная схема с весом, центрально –разностная схема, схема “прямоугольник”, схема со сглаживанием, схема прямоугольник со сглаживанием, “шахматная ” схема.
Произведены некоторые расчеты для одномерного уравнения переноса с переменными и постоянными коэффициентами на неравномерных сетках, с целью определения наиболее устойчивой разностной схемы.
Исследование показало, что наиболее устойчивым методом для одномерного уравнения переноса с переменными коэффициентами является:
1) При p0>0, pN>0 трехточечная схема с весом при G=1, абсолютная погрешность аппроксимации на 50-м слое составляет 0,00007549.
2) При p0<0, pN<0 неявная схема с центральной разностью, абсолютная погрешность аппроксимации на 50-м слое составляет 0,00007574.
3) При p0<0, pN>0 так же схема с центральной разностью, абсолютная погрешность составляет 0,00009042.
Так же произведены расчеты некоторых методов одномерного уравнения переноса с постоянными коэффициентами.
Исследование показало, что наиболее устойчивым методом для одномерного уравнения переноса с постоянными коэффициентами является:
1) При p>0 трехточечная схема с весом при G=1, абсолютная погрешность аппроксимации на 50-м слое составляет 0,00000755.
2) При p<0 также трехточечная схема с весом при G=1, абсолютная погрешность на 50-м слое составляет 0,00022000
Список использованной литературы
1. Самарский А.А. Теория разностных схем. М.:Наука, 1977, с. 616.
2. Самарский А.А., Гулин А.В.Численные методы. М.Наука, 1989, с. 315.
3. Охлопков Н.М. Численные методы решения обыкновенных дифференциальных уравнений. Якутск: Изд-во Ягу, 1993, с. 38.
4. Охлопков Н.М., Охлопков Г.Н. Введение в специальность “Прикладная математика” часть 1,2 Якутск: Изд-во Ягу, 1997, с. 93, с. 85.
5. Охлопков Н.М., Иванов Ф.В. Вычислительные алгоритмы решения задач для дифференциальных уравнений Якутск: Изд-воЯгу, 1992, с.65.
6. Охлопков Н.М.,Иванов Ф.В. Пакет программ численного решения задач математической физики ч.2, Якутск: Изд-во Ягу, 1989, с 15.
7. Охлопков Н.М. Об экономичных методах решения задач математической физики. Якутск: Изд-во Ягу, 1982, с. 39.
Приложение 1
Уравнение с переменными коэффициентами
“Явная” схема.
Левая разностная схема
p0<0, pN<0
uses crt;
const n=15;j0=20;tt=1;l=1;A=0.01;a1=1;q=2;
type m=array[0..n] of real;
hi=array[0..n] of real;
var i,j:integer;
x,h,t,tau,d:hi;
u,u1,g,u2,u11,u12:m;
function ut(p,r:real):real;
begin ut:= A*exp(p+r);end;
function fi(p,r:real):real;
begin fi:=A*exp(p+r)*(p*(p+1)+r*(r+1)+7); end;
function ro(p,r:real):real;
begin ro:=sqr(p)+sqr(r)+5;end;
function p1(p,r:real):real;
begin p1:=-(p+r+2);end;
begin
clrscr;
writeln ( 'sxema begushego scheta');
writeln(' kogda p0<0,pN<0');
writeln(' levaya raznostnaya sxema');
readln;
h[0]:=0;
h[1]:=a1;
for i:=2 to n do
h[i]:=l/n;
tau[j]:=tt/j0;
t[j]:=0;j:=1;
for i:=0 to n do
begin
x[i]:=i*h[i];t[j]:=j*tau[j];
u[i]:= A*(exp(x[i]));
end;
while t[j]<=tt do begin clrscr;
t[j]:=t[j]+tau[j];
u1[0]:=A*exp((t[j]));
for i:=n-1 downto 0 do
begin
g[i]:=tau[j+1]*p1(x[i],t[j+1])/h[i+1];
u11[i]:=(-g[i]*u1[i+1])+(ro(x[i],t[j+1])*u[i]);
u12[i]:=tau[j+1]*fi(x[i],t[j]);
u1[i]:=(u11[i]+u12[i])/(ro(x[i],t[j+1])+g[i]);