Re: [firedrake] Concatenation of function spaces?
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. On 22 July 2015 at 05:55, Justin Chang <jychang48@gmail.com> wrote:
Hi everyone,
Apologies for sending out so many e-mails in such a short amount of time. I guess I have a two part question:
1) Is it possible to concatenation two or more function spaces? In FEniCS I was able to do something like this:
V = VectorFunctionSpace(mesh, "CG", 2) Q = FunctionSpace(mesh, "CG", 1) P = FunctionSpace(mesh, "DG", 0) W = V * (Q + P)
But the above does not work with Firedrake. Is there a way to do that, or is there something better? This kind of leads me to the second question:
2) I would like to try Q2-P1disc elements for Darcy problem (I see that this element combination is commonly used for stokes equations, but I don't know if it will work for Darcy). Is this possible to do?
If the answer to the above two is no, is there another "locally conservative" mixed formulation that's currently doable other than the classical forms like RT0? And preferably with a higher order rate of convergence?
Thanks, Justin
-----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-----
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@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@imperial.ac.uk https://mailman.ic.ac.uk/mailman/listinfo/firedrake
On 24 Jul 2015, at 11:25, Justin Chang <jychang48@gmail.com> wrote:
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:
Aha, this is a simple problem. When you define a MixedFunctionSpace and then want to apply boundary conditions on a part of the space, you must define the boundary condition on an indexed subspace, rather than the original space. That is: V = ... Q = ... W = V*Q bc = DirichletBC(W.sub(1), ...) rather than bc = DirichletBC(Q, ...) This is in the documentation (http://firedrakeproject.org/variational-problems.html#incorporating-boundary...) but maybe not clearly enough. Making this change, and your code runs fine. I note in passing, that the DirichletBC constructor can take a list of boundary ids as well as just a single id. So, since all the boundary condition values are the same you can replace your six separate BC objects by: bcs = DirichletBC(W.sub(1), 0, (1, 2, 3, 4, 5, 6), method="geometric") Cheers, Lawrence
Hi Lawrence, Thanks for the responses (and same to you Fabio). I am attempting to experiment with slip condition dirichlet boundary conditions for velocity with these lines: bcs1 = DirichletBC(W.sub(0).sub(0), Expression(("2*pi*cos(2*pi*x[0])*sin(2*pi*x[1])*sin(2*pi*x[2])")), (1,2)) bcs2 = DirichletBC(W.sub(0).sub(1), Expression(("2*pi*sin(2*pi*x[0])*cos(2*pi*x[1])*sin(2*pi*x[2])")), (3,4)) bcs3 = DirichletBC(W.sub(0).sub(2), Expression(("2*pi*sin(2*pi*x[0])*sin(2*pi*x[1])*cos(2*pi*x[2])")), (5,6)) but I am getting these errors: Traceback (most recent call last): File "Compare_P2P0.py", line 66, 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 140068500682768>'), 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 140068500682768>'), 1, dim=3, quad_scheme=None), 1)), 0, quad_scheme=None)], **{'value_shape': (4,) }), 7) defined on incompatible FunctionSpace! Attached is the code. Any ideas on what this one may be? Thanks, Justin On Fri, Jul 24, 2015 at 5:42 AM, Lawrence Mitchell < lawrence.mitchell@imperial.ac.uk> wrote:
On 24 Jul 2015, at 11:25, Justin Chang <jychang48@gmail.com> wrote:
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:
Aha, this is a simple problem. When you define a MixedFunctionSpace and then want to apply boundary conditions on a part of the space, you must define the boundary condition on an indexed subspace, rather than the original space.
That is:
V = ... Q = ...
W = V*Q
bc = DirichletBC(W.sub(1), ...)
rather than
bc = DirichletBC(Q, ...)
This is in the documentation ( http://firedrakeproject.org/variational-problems.html#incorporating-boundary...) but maybe not clearly enough.
Making this change, and your code runs fine.
I note in passing, that the DirichletBC constructor can take a list of boundary ids as well as just a single id. So, since all the boundary condition values are the same you can replace your six separate BC objects by:
bcs = DirichletBC(W.sub(1), 0, (1, 2, 3, 4, 5, 6), method="geometric")
Cheers,
Lawrence
_______________________________________________ firedrake mailing list firedrake@imperial.ac.uk https://mailman.ic.ac.uk/mailman/listinfo/firedrake
On 24 Jul 2015, at 12:13, Justin Chang <jychang48@gmail.com> wrote:
Hi Lawrence,
Thanks for the responses (and same to you Fabio). I am attempting to experiment with slip condition dirichlet boundary conditions for velocity with these lines:
bcs1 = DirichletBC(W.sub(0).sub(0), Expression(("2*pi*cos(2*pi*x[0])*sin(2*pi*x[1])*sin(2*pi*x[2])")), (1,2)) bcs2 = DirichletBC(W.sub(0).sub(1), Expression(("2*pi*sin(2*pi*x[0])*cos(2*pi*x[1])*sin(2*pi*x[2])")), (3,4)) bcs3 = DirichletBC(W.sub(0).sub(2), Expression(("2*pi*sin(2*pi*x[0])*sin(2*pi*x[1])*cos(2*pi*x[2])")), (5,6))
but I am getting these errors:
Traceback (most recent call last): File "Compare_P2P0.py", line 66, 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 140068500682768>'), 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 140068500682768>'), 1, dim=3, quad_scheme=None), 1)), 0, quad_scheme=None)], **{'value_shape': (4,) }), 7) defined on incompatible FunctionSpace!
Oh, I think I failed to correctly implement this case. I'll try and put something together. Lawrence
On 24 Jul 2015, at 12:50, Lawrence Mitchell <lawrence.mitchell@imperial.ac.uk> wrote: ... Oh, I think I failed to correctly implement this case. I'll try and put something together.
I think the firedrake branch indexed-fixes does this correctly. To ensure one way we don't regress later, if this works for you can you provide some small test code (similar to the ones you've been sending) and we'll incorporate it into the test suite. Cheers, Lawrence
Not sure if this is related, but I had to update my petsc4py to get this branch to work. But now I am getting this error, even in PyOP2 Traceback (most recent call last): File "/usr/local/bin/py.test", line 11, in <module> sys.exit(main()) File "/usr/lib/python2.7/dist-packages/_pytest/config.py", line 18, in main config = _prepareconfig(args, plugins) File "/usr/lib/python2.7/dist-packages/_pytest/config.py", line 62, in _prepareconfig pluginmanager=pluginmanager, args=args) File "/usr/lib/python2.7/dist-packages/_pytest/core.py", line 376, in __call__ return self._docall(methods, kwargs) File "/usr/lib/python2.7/dist-packages/_pytest/core.py", line 387, in _docall res = mc.execute() File "/usr/lib/python2.7/dist-packages/_pytest/core.py", line 288, in execute res = method(**kwargs) File "/usr/lib/python2.7/dist-packages/_pytest/helpconfig.py", line 25, in pytest_cmdline_parse config = __multicall__.execute() File "/usr/lib/python2.7/dist-packages/_pytest/core.py", line 288, in execute res = method(**kwargs) File "/usr/lib/python2.7/dist-packages/_pytest/config.py", line 617, in pytest_cmdline_parse self.parse(args) File "/usr/lib/python2.7/dist-packages/_pytest/config.py", line 710, in parse self._preparse(args) File "/usr/lib/python2.7/dist-packages/_pytest/config.py", line 690, in _preparse args=args, parser=self._parser) File "/usr/lib/python2.7/dist-packages/_pytest/core.py", line 376, in __call__ return self._docall(methods, kwargs) File "/usr/lib/python2.7/dist-packages/_pytest/core.py", line 387, in _docall res = mc.execute() File "/usr/lib/python2.7/dist-packages/_pytest/core.py", line 288, in execute res = method(**kwargs) File "/usr/lib/python2.7/dist-packages/_pytest/capture.py", line 42, in pytest_load_initial_conftests return __multicall__.execute() File "/usr/lib/python2.7/dist-packages/_pytest/core.py", line 288, in execute res = method(**kwargs) File "/usr/lib/python2.7/dist-packages/_pytest/config.py", line 673, in pytest_load_initial_conftests self._conftest.setinitial(args) File "/usr/lib/python2.7/dist-packages/_pytest/config.py", line 486, in setinitial self._try_load_conftest(anchor) File "/usr/lib/python2.7/dist-packages/_pytest/config.py", line 492, in _try_load_conftest self._path2confmods[None] = self.getconftestmodules(anchor) File "/usr/lib/python2.7/dist-packages/_pytest/config.py", line 511, in getconftestmodules clist.append(self.importconftest(conftestpath)) File "/usr/lib/python2.7/dist-packages/_pytest/config.py", line 537, in importconftest self._conftestpath2mod[conftestpath] = mod = conftestpath.pyimport() File "/usr/lib/python2.7/dist-packages/py/_path/local.py", line 620, in pyimport __import__(modname) File "/home/justin/Software/firedrake-deps/PyOP2/test/conftest.py", line 40, in <module> from pyop2 import op2 File "/home/justin/Software/firedrake-deps/PyOP2/pyop2/__init__.py", line 9, in <module> from op2 import * File "/home/justin/Software/firedrake-deps/PyOP2/pyop2/op2.py", line 39, in <module> import base File "/home/justin/Software/firedrake-deps/PyOP2/pyop2/base.py", line 56, in <module> from sparsity import build_sparsity File "PETSc.pxd", line 70, in init pyop2.sparsity (pyop2/sparsity.cpp:22252) File "/usr/local/lib/python2.7/dist-packages/petsc4py/PETSc.py", line 3, in <module> PETSc = ImportPETSc(ARCH) File "/usr/local/lib/python2.7/dist-packages/petsc4py/lib/__init__.py", line 29, in ImportPETSc return Import('petsc4py', 'PETSc', path, arch) File "/usr/local/lib/python2.7/dist-packages/petsc4py/lib/__init__.py", line 64, in Import module = imp.load_module(fullname, fo, fn, stuff) ImportError: /usr/local/lib/python2.7/dist-packages/petsc4py/lib/arch-linux2-c-opt/PETSc.so: undefined symbol: DMShellSetCreateSubDM make: *** [unit_sequential] Error 1 Is this more a petsc4py error? As in should it be reported to the petsc-users list? Thanks, Justin On Fri, Jul 24, 2015 at 7:36 AM, Lawrence Mitchell < lawrence.mitchell@imperial.ac.uk> wrote:
On 24 Jul 2015, at 12:50, Lawrence Mitchell < lawrence.mitchell@imperial.ac.uk> wrote: ... Oh, I think I failed to correctly implement this case. I'll try and put something together.
I think the firedrake branch indexed-fixes does this correctly.
To ensure one way we don't regress later, if this works for you can you provide some small test code (similar to the ones you've been sending) and we'll incorporate it into the test suite.
Cheers,
Lawrence
_______________________________________________ firedrake mailing list firedrake@imperial.ac.uk https://mailman.ic.ac.uk/mailman/listinfo/firedrake
never mind, issue was resolved by simply updating petsc-dev. On Fri, Jul 24, 2015 at 2:17 PM, Justin Chang <jychang48@gmail.com> wrote:
Not sure if this is related, but I had to update my petsc4py to get this branch to work. But now I am getting this error, even in PyOP2
Traceback (most recent call last): File "/usr/local/bin/py.test", line 11, in <module> sys.exit(main()) File "/usr/lib/python2.7/dist-packages/_pytest/config.py", line 18, in main config = _prepareconfig(args, plugins) File "/usr/lib/python2.7/dist-packages/_pytest/config.py", line 62, in _prepareconfig pluginmanager=pluginmanager, args=args) File "/usr/lib/python2.7/dist-packages/_pytest/core.py", line 376, in __call__ return self._docall(methods, kwargs) File "/usr/lib/python2.7/dist-packages/_pytest/core.py", line 387, in _docall res = mc.execute() File "/usr/lib/python2.7/dist-packages/_pytest/core.py", line 288, in execute res = method(**kwargs) File "/usr/lib/python2.7/dist-packages/_pytest/helpconfig.py", line 25, in pytest_cmdline_parse config = __multicall__.execute() File "/usr/lib/python2.7/dist-packages/_pytest/core.py", line 288, in execute res = method(**kwargs) File "/usr/lib/python2.7/dist-packages/_pytest/config.py", line 617, in pytest_cmdline_parse self.parse(args) File "/usr/lib/python2.7/dist-packages/_pytest/config.py", line 710, in parse self._preparse(args) File "/usr/lib/python2.7/dist-packages/_pytest/config.py", line 690, in _preparse args=args, parser=self._parser) File "/usr/lib/python2.7/dist-packages/_pytest/core.py", line 376, in __call__ return self._docall(methods, kwargs) File "/usr/lib/python2.7/dist-packages/_pytest/core.py", line 387, in _docall res = mc.execute() File "/usr/lib/python2.7/dist-packages/_pytest/core.py", line 288, in execute res = method(**kwargs) File "/usr/lib/python2.7/dist-packages/_pytest/capture.py", line 42, in pytest_load_initial_conftests return __multicall__.execute() File "/usr/lib/python2.7/dist-packages/_pytest/core.py", line 288, in execute res = method(**kwargs) File "/usr/lib/python2.7/dist-packages/_pytest/config.py", line 673, in pytest_load_initial_conftests self._conftest.setinitial(args) File "/usr/lib/python2.7/dist-packages/_pytest/config.py", line 486, in setinitial self._try_load_conftest(anchor) File "/usr/lib/python2.7/dist-packages/_pytest/config.py", line 492, in _try_load_conftest self._path2confmods[None] = self.getconftestmodules(anchor) File "/usr/lib/python2.7/dist-packages/_pytest/config.py", line 511, in getconftestmodules clist.append(self.importconftest(conftestpath)) File "/usr/lib/python2.7/dist-packages/_pytest/config.py", line 537, in importconftest self._conftestpath2mod[conftestpath] = mod = conftestpath.pyimport() File "/usr/lib/python2.7/dist-packages/py/_path/local.py", line 620, in pyimport __import__(modname) File "/home/justin/Software/firedrake-deps/PyOP2/test/conftest.py", line 40, in <module> from pyop2 import op2 File "/home/justin/Software/firedrake-deps/PyOP2/pyop2/__init__.py", line 9, in <module> from op2 import * File "/home/justin/Software/firedrake-deps/PyOP2/pyop2/op2.py", line 39, in <module> import base File "/home/justin/Software/firedrake-deps/PyOP2/pyop2/base.py", line 56, in <module> from sparsity import build_sparsity File "PETSc.pxd", line 70, in init pyop2.sparsity (pyop2/sparsity.cpp:22252) File "/usr/local/lib/python2.7/dist-packages/petsc4py/PETSc.py", line 3, in <module> PETSc = ImportPETSc(ARCH) File "/usr/local/lib/python2.7/dist-packages/petsc4py/lib/__init__.py", line 29, in ImportPETSc return Import('petsc4py', 'PETSc', path, arch) File "/usr/local/lib/python2.7/dist-packages/petsc4py/lib/__init__.py", line 64, in Import module = imp.load_module(fullname, fo, fn, stuff) ImportError: /usr/local/lib/python2.7/dist-packages/petsc4py/lib/arch-linux2-c-opt/PETSc.so: undefined symbol: DMShellSetCreateSubDM make: *** [unit_sequential] Error 1
Is this more a petsc4py error? As in should it be reported to the petsc-users list?
Thanks, Justin
On Fri, Jul 24, 2015 at 7:36 AM, Lawrence Mitchell < lawrence.mitchell@imperial.ac.uk> wrote:
On 24 Jul 2015, at 12:50, Lawrence Mitchell < lawrence.mitchell@imperial.ac.uk> wrote: ... Oh, I think I failed to correctly implement this case. I'll try and put something together.
I think the firedrake branch indexed-fixes does this correctly.
To ensure one way we don't regress later, if this works for you can you provide some small test code (similar to the ones you've been sending) and we'll incorporate it into the test suite.
Cheers,
Lawrence
_______________________________________________ firedrake mailing list firedrake@imperial.ac.uk https://mailman.ic.ac.uk/mailman/listinfo/firedrake
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Hi Justin, On 24/07/15 13:36, Lawrence Mitchell wrote:
On 24 Jul 2015, at 12:50, Lawrence Mitchell <lawrence.mitchell@imperial.ac.uk> wrote: ... Oh, I think I failed to correctly implement this case. I'll try and put something together.
I think the firedrake branch indexed-fixes does this correctly.
This branch is now merged, it worked correctly for the cases I test. Please let me know if you try it and things are still broken. Cheers, Lawrence -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 iQEcBAEBAgAGBQJVuiBjAAoJECOc1kQ8PEYvehoH/2RONDpiqSjrXs/NdmW65hRI EMtymCFd2VO9Xcz+PQNY+d4OjQ512ktTtoAxKE3+woMDmNNO54K/dwhOfQ6xtcAN 2zYZ1kL/ndq8kTlEo1QSYn+O9VeLLJsAU2uib5/r6yIKbMSOLE3aSVD/l1VOBrEK rzM0RqPDf6+d9sEfRO7alRle8hL6PdAUE8HVG5rqy+WuM1p/VgHBdhSVctJCFmnQ NyRWdEjRXN7l00wXs3jKgdPPW4HPA6gXKEEN/fpTOgTQk7cHQlQ2dVIuibmKaR3+ ZzkwDNtytALBS9qQRmZKG0kMQlneB4a3/Xlgg4dneswl8SmSPu/ygT8Q/4iejs0= =pMc5 -----END PGP SIGNATURE-----
participants (3)
- 
                
                Andrew McRae
- 
                
                Justin Chang
- 
                
                Lawrence Mitchell