Paralelnı implementace metody sdruzenych gradientu a vyber fixujıcıch uzlu pro metodu FETI-DP
Paralelnı implementace metody sdruzenychgradientu a vyber fixujıcıch uzlu pro metodu
FETI-DP
Jaroslav Broz
Katedra mechanikyFakulta stavebnıCVUT v Praze
Seminar Katedry mechaniky25. unor 2010
Paralelnı implementace metody sdruzenych gradientu a vyber fixujıcıch uzlu pro metodu FETI-DP
Obsah
Obsah
1 Motivace
2 Paralelnı implementace metody sdruzenych gradientu
3 Metoda FETI-DP
4 Zaver a budoucı prace
Paralelnı implementace metody sdruzenych gradientu a vyber fixujıcıch uzlu pro metodu FETI-DP
Motivace
Obsah
1 Motivace
2 Paralelnı implementace metody sdruzenych gradientu
3 Metoda FETI-DP
4 Zaver a budoucı prace
Paralelnı implementace metody sdruzenych gradientu a vyber fixujıcıch uzlu pro metodu FETI-DP
Motivace
Motivace
Geotechnika Mostnı konstrukce Analyza sırenı tepla
Materialovy vyzkumAnalyza chovanıkontejmentu
Vodnı stavby
Paralelnı implementace metody sdruzenych gradientu a vyber fixujıcıch uzlu pro metodu FETI-DP
Paralelnı implementace metody sdruzenych gradientu
Obsah
1 Motivace
2 Paralelnı implementace metody sdruzenych gradientu
3 Metoda FETI-DP
4 Zaver a budoucı prace
Paralelnı implementace metody sdruzenych gradientu a vyber fixujıcıch uzlu pro metodu FETI-DP
Paralelnı implementace metody sdruzenych gradientu
Uvod
Uvod
Iteracnı metoda pro resenı systemu linearnıch rovnic
Matice soustavy musı byt symetricka a positivne definitnı
A ∈ Rnxn, A = AT , ∀v, v 6= 0 : vTAv > 0
Paralelnı implementace metody sdruzenych gradientu a vyber fixujıcıch uzlu pro metodu FETI-DP
Paralelnı implementace metody sdruzenych gradientu
Algoritmus CG
Algoritmus metody sdruzenych gradientu
A = AT ∀v, v 6= 0 : vTAv > 0x0 ← 0r0 = b− Ax0d0 = r0i← 0while i ≤ imax || tol < rT
i ri doαi = rT
i ri
dTi Adi
ri+1 = ri − αiAdi
xi+1 = xi + αidi
βi =rT
i+1ri+1
rTi ri
di+1 = ri+1 + βidi
i← i + 1end while
Paralelnı implementace metody sdruzenych gradientu a vyber fixujıcıch uzlu pro metodu FETI-DP
Paralelnı implementace metody sdruzenych gradientu
Predpodmınenı metody sdruzenych gradientu
Predpodmınenı metody sdruzenych gradientu
Existuje nekolik typu predpodmınenı:
Diagonalnı (Jacobiho) predpodmınenı,
Predpodmınenı nekompletnı faktorizacı matice (LU, LDLT ),
BOSS predpodmınenı.
Paralelnı implementace metody sdruzenych gradientu a vyber fixujıcıch uzlu pro metodu FETI-DP
Paralelnı implementace metody sdruzenych gradientu
Predpodmınenı metody sdruzenych gradientu
Algoritmus predpodmınene metody sdruzenych gradientu
A = AT ∀x, x 6= 0 : xTAx > 0x0 ← 0r0 = b− Ax0z0 = C−1r0d0 = z0i← 0while i ≤ imax || tol < rT
i ri doαi = rT
i zi
dTi Adi
ri+1 = ri − αiAdi
xi+1 = xi + αidi
zi+1 = C−1ri+1
βi =rT
i+1zi+1
rTi zi
di+1 = zi+1 + βidi
i← i + 1end while
Paralelnı implementace metody sdruzenych gradientu a vyber fixujıcıch uzlu pro metodu FETI-DP
Paralelnı implementace metody sdruzenych gradientu
Implementace metody
Paralelnı implementace metody sdruzenych gradientu
Zalozena na paralelizaci nasobenı matice vektorem a naskalarnım nasobenı vektoru
Puvodnı oblast rozdelena na nekolik mensıch podoblastı
Implementovana do volne dostupneho programoveho balıkuSIFEL
Pouzito paralelizacnı schema Master - Slave
Knihovna MPICH2 pro mezi-procesorovou komunikaci
Knihovna PETSc pro nekompletnı LU faktorizaci maticepodoblasti pro predpodmınenı
Paralelnı implementace metody sdruzenych gradientu a vyber fixujıcıch uzlu pro metodu FETI-DP
Paralelnı implementace metody sdruzenych gradientu
Implementace metody
Paralelnı implementace metody sdruzenych gradientuSrovnanı moznych implementacı
Paralelnı implementace metody sdruzenych gradientu a vyber fixujıcıch uzlu pro metodu FETI-DP
Paralelnı implementace metody sdruzenych gradientu
Numericke testy
Numericke testyPocet iteracı vzhledem k celkovemu poctu elementu
Paralelnı implementace metody sdruzenych gradientu a vyber fixujıcıch uzlu pro metodu FETI-DP
Paralelnı implementace metody sdruzenych gradientu
Numericke testy
Numericke testyPocet iteracı vzhledem k celkovemu poctu elementu
Paralelnı implementace metody sdruzenych gradientu a vyber fixujıcıch uzlu pro metodu FETI-DP
Paralelnı implementace metody sdruzenych gradientu
Numericke testy
Numericke testyNaroky na ulozenı matice podoblasti
Paralelnı implementace metody sdruzenych gradientu a vyber fixujıcıch uzlu pro metodu FETI-DP
Metoda FETI-DP
Obsah
1 Motivace
2 Paralelnı implementace metody sdruzenych gradientu
3 Metoda FETI-DP
4 Zaver a budoucı prace
Paralelnı implementace metody sdruzenych gradientu a vyber fixujıcıch uzlu pro metodu FETI-DP
Metoda FETI-DP
Uvod
Metoda FETI-DPUvod
Metoda FETI-DP (Finite Element Tearing and InterconnectingDual-Primal) publikovana prof. Farhatem a jeho spolupracovnıky
Jedna z metod rozkladu oblasti na podoblasti (angl. DomainDecomposition Method)
Paralelnı implementace metody sdruzenych gradientu a vyber fixujıcıch uzlu pro metodu FETI-DP
Metoda FETI-DP
Odvozenı zakladnıch rovnic metody
Funkcional energie elastickeho telesa
Π (u) =12
∫Ωε (x)T D (x) ε (x) dΩ−
∫Ω
u (x)T b (x) dΩ
−∫
Γtu (x)T t (x) dΓt (1)
x
y
ΩΓu Γt
Γt
Γt
Paralelnı implementace metody sdruzenych gradientu a vyber fixujıcıch uzlu pro metodu FETI-DP
Metoda FETI-DP
Odvozenı zakladnıch rovnic metody
Diskretizovany funkcional energie elastickeho telesa
Π (u) =12
∫Ω
uTB (x)T D (x) B (x) udΩ−∫
ΩuTN (x)T N (x) bdΩ
−∫
ΓtuTN (x)T N (x) tdΓt + λTBu (2)
x
y
ΩΓu Γt
Γt
Γt
x
y
Ω1
Ω2
Ω3
Ω4
Γu Γt
Γt
Γt
Paralelnı implementace metody sdruzenych gradientu a vyber fixujıcıch uzlu pro metodu FETI-DP
Metoda FETI-DP
Odvozenı zakladnıch rovnic metody
Definice fixujıcıch uzlu dle puvodnıho clanku prof. Farhata
D1 Prusecıky - uzly nalezejıcı vıce nez dvema podoblastem
D2 Mnozina uzlu umıstena na konci kazde hrany na kazdepodoblasti
x
y
D1D2 D2
D2
D2
Ω1
Ω2
Ω3
Ω4
Paralelnı implementace metody sdruzenych gradientu a vyber fixujıcıch uzlu pro metodu FETI-DP
Metoda FETI-DP
Odvozenı zakladnıch rovnic metody
Globalnı vektor fixujıcıch neznamych
uc =
u1
c...
ujc...
uNcc
(3)
Definice matic vyberu B
Bsrus
r = ±usbr
(4)
Bscuc = us
c (5)
Paralelnı implementace metody sdruzenych gradientu a vyber fixujıcıch uzlu pro metodu FETI-DP
Metoda FETI-DP
Odvozenı zakladnıch rovnic metody
Podmınka spojitosti pole posunutı nahranici podoblastı
λTBu...
usbr,j = uq
brk
usbr,j+1 = uq
br,k+1
usbr,j+2 = uq
br,k+2
...
· · ·+ λm
(us
br,j − uqbr,k
)+
+λm+1
(us
br,j+1 − uqbr,k+1
)+
+λm+2
(us
br,j+2 − uqbr,k+2
)+ . . .
kj m
k+1j+1 m+1
k+2j+2 m+2
s q
Paralelnı implementace metody sdruzenych gradientu a vyber fixujıcıch uzlu pro metodu FETI-DP
Metoda FETI-DP
Odvozenı zakladnıch rovnic metody
Minimalizace funkcionalu energie elastickeho telesa
∂Π (u)∂u
=∫
ΩB (x)T D (x) B (x) udΩ−
∫Ω
N (x)T N (x) bdΩ
−∫
ΓtN (x)T N (x) tdΓt + BTλ = 0 (6)
∂Π (u)∂λ
=i=Ns∑i=1
BTuj = 0 (7)
Matice tuhosti a vektor zatızenı
K =∫
ΩB (x)T D (x) B (x) dΩ (8)
f =∫
ΩN (x)T N (x) bdΩ−
∫Γt
N (x)T N (x) tdΓt (9)
Paralelnı implementace metody sdruzenych gradientu a vyber fixujıcıch uzlu pro metodu FETI-DP
Metoda FETI-DP
Odvozenı zakladnıch rovnic metody
Podmınky rovnovahy na podoblasti
Ksrru
sr + Ks
rcBscuc + BsT
r λ = fsr s = 1, 2, . . . ,Ns (10)
s=Ns∑s=1
BsT
c KsT
rc usr +
s=Ns∑s=1
BsT
c KsccBs
cuc =s=Ns∑s=1
BsT
c fsbc
= fc (11)
s=Ns∑s=1
Bsrus
r = 0 (12)
Ksrr a Kcc =
s=Ns∑s=1
BsT
c KsccBs
c → regularnı (13)
usr = Ks−1
rr
(fsr − BsT
r λ−KsrcBs
cuc
)(14)
Paralelnı implementace metody sdruzenych gradientu a vyber fixujıcıch uzlu pro metodu FETI-DP
Metoda FETI-DP
Odvozenı zakladnıch rovnic metody
Hruby problem
(FIrr FIrc
FTIrc−K∗
cc
)(λuc
)=
(dr
−f∗c
)(15)
FIrr =s=Ns∑s=1
BsrKs−1
rr BsT
r FIrc =s=Ns∑s=1
BsrKs−1
rr KsrcBsT
c
K∗cc = Kcc −
s=Ns∑s=1
(KsrcBs
c)T Ks−1
rr (KsrcBs
c) dr =s=Ns∑s=1
BsrKs−1
rr fsr
f∗c = fc −s=Ns∑s=1
BsT
c KsT
rc Ks−1
rr fsr
Paralelnı implementace metody sdruzenych gradientu a vyber fixujıcıch uzlu pro metodu FETI-DP
Metoda FETI-DP
Odvozenı zakladnıch rovnic metody
Redukovany problem na rozhranı
(FIrr + FIrcK
∗−1
cc FTIrc
)λ = dr − FIrcK
∗−1
cc f∗c (16)
Resenı hrubeho problemuMatice soustavy hrubeho problemu je symetricka a positivne definitnı→ Resenı redukovaneho hrubeho problemu pomocı metodysdruzenych gradientu
Paralelnı implementace metody sdruzenych gradientu a vyber fixujıcıch uzlu pro metodu FETI-DP
Metoda FETI-DP
Fixujıcı uzly
Dulezitost vyberu fixujıcıch uzluZajistenı regularity matice podoblasti Ks
Zajistenı regularity matice hrubeho problemu(FIrr FIrc
FTIrc−K∗
cc
)Vhodne vybrane fixujıcı uzly→ male cıslo podmınenosti κmatice hrubeho problemu→ rychlost konvergence resenıhrubeho problemu
Teoreticky mozno vybrat vsechny uzly na rozhranı→ metodaSchurovych doplnku
Paralelnı implementace metody sdruzenych gradientu a vyber fixujıcıch uzlu pro metodu FETI-DP
Metoda FETI-DP
Fixujıcı uzly
Problemy s vyberem fixujıcıch uzlu
Definice z puvodnıho clanku produkuje mnoho fixujıcıch uzlu
Neexistuje zadny program pro vyber fixujıcıch uzlu
Existujı pouze nastroje na rozklad sıte na podoblasti (METIS,JOSTLE, CHACO atd.) - zalozeny na delenı grafu
Problem s interpretacı definice na sıtıch rozdelenych pomocıtechto programu
Omezena data - k dispozici pro vyber je pouze sıt’ konecnychprvku
Paralelnı implementace metody sdruzenych gradientu a vyber fixujıcıch uzlu pro metodu FETI-DP
Metoda FETI-DP
Algoritmus pro vyber fixujıcıch uzlu ve 2D
Algoritmus pro vyber fixujıcıch uzlu ve 2D
Definice uzlove multiplicityUzlova multiplicita - pocet podoblastı, na kterych uzel lezı
Definice fixujıcıch uzluUzel s uzlovou multiplicitou > 2→ fixujıcı uzel
Uzel s uzlovou multiplicitou = 2 a jen s jednım sousedem, kteryma uzlovou multiplicitou = 2→ fixujıcı uzel.
x
y
Paralelnı implementace metody sdruzenych gradientu a vyber fixujıcıch uzlu pro metodu FETI-DP
Metoda FETI-DP
Algoritmus pro vyber fixujıcıch uzlu ve 2D
Algoritmus pro vyber fixujıcıch uzlu ve 2D
Definice uzlove multiplicityUzlova multiplicita - pocet podoblastı, na kterych uzel lezı
Definice fixujıcıch uzluUzel s uzlovou multiplicitou > 2→ fixujıcı uzel
Uzel s uzlovou multiplicitou = 2 a jen s jednım sousedem, kteryma uzlovou multiplicitou = 2→ fixujıcı uzel.
x
y
Paralelnı implementace metody sdruzenych gradientu a vyber fixujıcıch uzlu pro metodu FETI-DP
Metoda FETI-DP
Algoritmus pro vyber fixujıcıch uzlu ve 2D
Algoritmus pro vyber fixujıcıch uzlu ve 2D
Definice uzlove multiplicityUzlova multiplicita - pocet podoblastı, na kterych uzel lezı
Definice fixujıcıch uzluUzel s uzlovou multiplicitou > 2→ fixujıcı uzel
Uzel s uzlovou multiplicitou = 2 a jen s jednım sousedem, kteryma uzlovou multiplicitou = 2→ fixujıcı uzel.
x
y
Paralelnı implementace metody sdruzenych gradientu a vyber fixujıcıch uzlu pro metodu FETI-DP
Metoda FETI-DP
Algoritmus pro vyber fixujıcıch uzlu ve 2D
Algoritmus pro vyber fixujıcıch uzlu ve 2D
Definice uzlove multiplicityUzlova multiplicita - pocet podoblastı, na kterych uzel lezı
Definice fixujıcıch uzluUzel s uzlovou multiplicitou > 2→ fixujıcı uzel
Uzel s uzlovou multiplicitou = 2 a jen s jednım sousedem, kteryma uzlovou multiplicitou = 2→ fixujıcı uzel.
x
y
Paralelnı implementace metody sdruzenych gradientu a vyber fixujıcıch uzlu pro metodu FETI-DP
Metoda FETI-DP
Algoritmus pro vyber fixujıcıch uzlu ve 2D
Algoritmus pro vyber fixujıcıch uzlu ve 2D
Definice hranicnıch krivekHranicnı krivka spojuje hranicnı uzly mezi dvema fixujıcımi uzly.
Dalsı fixujıcı uzly mohou byt pridany:Do kazdeho n-teho clena hranicnı krivkyNa konec kazde n-te casti hranicnı krivky
”Integracnı body ” hranicnı krivkyNa nahodnou pozici
x
y
Paralelnı implementace metody sdruzenych gradientu a vyber fixujıcıch uzlu pro metodu FETI-DP
Metoda FETI-DP
Numericke testy of Algoritmus for 2D
Numericke testyNepravidelna oblast- Patro
Paralelnı implementace metody sdruzenych gradientu a vyber fixujıcıch uzlu pro metodu FETI-DP
Metoda FETI-DP
Numericke testy of Algoritmus for 2D
PatroVysledky testu - Pocet iteracı vzhledem k poctu fixujıcıch uzlu.
Paralelnı implementace metody sdruzenych gradientu a vyber fixujıcıch uzlu pro metodu FETI-DP
Metoda FETI-DP
Numericke testy of Algoritmus for 2D
PatroVysledky testu - Celkovy cas resenı vzhledem k poctu fixujıcıch uzlu.
Paralelnı implementace metody sdruzenych gradientu a vyber fixujıcıch uzlu pro metodu FETI-DP
Metoda FETI-DP
Algoritmus pro vyber fixujıcıch uzlu ve 3D
Algoritmus pro vyber fixujıcıch uzlu ve 3D
Definice hranyHrana je definovana hranicnımi uzly, ktere lezı na vıce nez dvoupodoblastech.
Definice plochyPlocha je definovana hranicnımi uzly, ktere lezı prave na dvoupodoblastech.
Paralelnı implementace metody sdruzenych gradientu a vyber fixujıcıch uzlu pro metodu FETI-DP
Metoda FETI-DP
Algoritmus pro vyber fixujıcıch uzlu ve 3D
Algoritmus pro vyber fixujıcıch uzlu ve 3D
Definice hranyHrana je definovana hranicnımi uzly, ktere lezı na vıce nez dvoupodoblastech.
Definice plochyPlocha je definovana hranicnımi uzly, ktere lezı prave na dvoupodoblastech.
Paralelnı implementace metody sdruzenych gradientu a vyber fixujıcıch uzlu pro metodu FETI-DP
Metoda FETI-DP
Algoritmus pro vyber fixujıcıch uzlu ve 3D
Algoritmus pro vyber fixujıcıch uzlu ve 3D
Definice fixujıcıch uzluuzel s maximalnı uzlovou multiplictou, nebo krızenı hran→fixujıcı uzel
konec hrany→ fixujıcı uzel
Paralelnı implementace metody sdruzenych gradientu a vyber fixujıcıch uzlu pro metodu FETI-DP
Metoda FETI-DP
Numericky test algoritmu pro vyber fixujıcıch uzlu
Numericky testPravidelna podoblast - Kostka
Paralelnı implementace metody sdruzenych gradientu a vyber fixujıcıch uzlu pro metodu FETI-DP
Metoda FETI-DP
Numericky test algoritmu pro vyber fixujıcıch uzlu
Kostka - 64000 prvkuVysledky testu -Pocet iteracı vzhledem k poctu fixujıcıch uzlu.
Paralelnı implementace metody sdruzenych gradientu a vyber fixujıcıch uzlu pro metodu FETI-DP
Metoda FETI-DP
Numericky test algoritmu pro vyber fixujıcıch uzlu
Kostka - 64000 prvkuVysledky testu - Celkovy cas resenı vzhledem k poctu fixujıcıch uzlu.
Paralelnı implementace metody sdruzenych gradientu a vyber fixujıcıch uzlu pro metodu FETI-DP
Zaver a budoucı prace
Obsah
1 Motivace
2 Paralelnı implementace metody sdruzenych gradientu
3 Metoda FETI-DP
4 Zaver a budoucı prace
Paralelnı implementace metody sdruzenych gradientu a vyber fixujıcıch uzlu pro metodu FETI-DP
Zaver a budoucı prace
Zaver a budoucı prace
Provedena paralelnı implementace metody sdruzenych gradientu
Vyvinut algoritmus pro vyber fixujıcıch uzlu pro libovolnou sıt’2D prvku a pro pravidelnou sıt’ 3D prvkuPozorovano nasledujıcı chovanı:
S narustem fixujıcıch uzlu dochazı ke snizovanı poctu iteracı vhrubem problemuVelky pocet fixujıcıch uzlu prodluzuje celkovy cas resenıExistuje optimalnı pocet fixujıcıch uzlu
Budoucı prace: Optimalizace algoritmu, vyvoj algoritmu provyber fixujıcıch uzlu pro libovolne 3D sıte a automaticka volbapoctu fixujıcıch uzlu
Paralelnı implementace metody sdruzenych gradientu a vyber fixujıcıch uzlu pro metodu FETI-DP
Podekovanı
Podekovanı
Dekuji Vam za Vasi pozornost.