[firedrake] Concatenation of function spaces?
Justin Chang
jychang48 at gmail.com
Fri Jul 24 11:25:51 BST 2015
Thanks for the responses guys. However, I am running into issues regarding
Dirichlet bcs for P2/P0 elements. Attached is the code:
I am trying to apply homogeneous boundary conditions in the P0 space, and
when I looked at the documentation online it said to use DirichletBC(Q,
<value>, <boundary_id>, method="geometric")
but I am getting these kinds of errors:
Traceback (most recent call last):
File "Compare_P2P0.py", line 69, in <module>
solver.solve()
File "<string>", line 2, in solve
File "/home/justin/Software/firedrake-deps/PyOP2/pyop2/profiling.py",
line 203, in wrapper
return f(*args, **kwargs)
File
"/home/justin/Software/firedrake-deps/firedrake/firedrake/variational_solver.py",
line 165, in solve
bc.apply(self._problem.u)
File "<string>", line 2, in apply
File "/home/justin/Software/firedrake-deps/PyOP2/pyop2/profiling.py",
line 203, in wrapper
return f(*args, **kwargs)
File "/home/justin/Software/firedrake-deps/firedrake/firedrake/bcs.py",
line 199, in apply
raise RuntimeError("%r defined on incompatible FunctionSpace!" % r)
RuntimeError: Coefficient(MixedElement(*[VectorElement('Lagrange',
Domain(Coefficient(VectorElement('Lagrange', Domain(Cell('tetrahedron', 3),
label=None, data='<data with id 140677727926224>'), 1, dim=3,
quad_scheme=None), 1)), 2, dim=3, quad_scheme=None),
FiniteElement('Discontinuous Lagrange',
Domain(Coefficient(VectorElement('Lagrange', Domain(Cell('tetrahedron', 3),
label=None, data='<data with id 140677727926224>'), 1, dim=3,
quad_scheme=None), 1)), 0, quad_scheme=None)], **{'value_shape': (4,) }),
7) defined on incompatible FunctionSpace!
Anyone know what's wrong? Thanks
Thanks
On Wed, Jul 22, 2015 at 3:43 AM, Lawrence Mitchell <
lawrence.mitchell at imperial.ac.uk> wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> On 22/07/15 07:31, Andrew McRae wrote:
> > 1) Yes, this can be done in Firedrake. However, we consider the
> > local element to be enriched, not the function space:
> >
> > V1 = VectorFunctionSpace... Q_elt = FiniteElement("CG", interval,
> > 1) P_elt = FiniteElement("DG", interval, 0) elt = Q_elt + P_elt V2
> > = FunctionSpace(mesh, elt) W = V1 * V2
> >
> > 2) Is P1disc the same as P1DG? "All polynomials of degree 1 with
> > no continuity between cells"? If so, none of us have implemented
> > the P1disc elements on quadrilaterals yet in FIAT. We have full
> > support for the third column of http://femtable.org/, which has all
> > the "tensor product construction" elements, but not the fourth. If
> > you want to try implementing P1disc yourself, we can hopefully
> > provide support.
>
> Indeed yes.
>
> Note that P1disc provides some problems for the standard approach of
> pulling back to a reference element and integrating. Unless your mesh
> is asymptotically affine you only get 1st order convergence in the L_2
> norm of P. This is because the mapped global space doesn't contain P_k.
>
> See:
>
> Matthies and Tobiska. The Inf-Sup Condition for the Mapped
> $Q_k-P_{k-1}^{\mathrm{disc}}$ Element in Arbitrary Space Dimensions (2002)
>
> and
>
> Boffi and Gastaldi. On the quadrilateral $Q_2–P_1$ element for the
> Stokes problem (2002)
>
> For details.
>
> Lawrence
>
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v1
>
> iQEcBAEBAgAGBQJVr1e7AAoJECOc1kQ8PEYvzfwH/An12QUB2+WJb1I7BEixYF5D
> u4IdLO3tcVqGgRRVQMxD8Som+hytnAZX/tJYpMvfjFBXjTAYxA95RClwthb4G9ut
> muB7DYnzqkMC40VjnZdGlZ0MHRkuxOMLkFyg+oj5mH0sT/x/HK8mLLLQSeGW+0g3
> Y+dbvHXAQWIouc6t/avmJKrJ4T+eiYhgB4rm4O/7ug34Tpd1tvRyYUlReDpfqNWS
> X0qmIGPfksX3unTyETsmSZGcePSimPgf0YHfU5EeldqVv1BQxyQMyueRq9dnnUIh
> YkGD75cn8FbBOWGyPiNNYxxHeplKE/j9T+8QcorCS4PZw9nupgNuKy+KYamkshU=
> =vKDm
> -----END PGP SIGNATURE-----
>
> _______________________________________________
> firedrake mailing list
> firedrake at imperial.ac.uk
> https://mailman.ic.ac.uk/mailman/listinfo/firedrake
>
-------------- next part --------------
HTML attachment scrubbed and removed
-------------- next part --------------
A non-text attachment was scrubbed...
Name: Compare_P2P0.py
Type: text/x-python
Size: 3716 bytes
Desc: not available
URL: <http://mailman.ic.ac.uk/pipermail/firedrake/attachments/20150724/ed35a99a/attachment.py>
More information about the firedrake
mailing list