Vous êtes sur la page 1sur 17

Finite Volumen Methode zur

Lsung von PDEs


Computational Physics Seminar WS 04/05
Vortrag vom 28.01.05
Autor: Niels Majer
1
Inhaltsverzeichnis
1 Zelleinteilung 3
1.1 Primres Gitter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2 Beispiel-Zelleinteilung . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.3 Integralbilanz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.4 Sekundres Gitter = Kontrollvolumen . . . . . . . . . . . . . . . . . 5
1.5 Integralbilanz in dualer Zelle . . . . . . . . . . . . . . . . . . . . . . 6
1.5.1 Methode 1.) . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.5.2 Methode 2.) . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2 Konstruktion der Basisfunktionen 7
2.1 Ziel, Realisierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.2 Lineare Ansatzfunktionen im Dreieck . . . . . . . . . . . . . . . . . 8
2.2.1 Knotenbasis . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.3 Quadratische Ansatzfunktionen im Dreieck . . . . . . . . . . . . . . 9
2.4 Bilineare Ansatzfunktionen im Rechteck . . . . . . . . . . . . . . . . 11
2.5 Biquadratische Ansatzfunktionen im Rechteck . . . . . . . . . . . . . 11
2.6 Berechnung der f
k
, a
kl
. . . . . . . . . . . . . . . . . . . . . . . . . 11
3 Behandlung der Randbedingung 12
3.1 Dirichlet Randbedingung . . . . . . . . . . . . . . . . . . . . . . . . 12
3.2 Neumann Randbedingung . . . . . . . . . . . . . . . . . . . . . . . 12
4 Beispielproblem Poisson Gleichung 13
4.1 Zelleinteilung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
4.2 Auswertung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
4.2.1 Auswertung der rechten Seite . . . . . . . . . . . . . . . . . 14
4.2.2 Auswertung der linken Seite . . . . . . . . . . . . . . . . . . 15
4.3 Resultat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
4.4 Randbedingung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
4.4.1 Dirichlet Randbedingung . . . . . . . . . . . . . . . . . . . . 16
4.4.2 Neumann Randbedingung . . . . . . . . . . . . . . . . . . . 17
2
Was ist FVM?
Das Finite Volumen Verfahren ist ein numerisches Verfahren zur Lsung von
Partiellen Differentialgleichungen
Das Gebiet, auf dem die Gleichung untersucht werden soll, wird dazu in eine
endliche (nite) Zahl an Gitterzellen (Kontrollvolumen) zerlegt.
Die FVM kann als Erweiterung der FDM betrachtet werden ( exible Gitter,
Ansatzfunktionen statt einfache Differenzen)
Betrachtete PDE
div(A(

x ) grad u(

x )) = f(

x ) in (1)
mit Randbedingungen
Dirichlet : u=g vorgegeben auf oder
Neumann :
T
A grad u = g auf
beachte: PDE ist 2.Ordnung und stationr
Matrix A bestimmt die Klasse der PDE
1
1 Zelleinteilung
1.1 Primres Gitter
Das Gebiet wird mit einem Netz polygo-
naler Zellen
i
berzogen, so dass:
=

N
i=1

i
benachbarte
i
und
j
nur eine
gemeinsame Kante
ij
=
i

j
haben.
Zulssige Zelleinteilung

`
`
`
Unzulssige Zelleinteilung

`
`
`
Damit sind versetzte Polygone nicht zugelassen. Somit ist bei der spteren Konstruk-
tion des Sekundrgitters gewhrleistet, dass jeder Knotenpunkt im Primrgitter genau
ein Kontrollvolumen erzeugt.
1
A strikt denit elliptische PDE. Fr elliptische PDEs kann die Konvergenz der FVM gezeigt werden.
3
1.2 Beispiel-Zelleinteilung

i
P
i
`
`
`
`
.
.
.
>
>
>
>

'
'
'
'
'
`
`
`
`
`
'
'
'
'

/
/
/
/
/
/
/
/'
'
'
'
'

`
`
`
`
`

\
\
\
\
\

`
`
`/
/
/
/
/
>
>
>
`
`
`
`
`

