Metoda różnic skończonych (MRS) - przegląd

Metoda różnic skonczonych (MRS) może zostać użyta do rozwiązywania równań różniczkowych. W dość prosty sposób można ją zaimplementować w postaci algorytmu komputerowego. Niemniej wypadałoby najpierw poznać trochę zawiłości teoretycznych.
Rozwiązywanie równań różniczkowych metodą MRS polega w gruncie rzeczy na "cofnięciu się" do definicji pochodnej w punkcie (dla przypomnienia ):

Można też skorzystać z rozwinięcia funkcji w szereg Taylora. Napiszmy wzór w formi, który przyda się w rozwiązywaniu przy pomocy MRS:

dzie:
h – pewna odległość od punktu a funkcji
Rn – reszta wzoru Taylora

Z wzoru powyższego możemy wyznaczyć np. pierwszą pochodną (zaniedbując resztę):



Otrzymaliśmy "czysty" wzór na pochodną (jak wyżej). Aby wyznaczyć drugą pochodną ze wzoru możemy postąpić w następujący sposób:

Dodajmy dwa równania do siebie i przeprowadźmy odpowiednie obliczenia:

Otrzymaliśmy w ten sposób wzór na drugą pochodną w punkcie. Jak pochodna jest zależna od wartości funkcji w punkcie przesuniętego o h "w przód" i "w tył". To właśnie wykorzystuje się w MRS. Należy dokonać dyskretyzacji problemu (podzieleniu na punkty/obszary, w których rozpatrujemy problem) i w tych dyskretnych punktach obliczać rozwiązanie przy czym najlepiej aby punkty były oddalone od siebie o jednakową odległość h.
Rozwiążmy jakiś prosty przykład aby uzmysłowić sobie zasadę. Metoda różnic skończonych służy tak naprawdę do rozwiązywania równań różniczkowych. Jednak większość problemów w technice to właśnie równania różniczkowe, dlatego weźmy przykład praktyczny – funkcja ugięcia belki obustronnie podpartej. Równanie przedstawia się następująco:

gdzie:
E – moduł Younga
I - moment bezwładności powierzchni przekroju względem osi obojętnej
M(x) – moment zginający

Cały układ przedstawia się jak na rysunku:

Długość belki wynosi 400 cm. W odległości 100 cm do 300 cm belka jest grubsza i tam stała EI = 5*10^10 Ncm2. Poza tym obszarem EI=2*10^10 Ncm2. Obciążenie(moment gnący) na całej długości belki będzie taki sam M(x)=M=12*10^6 Ncm. Cały obszar podzielimy na 8 części po 50 cm co daje 9 punktów, w których obliczać będziemy ugięcie czyli h=50cm. Musimy wprowadzić jeszcze warunki brzegowe: y(0)=y(400cm)=0 bo przesunięcie w punktach 1 i 9 będzie zawsze zerowe.
W równaniu na belkę mamy doczynienia z drugą pochodną więc zastosujemy wyznaczony wcześniej wzór na drugą pochodną w nieco zmienionej lecz tożsamej formie:

Zależność ta oznacza, że druga poczodna zależy od wartości funkcji w punkcie i, i+1, i-1.
Podstawmy ten wzór wraz z odpowiednimi wartościami liczbowymi do wyrażenia na ugięcie belki:

Teraz dla każdego punku i generujemy równanie.
Dla punktu i=2 wartość EI w tym punkcie wynosi: 2*10^10 Ncm2 więc otrzymujemy:

Postępujemy podobnie dla pozostałych punktów (pomijając brzegowe) ostatecznie otrzymując równania:

Po uporządkowaniu współczynników, zaaplikowanio warunków brzegowych y1=0 i y9=0 i podzieleniu przez 2*10^-10 otrzymujemy układ równań:

W zapisie macierzowym:

Teraz należałoby rozwiązać ten układ równań. Możemy użyć typowych dla metod numerycznych (i nie tylko) algorytmów. Najpopularniejsze z nich to chyba metoda eliminacji Gaussa (rozkład LU). Podane algorytmy przedstawimy sobie być może później a tu podamy gotowy wynik wynik z usuniętym monożnikiem 10^-6 (będziemy o tym pamiętać):

Wartości y z odpowiednim indeksem przedstawiają wartość w konkretnym punkcie. Pomiędzy nimi rzeczywista wartość funkcji jest różna. Możemy ją uzyskać traktując odcinki pomiędzy punktami jako proste. Oczywiście w tej metodzie wynik jest zawsze tylko przybliżony. Wynik dokładny moglibyśmy uzyskać rozwiązując równanie różniczkowe (bardzo proste zresztą). Aby zwiększyć dokładność (w rzeczywistych zastosowaniach) należy zwiększyć liczbę przedziałów dyskretyzacji, skorzystać z "szerszego" rozwinięcia szeregu Taylora itp.

Opis powyższy ma charakter poglądowy. Ma na celu przybliżenie metody MRS i sposobu postępowania. Jak widać metodologia ta nie jest skomplikowana.