Crouzeix’s divergence free basis for the Navier-Stokes equation
This is the solution (long read) to a Chapter 11 exercise of the book by Brenner and Scott (Brenner and Scott, 2008). Personally I really like this problem, as it trains us to think about the orientation of edges locally in an element versus the global orientation in a mesh.
Recently, I am reading some constructions related to a divergence-free basis for Stokes flow using virtual element, in a sense, it resembles a lot with this problem’s “macro-element” style approach. So, here I revisited my proof 10 years ago and post it here.
An interesting problem on verifying a divergence free basisPermalink
ProofsPermalink
Part 1: local divergence-freeness for basisPermalink
For an edge basis ϕe=ψete, consider any T⊂ωe
divϕe|T=div(ψete)=∇ψe⋅te=ne⋅te|˜e|2|˜T|=0where ˜T is the small triangle connecting three midpoints in T.
Now consider the vertex basis ϕp on some element T∈ωp, denote the joint edge of p as e1 and e2 we have
divϕp|T=1|e1|∇ψe1⋅ne1+1|e2|∇ψe2⋅ne2.
Refer to the figure above, ∇ψe1 is the inner normal vector of ˜e1 with respect to the triangle ˜T, denote the inner normal vector as ν˜e1 then we have
∇ψe1=12|˜T|ν˜e1=−12|˜T||˜e1|ne1=−|e1||T|ne1,therefore
1|e1|∇ψe1⋅ne1=−1|T|.Similarly, we have
1|e2|∇ψe2⋅ne2=1|T|,hence
divϕp|T=0.Part 2: write a vector as the linear combination of basis functionsPermalink
Now for ∀M which is the midpoint of an edge ei in this patch, consider T+ and T−, where ωe=T+∪T−. For the space V∗h in which the functions are continuous at M, consider ∀w∈V∗h, w(M) is a constant vector, hence we could decompose w into two orthogonal vectors in the directions of te and ne, respectively. At point M we have:
w(M)=(w⋅te)te+(w⋅ne)ne.This is true because at point M we could express w=|w|ξ, where ξ is the unit vector in w’s direction, denote the angle between w and te as θ,
ξ=tecosθ+nesinθ=te(w|w|⋅te)+ne(w|w|⋅ne).It is easy to see that ξ⋅ξ=1 since te and ne are orthogonal. Now at M we know ψe=1, hence we could express at M:
w=(w⋅te)ψete+(w⋅ne)ψene.Since for all other four midpoints within the ωe=T+∪T−, the basis functions ψe′ for e′⊂∂ωe are all zero at M, and linear within the triangle, any linear vector that could be decomposed this way at M bears the same continuity with two basis function ψete and ψene at the same edge. Other edge bases vanish at M. In other words, the linear vector could be written in this way is continuous at M.
Now locally within any element T that has edge e1, e2, and e3, with midpoints M1, M2 and M3, ∀x∈T, for any linear vector w decompose
w(x)=w(ψe1(x)M1+ψe2(x)M2+ψe3(x)M3)=ψe1(x)w(M1)+ψe2(x)w(M2)+ψe3(x)w(M3)for each ψej(x)w(Mj) which is a constant at x, decompose it in the same fashion as before along the direction of tej and nej. Hence ∀w∈V∗h, globally we could write it as
w=∑e∈Eh((w(Me)⋅te)ϕe+(w(Me)⋅ne)ηe)where ϕe=ψete and ηe=ψene. Moreover, ϕe⊥ηe, i.e., they are linearly independent. Now we have shown {ϕe} and {ηe} form a set of basis functions for V∗h.
Part 3: more on the divergence-freenessPermalink
For the divergence zero subspace, we have already shown
divhϕe=0.It suffices to show that ∀v such that
v=∑e∈Eh(w(Me)⋅ne)ηe=∑e∈Ehbeηe∈V∗hof which divhv=0. This v can be written as
v=∑p∈Vhbpϕp.Now consider within an arbitrary element T⊂ωe, and assign a fixed unit outer normal vector to each edge of T as in the following figure we have:
0=divhv|T=∑e∈Eh((v(Me)⋅ne)divh(ηe)+∇h(v(Me)⋅ne)ηe)0=∑e⊂∂T(v(Me)⋅ne)(∇ψe⋅ne)0=(v(M1)⋅ne1)|e1||T|+(v(M2)⋅ne2)|e2||T|+(v(M3)⋅ne3)|e3||T|rewriting above using the coefficients we have
be1|e1|+be2|e2|+be3|e3|=0.
Therefore, as long as the coefficients of edge basis functions satisfy above relation, the vector field is divergence free within this element T.
Now consider the linear vector field u=∑p∈Vhbpϕp within T, in the following equation we would like to rewrite ϕp’s counterclockwise normal vector aligning with the local unit outward normal, and we have:
u=bp1ϕp1+bp2ϕp2+bp3ϕp3=bp1(1|e3|ηe3−1|e2|ηe2)+bp2(1|e1|ηe1−1|e3|ηe3)+bp3(1|e2|ηe2−1|e1|ηe1)=1|e1|(bp2−bp3)ηe1+1|e2|(bp3−bp1)ηe2+1|e3|(bp1−bp2)ηe3:=be1ηe1+be2ηe2+be3ηe3It is obvious that here the coefficients satisfy (1). Also the converse is also true, for a divergence free vector
u=be1ηe1+be2ηe2+be3ηe3within element T, by(1) we have
u=be1ηe1+be2ηe2−1|e3|(be1|e1|+be2|e2|)ηe3=be1|e1|(1|e1|ηe1−1|e3|ηe3)+be2|e2|(1|e2|ηe2−1|e3|ηe3)=bp2ϕp2+bp1ϕp1or a linear combination of ϕp3 and ϕp2, or ϕp3 and ϕp1 due to relation (1). Hence here we proved that locally within each element T, any divergence free linear vector field could be written as the linear combination of the {ϕe}e⊂∂T and {ϕp}p∈VT.
Part 4: how does the global continuity condition work?Permalink
Now we would like to prove globally glued together with the continuity condition, ϕp will bear the following form globally:
ϕp=l∑i=11|ei|ψeineiConsider the vertex p, the edge e1, e2, and e3, two elements T1 and T2, unit normal for each edge fixed as in the following figure, and ηei=ψeinei:
We already knew that locally in T1:
ϕp|T1=1|e1|ηe1|T1+1|e2|ηe2|T1clearly coefficients satisfy (1). Similarly, we could get
ϕp|T2=1|e2|ηe2|T2+1|e3|ηe3|T2Consider any u that is divergence free within T1 and T2, that
u|T1=a1ϕp|T1,u|T2=a2ϕp|T2and while continuous at M:
limx→M,x∈T1u=a1|e2|ne2=limx→M,x∈T2u=a2|e2|ne2this implies a1=a2, i.e., the coefficient for each ϕp|Ti should be the same when marching counterclockwisely around this patch, where Ti⊂ωp is an element within this patch. Together with last part, this implies
{ϕp}={v:v=∑e∈Thbeηe}⋂{v:divhv=0}Therefore, {ϕe} and {ϕp} are shown to be the basis functions for the space
Wh={v∈V∗h:divhv=0}.
A final remarkPermalink
Notice for general vector field u, the nodal interpolation of it onto V∗h is
IV∗hu=∑T∈Th∑e⊂∂T((u,ϕe)Tϕe+(u,ηe)Tηe).and this projection does not coincide with the “nodal” interpolation of linear vector field u using pointwise value as coefficient, since
(u,ϕe)T=∫Tu⋅teψedx=|e|2|T|∫Tu⋅∇⊥ψ2edx=|e|2|T|∫T∇×uψ2edx+|e|2|T|∫∂Ku⋅tψ2eds.ReferencesPermalink
-
Brenner, S. C. and Scott, R. (2008) The mathematical theory of finite element methods. Springer.
Comments