'
'
'
'`
`
`
`
`
>
>
>
>
'
'
'
'
'

/
/
/
/
`
`
`
'
'
'
'
Abbildung 1: Beispiel Zelleinteilung. Randzellen enthalten Teile des Randes von .
Bei Berechnungen wird der Rand auch polygonal approximiert.
1.3 Integralbilanz
In jedem
i
wird nun die PDE integriert und der Gausche Integralsatz angewandt.
Man erhlt dann als Integralbilanz in einer Zelle
_
i
f(

x )d

x =
_
i
div(A(

x ) grad u(

x )) d

x (2)
=
_
i
(s)
T
A(s) grad(u(s)) ds (3)
Problem: Approximation von (s)
T
A(s) grad(u(s))
geometrische Situation u.U. schlecht
Lsung:Konstruktion eines Sekundrgitters
4
1.4 Sekundres Gitter = Kontrollvolumen
Aus dem gegebenen Primrgitter kann mit unterschiedlichen Verfahren ein Sekundr-
gitter generiert werden. Die einfachste Methode ist die Konstruktion eines orthogonal
strukturierten Sekundrgitters.
Bei allen Verfahren gleich: Zu jeder Zelle des Primrgitters soll ein Knotenpunkt
des Sekundrgitters erzeugt werden, der im Innern dieser Zelle liegt. Dies ist sinnvill zu
verlangen, da sonst jegliche Kontrolle ber die Geometrie des Sekundrgitters verloren
geht.

`
`
`
`
`
`
` /
/
/
/
/
/
/
/
/
/
'
'
'

.
.......
. . . .. .
. . . . . .
. . . . . . . . . . . . . . .
p
. . . . . . . . . . . . . . . .
. . . . . . .
. . . . . . . . . . p
.
. . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . .
p
s
s
s
s
P
1
P
2
P
3

ij
\
\
\
\
\
\
\
\

P
1
P
2
P
3
P
4
. . . . . . . . . .
. . . . . . . .
. . . . . . . .
.. .. ... .. p
s s
s s
s
Im Falle des orthogonal strukturierten Gitters sind zustzliche Anforderungen an das
Primrgitter zu stellen.
z.B. Dreiecke mit innenwinkel 90

z.B. symmetrische Trapeze mit Innenwinkel 45

Abbildung 2: Beispiel fr ein Primrgitter mit orthogonal strukturiertem Sekundrgit-


ter. Jeder Knotenpunkt des Primrgitters erzeugt ein Kontrollvolumen
5
1.5 Integralbilanz in dualer Zelle
Die Integralbilanz wird nun fr jede Zelle des Sekundrgitters formuliert.
_
V
k
f(x)dx =
_
V
k

T
A grad u ds (4)
Fr die Berechnung der rechten Seite gibt es unterschiedliche Anstze.
1.) Fr A = 1 wird
T
A grad u zur Normalenableitung und kann z.B. durch
ein Taylorglied 1.Ordnung genhert werden.
2.) u kann durch Funktionen angenhert werden, s.d grad u explizit berechenbar
ist.
1.5.1 Methode 1.)
Fr A=1 nhere
T
grad u
u

u(1/2 (P
k
+ P
j
))


u(P
k
) u(P
j
)
P
k
P
j

2
(5)
und Integral durch
_
V
k
Vj
u

ds
u(1/2 (P
k
+ P
j
))

= |L
kj
|
u(P
k
) u(P
j
)
P
k
P
j

(6)
Hierbei bezeichnet L
kj
die Schnittkante von V
k
und V
j
. Fhrt man diese Nherung fr
alle Schnittkanten aus, so erhlt man ein lineares Gleichungssystemfr u(P
1
), . . . , u(P
m
)
Problematisch wird dieser Ansatz fr A = 1, da
T
A grad u nicht mehr die
Normalenableitung ist.
1.5.2 Methode 2.)
Das nun vorgestellte Prinzip ist Grundlage der FVM. Der Lsungsraum fr u wird auf
folgenden Funktionenraum eingeschrnkt:
u S
h
:= {f C() : f Polynom vom Grade t in
i
} (7)
Damit ist der Lsungsraum endlichdimensional und man kann eine Basis
2
nden.

