15 minute read

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

Let Vh be defined as follows: Vh={vL2(Ω):v is linear for all KTh,v is continuous at the midpoints of inter-element boundaries,v is zero on any edge in Ω}. Let Wh:={vVh:divhv=0} Denote by ψe the piecewise linear function that takes the value 1 at the midpoint of the edge e and 0 at all other midpoints. The first kind of basis function of Wh are associated with internal edges. Let e be an internal edge of Th and te be a unit vector tangential to e, then ϕe:=ψete. The second kind of basis functions are associated with internal vertices. Let p be an internal vertex and let e1,,el be the edge in Th that have p as an endpoint, then ϕp:=li=11|ei|ψeinei, where nei is the unit normal vector to ei, pointing in the counterclockwise direction with respect to p (see the figure below).

divergence free basis flow

Show that a basis for Wh is given by the union of the two sets: {ϕe:e is an internal edge of Th} and {ϕp:e is an internal vertex of Th}.

ProofsPermalink

Part 1: local divergence-freeness for basisPermalink

For an edge basis ϕe=ψete, consider any Tωe

divϕe|T=div(ψete)=ψete=nete|˜e|2|˜T|=0

where ˜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|ψe1ne1+1|e2|ψe2ne2.

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|ψe1ne1=1|T|.

Similarly, we have

1|e2|ψe2ne2=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 Vh in which the functions are continuous at M, consider wVh, 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)=(wte)te+(wne)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=(wte)ψete+(wne)ψ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, xT, 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 wVh, globally we could write it as

w=eEh((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 Vh.

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=eEh(w(Me)ne)ηe=eEhbeηeVh

of which divhv=0. This v can be written as

v=pVhbpϕ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=eEh((v(Me)ne)divh(ηe)+h(v(Me)ne)ηe)0=eT(v(Me)ne)(ψene)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=pVhbpϕ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|ηe31|e2|ηe2)+bp2(1|e1|ηe11|e3|ηe3)+bp3(1|e2|ηe21|e1|ηe1)=1|e1|(bp2bp3)ηe1+1|e2|(bp3bp1)ηe2+1|e3|(bp1bp2)ηe3:=be1ηe1+be2ηe2+be3ηe3

It 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ηe3

within element T, by(1) we have

u=be1ηe1+be2ηe21|e3|(be1|e1|+be2|e2|)ηe3=be1|e1|(1|e1|ηe11|e3|ηe3)+be2|e2|(1|e2|ηe21|e3|ηe3)=bp2ϕp2+bp1ϕp1

or 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}eT and {ϕp}pVT.

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=li=11|ei|ψeinei

Consider 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|T1

clearly coefficients satisfy (1). Similarly, we could get

ϕp|T2=1|e2|ηe2|T2+1|e3|ηe3|T2

Consider any u that is divergence free within T1 and T2, that

u|T1=a1ϕp|T1,u|T2=a2ϕp|T2

and while continuous at M:

limxM,xT1u=a1|e2|ne2=limxM,xT2u=a2|e2|ne2

this 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=eThbeηe}{v:divhv=0}

Therefore, {ϕe} and {ϕp} are shown to be the basis functions for the space

Wh={vVh:divhv=0}.

A final remarkPermalink

Notice for general vector field u, the nodal interpolation of it onto Vh is

IVhu=TTheT((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=Tuteψedx=|e|2|T|Tuψ2edx=|e|2|T|T×uψ2edx+|e|2|T|Kutψ2eds.

ReferencesPermalink

  1. Brenner, S. C. and Scott, R. (2008) The mathematical theory of finite element methods. Springer.

Comments