Metody numeryczne - Metoda różnic skończonych



Metoda polegająca na przybliżeniu pochodnej funkcji przez odpowiednie wzory różnicowe. W poniższych opracowaniu skupimy się na dwóch prostych zastosowaniach metody różnic skończonych:

  1. 1. Rozwiązywanie równań różniczkowych
  2. 2. Rozwiązywanie belek zginanych

Poszczególne pochodne zamieniamy na wzory różnicowe korzystając z poniższych wzorów

Centralne wzory różnicowe dla zagadnienia jednowymiarowego

Metoda różnic skończonych - Centralne wzory różnicowe dla zagadnienia jednowymiarowego


gdzie - długość elementu.

Rozwiązywanie równań różniczkowych przy pomocy metody różnic skończonych

Ogólny tok postępowania w tym przypadku

  1. 1. Podział badanego przedziału na n elementów o długości h
  2. 2. Zastąpienie pochodnych w równaniu odpowiednimi wzorami różnicowymi
  3. 3. Rozpisanie równań różnicowych dla poszczególnych punktów
  4. 4. Uwzględnienie warunków brzegowych
  5. 5. Rozwiązanie układu równań w postaci macierzowej

Przykład 1

Treść

Rozwiązać problem brzegowy z danymi jak poniżej

𝑦(𝑥)=2𝑥𝑥[𝑎.𝑏]𝑎=3𝑏=7𝑦(𝑎)=4𝑦(𝑏)=2

Dzieląc przedział na 𝑛 =4 elementy

Rozwiązanie

Długość pojedynczego elementu:

=𝑏𝑎𝑛=1

Położenie poszczególnych węzłów

𝑥𝑖=𝑥0+𝑖

Zamieniamy równanie 𝑦(𝑥) =2𝑥 korzystając ze wzorów różnicowych:

12(𝑖12𝑖+𝑖𝑝1)=2𝑥𝑖12𝑖+𝑖𝑝1=22𝑥

Dla każdego węzła 𝑖 =1,2,3,4 zapisujemy równanie różnicowe zgodnie z powyższym wzorem, pomocniczo zapisujemy wartośći x dla poszczególnych węzłów:

𝑖=1𝑖02𝑖1+𝑖2=22𝑥1𝑥1=𝑥0+=4𝑖=2𝑖12𝑖2+𝑖3=22𝑥2𝑥2=𝑥0+2=5𝑖=3𝑖22𝑖3+𝑖4=22𝑥3𝑥3=𝑥0+3=6𝑖=4𝑖32𝑖4+𝑖5=22𝑥4𝑥4=𝑥0+4=7

Uwzględniamy warunki brzegowe, również zamieniając je na wzory różnicowe

𝑦(𝑎)=4𝑦0=4𝑦(𝑏)=212(𝑖3+𝑖5)=2𝑖3+𝑖5=4

Zapisujemy powyższe równania w postaci macierzowej 𝐴 𝑦 =𝐵

121000012100001210000121100000000101 𝑦0𝑦1𝑦2𝑦3𝑦4𝑦5 =22𝑥122𝑥222𝑥322𝑥444 =810121444

I ostatecznie rozwiązanie (w tym przypadku uzyskane w programie Mathcad):

𝑦 =𝐴1𝐵 =43158758071

W praktyce interesuje nas jedynie pierwsze 5 wyników, ponieważ ostatni znajduje się de facto poza przedziałem badanym 𝑖 =5 >𝑥 =8

Rozwiązanie analitycznego tego równania uzyskane klasycznymi metodami rozwiązywania równań różniczkowych:

𝑦𝑎𝑛(𝑥) =𝑥33 47𝑥 +136

W tabeli zestawiono wartości wraz z błędami dla poszczególnych punktów

i𝑥𝑦𝑦𝑎 Bład bezwzgledny  Bład wzgledny 034400,00%143130,6670,3331,09%255857,3330,6671,16%36757411,35%478078,6671,3331,69%

