Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[BUG]: Symmetric spaces broken #2750

Closed
jorgensd opened this issue Aug 25, 2023 · 2 comments · Fixed by #2880
Closed

[BUG]: Symmetric spaces broken #2750

jorgensd opened this issue Aug 25, 2023 · 2 comments · Fixed by #2880
Labels
bug Something isn't working

Comments

@jorgensd
Copy link
Sponsor Member

How to reproduce the bug

Based on: https://fenicsproject.discourse.group/t/projection-of-function-to-mixed-variational-form-error-dolfinx/11878?u=dokken
but simplfied.
Removing symmetry=True resolves the error.

Minimal Example (Python)

from mpi4py import MPI
import ufl
import dolfinx
mesh = dolfinx.mesh.create_unit_square(MPI.COMM_WORLD, 10, 10)
P2 = ufl.TensorElement("CG",mesh.ufl_cell(),1, symmetry=True) # strain
P1 = ufl.VectorElement("CG",mesh.ufl_cell(),1)                 # displacement

MX = ufl.MixedElement([P1,P2])
W = dolfinx.fem.FunctionSpace(mesh,MX)
W_eps, _ = W.sub(1).collapse()
u = dolfinx.fem.Function(W_eps)
p = dolfinx.fem.Function(W)
uk, _ = ufl.split(p)
v = ufl.TestFunction(W_eps)
L = ufl.inner(ufl.grad(uk), v) * ufl.dx
dolfinx.fem.form(L)

Output (Python)

python3: can't open file '/root/shared/mwe123': [Errno 2] No such file or directory
root@20eb7ebf7e20:~/shared# python3 mwe123.py 
Traceback (most recent call last):
  File "/root/shared/mwe123.py", line 9, in <module>
    W = dolfinx.fem.FunctionSpace(mesh,MX)
  File "/usr/local/dolfinx-real/lib/python3.10/dist-packages/dolfinx/fem/function.py", line 519, in __init__
    (self._ufcx_element, self._ufcx_dofmap), module, code = jit.ffcx_jit(
  File "/usr/local/dolfinx-real/lib/python3.10/dist-packages/dolfinx/jit.py", line 55, in mpi_jit
    return local_jit(*args, **kwargs)
  File "/usr/local/dolfinx-real/lib/python3.10/dist-packages/dolfinx/jit.py", line 205, in ffcx_jit
    r = ffcx.codegeneration.jit.compile_elements([ufl_object], options=p_ffcx, **p_jit)
  File "/usr/local/lib/python3.10/dist-packages/ffcx/codegeneration/jit.py", line 117, in compile_elements
    ffcx.naming.compute_signature(elements, _compute_option_signature(p)
  File "/usr/local/lib/python3.10/dist-packages/ffcx/naming.py", line 35, in compute_signature
    object_signature += repr(convert_element(ufl_object))
  File "/usr/local/lib/python3.10/dist-packages/ffcx/element_interface.py", line 27, in convert_element
    return _cached_conversion(element)
  File "/usr/local/lib/python3.10/dist-packages/ffcx/element_interface.py", line 57, in _cached_conversion
    return basix.ufl.mixed_element([_cached_conversion(e) for e in element.sub_elements()])
  File "/usr/local/lib/python3.10/dist-packages/ffcx/element_interface.py", line 57, in <listcomp>
    return basix.ufl.mixed_element([_cached_conversion(e) for e in element.sub_elements()])
  File "/usr/local/lib/python3.10/dist-packages/ffcx/element_interface.py", line 54, in _cached_conversion
    return basix.ufl.blocked_element(_cached_conversion(element.sub_elements()[0]),
  File "/usr/local/lib/python3.10/dist-packages/basix/ufl.py", line 1492, in blocked_element
    shape = tuple(tdim for _ in range(rank))
TypeError: 'tuple' object cannot be interpreted as an integer

Version

main branch

DOLFINx git commit

200e94c

Installation

Using docker, docker run -ti -v $(pwd):/root/shared -w /root/shared --rm ghcr.io/fenics/dolfinx/dolfinx:nightly

Additional information

No response

@conpierce8
Copy link

A similar MWE (see FEniCS/basix#717 (comment)) seems to be working now*, pending a small change to basix.ufl._BlockedElement.

*Where "now" is defined as:

python3 -c "import dolfinx;print(dolfinx.__version__);print(dolfinx.git_commit_hash)"
0.8.0.0
53d821d028b6951d1dac472a6849516a2d9ca4e8

@francesco-ballarin
Copy link
Member

@conpierce8 @mscroggs has FEniCS/basix#718 fixed this?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants