...

Math 5520 Lecture 39 Jeffrey Connors 2016 University of Connecticut

by user

on
Category: Documents
15

views

Report

Comments

Transcript

Math 5520 Lecture 39 Jeffrey Connors 2016 University of Connecticut
Math 5520 Lecture 39
Jeffrey Connors
University of Connecticut
2016
Time to discuss approximating the steady NSE
Recall the weak problem for (u, p) ∈ (X , Q):
ν (∇u, ∇v) + b(u, u, v) − (p, ∇ · v) = (f, v) , ∀v ∈ X ,
(q, ∇ · u) = 0, ∀q ∈ Q,
and that we can also solve for u such that
ν (∇u, ∇v) + b(u, u, v) = (f, v) , ∀v ∈ V .
In order to ensure stability of the discrete pressure, we choose
conforming FE space (Xh , Qh ) ⊂ (X , Q) that satisfy LBBh :
inf
sup
qh ∈Qh vh ∈Xh
(qh , ∇ · vh )
≥ β > 0.
kqh kL2 (Ω) |vh |H 1 (Ω)
Note also that the FE solution uh will live in the subspace
Vh = {vh ∈ Xh : (qh , ∇ · vh ) = 0, ∀qh ∈ Qh } .
Special treatment is required for the discrete nonlinearity
Recall also that we showed b(v, w, w) = 0 for all v ∈ V and
w ∈ X , since
1. ∇ · v = 0 in Ω, and
2. v · n = 0 on ∂Ω .
However, we have lost some properties at the discrete level:
1. Vh * V , and
2. ∇ · vh 6= 0 in Ω, thus
3. we do not inherit skew-symmetry of the trilinear form
automatically.
We used the skew-symmetry to prove important properties in the
continuous case. Moreover, it is known that there are
computational benefits to preserve the property discretely, thus we
explicitly skew-symmetrize:
1
1
b ∗ (uh , vh , wh ) = b(uh , vh , wh ) − b(uh , wh , vh ).
2
2
It is best to just replace b by b ∗
Lemma
If u ∈ V and v, w ∈ X , then b(u, v, w) = b ∗ (u, v, w). Furthermore,
b ∗ (u, v, w) ≤ M|u|H 1 (Ω) |v|H 1 (Ω) |w|H 1 (Ω) , ∀u, v, w ∈ X ,
where M is the same as for the trilinear form b.
Proof. Exercise. In fact, we can solve for (u, p) ∈ (V , Q) such that
ν(∇u, ∇v) + b ∗ (u, u, v) − (p, ∇ · v) = (f, v) , ∀v ∈ X
(q, ∇ · u) = 0, ∀q ∈ Q.
We can solve for (uh , ph ) ∈ (Vh , Qh ) such that
ν(∇uh , ∇vh ) + b ∗ (uh , uh , vh ) − (ph , ∇ · vh ) = (f, vh ) , ∀vh ∈ Xh
(qh , ∇ · uh ) = 0, ∀qh ∈ Qh .
Well-posedness of the discrete problem
We can solve for uh ∈ Vh such that
ν(∇uh , ∇vh ) + b ∗ (uh , uh , vh ) = (f, vh ) , ∀vh ∈ Vh .
Lemma
Let f ∈ X ∗ . Then any solution uh ∈ Vh satisfies
ν|uh |H 1 (Ω) ≤ kfkX ∗ .
Proof. Choose vh = uh and due to skew-symmetry of b ∗ ,
ν|uh |2H 1 (Ω) ≤ kfkX ∗ |uh |H 1 (Ω) . Lemma
Let f ∈ X ∗ . If LBBh holds and ν −2 MkfkX ∗ ≤ α < 1 then there
exists a unique solution (uh , ph ) ∈ (Vh , Qh ) solving the discrete
problem.
Proof. This can be proved with almost exactly the same arguments
as for the continuous case by using LBBh and the fact that we
have explicitly skew-symmetrized the trilinear form. We can use iteration to generate an approximation
Recall that the proof of existence uses iterations, which in the
discrete case may actually be calculated. Given ujh , we solve for
uj+1
and phj+1 via
h
j+1
j+1
∗ j
ν(∇uj+1
h , ∇vh ) + b (uh , uh , vh ) − (ph , ∇ · vh ) = (f, vh ) , ∀vh ∈ Xh
(qh , ∇ · uj+1
h ) = 0, ∀qh ∈ Qh .
I
I
Under the small-data condition, this is globally convergent to
(uh , ph ) as j → ∞.
uh − uj+1
= O(α j ).
h
I
Alternatively, you could apply Newton’s method. This will
converge faster but you need a good initial guess.
I
You can also start with fixed point then switch to Newton’s
once the accuracy improves enough to do so.
Some convergence results
The following are shown in Intro. to the Numerical Analysis of
Incompressible Viscous Flows, W. J. Layton, 2008.
Lemma (Convergence: MINI element)
Let uh and ph be steady NSE approximations generated using the
MINI element. Under the small data condition,
|u − uh |H 1 (Ω) ≤ C (f, ν)h |u|H 2 (Ω) + |p|H 1 (Ω) .
Lemma (Convergence: Taylor-Hood element)
Let uh and ph be steady NSE approximations generated using the
Taylor-Hood element. Under the small data condition,
|u − uh |H 1 (Ω) ≤ C (f, ν)h2 |u|H 3 (Ω) + |p|H 2 (Ω) .
FreeFEM++ is an open-source finite element language
Go to www.freefem.org/ff++ for code and information.
I
Built on C++, but you don’t need to be an expert in C++.
I
Can be used for most 2D problems, some 3D problems.
I
Define your domain boundary and number of points on each
part of the boundary, then it fills in the mesh for you.
I
Choose from a library of pre-coded finite elements.
I
Type in the weak variational formulation using convenient
commands to represent integrals over the domain or parts of
the boundary.
I
A number of linear solvers are available.
I
Some support for parallel computation.
I
Often much faster than coding in MatLab, but not quite as
flexible overall.
I
Will not work for “high-perfomance computing” applications
(supercomputing).
Example: Driven cavity problem
We look at example FreeFem code to solve the non-steady NSE on
Ω = [0, 1] × [0, 1]:
∂u
+ u · ∇u − ∆u + ∇p = 0, in Ω, t > 0
∂t
∇ · u = 0, in Ω, t > 0
u(x, 1) = h4x(1 − x), 0i ,
u(x, 0) = u(1, y ) = u(0, y ) = h0, 0i ,
plus initial conditions (not important here).
Fly UP