Finite element differential forms - Institute for Mathematics and its

advertisement
Outline
Finite element differential forms
Background on the continuous problem
Douglas N. Arnold
Requirements for discretization
joint with R. Falk and R. Winther
Subspaces of finite element differential forms
School of Mathematics
University of Minnesota
Application to elasticity
April 2009
2 / 41
References
Finite element exterior calculus, homological techniques, and
applications, Acta Numerica 2006, p. 1–155
Background on the
continuous problem
“Any young (or not so young) mathematician who spends
the time to master this paper will have tools that will be
useful for his or her entire career.” — Math Reviews
Exterior calculus
The de Rham complex
Hodge theory and the Hodge Laplacian
Mixed finite element methods for linear elasticity with weakly
imposed symmetry, Math. Comp. 2007
Geometric decompositions and local bases for spaces finite element
differential forms, to appear in CMAME
everything is at http://umn.edu/∼arnold
3 / 41
Differential forms
Exterior calculus
Exterior derivative. A k-form ω can be differentiated to get a
(k + 1)-form d k ω : take the directional derivative of
ωx (v1 , . . . , vk ) in the direction vk+1 and skew-symmetrize.
n
Let Ω be a domain in R , f : Ω → R smooth.
∀x ∈ Ω, dfx :
Rn
→ R is a linear map: dfx (v ) = v · ∇f (x).
d k+1 ◦ d k = 0, i.e., Bk := range(d k−1 ) ⊂ Zk := ker(d k )
(More generally, on any smooth manifold, dfx : Tx Ω → R is linear)
f is a 0-form, df is a 1-form,
Λ0 (Ω),
If F : Ω → Ω0 , the pullback F ∗ maps Λk (Ω0 ) → Λk (Ω):
(F ∗ ω)x (v1 , . . . , vk ) = ωF (x) (dFx v1 , . . . , dFx vk )
Λ1 (Ω)
ω is a k-form ⇐⇒ ∀x, ωx is an alternating k-linear form on
Rn
(Tx Ω)
dx 1 , . . . , dx n : standard dual basis of Rn =⇒
dx 1 ∧ · · · ∧dx k , i1 < · · · < ik , basis for alternating k-linear forms.
ω ∈ Λk (Ω) ⇐⇒ ω =
A k-form has
n
k
X
If S ⊂ Ω is a submanifold, the pullback of the inclusion is the
trace, tr : Λk (Ω) → Λk (S). This is not just the restriction.
There is Ra natural integral of a k-form ω over a k-dimensional
surface: S ω ∈ R
fi1 ···ik dx 1 ∧ · · · ∧dx k .
coefficients (so Λk (Ω) = 0 for k > n).
Z
Z
Stokes theorem:
dω =
Ω
tr ω,
ω ∈ Λn−1 (Ω)
∂Ω
6 / 41
5 / 41
The case of Ω ⊂ R3
The de Rham complex
For Ω ⊂ R3 , the de Rham complex boils down to
We work in a Hilbert space setting.
d = d k is a closed densely-defined unbounded operator
L2 Λk (Ω) → L2 Λk+1 (Ω) with closed range.
grad
scalar fn
Its domain is HΛk (Ω) = { ω ∈ L2 Λk (Ω) | dω ∈ L2 Λk+1 (Ω) },
a Hilbert space with the graph norm kωk2HΛ = kωk2 + kdωk2 .
d1
vector field
div
vector field
scalar fn
Physical vector quantities may be divided into two classes, in one of
which the quantity is dened with reference to a line, while in the other
They connect to form the de Rham complex:
d0
curl
0 → H 1 (Ω) −−→ H(curl, Ω) −−→ H(div, Ω) −−→ L2 (Ω) → 0
the quantity is dened with reference to an area.
d n−1
James Clerk Maxwell,
0 → HΛ0 (Ω) −→ HΛ1 (Ω) −→ · · · −−→ HΛn (Ω) → 0
The kth de Rham cohomology group is Zk /Bk .
Treatise on Electricity & Magnetism, 1891


# components of Ω,



# tunnels thru Ω,
dim(Hk ) =
# voids in Ω,



0,
Since we are in a Hilbert setting, the cohomology space is
isomorphic to the space of harmonic k-forms:
Hk := { ω ∈ Zk | ω ⊥ Bk }
7 / 41
k
k
k
k
=0
=1
=2
=3
For Ω contractible (e.g., convex)
H0 = R, Hk = 0, k > 0
8 / 41
Hodge theory
Naive weak formulation of the Hodge Laplacian
An obvious weak formulation (in the case of no harmonic forms):
Find u ∈ HΛk ∩ H ∗ Λk such that
Using the inner product, we have:
Hodge decomposition:
L2 Λk (Ω)
=
Bk
⊕
Poincaré’s inequality: kωkL2 ≤ c kdωkL2 ,
Hk
⊕
Zk⊥
hdu, dv i + hd ∗ u, d ∗ v i = hf , v i,
adjoint: d ∗ : L2 Λk+1 (Ω) → L2 Λk (Ω), closed densely-defined
This formulation is problematic for discretization.
Lagrange elements, or any conforming finite elements, converge. . .
but not to the solution!
H = ker(d) ∩ ker(d ∗ )
Hodge Laplace problem:
Given f ∈ Λk (0 ≤ k ≤ n), find u ∈ Λk such that
(d ∗ d + d d ∗ )u = f
v ∈ HΛk ∩ H ∗ Λk
Equivalently, 12 kduk2 + 12 kd ∗ uk2 − hf , ui → minimum
ω ∈ HΛk , ω ⊥ Zk
curl curl u − grad div u = f (with natural BC)
plus BC
The harmonic functions determine well-posedness:
(1) ∃u ⇐⇒ f ⊥ Hk ,
(2) u is determined only mod Hk
9 / 41
Mixed formulation of the Hodge Laplacian
The mixed formulation is well-posed
Given f ∈ L2 Λk (Ω), find σ ∈ HΛk−1 , u ∈ HΛk , p ∈ Hk :
hσ, τ i − hdτ, ui = 0
hdσ, v i + hdu, dv i+hp, v i = hf , v i
hu, qi = 0
10 / 41
Well-posedness of the mixed formulation follows directly from the
Hodge decomposition and the Poincaré inequality. We must prove
the inf-sup condition for the bilinear form
∀τ ∈ HΛk−1
∀v ∈ HΛk
∀q ∈ Hk
B(σ, u, p; τ, v , q) = hσ, τ i−hdτ, ui−hdσ, v i−hdu, dv i−hv , pi−hu, qi,
Equivalently 12 hσ, σi − 12 hdu, dui − hdσ, ui − hu, pi + hf , ui → saddle point
Special cases:
k = 0: ordinary Laplacian
k = n: mixed Laplacian
k = 1, n = 3: σ = − div u, grad σ + curl curl u = f
k = 2, n = 3: σ = curl u, curl σ − grad div u = f
i.e., given (σ, u, p) ∈ HΛk−1 × HΛk × Hk , we need to control
kσkHΛ + kukHΛ + kpk by a bounded choice of τ , v , and q.
τ =σ
v =u
controls kσk, v = dσ controls kdσk, v = p
controls kduk. How to control kuk?
Hodge decomp.:
u = dη + s + z,
controls kpk
η ∈ HΛk−1 , s ∈ Hk , z ∈ Zk⊥
Includes the problems
τ = η controls kdηk and q = s controls ksk. How to control kzk?
curl curl u = f , div u = 0
and
div u = f , curl u = 0
Poincaré’s inequality: kzk ≤ ckdzk = ckduk
11 / 41
12 / 41
Discretization
Choose finite dimensional subspaces Λk−1
⊂ HΛk−1 , Λkh ⊂ HΛk .
h
Assume that dΛk−1
⊂ Λkh so we get a subcomplex.
h
d k−1
· · · −−→ HΛk−1 −−−→ HΛk −−→ · · ·
x
x


∪
∪
Requirements for discretization
d k−1
· · · −−→ Λk−1
−−−→ Λkh −−→ · · ·
h
Subcomplexes
Bounded cochain projections
We may then define Bkh , Zkh , Hkh = (Bkh )⊥ ∩ Zkh
(and obtain the discrete Hodge decomp: Λkh = Bkh ⊕ Hkh ⊕ (Zkh )⊥ )
Galerkin’s method: discretize the mixed formulation with
k
k
Λk−1 , Λk , Hk −→ Λk−1
h , Λ h , Hh
When is it stable, consistent, and convergent?
14 / 41
A simple case
Bounded cochain projections
Key property: Suppose that there exists a bounded cochain projection.
Stable discretization is not obvious, even in simple cases.
σ ∈ H(div ), u ∈ L2 :
hσ, τ i − hdiv τ, ui = 0
hdiv σ, v i = hf , v i
d k−1
· · · −−→ HΛk−1 −−−→ HΛk −−→ · · ·



