Przykład rozwiązania równania Laplace`a metodą różnic
Transkrypt
Przykład rozwiązania równania Laplace`a metodą różnic
©2004 Przemysław Baran – www.ar.krakow.pl\~pbaran Przykład rozwiązania równania Laplace’a metodą różnic skończonych Nasze zadanie polegać będzie na znalezieniu wartości ciśnień i prędkości wewnątrz nasypu (Rys. 1) piętrzącego wodę w warunkach filtracji ustalonej. j 7,20 9 8 7 6 5 4 3 2 1 0 7,20 7,20 6,40 7,20 5,60 7,20 4,80 7,20 4,00 7,20 3,20 7,20 2,40 7,20 1,60 1,60 7,20 7,20 1,60 7,20 1,60 i 0 1 2 3 4 5 6 7 8 9 10 Rys. 1 Nasyp piętrzący wodę – przykład obliczeniowy dla MRS Nasyp (k = 1x10-4 [m/s]) jest prostopadłościanem o wymiarach 8m x 8m x 1m. Spoczywa na podłożu nieprzepuszczalnym. Piętrzenie wody górnej 7,2m i dolnej 1,6m. Zakładamy, że znane jest położenie krzywej depresji w nasypie. Interesujący nas obszar znajduje się pod krzywą filtracji i tam przeprowadzamy dyskretyzację siatką kwadratową. Dyskretyzować należy w sposób, który pozwoli umieścić węzeł w miejscu, gdzie znana jest wartość potencjału brzegowego. Jeżeli nie jest to możliwe, stosowanie cytowanych wzorów relaksacyjnych jest niepoprawne. Ustalamy poziom porównawczy u podstawy nasypu. Wartości potencjałów z lewej strony są równe wysokości zwierciadła wody w piezometrze mierzonej od poziomu porównawczego. Podobnie strona prawa. Na krzywej filtracji wartości potencjałów można wyznaczyć jako wysokości zwierciadła, mierzone od poziomu porównawczego (jest to pewne uproszczenie). Przy podstawie nasypu wprowadzamy warunek brzegowy dla prędkości pionowej (vz = 0). Wartości potencjałów brzegowych są opisane kolorem żółtym. Węzły koloru czerwonego posiadają nieznany potencjał i stanowią one pierwszy przedmiot naszych obliczeń. 9 8 7 6 5 4 3 2 1 0 7,200 7,200 7,200 7,200 7,200 7,200 7,200 7,200 7,200 7,200 0 7,200 7,200 6,400 5,600 4,800 4,000 3,200 2,400 1,600 1 2 3 4 5 6 7 8 9 1,600 1,600 1,600 10 Tab. 1 Zestawienie numerów węzłów i ich wartości brzegowych 1 ©2004 Przemysław Baran – www.ar.krakow.pl\~pbaran W tym celu zestawmy potrzebne dane w formie tabelarycznej. Potrzebujemy numer węzła w pionie i poziomie, oraz wartości potencjału na węzłach brzegowych (Tab. 1). Następnym krokiem jest założenie wartości potencjałów wewnątrz obszaru analizy. I tutaj, zgodnie z tym co było poruszane w części teoretycznej, istnieje w zasadzie dowolność. Z tym, że im bardziej „realne” wartości zostaną przyjęte, tym szybciej uzyskamy zbieżność iteracji. Proponuję zatem, aby ustalić wartości potencjałów na zasadzie ich liniowego rozkładu pomiędzy wartościami brzegowymi. Zatem wyjściowy zbiór danych przybierze poniższą postać (Tab. 2): 9 8 7 6 5 4 3 2 1 0 7,200 7,200 7,200 7,200 7,200 7,200 7,200 7,200 7,200 7,200 0 7,200 6,933 6,800 6,720 6,667 6,629 6,600 6,578 6,640 6,640 1 7,200 6,667 6,400 6,240 6,133 6,057 6,000 5,956 6,080 6,080 2 6,400 6,000 5,760 5,600 5,486 5,400 5,333 5,520 5,520 3 5,600 5,280 5,067 4,914 4,800 4,711 4,960 4,960 4 4,800 4,533 4,343 4,200 4,089 4,400 4,400 5 4,000 3,771 3,600 3,467 3,840 3,840 6 3,200 3,000 2,844 3,280 3,280 7 2,400 2,222 2,720 2,720 8 1,600 2,160 2,160 9 1,600 1,600 1,600 10 Tab. 2 Dane wyjściowe do obliczeń iteracyjnych Teraz przystępujemy do wyznaczenia wartości potencjałów w pierwszym kroku iteracyjnym, zgodnie z cytowaną w części teoretycznej formułą Jakobiego. Dla węzła (3; 3) otrzymamy: H (3;4 )0 + H (3;2 )0 + H (2;3)0 + H (4;3)0 4 5,486 + 5,333 + 6,000 + 4,800 = 5,405 H (3;3)1 = 4 H (3;3)1 = W Tab. 3 zestawiono wyniki pierwszej iteracji. Wartości zaznaczone kolorem żółtym są wyliczane na podstawie warunku brzegowego dla prędkości (vz = 0). Dla węzła (1; 0) otrzymamy: 2 ⋅ H (1;1)0 + H (2;0 )0 + H (0;0 )0 4 2 ⋅ 6,640 + 6,080 + 7,200 = 6,640 H (1;0 )1 = 4 H (1;0 )1 = Przy założonej dokładności obliczeń równej 0,001, zbieżność uzyskano przy 34 iteracji (Tab. 4). 9 8 7 6 5 4 3 2 1 0 7,200 7,200 7,200 7,200 7,200 7,200 7,200 7,200 7,200 7,200 0 7,200 6,967 6,813 6,727 6,670 6,631 6,602 6,599 6,624 6,640 1 7,200 6,733 6,427 6,253 6,141 6,062 6,003 5,998 6,049 6,080 2 6,400 6,040 5,780 5,611 5,493 5,405 5,397 5,473 5,520 3 5,600 5,307 5,082 4,924 4,806 4,796 4,898 4,960 4 4,800 4,552 4,355 4,208 4,194 4,322 4,400 5 4,000 3,786 3,610 3,593 3,747 3,840 6 3,200 3,011 2,992 3,171 3,280 7 2,400 2,391 2,596 2,720 8 1,600 2,020 2,160 9 1,600 1,600 1,600 10 Tab. 3 Wyniki 1-szej iteracji 2 ©2004 Przemysław Baran – www.ar.krakow.pl\~pbaran 9 8 7 6 5 4 3 2 1 0 7,200 7,200 7,200 7,200 7,200 7,200 7,200 7,200 7,200 7,200 0 7,200 7,021 6,892 6,804 6,743 6,702 6,673 6,655 6,644 6,641 1 7,200 6,791 6,544 6,381 6,269 6,191 6,138 6,103 6,084 6,078 2 6,400 6,113 5,910 5,763 5,659 5,586 5,540 5,514 5,506 3 5,600 5,381 5,217 5,097 5,013 4,960 4,931 4,921 4 4,800 4,630 4,503 4,414 4,360 4,332 4,324 5 4,000 3,871 3,784 3,736 3,719 3,716 6 3,200 3,117 3,084 3,096 3,104 7 2,400 2,390 2,478 2,511 8 1,600 1,916 1,985 9 1,600 1,600 1,600 10 Tab. 4 Wyniki 34-tej iteracji Jak widać, procedura iteracyjna Jakobiego dała zgodność dopiero przy 34 iteracji. Problem tutaj prezentowany opiera się na niewielkiej siatce (75 punktów). Przy gęstszej dyskretyzacji mogłoby się okazać, że potrzeba o wiele większej ilości przybliżeń, a co za tym idzie i czasu1. Poniżej zaprezentuję tą samą iterację, ale metodą nad-relaksacji. Zgodnie z formułą, część danych węzłowych bierze się z poprzedniej iteracji, a część z bieżącej. Tabela wyjściowa nie zmienia się (Tab. 2), stąd np. dla węzła (1; 8) w pierwszej iteracji otrzymamy: H (1;8)1 = (1 − ω ) ⋅ H (1;8) 0 + ω = 1,5 H (1;8)1 = (1 − 1,5) ⋅ 6,933 + ω ⋅ [H (0;8)1 + H (1;7 )1 + H (2;8)0 + H (1;9)0 ] 4 1,5 ⋅ (7,200 + 6,825 + 6,667 + 7,200) = 6,993 4 Patrząc na wzór, zobaczymy, że z bieżącej iteracji potrzebujemy wartości H(i,j-1) i H(i-1,j). Zatem, aby móc przeprowadzić obliczenia musimy znać te wartości. Dobrze jest zacząć od węzłów, w których cytowane wartości są narzucone przez warunki brzegowe. Warunek brzegowy dla metody nad-relaksacji przy vz = 0 można opisać: H (i, j )m+1 = (1 − ω ) ⋅ H (i, j )m ⋅ ω ⋅ [H (i + 1, j )m + 2 ⋅ H (i, j + 1)m + H (i − 1, j )m+1 ] 4 I tak dla węzła (1; 0) w pierwszej iteracji otrzymamy: H (1;0)1 = (1 − ω ) ⋅ H (1;0)0 + ω = 1,5 H (1;0)1 = (1 − 1,5) ⋅ 6,640 + ω ⋅ [H (0;0 )1 + 2 ⋅ H (1;1)0 + H (2;0 )0 ] 4 1,5 ⋅ [7,200 + 2 ⋅ 6,640 + 6,080] = 6,640 4 W Tab. 5 pokazano wyniki pierwszej iteracji. Zbieżność uzyskano już przy 14 (!) iteracji (Tab. 6). 1 Pamiętam z XIV Konferencji w Korbielowie pt. „Metody numeryczne w projektowaniu i analizie konstrukcji hydrotechnicznych”, jak pewien naukowiec powiedział, iż amerykańscy numerycy w przypadku problemów z długim czasem obliczeń, nie zmieniają procedury tylko komputery... 3 ©2004 Przemysław Baran – www.ar.krakow.pl\~pbaran 9 8 7 6 5 4 3 2 1 0 7,200 7,200 7,200 7,200 7,200 7,200 7,200 7,200 7,200 7,200 0 7,200 6,993 6,825 6,733 6,675 6,636 6,611 6,601 6,617 6,640 1 7,200 6,812 6,462 6,273 6,156 6,078 6,028 6,007 6,025 6,080 2 6,400 6,105 5,817 5,639 5,522 5,448 5,413 5,429 5,520 3 5,600 5,363 5,124 4,968 4,868 4,820 4,833 4,960 4 4,800 4,610 4,414 4,289 4,226 4,236 4,400 5 4,000 3,861 3,710 3,633 3,638 3,840 6 3,200 3,131 3,039 3,041 3,280 7 2,400 2,445 2,444 2,720 8 1,600 1,846 2,160 9 1,600 1,600 1,600 10 1,600 1,919 1,989 9 1,600 1,600 1,600 10 Tab. 5 Wyniki 1-szej iteracji metodą nad-relaksacji 9 8 7 6 5 4 3 2 1 0 7,200 7,200 7,200 7,200 7,200 7,200 7,200 7,200 7,200 7,200 0 7,200 7,022 6,894 6,807 6,748 6,707 6,680 6,662 6,653 6,650 1 7,200 6,792 6,547 6,387 6,277 6,202 6,151 6,118 6,100 6,093 2 6,400 6,115 5,915 5,772 5,672 5,603 5,559 5,535 5,526 3 5,600 5,385 5,226 5,110 5,031 4,981 4,953 4,945 4 4,800 4,635 4,513 4,429 4,379 4,354 4,347 5 4,000 3,877 3,795 3,751 3,737 3,735 6 3,200 3,122 3,094 3,109 3,118 7 2,400 2,395 2,486 2,519 8 Tab. 6 Wyniki 14-tej iteracji metodą nad-relaksacji Pojawiły się pewne rozbieżności między wartościami potencjałów wyliczonych metodą Jakobiego, a metodą nad-relaksacji. Jest to objaw typowy dla metod przybliżonych. W dalszej części obliczeń będziemy się koncentrować na wynikach z metody nad-relaksacji. Po wyliczeniu wartości potencjałów w punktach analizowanego obszaru. Można przystąpić do wyznaczenia prędkości wody. Na prędkość w danym węźle składają się dwa wektory prędkości: pionowy vz i poziomy vx. Aby je wyznaczyć skorzystamy z cytowanego w części teoretycznej prawa Darcy, wyrażonego poprzez różnice skończone: H (i + 1, j ) − H (i − 1, j ) 2 ⋅ ∆x H (i, j + 1) − H (i, j − 1) v z (i, j ) = −k ⋅ 2 ⋅ ∆x v x (i, j ) = −k ⋅ I tak, dla węzła (5; 4) prędkości wyniosą: ∆x = 0,8 m H (6;4 ) − H (4;4) 3,877 − 5,110 = −1 ⋅10 −4 ⋅ = 7,710 ⋅10 −5 m / s 2 ⋅ 0,8 1,6 H (5;5) − H (5;3) 4,635 − 4,429 v z (5;4) = −1 ⋅10 −4 ⋅ = −1 ⋅10 −4 ⋅ = −1,280 ⋅10 −5 m / s 2 ⋅ 0,8 1,6 v x (5;4 ) = −1 ⋅10 −4 ⋅ v xz (5;4) = v x2 + v z2 = (7,710 ⋅10 ) + (− 1,280 ⋅10 ) −5 2 −5 2 = 7,815 ⋅10 −5 m / s 4 ©2004 Przemysław Baran – www.ar.krakow.pl\~pbaran A kierunek wektora prędkości dla tego samego węzła: tg α = ⎛v vz ⇒ α = tg −1 ⎜⎜ z vx ⎝ vx ⎞ ⎟⎟ ⎠ ⎛ − 1,280 ⋅10 −5 ⎞ ⎟ = −9,428° −5 ⎟ ⎝ 7,710 ⋅10 ⎠ α (5;4) = tg −1 ⎜⎜ Poniżej zestawiono prędkości w nasypie (Tab. 7-Tab. 9) oraz kąty nachylenia wektorów prędkości (Tab. 10). 8 7 6 5 4 3 2 1 0 vx 2,549E-05 4,081E-05 5,083E-05 5,766E-05 6,236E-05 6,554E-05 6,756E-05 6,868E-05 6,904E-05 1 3,885E-05 4,865E-05 5,576E-05 6,096E-05 6,471E-05 6,730E-05 6,895E-05 6,985E-05 7,014E-05 2 5,919E-05 6,259E-05 6,572E-05 6,822E-05 7,000E-05 7,109E-05 7,164E-05 7,180E-05 3 6,969E-05 7,112E-05 7,245E-05 7,337E-05 7,378E-05 7,381E-05 7,378E-05 4 7,661E-05 7,710E-05 7,726E-05 7,685E-05 7,606E-05 7,569E-05 5 8,207E-05 8,171E-05 8,031E-05 7,787E-05 7,685E-05 6 8,721E-05 8,480E-05 9,342E-05 7,827E-05 7,440E-05 5,536E-05 7,599E-05 7,057E-05 5,749E-05 7 8 9 Tab. 7 Wartości [m/s] prędkości poziomych vx 8 7 6 5 4 3 2 1 0 vz -1,913E-05 -1,340E-05 -9,116E-06 -6,215E-06 -4,215E-06 -2,774E-06 -1,677E-06 -7,885E-07 0,000E+00 1 -4,081E-05 -2,534E-05 -1,685E-05 -1,153E-05 -7,873E-06 -5,202E-06 -3,147E-06 -1,477E-06 0,000E+00 2 -3,031E-05 -2,143E-05 -1,517E-05 -1,055E-05 -7,014E-06 -4,231E-06 -1,972E-06 0,000E+00 3 -2,339E-05 -1,716E-05 -1,215E-05 -8,073E-06 -4,789E-06 -2,182E-06 0,000E+00 4 -1,793E-05 -1,280E-05 -8,343E-06 -4,672E-06 -1,968E-06 0,000E+00 5 -1,279E-05 -7,825E-06 -3,586E-06 -1,017E-06 0,000E+00 6 -6,582E-06 -8,309E-07 5,358E-06 1,487E-06 7,795E-06 2,433E-05 0,000E+00 0,000E+00 0,000E+00 7 8 9 Tab. 8 Wartości [m/s] prędkości pionowych vz 8 7 6 5 4 3 2 1 0 vxz 3,187E-05 4,295E-05 5,164E-05 5,800E-05 6,250E-05 6,559E-05 6,758E-05 6,869E-05 6,904E-05 1 5,634E-05 5,486E-05 5,825E-05 6,204E-05 6,519E-05 6,750E-05 6,902E-05 6,987E-05 7,014E-05 2 6,650E-05 6,616E-05 6,745E-05 6,903E-05 7,035E-05 7,122E-05 7,167E-05 7,180E-05 3 7,351E-05 7,316E-05 7,346E-05 7,382E-05 7,394E-05 7,385E-05 7,378E-05 4 7,868E-05 7,815E-05 7,771E-05 7,699E-05 7,608E-05 7,569E-05 5 8,306E-05 8,209E-05 8,039E-05 7,788E-05 7,685E-05 6 8,746E-05 8,480E-05 9,357E-05 7,828E-05 7,481E-05 6,047E-05 7,599E-05 7,057E-05 5,749E-05 7 8 9 Tab. 9 Wartości [m/s] prędkości wypadkowych vxz 8 7 6 5 4 3 2 1 0 alfa -36,885 -18,175 -10,167 -6,151 -3,867 -2,423 -1,422 -0,658 0,000 1 -46,412 -27,515 -16,818 -10,707 -6,937 -4,420 -2,613 -1,211 0,000 2 -27,117 -18,900 -12,993 -8,790 -5,722 -3,406 -1,577 0,000 3 -18,551 -13,563 -9,516 -6,279 -3,714 -1,694 0,000 4 -13,172 -9,428 -6,163 -3,479 -1,482 0,000 5 -8,858 -5,470 -2,557 -0,748 0,000 6 -4,316 -0,561 1,088 0,000 7 3,282 5,981 0,000 8 23,729 0,000 9 Tab. 10 Wartości [°] kątów α nachylenia wektorów prędkości 5 ©2004 Przemysław Baran – www.ar.krakow.pl\~pbaran Pozostaje jeszcze ustalenie wartości ciśnień porowych u. Aby tego dokonać potrzebujemy, oprócz wartości potencjału w rozpatrywanym punkcie, wysokość danego punktu mierzoną od założonego poziomu porównawczego. I tak dla węzła (3; 3) otrzymamy następującą wartość ciśnienia porowego: u (3;3) = [z (3;3) − H (3;3)]⋅ γ w u (3;3) = [2,40 − 5,604]⋅ 9,81 u (3;3) = −31,430 kPa Znak „minus” traktuje ciśnienie jako parcie (w przeciwieństwie do ssania – znak „plus”). Analogia do ustrojów prętowych (np. kratownic), gdzie ściskanie jest „ujemne” a rozciąganie „dodatnie”. Poniżej (Tab. 11) zestawiono obliczone wartości ciśnień porowych. 9 8 7 6 5 4 3 2 1 0 u 7,20 6,40 5,60 4,80 4,00 3,20 2,40 1,60 0,80 0,00 z 0,000 -6,097 -12,694 -19,690 -26,959 -34,411 -41,993 -49,672 -57,426 -65,244 1 0,000 -3,847 -9,291 -15,565 -22,341 -29,452 -36,802 -44,331 -52,004 -59,796 2 0,000 -5,057 -10,938 -17,390 -24,254 -31,430 -38,849 -46,462 -54,235 3 0,000 -5,741 -12,025 -18,744 -25,815 -33,173 -40,759 -48,526 4 0,000 -6,227 -12,882 -19,913 -27,268 -34,876 -42,655 5 0,000 -6,643 -13,688 -21,110 -28,822 -36,647 6 0,000 -7,088 -14,663 -22,653 -30,592 7 0,000 -7,800 -16,537 -24,719 8 0,000 -10,975 -19,515 9 Tab. 11 Wartości [kPa] ciśnień porowych u 6