3857

Методи розв’язування диференційних рівнянь у частинних похідних

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

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

Методи розв’язування диференційних рівнянь у частинних похідних Мета роботи: Засвоїти теоретичний матеріал і методи розв’язування диференційних рівнянь у частинних похідних, набути практичні навики знаходження їхніх наближених значень...

Украинкский

2012-11-09

130.5 KB

15 чел.

Методи розв’язування диференційних рівнянь у частинних похідних

Мета роботи: Засвоїти теоретичний матеріал і методи розв’язування диференційних рівнянь у частинних похідних, набути практичні навики знаходження їхніх наближених значень.

Короткі теоретичні відомості

Із розв’язуванням диференційних рівнянь у частинних похідних інженерам і дослідникам доводиться зустрічатися в багатьох областях науки і техніки, в аеро- і гідродинаміці, ядерній фізиці, радіозв’язку тощо.

Розрізняють три типи диференційних рівнянь другого порядку:

– еліптичні, при B2 4AC < 0 ;

– параболічні, при B2 4AC = 0;

– гіперболічні, при B2 4AC > 0.

Рівняння можуть переходити з одного вигляду до іншого в залежності від значень коефіцієнтів.

Існують два методи розв’язування диференційних рівнянь у частинних похідних: різницевий метод (метод скінченних різниць) і метод скінченних елементів. У сучасній прикладній математиці обидва методи розглядаються як інтерпретації використання загальної теорії різницевих схем до розв’язування диференційних рівнянь у частинних похідних .

В основі методу cкінченних елементів лежить варіаційне числення. Диференційне рівняння, яке описує задачу, та відповідні граничні умови використовують для формулювання варіаційної задачі. В методі скінченних елементів фізична задача замінюється її кусково-гладкою моделлю. Цей метод, незважаючи на те, що він вимагає складної постановки задачі, високої кваліфікації та досвіду користувача, є неуніверсальним (кожний розв’язок застосовується лише для конкретної задачі). Метод скінченних елементів знайшов широке використання для розв’язування спеціальних задач в теоретичній механіці, гідродинаміці, теорії поля, однак, він складний, вимагає серйозної підготовки і знань в конкретній області використання. Тому при розв’язуванні задач автоматики та систем керування частіше використовується різницевий метод.

1. Різницевий метод.

Для числового розв’язування диференційних рівнянь другого порядку в частинних похідних найчастіше використовується двовимірна прямокутна сітка. Центрально-різницеві шаблони, які застосовують на двовимірній квадратній сітці з кроком h , зображеній на рисунку 1 (індекс j надається незалежній змінній y , а i відноситься до x ), можуть бути отримані аналогічно як і в одновимірному випадку.

Рис. 1. Квадратна сітка.

2. Розвязування різних типів диференційних рівнянь у частинних похідних.

Практичні методи і алгоритми розв’язування різних типів диференційних рівнянь в частинних похідних мають свої особливості і вимагають окремого розгляду на прикладі найбільш розповсюджених задач.

2.1. Еліптичні рівняння.

До еліптичних рівнянь зводиться багато різних фізичних задач: розрахунок напружень, які виникають при пружному скруті довгого циліндричного стрижня; розподіл електричних напруг на площині, що проводить струм; задача про стаціонарні течії тепла в двовимірному тілі.

Розглянемо класичну задачу Діріхле для рівняння Лапласа в прямокутній області, що формулюється таким чином: знайти неперервну функцію f(x,y), яка в прямокутній області Ω = {(x, y) | 0 x a, 0 y b} задовольняє рівняння Лапласа:

і приймає на границі області задані значення:

x=0; f (0,y) = f1 (y), x=a; f (a,y) = f2 (y), y=0; f (x,0) = f3 (x), y=b; f (x,b) = f4 (x).

Введемо в області розв’язання двовимірну сітку з кроком h по осі x і l по осі y. Тоді, користуючись прийнятими в попередніх розділах позначеннями і апроксимуючи рівняння Лапласа різницевим рівнянням, отримаємо таку систему лінійних рівнянь (приймемо для спрощення l=h):

(2)

при i=1,2,…,n-1; j=1,…,m-1.

Ця система рівнянь має велику кількість нульових елементів і задовольняє умови збіжності при використанні ітераційних методів. Найбільше використання для розв’язання таких систем знайшов метод Гаусса-Зейделя, який, коли застосовується до еліптичних різницевих рівнянь, називається методом Лібмана або методом послідовних зміщень.

Порядок ітерацій можна простежити, переписавши систему (2) у вигляді:

де верхніми індексами позначено порядковий номер ітерації: m – попередня, m+1 – наступна. Зазвичай вважають  для всіх i, j. Система рівнянь легко розв’язується на ПЕОМ. Взагалі кажучи, будь-які еліптичні рівняння, які не містять , зводяться до систем різницевих рівнянь, які можна розв’язувати як методом Лібмана, так і іншими ітераційними методами (Якобі, послідовної верхньої релаксації та ін.), оскільки для них виконуються умови збіжності. Для еліптичних рівнянь, які містять , в загальному вигляді, питання про збіжність ітераційних методів не має теоретичного розв’язку і необхідно розглядати отриману систему рівнянь в кожному конкретному випадку. 

2.2. Гіперболічні рівняння.

В інженерній практиці найчастіше зустрічається гіперболічне рівняння в частинних похідних – хвильове рівняння, яке описує різні види коливань: коливання струни або мембрани, розповсюдження звукових хвиль у різних середовищах тощо.

В загальному вигляді задача формулюється таким чином: знайти функ-цію f (x, t), яка задовольняє всередині області Ω={(x, t) , 0 x a, 0 t T } рівняння

,

початкові

і граничні умови

Оскільки заміна змінних t =c·t приводить рівняння до вигляду:

то надалі приймаємо с=1.

Переходячи до різницевого рівняння на сітці з кроком h по x й τ по t з центральними різницями, отримаємо

Якщо ввести  , то вираз для fi, j +1 прийме вигляд:

fi, j+1 = ( fi+1, j + fi−1, j ) + 2(1 ) fi, j fi, j− 1.               (3)

Текст програми:

//---------------------------------------------------------------------------

#include <vcl.h>

#pragma hdrstop

#include "RiznUn.h"

//---------------------------------------------------------------------------

#pragma package(smart_init)

#pragma resource "*.dfm"

const n=4,m=4;

TForm1 *Form1;

//---------------------------------------------------------------------------

__fastcall TForm1::TForm1(TComponent* Owner)

 : TForm(Owner)

{

}

//---------------------------------------------------------------------------

void __fastcall TForm1::Button1Click(TObject *Sender)

{

 float x[n]={0}, y[m]={0}, u[n+1][m+1]={0};

 int i,j,m1,n1;

 float a,b,hx,hy,s,t,w,r,e;

 a=StrToFloat(LabeledEdit1->Text);

 b=StrToFloat(LabeledEdit2->Text);

 e=StrToFloat(LabeledEdit3->Text);

 hx=a/n;

 hy=b/m;

 t=(hx/hy)*(hx/hy);

 for (j=0; j<=m; j++)

 {

   y[j]=j*hy;

   u[0][j]=0;

   u[n][j]=y[j];

 }

 for (i=0; i<=n; i++)

 {

   x[i]=i*hx;

   u[i][0]=0;

   u[i][m]=x[i];

 }

 for (i=1; i<=n; i++)

   for (j=1; j<=m; j++)

     u[i][j]=1;

 do

 {

   w=0;

   for (i=1; i<=n; i++)

     for (j=1; j<=m; j++)

     {

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

       r=abs(s-u[i][j]);

       if (r>w) w=r;

       u[i][j]=s;

     }

 }

 while (w>=e);

 StringGrid1->RowCount=n+2;

 StringGrid1->ColCount=m+2;

 StringGrid1->Cells[0][0]="x\\y";

 for (i=0; i<=n; i++)

 {

   for (j=0; j<=m; j++)

     StringGrid1->Cells[j+1][i+1]=FloatToStrF(u[i][j],ffFixed,6,3);

   StringGrid1->Cells[0][i+1]=FloatToStrF(x[i],ffFixed,6,3);

 }

 for (j=0; j<=m; j++) StringGrid1->Cells[j+1][0]=FloatToStrF(y[j],ffFixed,6,3);

}

//---------------------------------------------------------------------------------

Результат виконання програми:

Висновок: На цій лабораторній роботі я засвоїв теоретичний матеріал і методи розв’язування диференційних рівнянь у частинних похідних, набув практичні навики знаходження їхніх наближених значень. 


 

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

68663. Особенности перевода газетных аннотаций и заголовков и способы их передачи на русский язык 161.86 KB
  Лексические грамматические и синтаксические особенности перевода газетных аннотаций и заголовков. Перевод как межъязыковая коммуникация Особенности перевода газетно публицистического стиля. Заголовок как элемент публицистического стиля Лексические особенности перевода газетных заголовков и аннотаций...
68664. Композиционные материалы. Арамидное волокно и ткани на их основе 293.81 KB
  Стальная проволока перерабатывается в тканые сетки которые используются для получения композиционных материалов с ориентацией арматуры в двух направлениях. Особенностью является то что матрицу образуют различные полимеры служащие связующими для арматуры которая может быть в виде волокон ткани пленок стеклотекстолита.
68665. Анализ вариантов регулирования с помощью имитационной модели 479 KB
  После второй мировой войны были предприняты попытки создания международной торговой организации, призванной обеспечить глобальную координацию внешнеторговой политики. По поводу одного из разделов соглашения об образовании международной организации...
68666. Совершенствование налогообложения малых предприятий с помощью экономико-математических методов 440 KB
  Малое предпринимательство неотъемлемый элемент современной рыночной системы хозяйствования без которого экономика и общество в целом не могут нормально существовать и развиваться Из концепции Государственная политика и развитие малого предпринимательства в России Целью экономических реформ...
68668. Оценка экономической эффективности инвестиций в создание автомобильного производства «Автофрамос» в г. Москве 1.51 MB
  В конечном итоге именно производство создает базу для получения валового внутреннего продукта страны поэтому обеспечение производства основными и оборотными средствами которое осуществляется через инвестирование является необходимым условием экономического роста.
68670. Повышение эффективности деятельности туристической фирмы (на примере туристического агенства ООО «Альпана») 2.32 MB
  Цель исследования - на основе исследования современных тенденций развития туристского рынка в Украине разработать конкретные предложения по повышению эффективности деятельности ООО «Альпана» с целью ее экономического роста. Для достижения поставленной цели предполагается решение следующих основных задач...
68671. Развитие творческого потенциала младших школьников на уроке математики 142 KB
  Приобрести вычислительные навыки значит для каждого случая знать какие операции и в каком порядке следует выполнять чтобы найти результат арифметического действия и выполнять эти операции достаточно быстро. Приобрести вычислительные навыки значит для каждого случая знать какие операции и в каком...