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);

}

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

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

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


 

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

33481. Принципи чинності кримінального закону у часі 30.5 KB
  За загальним правилом закон про кримінальну відповідальність набирає чинності через десять днів з дня його офіційного оприлюднення. При цьому під опублікуванням закону про кримінальну відповідальність треба розуміти опублікування його в офіційному друкованому виданні.Зворотна дія закону про кримінальну відповідальність. Закон про кримінальну відповідальність який скасовує злочинність діяння або помякшує кримінальну відповідальність має зворотну дію у часі тобто поширюється на осіб що вчинили відповідні діяння до набрання таким законом...
33482. Ексцес виконавця 26 KB
  Ексцес виконавця вчинення виконавцем злочину дій які не охоплюються умислом інших співучасників якщо його дії утворюють самостійний склад злочину або його дії суттєво відрізняються від дій запланованих іншими учасниками. Кількісний ексцес має місце там де виконавець учинив однорідний злочин але більш тяжкий ніж було заплановано співучасниками наприклад вчинив розбій замість крадіжки. В цьому разі виконавець несе відповідальність за статтею що передбачає покарання за фактично вчинений ним злочин а співучасники несуть...
33483. Загальні засади призначення покарання 28 KB
  Інакше кажучи яка б кримінальна справа не розглядалася яке б покарання не призначалося винному суд зобов'язаний виходити з цих загальних критеріїв. 65 загальні засади призначення покарання складаються з таких трьох критеріїв. Суд призначає покарання: 1 у межах встановлених у санкції статті Особливої частини КК що передбачає відповідальність за вчинений злочин; 2 відповідно до положень Загальної частини КК; 3 враховуючи ступінь тяжкості вчиненого злочину особу винного та обставини що пом'якшують та обтяжують покарання.
33484. Звільнення від відбування покарання з випробуваннями 41.5 KB
  Відомий багато років нашому праву інститут засудження з випробуванням умовне засудження і відстрочка виконання вироку трансформований новим КК в один із видів звільнення від відбування покарання звільнення від відбування покарання з випробуванням. 75 КК зазначено якщо суд при призначенні покарання у виді виправних робіт службових обмежень для військовослужбовців обмеження волі а також позбавлення волі на строк не більше п'яти років враховуючи тяжкість злочину особу винного та інші обставини справи дійде висновку про можливість...
33485. правових відносин між особою яка вчинила злочин і державою. 27.5 KB
  Прийняття судом рішення про звільнення особи від кримінальної відповідальності є актом що свідчить про припинення кримінальноправових відносин між особою яка вчинила злочин і державою. Тобто вчинене раніше нею діяння визнається юридичне незначним підлягає забуттю залежно від того правом чи обов'язком суду є звільнення особи від кримінальної відповідальності виділяють два види такого звільнення: обов'язкове і. Факультативним є звільнення передбачене ст. Звільнення особи від кримінальної відповідальності може бути безумовним і умовним.
33486. Поняття злочину та його ознаки 28 KB
  Злочином є передбачене цим Кодексом суспільно небезпечне винне діяння дія або бездіяльність вчинене субєктом злочину. Три ознаки злочину: суспільна небезпечність діяння винність і передбаченість діяння в законі про кримінальну відповідальність. Суспільна небезпечність як матеріальна ознака злочину полягає в тому що діяння або заподіює шкоду відносинам які охороняються кримінальним законом або містить у собі реальну можливість заподіяння такої шкоди.
33488. Змішана форма вини 28.5 KB
  До таких злочинів належать наприклад порушення вимог законодавства про охорону праці якщо воно спричинило загибель людей або інші тяжкі наслідки ч. 286; порушення чинних на транспорті правил що убезпечують рух якщо це спричинило загибель людей або інші тяжкі наслідки ст. 291; незаконне перевезення на повітряному судні вибухових або легкозаймистих речовин що спричинило загибель людей чи інші тяжкі наслідки ч. У другій групі злочинів складність об'єктивної сторони полягає в тому що передбачене законом умисне діяння спричиняє два...
33489. Помилка в кримінальному праві 27 KB
  Юридична помилка полягає в неправильному уявленні особи про юридичні властивості вчиненого, його правову характеристику