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