dolfinx
dolfinx copied to clipboard
TensorFunctionSpace is broken
Creating a tensor function space with len(shape) > 2 fails.
MWE
import dolfinx.fem, dolfinx.mesh
from mpi4py import MPI
mesh = dolfinx.mesh.create_unit_square(MPI.COMM_SELF, 3, 3)
V = dolfinx.fem.TensorFunctionSpace(mesh, ("DG", 0), shape=(2, 2, 2, 2))
Error message:
Traceback (most recent call last):
File "/home/armand/s/mwe/mwe.py", line 5, in <module>
V = dolfinx.fem.TensorFunctionSpace(mesh, ("DG", 0), (2, 2, 2, 2))
File "/home/armand/mambaforge/envs/dolfinx-stable/lib/python3.10/site-packages/dolfinx/fem/function.py", line 582, in TensorFunctionSpace
return FunctionSpace(mesh, ufl_element)
File "/home/armand/mambaforge/envs/dolfinx-stable/lib/python3.10/site-packages/dolfinx/fem/function.py", line 457, in __init__
(self._ufcx_element, self._ufcx_dofmap), module, code = jit.ffcx_jit(
File "/home/armand/mambaforge/envs/dolfinx-stable/lib/python3.10/site-packages/dolfinx/jit.py", line 56, in mpi_jit
return local_jit(*args, **kwargs)
File "/home/armand/mambaforge/envs/dolfinx-stable/lib/python3.10/site-packages/dolfinx/jit.py", line 206, in ffcx_jit
r = ffcx.codegeneration.jit.compile_elements([ufl_object], parameters=p_ffcx, **p_jit)
File "/home/armand/mambaforge/envs/dolfinx-stable/lib/python3.10/site-packages/ffcx/codegeneration/jit.py", line 98, in compile_elements
ffcx.naming.compute_signature(elements, _compute_parameter_signature(p)
File "/home/armand/mambaforge/envs/dolfinx-stable/lib/python3.10/site-packages/ffcx/naming.py", line 34, in compute_signature
object_signature += repr(convert_element(ufl_object))
File "/home/armand/mambaforge/envs/dolfinx-stable/lib/python3.10/site-packages/ffcx/element_interface.py", line 25, in convert_element
return create_element(element)
File "/home/armand/mambaforge/envs/dolfinx-stable/lib/python3.10/site-packages/ffcx/element_interface.py", line 45, in create_element
return basix.ufl_wrapper.TensorElement(create_element(element.sub_elements()[0]), element._value_shape)
File "/home/armand/mambaforge/envs/dolfinx-stable/lib/python3.10/site-packages/basix/ufl_wrapper.py", line 1033, in __init__
assert len(shape) == 2
AssertionError
dolfinx version is from latest conda update:
print(dolfinx.__version__)
0.5.0
The above MWE used to work in the previous conda version (0.4.2)