πk
yπhk−1
y h
∀τ ∈ H(div)
∀v ∈ L2
d k−1
· · · −−→ Λk−1
−−−→ Λkh −−→ · · ·
h
πhk bounded
πhk a projection
πhk d k−1 = d k−1 πhk−1
Theorem
If kv − πhk v k < kv k ∀v ∈ Hk , then the induced map on
cohomology is an isomorphism.
gap Hk , Hkh ≤ sup kv − πhk v k
v ∈Hk
kv k=1
The discrete Poincaré inequality holds uniformly in h.
P1 -P0
Galerkin’s method is stable and convergent.
Raviart–Thomas - P0
15 / 41
16 / 41
Proof of discrete Poincaré inequality
Subspaces of finite element
differential forms
Thm. There is a positive constant c, independent of h, such that
kωk ≤ ckdωk,
ω ∈ Zk⊥
h .
Shape functions
Degrees of freedom
Dual bases and explicit bases
Finite element de Rham subcomplexes
Bounded cochain projections
Applications
k⊥ ⊂ HΛk (Ω) by dη = dω. By
Proof. Given ω ∈ Zk⊥
h , define η ∈ Z
the Poincaré inequality, kηk ≤ ckdωk, so it is enough to show that
k
kωk ≤ ckηk. Now, ω − πh η ∈ Λh and d(ω − πh η) = 0, so
ω − πh η ∈ Zkh . Therefore
kωk2 = hω, πh ηi + hω, ω − πh ηi = hω, πh ηi ≤ kωkkπh ηk,
whence kωk ≤ kπh ηk, and the result follows.
17 / 41
Finite element differential forms
Construction of FE differential forms
Key to the construction is the Koszul differential κ : Λk → Λk−1 :
Let T = Th be a triangulation of Ω ⊂ Rn . We wish to construct
finite element spaces Λkh ⊂ HΛk (Ω) which form a finite
dimensional subcomplex with bounded cochain projections.
(κω)x (v 1 , . . . , v k−1 ) = ωx (x, v 1 , . . . , v k−1 )
κ
κ
Koszul complex
•X
×X
X
0 ← Pr Λ0 ←−− Pr −1 Λ1 (R3 ) ←−− Pr −2 Λ2 (R3 ) ←−− Pr −3 Λ3 (R3 ) ← 0
a finite dimensional space of polynomial forms on the simplex, and
a decomposition of its dual space into subspaces associated to the
subsimplices (degrees of freedom)
C.f., the polynomial de Rham complex
d
d
d
0 −−→ Pr Λ0 −−→ Pr −1 Λ1 −−→ · · · −−→ Pr −n Λn −−→ 0
Special cases:
∀ω ∈ Hr Λk (homogeneous polys)
κ is a contracting chain homotopy
Key relation: (dκ + κd)ω = (r + k)ω
Lagrange finite element spaces Pr Λ0 (T )
Discontinuous piecewise polynomials of degree r : Pr
κ
0 ←−− Pr Λ0 ←−− Pr −1 Λ1 ←−− · · · ←−− Pr −n Λn ←−− 0
The Λkh are finite element spaces in the sense that they can be assembled
from the following data on each simplex:
Λn (T
).
Ex: grad(u · x) + (curl u)×x = 3u, u ∈ H2 (R3 , R3 )
Whitney k-forms (one DOF per k-face): P1− Λk (T )
Hr Λk = dHr +1 Λk−1 ⊕ κHr −1 Λk+1
19 / 41
20 / 41
Pr Λk and Pr− Λk
Degrees of freedom
Using the Koszul differential, we define a special space of
polynomial differential k-forms between Pr Λk and Pr −1 Λk :
To define the finite element spaces, we must specify degrees of freedom,
i.e., a decomposition of the dual spaces Pr Λk (T )∗ and Pr− Λk (T )∗ , into
subspaces associated to subsimplices f of T .
X
Pr−Λk := Pr −1 Λk + κHr −1 Λk+1 + dHr +1 Λk−1
Pr− Λk (Th )
dim Pr Λk =
dim Pr− Λk =
8
k
>
<Pr Λ (Th ),
= Pr −1 Λk (Th ),
>
:
strictly between,
DOF for Pr− Λk (T ): to a subsimplex f of dim. d ≥ k we associate
Z
ω 7→ Trf ω ∧ η, η ∈ Pr +k−d−1 Λd−k (f )
Hiptmair
f
Z
−
k
DOF for Pr Λ (T ): ω 7→ Trf ω ∧ η, η ∈ Pr +k−d Λd−k (f )
k = 0,
k = n,
0<k<n
n+r
n
n+r
r +k
=
n
k
n−k
k
n+r
r +k −1
n−k
k
f
The resulting FE spaces have precisely the continuity required by HΛk :
Theorem: Pr Λk (T ) = { ω ∈ HΛk (Ω) : ω|T ∈ Pr Λk (T ) ∀T ∈ T }
and similarly for Pr− .
k−1
d
For each form degree k and polynomial degree r , Pr Λk and Pr− Λk
are the two natural finite element subspace of HΛk (Ω).
The projections associated to these DOF
commutes with d (Stokes theorem).
For example, they are invariant under pull-pack by any affine map Rn → Rn ,
and they are almost the only such spaces of polynomial k-forms.
Λk−1 −−−→ Λk



 k
