-----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 <[email protected] > <mailto:[email protected]>> 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-----
