# [petsc-users] Modified Taylor-Hood elements with piece-wise constant pressure for Stokes equation

Lawrence Mitchell lawrence.mitchell at imperial.ac.uk
Tue Jun 2 07:18:32 CDT 2015

```-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On 02/06/15 13:14, Matthew Knepley wrote:
> On Tue, Jun 2, 2015 at 6:13 AM, Justin Chang <jychang48 at gmail.com
> <mailto:jychang48 at gmail.com>> wrote:
>
> In FEniCS's Stokes example (example 19), one defines the
> Taylor-Hood function spaces with these three lines:
>
> V = VectorFunctionSpace(mesh, "CG", 2) Q = FunctionSpace(mesh,
> "CG", 1) W = V * Q
>
> To implement P2/(P1+P0), all we gotta do is this:
>
> V = VectorFunctionSpace(mesh, "CG", 2) Q = FunctionSpace(mesh,
> "CG", 1) P = FunctionSpace(mesh, "DG", 0) W = V * (Q + P)
>
>
> So here you would need 4 dual basis vectors, which I am assuming
> are:
>
> ev_(-1, -1), ev_(1, -1), ev_(-1, 1), ev_(-0.5, -0.5)
>
> where ev_(x, y) is the point evaluation functional at (x, y). Then
> you need some basis for the primal space, which naively is
>
> 1, x, y, 1
>
> As you can see, this basis in linearly dependent, so the
> Vandermonde matrix that FIAT constructs will be singular. The
> construction of a nodal basis will fail.
>
> So Jed's question is, what are they actually doing internally?

So-called "enriched" elements in FEniCS are not created with a nodal
basis, instead te "basis" for the space Q + P is just the
concatenation of the bases for Q and P separately and so tabulation of
basis functions at points is just the concatentation of the tabulation
of Q and that of P.

Lawrence

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1

iQEcBAEBAgAGBQJVbZ8UAAoJECOc1kQ8PEYvfMEH/RjoxiJLL/Jl7/FzZSZCgTVF
2WodH3Xnt+vD6+L6IhbZ5g+R9F4leRHBnin8wRZKdE9GepbFIGpDRxq6ydhzqpUU
eyawpNWltsJ2JcxAJo6nUxACQYJyAVr8xrlkfg90OGTPT8CTvliZ8545j+cr2EGC
80vtw2vZOx0WKJ3CFQ0RfbjSYnUf1UibV30WfSr8qm2IbysKxEBKUFC/JbXZ1vft
MIzbK8koA5Ix58vss3YUAr7aCOB39xy/2xokW5G+fzvocCPxr3Wkv+lST3f9yzLA
mXns+DJGzuAZJaX64ZnpS+n8yVzySECjLjeIecMB5rXTBwkiQUheTDVGhtifNrY=
=ZWA6
-----END PGP SIGNATURE-----
```