66549

Решение граничных задач для ОДУ. Метод сеток для дифференциальных уравнений в частных производных

Лабораторная работа

Информатика, кибернетика и программирование

В прямоугольной области строится сеточная область из одинаковых ячеек и приближающая область. В каждом узле исходное уравнение заменяется конечно-разностным уравнением. Приближенные значения производных в каждом узле находятся по значениям искомой функции в соседних узлах.

Русский

2014-08-22

196.5 KB

8 чел.

Выполнил: Марудо А.В., 2 курс, 3 группа

Проверил: Шапочкина Ирина Викторовна

Лабораторная работа #5(вариант #7)

Тема: Решение граничных задач для ОДУ. Метод сеток для дифференциальных уравнений в частных производных.

Цель: Используя метод сеток решить задачу Дирихле для уравнения Лапласа. Решить ОДУ с граничными условиями, результаты представить графически.

Задание 1

Условие: Используя метод сеток, составить приближенное решение задачи Дирихле для уравнения Лапласа  для функции  в прямоугольной области при заданных граничных условиях:

         

         

Ход работы: 

Теория метода сеток:

В прямоугольной области строится сеточная область из одинаковых ячеек и приближающая область. В каждом узле исходное уравнение заменяется конечно-разностным уравнением. Приближенные значения производных в каждом узле находятся по значениям искомой функции в соседних узлах. Решение в граничных узлах сеточной области находится из граничных условий. Для решения разностной задачи используется метод релаксации, при котором каждая разностная схема решается относительно центрального узла.

Код программы:

function f1(x: real): real;    //U(x,1)

 begin

  f1:=-1/(sqr(x)+1);

 end;

 function f2(x: real): real;     //U(x,3)

 begin

  f2:=-3/(sqr(x)+9);

 end;

 function p1(y: real): real;       //U(0,y)

 begin

  p1:=-1/y;

 end;

 function p2(y: real): real;       //U(1,y)

 begin

  p2:=-y/(1+sqr(y));

 end;

procedure TForm1.Button1Click(Sender: TObject);

 var

  h, l, x, y, t, uk, m: real;

  i, j: integer;

  u: array [1..11,1..11] of real;

  const

  a1=0;         //U(0,y)

  a2=1;         //U(1,y)

  b1=1;         //U(x,1)

  b2=3;         //U(x,3)

  e=0.01;

 begin

  h:=0.1;

  l:=0.2;

  for i:=1 to 10 do

   for j:=1 to 10 do u[i,j]:=0;

//зададим граничные условия

  for i:=1 to 11 do

   begin

    x:=a1+(i-1)*h;

    u[i,1]:=f1(x);

    u[i,11]:=f2(x);

   end;

  for j:=1 to 11 do

   begin

    y:=b1+(j-1)*l;

    u[1,j]:=p1(y);

    u[11,j]:=p2(y);

   end;

//произведем ряд приближений

  t:=h*h/(l*l);

  repeat

  m:=0;

  for i:=2 to 10 do

   for j:=2 to 10 do

    begin

     uk:=u[i,j];

     u[i,j]:=(u[i+1,j]+u[i-1,j]+t*(u[i,j+1]+u[i,j-1]))/(2+2*t);

     if m<abs(u[i,j]-uk) then m:=abs(u[i,j]-uk);

    end;

  until m<e;

//выводим сетку на форму

  for i:=1 to 11 do

    for j:=1 to 11 do

      StringGrid.Cells[j-1,i-1]:=floattostr(roundto(u[i,j],-2));

 end;

Полученные результаты:

Вывод:

По таблице видно, что результат достаточно точный, что и обусловливается погрешностью в 0.01.

Задание 2

Условие: Дано ОДУ:

Найти решение этого уравнения, удовлетворяющее граничным условиям:

         

при следующих значениях параметров:         

Построить график полученной зависимости .

Ход работы:

Теория метода конечных разностей:

Разбиваем отрезок [0,1] на части с постоянным шагом h с помощью узлов . Аппроксимируем вторую производную конечно-разностным соотношением , при этом значение искомой функции в узлах  приближенно заменяем соответствующими значениями сеточной функции :

;

Получилась система n-1 линейных уравнений, число которых совпадает с числом неизвестных значений сеточной функции  в узлах. Ее значение на концах отрезка определены граничными условиями:  и .

Решая систему уравнений находим значение сеточной функции, которые приближенно равны значениям искомой функции.

Система уравнений имеет трехдиагональный вид на главной диагонали которой находятся элементы .

Код программы:

function fp(t: real): real;

 begin

  result:=t/(b+sqr(t));

 end;

 function fq(t: real): real;

 begin

  result:=-(1+cos(t))/sqrt(sqr(a)+sqr(t));

 end;

 function fr(t: real): real;

 begin

  result:=exp(-a*sqr(t));

 end;

 procedure TForm1.Button1Click(Sender: TObject);

 var

  h, g1, g2, g3, g4, g5, g6, x0, xkon: real;

  i, n: integer;

  x, l, k, y, p, r, q: array of real;

 begin

  Chart1.Series[0].Clear;

  x0:=0;

  xkon:=1;

  g1:=1;

  g2:=-0.5;

  g3:=1;

  g4:=4.5;

  g5:=0.3;

  g6:=4.7;

  h:=StrToFloat(Edit1.Text);

  n:=round((xkon-x0)/h);

  SetLength(x,n+1);

  SetLength(y,n+1);

  SetLength(l,n+1);

  SetLength(k,n+1);

  SetLength(p,n+1);

  SetLength(q,n+1);

  SetLength(r,n+1);

  for i:=0 to n do

   begin

    x[i]:=x0+i*h;

    p[i]:=fp(x[i]);

    q[i]:=fq(x[i]);

    r[i]:=fr(x[i]);

   end;