1
, . . .
m
(8)
sei diese Basis. Dann lsst sich die Lsung u in der Basis als
u(

x ) =
m

l=1

l
(

x ) u
l
(9)
darstellen.
2
Auf die Konstruktion der Basis aus mglichst einfachen Basisfunktionen auf Grundlage der Gitterge-
ometrie wird spter eingegangen.
6
Geht man mit diesem Ansatz in die Integralbilanzgleichung folgt fr ein Volumen
V
k
des Sekundrgitters
_
V
k
f dx
. .
f
k
=
m

l=1
_

_
V
k

T
A grad
l
ds
_
. .
u
l
a
kl
=
m

l=1
a
kl
u
l
(10)
Da die Basis nun bekannt ist, ist grad
l
berechenbar. Insgesamt erhlt man ein Gle-
ichungssystem der Form:
=> A
h
u = f A
h
:= (a
kl
)
Das Problem reduziert sich somit auf die Approximation der f
k
, a
kl
und der Lsung
des genannten Gleichungssystems.
Probleme des Ansatzes
Damit Gleichungssystemeindeutig lsbar ist muss die Anzahl der Kontrollvolumen
gleich der Anzahl der Basisfunktionen sein (Anzahl V
k
= Anzahl
l
). Dies erfordert
eine Abstimmung der Anzahl Kontrollvolumen (= Anzahl P
i
) auf die Dimension des
Ansatzraumes. Fr jedes V
k
muss fr alle Basisfunktionen
l
ein Integral berechnet
werden. Konstruiert man Basisfunktionen mit
l
mit lokalem Trger, so fallen die
meisten Integralberechnungen weg. Ausserdem erhlt man dann eine dnn besetzte
Matrix A
h
, was die Lsung des resultierenden Gleichungssystems beschleunigen kann.
2 Konstruktion der Basisfunktionen
2.1 Ziel, Realisierung
Ziel:
Basisfunktionen mit lokalem Trger (Konstruktionsgrundlage: Gittergeometrie)
Realisierung:
u {f C() : f Polynom vom Grade t in
i
}
u
|i
ist Polynom vom Grad t.
Im Folgenden soll vorgestellt werden, wie man eine geschickte lokale Basis (=Ansatz-
funktionen) in jedem
i
konstruiren kann und wie aus diesen Ansatzfunktionen Basis-
funktionen zusammengesetzt werden.
7
2.2 Lineare Ansatzfunktionen im Dreieck
sei in Dreiecke zerlegt
Ansatzraum
S
h
:= {p stetig: p ist linear auf jedem
i
}
p
|i
(x, y) = a
00
+ a
10
x + a
01
y
Ansatzfunktionen:
{f linear in
i
: f in einem Eckpunkt 1, in anderen 0 }
Ansatzfunktionen graphisch
0
0.2
0.4
0.6
0.8
1
0
0.2
0.4
0.6
0.8
1
0
0.2
0.4
0.6
0.8
1
0
0.2
0.4
0.6
0.8
1
3 lineare Ansatzfunktionen im
Dreieck
Aus diesen linearen Ansatzfunktionen knnen nun Basisfunktionen des Lsungsraums
zusammengesetzt werden. Abb. 2.2 zeigt eine solche zusammengesetzte Basisfunktion.
2.2.1 Knotenbasis
Eine Basis des Lsungsraums wird aus Funktionen erzeugt, die in einem Knotenpunkt
P
i
den Wert 1 haben, in allen anderen den Wert 0. Die so erzeugte Basis heisst Knoten-
basis.
Knotenbasis

i
(P
j
) =
ij
, i, j = 1, . . . , m (11)
Basisdarstellung von s S
h
s(x, y) =
m