Ddybyśmy podzielili przedział na więcej elementów dokładność była by oczywiście większa, natomiast w takim przypadku konieczne byłoby użycie programów obliczeniowych typu Matlab

Rozwiązywanie belek zginanych przy pomocy metody różnic skończonych

Tok postępowania jest niemal identyczny jak w przypadku rozwiązywania równań różniczkowych, ponieważ wychodzimy od zależności pomiędzy przemieszczeniem i obciążeniem belki prostej:

𝑑4𝑣(𝑥)𝑑𝑥4 =𝑞(𝑥)𝐸𝐽

Który w zapisie różnicowym przyjmie postać:

𝑑4𝑣(𝑥)𝑑𝑥4 =𝑝𝑦(𝑥)𝐸𝐽 𝑣𝑖24𝑣𝑖1+6𝑣𝑖4𝑣𝑖+1+𝑣𝑖+24 =𝑞𝑖𝐸𝐽

Lub w prostszym zapisie:

𝑣𝑖2 4𝑣𝑖1 +6𝑣𝑖 4𝑣𝑖+1 +𝑣𝑖+2 =𝑏𝑖, 𝑏𝑖 =4 𝑞𝑖𝐸𝐽

Problemy zaczynają się w momencie kiedy belka nie jest obciążona w sposób ciągły, ale np. poprzez przyłożenie do niej siły punktowej, obciążenia trapezowego itd., lub kiedy jej sztywność jest zmienna na długości belki. W takich przypadkach będziemy musieli sprowadzić obciążenie do obciążenia ciągłego.
Dodatkowo po obliczeniu wartości ugięcia belki w poszczególnych punktach skorzystamy ze znanych zależności które pozwolą nam obliczyć siłę tnącą oraz moment zginający:

𝑀(𝑥)=𝐸𝐽𝑑2𝑣(𝑥)𝑑𝑥2M=EI𝑣𝑖12𝑣𝑖+𝑣𝑖+12𝑇(𝑥)=𝐸𝐽𝑑3𝑣(𝑥)𝑑𝑥3𝑇=EI𝑣𝑖2+2𝑣𝑖12𝑣𝑖+1+𝑣𝑖+223

Warunki brzegowe dla belek

Warunki brzegowe będą dla belki wynikały ze sposobu podparcia jak przedstawiono poniżej

metoda różnic skończonych - warunki brzegowe dla belki - utwierdzenie pełne 𝑣=0𝑣𝑖=0𝑑𝑣𝑑𝑥=0𝑣𝑖1+𝑣𝑖+12=0
metoda różnic skończonych - warunki brzegowe dla belki - podpora przegubowa 𝑣=0𝑣𝑖=0𝑀=𝐸𝐽𝑑2𝑣𝑑𝑥2=0𝐸𝐽𝑣𝑖12𝑣𝑖+𝑣𝑖+12=0
metoda różnic skończonych - warunki brzegowe dla belki - utwierdzenie przesuwne 𝑑𝑣𝑑𝑥=0𝑣𝑖1+𝑣𝑖+12=0𝑇=𝐸𝐽𝑑3𝑣𝑑𝑥3=0𝐸𝐽𝑣𝑖2+2𝑣𝑖12𝑣𝑖+1+𝑣𝑖+223=0
metoda różnic skończonych - warunki brzegowe dla belki - swobodny koniec 𝑀=𝐸𝐽𝑑2𝑣𝑑𝑥2=0𝐸𝐽𝑣𝑖12𝑣𝑖+𝑣𝑖+12=0𝑇=𝐸𝐽𝑑3𝑣𝑑𝑥3=0𝐸𝐽𝑣𝑖2+2𝑣𝑖12𝑣𝑖+1+𝑣𝑖+223=0

Przykład 2

Treść

Rozwiązać podaną belkę korzystając z MRS, 𝐸𝐼 =8000𝑘𝑁𝑚2

Metoda różnic skończonych - przykład 2 - belka

Rozwiązanie

Zapisujemy równanie różnicowe dla punktów i=1,2,3,4