yPhk−1
yPh
d k−1
Λk−1
−−−→ Λkh
h
21 / 41
Ex: DOFs for P3 Λ1 on a tetrahedron
Finite element differential forms/Mixed FEM
Pr− Λ0 (T ) = Pr Λ0 (T ) ⊂ H 1
22 / 41
Lagrange elts
Cubic Nedelec 2nd kind edge elements, dim = 60
Pr− Λn (T ) = Pr −1 Λn (T ) ⊂ L2 discontinuous elts
n = 2: Pr− Λ1 (T ) ⊂ H(curl)
Raviart–Thomas elts
n = 2: Pr Λ1 (T ) ⊂ H(curl)
Brezzi–Douglas–Marini elts
n = 3: Pr− Λ1 (T ) ⊂ H(curl)
Nedelec 1st kind edge elts
n = 3: Pr Λ1 (T ) ⊂ H(curl)
Nedelec 2nd kind edge elts
n = 3: Pr− Λ2 (T ) ⊂ H(div)
Nedelec 1st kind face elts
n = 3: Pr Λ2 (T ) ⊂ H(div)
Nedelec 2nd kind face elts
DOFs are:
For each edge, moments versus P3− Λ0 (e) (4 DOF/edge × 6 edges)
For each face, moments versus P2− Λ1 (f ) (8 DOF/face × 4 faces)
On the tet, moments versus P1− Λ2 (f ) (4 DOF)
23 / 41
24 / 41
Dual bases
Explicit geometric bases
As a computational basis for Pr Λk (T ) and Pr− Λk (T ) one choice is
the dual basis to the degrees of freedom.
The Bernstein basis is an explicit alternative to the Lagrange basis
for the Lagrange finite elts.
αn
0
Pr = span{ λα := λα
0 · · · λn | |α| = r }
Pr (T , f ) := span{ λα | spt α = {i0 , . . . , ik }, |α| = r }
For k = 0 this is the standard Lagrange basis.
For P1− Λk (T ) there is one basis element for each k-simplex
f = [xi0 , . . . , xik ], namely the Whitney form given in barycentric
coordinates by
φi0 ···ik :=
k
X
Pr (T ) =
M
Pr (T , f )
f
∼
=
Pr (T , f ) −
→ P̊r (f ) ∼
= Pr −dim f −1 (f )
|
z
c i ∧ · · · ∧dλi
(−1)p λip dλi0 ∧ · · · ∧dλ
p
k
{z
}|
tr
}
{
There are similar geometric bases for all k:
p=0
Pr Λk (T ) =
λi
P1− Λ0 = P1 Λ0 :
λi dλj − λj dλi
P1− Λ1 :
λi dλj ∧dλk − λj dλi ∧dλk + λk dλi ∧dλj
P1− Λ2 :
etc.
M
∼
=
Pr Λk (T , f ), Pr Λk (T , f ) −
→ P̊r Λk (f ) ∼
= Pr−+k−dim f Λdim f −k (f )
tr
dim f ≥k
Pr− Λk (T ) =
M
∼
=
Pr− Λk (T , f ), Pr− Λk (T , f ) −
→ P̊r− Λk (f ) ∼
= Pr +k−dim f −1 Λdim f −k (f )
tr
dim f ≥k
26 / 41
25 / 41
Example: explicit bases for Pr− Λ2 and Pr Λ2 on a tet
Finite element de Rham subcomplexes
We don’t only want spaces, we also want them to fit together into
discrete de Rham complexes.
Pr− Λ2
One such FEdR subcomplex uses Pr− Λk spaces of constant degree r :
r
Face [xi , xj , xk ]
1
φijk
2
Tet [xi , xj , xk , xl ]
λi φijk , λj φijk , λk φijk
d
d
λl φijk , λk φijl , λj φikl
grad
−−→
curl
d
Face [xi , xj , xk ]
1
λk dλi ∧dλj , λj dλi ∧dλk , λi dλj ∧dλk
2
λ2k dλi ∧dλj , λj λk dλi ∧d(λk − λj )
λ2j dλi ∧dλk , λi λj d(λj − λi )∧dλk
λ2i dλj ∧dλk , λi λk dλj ∧d(λk − λi )
div
−−→
−−→
→0
Whitney 1957, Bossavit 1988
Another uses Pr Λk spaces with decreasing degree:
Pr Λ2
r
d
0 → Pr− Λ0 (T ) −−→ Pr− Λ1 (T ) −−→ · · · −−→ Pr− Λn (T ) → 0
0→
d
d
0 → Pr Λ0 (T ) −−→ Pr −1 Λ1 (T ) −−→ · · · −−→ Pr −n Λn (T ) → 0
Tet [xi , xj , xk , xl ]
0→
λk λl dλi ∧dλj , λj λl dλi ∧dλk
λj λk dλi ∧dλl , λi λl dλj ∧dλk
λi λk dλj ∧dλl , λi λj dλk ∧dλl
grad
−−→
curl
−−→
div
−−→
→0
Demkowicz–Monk–Vardapetyan–Rachowicz 2000
These are extreme cases. For every r ∃ 2n−1 such FEdR subcomplexes.
27 / 41
28 / 41
Constructing bounded cochain projections
Stable finite elements for the Hodge Laplacian
We also need projections πhk : HΛk → Λkh which are uniformly
bounded in h and commute with d.
Putting this altogether we obtain four different stable families of
mixed finite elements for the Hodge Laplacian.
(reduces to 2 for k = n and 1 for k = 0)
The projections Phk defined via the DOFs, commute with d.
Unfortunately they are not bounded on HΛk .
So first we regularize, and then project: Qhk u := Phk (ρ ∗ u)
This map is bounded, uniformly in h if = δh, and still commutes
with d. Unfortunately it is not a projection.
Pr− Λk−1 (T ) × Pr− Λk (T )
Pr Λk−1 (T ) × Pr− Λk (T )
If we choose the δ sufficiently small, we can prove that
Qhk |Λk : Λkh → Λkh is close to the identity, uniformly in h, hence
h
invertible. Then the composition
πhk
=
(Qhk |Λk )−1
h
◦
Pr−+1 Λk−1 (T ) × Pr Λk (T )
Pr +1 Λk−1 (T ) × Pr Λk (T )
Qhk
For each we obtain optimal order estimates for σ and u.
is the desired bounded cochain projection.
Christiansen, Schöberl, AFW
29 / 41
30 / 41
Other applications
Maxwell’s equations and related EM problems
Mixed eigenvalue problems
(bounded cochain projections =⇒ discrete compactness)
Application to elasticity
Preconditioning and multigrid
A posteriori error estimation
Stable mixed FEM for elasticity
31 / 41
Stress–displacement mixed finite elements for elasticity
Recent progress coming from the FEEC perspective
3
Find stress σ : Ω → R3×3
sym , displacement u : Ω → R such that
Aσ = (u),
Z Ω
1
A σ : σ + div σ · u + f · u
2
div σ = f
First stable elements based on polynomials, 2D
(Arnold–Winther 2002), all degrees r ≥ 1:
σ,u
dx −−−−−−−−−−→ stationary point
H(div;S)×L2 (Rn )
Search for stable finite elements dates back to the ’60s, very limited success.
It is, of course, possible to derive elements that exhibit complete
continuity of the appropriate components along interfaces and
indeed this was achieved by Raviart and Thomas in the case of the
heat conduction problem discussed previously. Extension to the full
stress problem is dicult and as yet such elements have not been
successfully noted.
3D stable elements, all degrees r ≥ 1
(Arnold–Awanou–Winther 2007): for r = 1 stress space has
162 degrees of freedom (27 per component on average)
Zienkiewicz, Taylor, Zhu
The Finite Element Method: Its Basis & Fundamentals, 6th ed., 2005
Thanks to FEEC, we can retire that statement!
33 / 41
A computation using the new elements
34 / 41
Mixed formulation with weak symmetry
Idea goes back to Fraeijs de Veubeke 1975, Amara–Thomas 1979
In the classical Hellinger–Reissner principle, symmetry of the stress
tensor (balance of angular momentum) is assumed to hold exactly.
Instead we impose it weakly with a Lagrange multiplier (the rotation).
From Eberhard, Hueber, Jiang, Wohlmuth 2006
Z Ω
Z Ω
1
A σ : σ + div σ · u + f · u
2
σ,u
dx −−−−−−−−−−→ stationary point
H(div;S)×L2 (Rn )
1
A σ : σ + div σ · u + σ : p + f · u
2
σ,u,p
dx −−−−−−−−−−−−−−−→ S.P.
H(div;M)×L2 (Rn )×L2 (K)
FEEC has led to very simple stable elements
σ
35 / 41
u
p
36 / 41
The elasticity complex
New mixed finite elements for elasticity
There is a complex for elasticity analogous to the de Rham complex.
It has versions both for strong symmetry and weak symmetry.
displacement rotation




y
y
1
3
strain


y
(grad,−I )
2
The elasticity complex can be derived from the de Rham complex
by an intricate construction. Mimicking this construction on the
discrete level we have derived stable mixed finite elements for
elasticity. (Arnold-Falk-Winther 2006, 2007).
Main result
Choose two discretizations of the de Rham complex:
J
0 → H (Ω; R )×L (Ω, K) −−−−−−→ H(J, Ω; M) −−→
0
@
J
div
skw
A
load
curl
div
grad
curl
div
0 −−→ Λ̃0h −−→ Λ̃1h −−→ Λ̃2h −−→ Λ̃3h −−→ 0
−−→ H(div, Ω; M) −−−−−→ L2 (Ω; R3 )×L2 (Ω; K) → 0
x
x
x






stress
grad
0 −−→ Λ0h −−→ Λ1h −−→ Λ2h −−→ Λ3h −−→ 0
1
Surjectivity Hypothesis: (roughly) for each DOF of Λ2h there is a
corresponding DOF of Λ̃1h .


Λ̃2h (R3 ) 
 stress:
Then
is a stable element choice.
displacement: Λ̃3h (R3 )


rotation:
Λ3h (K)
couple
J is second order!
38 / 41
37 / 41
The simplest choice
Features of the new mixed elements
Based on HR formulation with weak symmetry; very natural
0→
0→
grad
−−→
−−→
curl
−−→
→0
grad
curl
div
→0
−−→
−−→
div
−−→
Lowest degree element is very simple: full P1 for stress, P0 for
displacement and rotation
Works for every polynomial degree
Works the same in 2 and 3 (or more) dimensions
Robust to material constraints like incompressibility
Provably stable and convergent
σ
u
p
39 / 41
40 / 41
Conclusions
Capturing the right geometric structure on the discrete level
can be essential to get stable methods. For PDE related to
the de Rham complex, this is achieved by using subspaces
which form a subcomplex with bounded cochain projections.
There are two natural families of finite element subspaces of
HΛk , the spaces Pr Λk and Pr− Λk . They can be assembled
into complexes with bounded cochain projections (in numerous
ways). They are inter-related and must be studied together.
These spaces unify and clarify many known mixed finite
element methods that were derived independently. This
approach allows for a systematic way of choosing degrees of
freedom, dual bases, and explicit geometric bases.
Through FEEC we believe we have completed the long search
for “just the right” mixed finite elements for elasticity.
41 / 41
Download