l=1
s(P
l
)
l
(x, y) (12)
Hier ist dim(S
h
) = #Knotenpunkte = #Kontrollvolumen. Die Abstimmung der
Dimension des Ansatzraum auf die Anzahl der Kontrollvolumen ist also automatisch
erfllt.
8
Abbildung 3: Stckweise lineare Basisfunktion zusammengesetzt aus Ansatzfunktio-
nen
2.3 Quadratische Ansatzfunktionen im Dreieck
wieder in Dreiecke zerlegt
Ansatzraum
S
h
:= {p stetig: p ist quadratisch auf jedem
i
}
p
|i
= a
00
+ a
10
x + a
01
y + a
11
xy + a
20
x
2
+ a
02
y
2
Konstruire Ansatzfunktionen durch Vorgabe der Werte {0,1} an Eckpunkten
{P
i
} und Seitenmittelpunkten {S
i
}
Ansatzfunktionen graphisch
9
-0.2
0
0.2
0.4
0.6
0.8
1
0
0.2
0.4
0.6
0.8
1
0
0.2
0.4
0.6
0.8
1
-0.2
0
0.2
0.4
0.6
0.8
1
0
0.2
0.4
0.6
0.8
1
0
0.2
0.4
0.6
0.8
1
0
0.2
0.4
0.6
0.8
1
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
6 quadratische Ansatzfunktionen im
Dreieck
Eckpunkte {P
i
} und Seitenmittelpunkte {S
i
} erzeugen Basisfunktionen

i
(P
j
) =
ij
,
i
(S
k
) = 0, i, j = 1, . . . , m, k = 1, . . . , m

k
(S
l
) =
kl
,