𝑖=11𝑣14𝑣0+6𝑣14𝑣2+1𝑣3=𝑏𝑖=21𝑣04𝑣1+6𝑣24𝑣3+1𝑣4=𝑏𝑖=31𝑣14𝑣2+6𝑣34𝑣4+1𝑣5=𝑏𝑖=41𝑣24𝑣3+6𝑣44𝑣5+1𝑣6=𝑏

gdzie 𝑏 =4𝑞𝐸𝐼

Następnie zapisujemy warunki brzegowe, w x=0, i=0 utwierdzenie pełne, w x=4, i=4 swobodny koniec

𝑣0=01𝑣1+1𝑣1=01𝑣32𝑣4+1𝑣5=01𝑣2+2𝑣32𝑣5+1𝑣6=0

Podobnie jak w poprzednim przykładzie zapisujemy całość w postaci macierzowej i rozwiązujemy przy pomocy programu obliczeniowego

1464100001464100001464100001464101000000101000000000121000012021 𝑣1𝑣0𝑣1𝑣2𝑣3𝑣4𝑣5𝑣6 =𝑏𝑏𝑏𝑏0000 =1.251031.251031.251031.251030000
𝑣1𝑣0𝑣1𝑣2𝑣3𝑣4𝑣5𝑣6 =𝐴1𝐵 =5103051031.5621022.8751024.251025.6251027.062102

Mając wartości ugięcia możemy obliczyć np. wartość momentu gnącego w utwierdzeniu

𝑀0 =𝐸𝐼2(𝑣12𝑣0+𝑣1) =80𝑘𝑁𝑀

Akurat ta belka jest bardzo typowa, możemy więc z łatwością znaleźć analityczne rozwiązanie i porównać je z naszym, numerycznym

𝑀𝑎 =12𝑞 𝐿2 =80𝑘𝑁𝑚

Jak widać rozwiązanie dla momentu zginającego jest identyczne, nieco bardziej interesująco ma się sprawa z ugięciem końca belki:

𝑣𝑎=𝑞𝐿48𝐸𝐼=4102𝑣4𝑣𝑎𝑣𝑎=6.25%

Jak widać w tym przypadku błąd względny wynosi ponad 6%, podobnie jak poprzednio wyższe n sprawiłoby że ten błąd byłby mniejszy.

Bonus

W powyższym przykładzie pominęliśmy wartość siły tnącej w utwierdzeniu. Jak łatwo zauważyć stwarza ona pewien kłopot, ponieważ wzór:

𝑇0 =𝐸𝐼23(𝑣2+2𝑣12𝑣1+𝑣2)

zawiera wartość przemieszczenia 𝑣2 której nie obliczyliśmy. Jeżeli jednak w zadaniu mielibyśmy za zadanie obliczyć wartość siły tnącej musielibyśmy dodatkow zapisać wzór różnicowy dla i=0, co zilustrowano poniżej

146410000014641000001464100000146410000014641001000000010100000000001210000012021 𝑣2𝑣1𝑣0𝑣1𝑣2𝑣3𝑣4𝑣5𝑣6 =𝑏𝑏𝑏𝑏𝑏0000
𝑣2𝑣1𝑣0𝑣1𝑣2𝑣3𝑣4𝑣5𝑣6 : =𝐴1𝐵 =2.5621025103051031.5621022.8751024.251025.6251027.062102

Oczywiście pozostałe wartości przemieszczenia nie zmieniły się, ale mając obliczone 𝑣2 możemy zweryfikować wartość siły tnącej w utwierdzeniu:

𝑇𝑎=𝑞𝐿=40𝑘𝑁𝑇0=𝐸𝐼23(𝑣2+2𝑣12𝑣1+𝑣2)=40𝑘𝑁

Jak widać wynik jest idelanie zgodny z wartością analityczną

Łukasz Cichowicz
GRZEGORZ
MAZUR
Korepetytor
200 PLN
60 MIN
Zobacz mój profil na
Edupanda Logo