Math 5520 Lecture 39 Jeffrey Connors 2016 University of Connecticut
by user
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).