k
(P
i
) = 0, k, l = 1, . . . , m, i = 1, . . . , m
Problem: Die Seitenmittelpunkte erzeugen zustzliche Basisfunktionen. Also ist
die Dimension des Ansatzraumes grsser als die Anzahl der Knotenpunkte P
i
Lsung: Das Gitter wird verfeinert, indem die Seitenmittelpunkte in das Gitter
mit aufgenommen werden.
t
P
2
t
S
3
t
S
2
t
P
1
t
P
3
t
S
1
`
`
`
`
`
`
`
`
`
`
` /
/
/
/
/
/
/
/
/
/
/
`
`
`
`
`
`/
/
/
/
/
/
Damit dim(S
h
) = #Kontrollvolumen:
nehme (S
1
. . . S
m
) als Knotenpunkte hinzu
zerlege Dreiecke
i
kongruente Teildreiecke

1
. . .
n

1
. . .

4n
V
1
. . . V
m


V
1
. . .

V
m+ m
10
2.4 Bilineare Ansatzfunktionen im Rechteck
Ansatzraum
S
h
:= {p stetig: p ist bilinear auf jedem
i
}
p
|i
= a
00
+ a
10
x + a
01
y + a
11
xy
0
0.2
0.4
0.6
0.8
1
0
0.2
0.4
0.6
0.8
1
0
0.2
0.4
0.6
0.8
1
0
0.2
0.4
0.6
0.8
1
4 bilineare Ansatzfunktionen im
Rechteck
Bei bilinearen Ansatzfunktionen ist dim(Ansatzraum) = # Kontrollvolumen.
2.5 Biquadratische Ansatzfunktionen im Rechteck
Ansatzraum
S
h
:= {p stetig: p ist biquadratisch auf jedem
i
}
0
0.2
0.4
0.6
0.8
1
0
0.2
0.4
0.6
0.8
1 0
0.2
0.4
0.6
0.8
1
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
-0.2
0
0.2
0.4
0.6
0.8
1
0
0.2
0.4
0.6
0.8
1 0
0.2
0.4
0.6
0.8
1
-0.2
0
0.2
0.4
0.6
0.8
1
-0.2
0
0.2
0.4
0.6
0.8
1
0
0.2
0.4
0.6
0.8
1 0
0.2
0.4
0.6
0.8
1
-0.2
0
0.2
0.4
0.6
0.8
1
9 biquadratische Ansatzfunktionen im Rechteck
Hier ist dim(Ansatzraum) > # Anzahl Knotenpunkte. Durch Hinzunahme der Seiten-
mittelpunkte und des Mittelpunkts des Rechtecks in das Gitter wird aus der Ungle-
ichung eine Gleichung. Das neue Gitter geht aus dem alten Gitter durch Zerlegung der
einzelnen Rechtecke
i
in 4 kongruente Teilrechtecke hervor.
2.6 Berechnung der f
k
, a
kl
Die Basis {
k
} ist in den Knotenpunkten {P
k
} des Gitters deniert, so dass

k
(P
i
) =
ki
(13)
Insbesondere hat die Lsung u die Basisdarstellung
u(x, y) =

m
u(P
m
)
m
(x, y) (14)
11
Die Lsung ist also ber die Knotenpunkte des Gitters interpoliert. Es ist daher nahe-
liegend auch die f
k
und a
kl
in den Knotenpunkten zu interpolieren.
f
int
(

x ) :=
m

s=1
f(P
s
)
s
(

x ) (15)
f
k
=
_
V
k
f dx
_
V
k
f
int
dx
a
kl

_
V
k
(
T
A grad
l
)
int
ds
3 Behandlung der Randbedingung
3.1 Dirichlet Randbedingung
Randbedingung der Form u = g auf
Sei u
0
: eine Funktion die die Randbedingung erfllt.
u
0
(x) = g(x) x (16)
Substitution von u := u u
0
ergibt in der Integralbilanz

_
V
k

T
A grad u ds =
_
V
k
f dx +
_
V
k

T
A grad u
0
ds (17)
u erfllt die gleiche PDE wie u mit einer anderen rechten Seite.
Da u per Konstruktion homogene Randbedingungen hat, reicht es die linke Seite
mit Punkten aus dem Inneren von zu berechnen. In den Randpunkten ist u Null.
u =

k:(P
k

)
u
k

k
(18)
Zur Berechnung der rechten Seit ist es notwendig ein u
0
S
h
zu kennen. Das
einfachste u
0
S
h
ist:
u
0
(P
k
) =
_
g(P
k
) P
k

0 sonst
(19)
3.2 Neumann Randbedingung
Randbedingung der Form
T
A grad u = g auf
12
Fr Volumina V
k
am Rand ersetze (
T
A grad u) durch g. Die Integralbilanz lsst
sich dann schreiben als:

_
V
k
\(V
k
)

T
A grad u ds =
_
V
k
f dx +
_
V
k

g ds (20)
linke Seite: weniger Randintegrale zu berechnen
rechte Seite:approximiere g durch
g =

P
k

g(P
k
)
k
(21)
4 Beispielproblem Poisson Gleichung
Poisson Gleichung div(A(

x ) grad u(

x )) = f(

x ),

x
fr A Einheitsmatrix, = [0, 1]
2
u(x, y) = f(x, y), (x, y) [0, 1]
2
(22)
4.1 Zelleinteilung
Das Gebiet [0, 1]
2
sei (der Einfachheit halber) in Dreiecke mit Seitenlnge h = 1/N in
x,y-Richtung zerlegt.

h 2h

h
2h
.
.
.
.
.
.
0
Primrgitter: durchgezogene Linie
Sekundrgitter: gestrichelte Linie
Das Problem wird mit lineare Ansatzfunktionen berechnet.
ps
sei die Basisfunk-
tion mit Wert 1 im Knotenpunkt (ph,sh), In jedem Dreieck existieren 3 lineare Ansatz-
funktionen. Aus Symmetriegrnden reicht es die Ansatzfunktionen fr das Dreieck mit
Eckpunkten (0,0),(h,0),(0,h) zu kennen.
13

(0,0) (h,0)
(0,h)
a
1
(x, y) =
x
h
a
2
(x, y) =
y
h
a
3
(x, y) = 1
x + y
h
4.2 Auswertung
Die Integralbilanz mit den Interpolierenden Funktionen fr f und u schreibt sich als

p,s=0
u
ps
_
V
kl

T
grad
ps
ds =
N

p,s=0
f
ps
_
V
kl

ps
dx (23)
4.2.1 Auswertung der rechten Seite
Zu berechnen ist
N

p,s=0
f
ps
_
V
kl

ps
dx (24)
Zur Auswertung der rechten Seite mssen also fr jedes Volumen V
kl
die Anteile der
Basisfunktionen zum Integral bestimmt werden.
Zunchst kann man die Anteile einer Basisfunktion (im Inneren von ) auf die
umgebenden Volumina berechnen und in ein Schema schreiben.

V
kl
2 1
14 2 2
2
2 1
1
0
0
Das rechte Schema zeigt den Beitrag einer Basisfunktion
kl
zu benachbarten Vo-
lumina (bis auf einen Faktor h
2
/24).
Eine Beispielberechnung ist hier illustrativ. Fr das Gebie in der Mitte unten mssen
Teilintegrale ber die mit 1 und 2 markierten Gebiete berechnet werden. Dies entspricht
folgenden Integralen im Referenzdreieck (0,0),(0,h),(h,0)
14

(0,0)
2
1
(h,0)
(0,h)
_
V
k,l1

kl
dx =
_
h/2
0
_
hy
h/2
1
x + y
h
dxdy
+
_
h/2
0
_
h/2
0
y
h
dxdy =
h
2
48
+
h
2
16
=
h
2
12
Aus dem erstellten Schema lsst sich nun fr ein Inneres Kontrollvolumen ablesen:
N

p,s=0
f
ps
_
V
kl

ps
dx = (25)
h
2
24
(f
k1,l+1
+ 2 f
k1,l
+ 2f
p,s1
+ 14 f
kl
+ f
k+1,l1
) (26)
4.2.2 Auswertung der linken Seite
Zu berechnen ist:

p,s=0
u
ps
_
V
kl

T
grad
ps
ds (27)
Wiederum mssen die Beitrge (
ps
/) zum Randintegral bestimmen. Man
geht analog zur rechten Seite vor und erhlt folgendes Schema fr die Beitrge (
T
grad
kl
)
zu benachbarten Volumina

V
kl
4 1 1
1
1 0
0
0
0
Fr inneres Kontrollvolumen V
kl
folgt:
N

p,s=0
u
ps
_
V
kl

T
grad
ps
ds = (28)
u
k1,l
u
p,s1
+ 4u
kl
u
k+1,l
u
p,s+1
(29)
15
4.3 Resultat
Insgesamt erhlt man fr jedes innere Kontrollvolumen eine Gleichung der Form
u
k1,l
u
k,l1
+ 4u
kl
u
k+1,l
u
k,l+1
=
h
2
24
(f
k1,l+1
+ 2 f
k1,l
+ 2f
k,l1
+ 14 f
kl
+ f
k+1,l1
)
Fr Volumina am Rand:
Beitrge mit Indizes {1, N + 1} verschwinden
Vorfaktoren evtl anders (kleinere Kontrollvolumen, wegfallende Randstcke)
4.4 Randbedingung
4.4.1 Dirichlet Randbedingung
Randbedingung u = g auf [0, 1]
2
u
0
Ansatzraum
u
0
=

p = 0, N
s = 0, N
g(ph, sh)
ps
(30)
Berechnung linke Seite mit
u = u u
0
=

p = 0, N
s = 0, N
u(ph, sh)
ps
(31)
Gleichungssystem mit (N 1)
2
Unbekannten
Rechte Seite:
_
V
kl
f dx +
_
V
kl

T
grad u ds (32)
nur anders fr Volumen in Randnhe (k,l=1,N-1)
Spezialfall: wegen Symmetrie
_
V
1l

T
grad u
0
ds = g
0l
1 < l < N 1
_
V
k1

T
grad u
0
ds = g
k0
1 < k < N 1
16
4.4.2 Neumann Randbedingung
Randbedingung der Form u/ = 0 auf
Berechnung linke Seite: Fr Volumina am Rand fallen Teilintegrale weg
Vorfaktoren ndern sich.
4.5 Zusammenfassung, Erweiterung
FVM:
untersuchte Gebiet wird in polygonale Elemente zerlegt
Erweiterung: auch krummlinige Elemente
Polynome als Ansatzfunktionen auf Elementen
Erweiterung: Problemgerechte Wahl der Ansatzfunktionen auf Elementen
PDE wird auf jedem Element integriert
Erweiterung: Einfhrung problemgerechter Gewichtungsfunktionen
=> FEM (Finite Elemente Methode
17

Vous aimerez peut-être aussi