//прямой ход решения трехдиагональной матрицы

  k[0]:=(h*h*r[0]*g2+h*(2-h*p[0])*g3)/((h*h*q[0]-2)*g2+h*(2-p[0])*g1);

  l[0]:=(2*g2)/((h*h*q[0]-2)*g2+h*(2-h*p[0])*g1);

  for i:=1 to n do

   begin

    k[i]:=(2*h*h*r[i]-(2-h*p[i])*k[i-1])/(2*h*h*q[i]-4-(2-h*p[i])*l[i-1]);

    l[i]:=(2+h*p[i])/(2*h*h*q[i]-4-(2-h*p[i])*l[i-1]);

   end;

//обратный ход

  y[n]:=(2*h*g6+(k[n-1]-k[n]/l[n])*g5)/(2*h*g4+(l[n-1]-1/l[n])*g5);

  for i:=(n-1) downto 0 do y[i]:=k[i]-l[i]*y[i+1];

  for i:=0 to n do Chart1.Series[0].AddXY(x[i],y[i]);

 end;

Полученные результаты:

Вывод:

Из графика видно, что граничные условия выполняются достаточно точно. Точность можно увеличить, уменьшив шаг.

БГУ

Физический факультет

2011/2012 учебный год

Минск

PAGE   \* MERGEFORMAT 5


 

А также другие работы, которые могут Вас заинтересовать

32813. Этапы развития русской философии, её основные черты 15.04 KB
  Этапы развития русской философии её основные черты. Основные этапы развития русской философии совпадают с этапами развития истории России. развитие русской философии неразрывно связано с социальнополитическими событиями с особенностями социальноисторического процесса в России. Этапы развития русской философии.
32814. П.Я. Чаадаев – первый русский философ. Западники и славянофилы. «Русская идея» 15.9 KB
  Русская идея. Основная идея гносеологии Чаадаева объективная обусловленность сознания. Идея соборности является центральной в его учении и обозначал свободное объединение людей на основе любви к Богу и друг к другу. Русская идея и ее современное звучание.
32815. Русская религиозная философия 2-й половины 19-20 веков. «философия всеединства» В.Соловьева 14.74 KB
  философия всеединства В. Центральной идеей русской религиозной философии выступает идея всеединства которая стала основанием для формирования целого философского направления метафизики всеединства. философия всеединства оформилась в последней четверти ХIХ века Ее основоположником является В. Соловьев 1853 1900 который в своем философском труде Кризис западной философии против позитивистов наметил основную проблематику концепции всеединства.
32816. Философия русского космизма 14.01 KB
  Основные проблемы космизма: единство человека природы и космоса; место разума во Вселенной развитие космонавтики новая космическая этика и др. Философия общего дела представляет собой проект регуляции природы обращенный на преобразование мира. Регуляция природы мыслится им как принципиально новый сознательный этап развития мира и всего космоса. Проект регуляции природы для него есть только необходимое условие исполнения высшего нравственного долга победы над смертью.
32817. Материалистическая (революционно-демократическая) традиция русской философии 14.08 KB
  Ленина 1870 1924 гг. Ленин продолжает марксистскую традицию в философии развивает учение Маркса применительно к новому этапу научного и социальнополитического развития. Основной философский труд Ленина Материализм и эмпириокритицизм. Ленин дал глубокий анализ новых достижений естествознания с позиций диалектического материализма и изложил основные принципы диалектикоматериалистической теории познания.
32818. Философское значение творчества российских ученых-естествоиспытателей 13.47 KB
  Это позволяет ученому сделать заключение о том что под влиянием научной мысли и человеческого труда биосфера неизбежно должна перейти в новое состояние в ноосферу высший завершающий и закономерный этап в эволюции биосферы. Вернадский рассматривал переход биосферы в ноосферу как явление планетарного масштаба подчеркивая что на новом этапе эволюции человечество своей жизнью стало единым целым. В статье Несколько слов о ноосфере опубликованной в 1944 году во время разрушительной мировой войны ученый тем не менее утверждает:...
32819. Особенности формирования и характерные черты западноевропейской фил. 20 в 14.25 KB
  ХХ век в мировой истории характеризуется рядом особенностей: небывалый научнотехнический прогресс результаты которого значительно изменили облик мира и человека. В то же время развитие науки и техники породило множество проблем; стремительность масштабность и радикальность изменений происходящих в мире и в жизни общества; глобализация происходящих процессов: научнотехнические достижения становятся достоянием всего мира возникающие проблемы также носят глобальный характер; демократизация политической сферы; глубокий кризис в...
32820. Философия экзистенциализма 14.78 KB
  Философия экзистенциализма. Идеи экзистенциализма оказали большое влияние на литературу театр кино многие его представители люди искусства. Философия экзистенциализма носит индивидуалистический характер. Важнейшая категория экзистенциализма смерть.
32821. «Философия жизни», как одно из основных направлений западноевропейской философии 20 в 14.13 KB
  Одним из вариантов стала философия жизни. Все существующее представители этого направления рассматривали как проявление некой первоначальной реальности жизни недоступной ни чувственному ни рациональному познанию и постигаемой только интуитивно в результате непосредственных переживаний. Противопоставляя науке и разуму интуицию и инстинкт философия жизни представляет собой антисциентистское иррационалистическое направление.