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

Integration with FE description language #3885

Draft
wants to merge 8 commits into
base: master
Choose a base branch
from

Lint

e755dbf
Select commit
Loading
Failed to load commit list.
Sign in for the full log view
Draft

Integration with FE description language #3885

Lint
e755dbf
Select commit
Loading
Failed to load commit list.
GitHub Actions / Firedrake complex failed Dec 9, 2024 in 0s

8132 tests run, 3331 passed, 1461 skipped, 3340 failed.

Annotations

Check failure on line 68 in tests/firedrake/submesh/test_submesh_interpolate.py

See this annotation in the file changed.

@github-actions github-actions / Firedrake complex

test_submesh_interpolate.test_submesh_interpolate_cell_cell_hex_1_processes[None-LT-LT-LT-fe_fesub1-None]

TypeError: Cell complex construction undefined for hexahedron
Raw output
fe_fesub = [('Q', 4), ('DQ', 5)], nelem = None
condx = <class 'ufl.conditional.LT'>, condy = <class 'ufl.conditional.LT'>
condz = <class 'ufl.conditional.LT'>, distribution_parameters = None

    @pytest.mark.parametrize('nelem', [2, 4, 8, None])
    @pytest.mark.parametrize('fe_fesub', [[("DQ", 0), ("DQ", 0)],
                                          [("Q", 4), ("DQ", 5)]])
    @pytest.mark.parametrize('condx', [LT])
    @pytest.mark.parametrize('condy', [LT])
    @pytest.mark.parametrize('condz', [LT])
    @pytest.mark.parametrize('distribution_parameters', [None, {"overlap_type": (DistributedMeshOverlapType.NONE, 0)}])
    def test_submesh_interpolate_cell_cell_hex_1_processes(fe_fesub, nelem, condx, condy, condz, distribution_parameters):
        if nelem is None:
>           mesh = Mesh(join(cwd, "..", "meshes", "cube_hex.msh"), distribution_parameters=distribution_parameters)

tests/firedrake/submesh/test_submesh_interpolate.py:68: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
petsc4py/PETSc/Log.pyx:188: in petsc4py.PETSc.Log.EventDecorator.decorator.wrapped_func
    ???
petsc4py/PETSc/Log.pyx:189: in petsc4py.PETSc.Log.EventDecorator.decorator.wrapped_func
    ???
firedrake/mesh.py:3093: in Mesh
    mesh = make_mesh_from_mesh_topology(topology, name)
firedrake/mesh.py:2884: in make_mesh_from_mesh_topology
    cell = topology.ufl_cell()
firedrake/mesh.py:731: in ufl_cell
    return self._ufl_cell
/usr/lib/python3.12/functools.py:995: in __get__
    val = self.func(instance)
firedrake/mesh.py:1227: in _ufl_cell
    return constructCellComplex(_cells[tdim][nfacets])
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

name = 'hexahedron'

    def constructCellComplex(name):
        if name == "vertex":
            return Point(0).to_ufl(name)
        elif name == "interval":
            return Point(1, [Point(0), Point(0)], vertex_num=2).to_ufl(name)
        elif name == "triangle":
            return n_sided_polygon(3).to_ufl(name)
        elif name == "quadrilateral":
            # return Cell(name)
            return n_sided_polygon(4).to_ufl(name)
        elif name == "tetrahedron":
            return make_tetrahedron().to_ufl(name)
        else:
>           raise TypeError("Cell complex construction undefined for {}".format(str(name)))
E           TypeError: Cell complex construction undefined for hexahedron

../firedrake_venv/src/redefining_fe/redefining_fe/cells.py:831: TypeError

Check failure on line 70 in tests/firedrake/regression/test_zero_forms.py

See this annotation in the file changed.

@github-actions github-actions / Firedrake complex

test_zero_forms.test_math_functions[True-tanh(f) + cos(f) + sin(f)-1-function-vector]

NotImplementedError: Non-Simplex elements are not yet supported
Raw output
mesh = Mesh(VectorElement(FiniteElement('Q', quadrilateral Complex, 1), dim=2), 38)
expr = 'tanh(f) + cos(f) + sin(f)', value = 1, typ = 'function'
fs_type = 'vector'

    @pytest.mark.parametrize(['expr', 'value', 'typ', 'fs_type'],
                             itertools.product(['f',
                                                '2*f',
                                                'tanh(f)',
                                                '2 * tanh(f)',
                                                'f + tanh(f)',
                                                'cos(f) + sin(f)',
                                                'cos(f)*cos(f) + sin(f)*sin(f)',
                                                'tanh(f) + cos(f) + sin(f)',
                                                '1.0/tanh(f) + 1.0/f',
                                                'sqrt(f*f)',
                                                '1.0/tanh(sqrt(f*f)) + 1.0/f + sqrt(f*f)'],
                                               [1, 10, 20, -1, -10, -20],
                                               ['function', 'constant'],
                                               ['scalar', 'vector', 'tensor']))
    def test_math_functions(mesh, expr, value, typ, fs_type):
        if typ == 'function':
            family, degree = 'CG', 1
        elif typ == 'constant':
            family, degree = 'Real', 0
    
        if fs_type == "vector":
>           V = VectorFunctionSpace(mesh, family, degree)

tests/firedrake/regression/test_zero_forms.py:70: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
petsc4py/PETSc/Log.pyx:188: in petsc4py.PETSc.Log.EventDecorator.decorator.wrapped_func
    ???
petsc4py/PETSc/Log.pyx:189: in petsc4py.PETSc.Log.EventDecorator.decorator.wrapped_func
    ???
firedrake/functionspace.py:191: in VectorFunctionSpace
    return FunctionSpace(mesh, element, name=name)
petsc4py/PETSc/Log.pyx:188: in petsc4py.PETSc.Log.EventDecorator.decorator.wrapped_func
    ???
petsc4py/PETSc/Log.pyx:189: in petsc4py.PETSc.Log.EventDecorator.decorator.wrapped_func
    ???
firedrake/functionspace.py:105: in FunctionSpace
    return impl.WithGeometry.make_function_space(mesh, element, name=name)
firedrake/functionspaceimpl.py:359: in make_function_space
    mesh.init()
firedrake/mesh.py:2282: in init
    self._callback(self)
firedrake/mesh.py:2304: in callback
    coordinates_fs = functionspace.FunctionSpace(self.topology, self.ufl_coordinate_element())
petsc4py/PETSc/Log.pyx:188: in petsc4py.PETSc.Log.EventDecorator.decorator.wrapped_func
    ???
petsc4py/PETSc/Log.pyx:189: in petsc4py.PETSc.Log.EventDecorator.decorator.wrapped_func
    ???
firedrake/functionspace.py:105: in FunctionSpace
    return impl.WithGeometry.make_function_space(mesh, element, name=name)
firedrake/functionspaceimpl.py:371: in make_function_space
    new = FunctionSpace(topology, element, name=name)
petsc4py/PETSc/Log.pyx:188: in petsc4py.PETSc.Log.EventDecorator.decorator.wrapped_func
    ???
petsc4py/PETSc/Log.pyx:189: in petsc4py.PETSc.Log.EventDecorator.decorator.wrapped_func
    ???
firedrake/functionspaceimpl.py:520: in __init__
    self.set_shared_data()
firedrake/functionspaceimpl.py:529: in set_shared_data
    sdata = get_shared_data(self._mesh, element)
petsc4py/PETSc/Log.pyx:188: in petsc4py.PETSc.Log.EventDecorator.decorator.wrapped_func
    ???
petsc4py/PETSc/Log.pyx:189: in petsc4py.PETSc.Log.EventDecorator.decorator.wrapped_func
    ???
firedrake/functionspacedata.py:541: in get_shared_data
    return FunctionSpaceData(mesh, ufl_element, boundary_set)
petsc4py/PETSc/Log.pyx:188: in petsc4py.PETSc.Log.EventDecorator.decorator.wrapped_func
    ???
petsc4py/PETSc/Log.pyx:189: in petsc4py.PETSc.Log.EventDecorator.decorator.wrapped_func
    ???
firedrake/functionspacedata.py:420: in __init__
    finat_element = create_element(ufl_element)
petsc4py/PETSc/Log.pyx:188: in petsc4py.PETSc.Log.EventDecorator.decorator.wrapped_func
    ???
petsc4py/PETSc/Log.pyx:189: in petsc4py.PETSc.Log.EventDecorator.decorator.wrapped_func
    ???
firedrake/functionspacedata.py:42: in create_element
    finat_element = _create_element(ufl_element)
tsfc/finatinterface.py:325: in create_element
    finat_element, deps = _create_element(ufl_element,
tsfc/finatinterface.py:355: in _create_element
    finat_element, deps = convert(ufl_element, **kwargs)
/usr/lib/python3.12/functools.py:909: in wrapper
    return dispatch(args[0].__class__)(*args, **kw)
tsfc/finatinterface.py:263: in convert_tensorelement
    inner_elem, deps = _create_element(element.sub_elements[0], **kwargs)
tsfc/finatinterface.py:355: in _create_element
    finat_element, deps = convert(ufl_element, **kwargs)
/usr/lib/python3.12/functools.py:909: in wrapper
    return dispatch(args[0].__class__)(*args, **kw)
tsfc/finatinterface.py:153: in convert_finiteelement
    cell = as_fiat_cell(element.cell)
tsfc/finatinterface.py:116: in as_fiat_cell
    return cell.to_fiat()
../firedrake_venv/src/redefining_fe/redefining_fe/cells.py:802: in to_fiat
    return self.cell_complex.to_fiat()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = f15

    def to_fiat(self):
        if len(self.get_topology()[self.dimension][0]) == self.dimension + 1:
            return CellComplexToFiatSimplex(self)
>       raise NotImplementedError("Non-Simplex elements are not yet supported")
E       NotImplementedError: Non-Simplex elements are not yet supported

../firedrake_venv/src/redefining_fe/redefining_fe/cells.py:617: NotImplementedError

Check failure on line 218 in tests/firedrake/vertexonly/test_interpolation_from_parent.py

See this annotation in the file changed.

@github-actions github-actions / Firedrake complex

test_interpolation_from_parent.test_vector_function_interpolation[squarequads-mesh-100-coords-VectorFunctionSpace(CG2)]

NotImplementedError: Non-Simplex elements are not yet supported
Raw output
parentmesh = Mesh(VectorElement(FiniteElement('Q', quadrilateral Complex, 1), dim=2), 38)
vertexcoords = array([[ 0.59762701,  0.93037873],
       [ 0.70552675,  0.58976637],
       [ 0.3473096 ,  0.79178823],
       [ 0.37... 1.38874478],
       [ 0.97910159,  0.48091762],
       [-0.04517074,  0.00871296],
       [-0.38394168,  0.36883325]])
vfs = ('CG', 2, <cyfunction VectorFunctionSpace at 0x7f28c8243d30>)

    def test_vector_function_interpolation(parentmesh, vertexcoords, vfs):
        if parentmesh.name == "immersedsphere":
            vertexcoords = immersed_sphere_vertexcoords(parentmesh, vertexcoords)
        vfs_fam, vfs_deg, vfs_typ = vfs
>       vm = VertexOnlyMesh(parentmesh, vertexcoords, missing_points_behaviour=None)

tests/firedrake/vertexonly/test_interpolation_from_parent.py:218: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
petsc4py/PETSc/Log.pyx:188: in petsc4py.PETSc.Log.EventDecorator.decorator.wrapped_func
    ???
petsc4py/PETSc/Log.pyx:189: in petsc4py.PETSc.Log.EventDecorator.decorator.wrapped_func
    ???
firedrake/mesh.py:3340: in VertexOnlyMesh
    mesh.init()
firedrake/mesh.py:2282: in init
    self._callback(self)
firedrake/mesh.py:2304: in callback
    coordinates_fs = functionspace.FunctionSpace(self.topology, self.ufl_coordinate_element())
petsc4py/PETSc/Log.pyx:188: in petsc4py.PETSc.Log.EventDecorator.decorator.wrapped_func
    ???
petsc4py/PETSc/Log.pyx:189: in petsc4py.PETSc.Log.EventDecorator.decorator.wrapped_func
    ???
firedrake/functionspace.py:105: in FunctionSpace
    return impl.WithGeometry.make_function_space(mesh, element, name=name)
firedrake/functionspaceimpl.py:371: in make_function_space
    new = FunctionSpace(topology, element, name=name)
petsc4py/PETSc/Log.pyx:188: in petsc4py.PETSc.Log.EventDecorator.decorator.wrapped_func
    ???
petsc4py/PETSc/Log.pyx:189: in petsc4py.PETSc.Log.EventDecorator.decorator.wrapped_func
    ???
firedrake/functionspaceimpl.py:520: in __init__
    self.set_shared_data()
firedrake/functionspaceimpl.py:529: in set_shared_data
    sdata = get_shared_data(self._mesh, element)
petsc4py/PETSc/Log.pyx:188: in petsc4py.PETSc.Log.EventDecorator.decorator.wrapped_func
    ???
petsc4py/PETSc/Log.pyx:189: in petsc4py.PETSc.Log.EventDecorator.decorator.wrapped_func
    ???
firedrake/functionspacedata.py:541: in get_shared_data
    return FunctionSpaceData(mesh, ufl_element, boundary_set)
petsc4py/PETSc/Log.pyx:188: in petsc4py.PETSc.Log.EventDecorator.decorator.wrapped_func
    ???
petsc4py/PETSc/Log.pyx:189: in petsc4py.PETSc.Log.EventDecorator.decorator.wrapped_func
    ???
firedrake/functionspacedata.py:420: in __init__
    finat_element = create_element(ufl_element)
petsc4py/PETSc/Log.pyx:188: in petsc4py.PETSc.Log.EventDecorator.decorator.wrapped_func
    ???
petsc4py/PETSc/Log.pyx:189: in petsc4py.PETSc.Log.EventDecorator.decorator.wrapped_func
    ???
firedrake/functionspacedata.py:42: in create_element
    finat_element = _create_element(ufl_element)
tsfc/finatinterface.py:325: in create_element
    finat_element, deps = _create_element(ufl_element,
tsfc/finatinterface.py:355: in _create_element
    finat_element, deps = convert(ufl_element, **kwargs)
/usr/lib/python3.12/functools.py:909: in wrapper
    return dispatch(args[0].__class__)(*args, **kw)
tsfc/finatinterface.py:263: in convert_tensorelement
    inner_elem, deps = _create_element(element.sub_elements[0], **kwargs)
tsfc/finatinterface.py:355: in _create_element
    finat_element, deps = convert(ufl_element, **kwargs)
/usr/lib/python3.12/functools.py:909: in wrapper
    return dispatch(args[0].__class__)(*args, **kw)
tsfc/finatinterface.py:153: in convert_finiteelement
    cell = as_fiat_cell(element.cell)
tsfc/finatinterface.py:116: in as_fiat_cell
    return cell.to_fiat()
../firedrake_venv/src/redefining_fe/redefining_fe/cells.py:802: in to_fiat
    return self.cell_complex.to_fiat()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = f15

    def to_fiat(self):
        if len(self.get_topology()[self.dimension][0]) == self.dimension + 1:
            return CellComplexToFiatSimplex(self)
>       raise NotImplementedError("Non-Simplex elements are not yet supported")
E       NotImplementedError: Non-Simplex elements are not yet supported

../firedrake_venv/src/redefining_fe/redefining_fe/cells.py:617: NotImplementedError

Check failure on line 70 in tests/firedrake/submesh/test_submesh_interpolate.py

See this annotation in the file changed.

@github-actions github-actions / Firedrake complex

test_submesh_interpolate.test_submesh_interpolate_cell_cell_hex_1_processes[distribution_parameters1-LT-LT-LT-fe_fesub0-2]

TypeError: Cell complex construction undefined for hexahedron
Raw output
fe_fesub = [('DQ', 0), ('DQ', 0)], nelem = 2
condx = <class 'ufl.conditional.LT'>, condy = <class 'ufl.conditional.LT'>
condz = <class 'ufl.conditional.LT'>
distribution_parameters = {'overlap_type': (<DistributedMeshOverlapType.NONE: 1>, 0)}

    @pytest.mark.parametrize('nelem', [2, 4, 8, None])
    @pytest.mark.parametrize('fe_fesub', [[("DQ", 0), ("DQ", 0)],
                                          [("Q", 4), ("DQ", 5)]])
    @pytest.mark.parametrize('condx', [LT])
    @pytest.mark.parametrize('condy', [LT])
    @pytest.mark.parametrize('condz', [LT])
    @pytest.mark.parametrize('distribution_parameters', [None, {"overlap_type": (DistributedMeshOverlapType.NONE, 0)}])
    def test_submesh_interpolate_cell_cell_hex_1_processes(fe_fesub, nelem, condx, condy, condz, distribution_parameters):
        if nelem is None:
            mesh = Mesh(join(cwd, "..", "meshes", "cube_hex.msh"), distribution_parameters=distribution_parameters)
        else:
>           mesh = UnitCubeMesh(nelem, nelem, nelem, hexahedral=True, distribution_parameters=distribution_parameters)

tests/firedrake/submesh/test_submesh_interpolate.py:70: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
petsc4py/PETSc/Log.pyx:188: in petsc4py.PETSc.Log.EventDecorator.decorator.wrapped_func
    ???
petsc4py/PETSc/Log.pyx:189: in petsc4py.PETSc.Log.EventDecorator.decorator.wrapped_func
    ???
firedrake/utility_meshes.py:1780: in UnitCubeMesh
    return CubeMesh(
petsc4py/PETSc/Log.pyx:188: in petsc4py.PETSc.Log.EventDecorator.decorator.wrapped_func
    ???
petsc4py/PETSc/Log.pyx:189: in petsc4py.PETSc.Log.EventDecorator.decorator.wrapped_func
    ???
firedrake/utility_meshes.py:1723: in CubeMesh
    return BoxMesh(
petsc4py/PETSc/Log.pyx:188: in petsc4py.PETSc.Log.EventDecorator.decorator.wrapped_func
    ???
petsc4py/PETSc/Log.pyx:189: in petsc4py.PETSc.Log.EventDecorator.decorator.wrapped_func
    ???
firedrake/utility_meshes.py:1653: in BoxMesh
    m = mesh.Mesh(
petsc4py/PETSc/Log.pyx:188: in petsc4py.PETSc.Log.EventDecorator.decorator.wrapped_func
    ???
petsc4py/PETSc/Log.pyx:189: in petsc4py.PETSc.Log.EventDecorator.decorator.wrapped_func
    ???
firedrake/mesh.py:3093: in Mesh
    mesh = make_mesh_from_mesh_topology(topology, name)
firedrake/mesh.py:2884: in make_mesh_from_mesh_topology
    cell = topology.ufl_cell()
firedrake/mesh.py:731: in ufl_cell
    return self._ufl_cell
/usr/lib/python3.12/functools.py:995: in __get__
    val = self.func(instance)
firedrake/mesh.py:1227: in _ufl_cell
    return constructCellComplex(_cells[tdim][nfacets])
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

name = 'hexahedron'

    def constructCellComplex(name):
        if name == "vertex":
            return Point(0).to_ufl(name)
        elif name == "interval":
            return Point(1, [Point(0), Point(0)], vertex_num=2).to_ufl(name)
        elif name == "triangle":
            return n_sided_polygon(3).to_ufl(name)
        elif name == "quadrilateral":
            # return Cell(name)
            return n_sided_polygon(4).to_ufl(name)
        elif name == "tetrahedron":
            return make_tetrahedron().to_ufl(name)
        else:
>           raise TypeError("Cell complex construction undefined for {}".format(str(name)))
E           TypeError: Cell complex construction undefined for hexahedron

../firedrake_venv/src/redefining_fe/redefining_fe/cells.py:831: TypeError

Check failure on line 72 in tests/firedrake/regression/test_zero_forms.py

See this annotation in the file changed.

@github-actions github-actions / Firedrake complex

test_zero_forms.test_math_functions[True-tanh(f) + cos(f) + sin(f)-1-function-tensor]

NotImplementedError: Non-Simplex elements are not yet supported
Raw output
mesh = Mesh(VectorElement(FiniteElement('Q', quadrilateral Complex, 1), dim=2), 38)
expr = 'tanh(f) + cos(f) + sin(f)', value = 1, typ = 'function'
fs_type = 'tensor'

    @pytest.mark.parametrize(['expr', 'value', 'typ', 'fs_type'],
                             itertools.product(['f',
                                                '2*f',
                                                'tanh(f)',
                                                '2 * tanh(f)',
                                                'f + tanh(f)',
                                                'cos(f) + sin(f)',
                                                'cos(f)*cos(f) + sin(f)*sin(f)',
                                                'tanh(f) + cos(f) + sin(f)',
                                                '1.0/tanh(f) + 1.0/f',
                                                'sqrt(f*f)',
                                                '1.0/tanh(sqrt(f*f)) + 1.0/f + sqrt(f*f)'],
                                               [1, 10, 20, -1, -10, -20],
                                               ['function', 'constant'],
                                               ['scalar', 'vector', 'tensor']))
    def test_math_functions(mesh, expr, value, typ, fs_type):
        if typ == 'function':
            family, degree = 'CG', 1
        elif typ == 'constant':
            family, degree = 'Real', 0
    
        if fs_type == "vector":
            V = VectorFunctionSpace(mesh, family, degree)
        elif fs_type == "tensor":
>           V = TensorFunctionSpace(mesh, family, degree)

tests/firedrake/regression/test_zero_forms.py:72: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
petsc4py/PETSc/Log.pyx:188: in petsc4py.PETSc.Log.EventDecorator.decorator.wrapped_func
    ???
petsc4py/PETSc/Log.pyx:189: in petsc4py.PETSc.Log.EventDecorator.decorator.wrapped_func
    ???
firedrake/functionspace.py:242: in TensorFunctionSpace
    return FunctionSpace(mesh, element, name=name)
petsc4py/PETSc/Log.pyx:188: in petsc4py.PETSc.Log.EventDecorator.decorator.wrapped_func
    ???
petsc4py/PETSc/Log.pyx:189: in petsc4py.PETSc.Log.EventDecorator.decorator.wrapped_func
    ???
firedrake/functionspace.py:105: in FunctionSpace
    return impl.WithGeometry.make_function_space(mesh, element, name=name)
firedrake/functionspaceimpl.py:371: in make_function_space
    new = FunctionSpace(topology, element, name=name)
petsc4py/PETSc/Log.pyx:188: in petsc4py.PETSc.Log.EventDecorator.decorator.wrapped_func
    ???
petsc4py/PETSc/Log.pyx:189: in petsc4py.PETSc.Log.EventDecorator.decorator.wrapped_func
    ???
firedrake/functionspaceimpl.py:520: in __init__
    self.set_shared_data()
firedrake/functionspaceimpl.py:529: in set_shared_data
    sdata = get_shared_data(self._mesh, element)
petsc4py/PETSc/Log.pyx:188: in petsc4py.PETSc.Log.EventDecorator.decorator.wrapped_func
    ???
petsc4py/PETSc/Log.pyx:189: in petsc4py.PETSc.Log.EventDecorator.decorator.wrapped_func
    ???
firedrake/functionspacedata.py:541: in get_shared_data
    return FunctionSpaceData(mesh, ufl_element, boundary_set)
petsc4py/PETSc/Log.pyx:188: in petsc4py.PETSc.Log.EventDecorator.decorator.wrapped_func
    ???
petsc4py/PETSc/Log.pyx:189: in petsc4py.PETSc.Log.EventDecorator.decorator.wrapped_func
    ???
firedrake/functionspacedata.py:420: in __init__
    finat_element = create_element(ufl_element)
petsc4py/PETSc/Log.pyx:188: in petsc4py.PETSc.Log.EventDecorator.decorator.wrapped_func
    ???
petsc4py/PETSc/Log.pyx:189: in petsc4py.PETSc.Log.EventDecorator.decorator.wrapped_func
    ???
firedrake/functionspacedata.py:42: in create_element
    finat_element = _create_element(ufl_element)
tsfc/finatinterface.py:325: in create_element
    finat_element, deps = _create_element(ufl_element,
tsfc/finatinterface.py:355: in _create_element
    finat_element, deps = convert(ufl_element, **kwargs)
/usr/lib/python3.12/functools.py:909: in wrapper
    return dispatch(args[0].__class__)(*args, **kw)
tsfc/finatinterface.py:263: in convert_tensorelement
    inner_elem, deps = _create_element(element.sub_elements[0], **kwargs)
tsfc/finatinterface.py:355: in _create_element
    finat_element, deps = convert(ufl_element, **kwargs)
/usr/lib/python3.12/functools.py:909: in wrapper
    return dispatch(args[0].__class__)(*args, **kw)
tsfc/finatinterface.py:153: in convert_finiteelement
    cell = as_fiat_cell(element.cell)
tsfc/finatinterface.py:116: in as_fiat_cell
    return cell.to_fiat()
../firedrake_venv/src/redefining_fe/redefining_fe/cells.py:802: in to_fiat
    return self.cell_complex.to_fiat()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = f15

    def to_fiat(self):
        if len(self.get_topology()[self.dimension][0]) == self.dimension + 1:
            return CellComplexToFiatSimplex(self)
>       raise NotImplementedError("Non-Simplex elements are not yet supported")
E       NotImplementedError: Non-Simplex elements are not yet supported

../firedrake_venv/src/redefining_fe/redefining_fe/cells.py:617: NotImplementedError

Check failure on line 82 in tests/firedrake/regression/test_zero_forms.py

See this annotation in the file changed.

@github-actions github-actions / Firedrake complex

test_zero_forms.test_math_functions[True-tanh(f) + cos(f) + sin(f)-1-constant-scalar]

AttributeError: 'MeshTopology' object has no attribute 'extruded'
Raw output
mesh = Mesh(VectorElement(FiniteElement('Q', quadrilateral Complex, 1), dim=2), 38)
expr = 'tanh(f) + cos(f) + sin(f)', value = 1, typ = 'constant'
fs_type = 'scalar'

    @pytest.mark.parametrize(['expr', 'value', 'typ', 'fs_type'],
                             itertools.product(['f',
                                                '2*f',
                                                'tanh(f)',
                                                '2 * tanh(f)',
                                                'f + tanh(f)',
                                                'cos(f) + sin(f)',
                                                'cos(f)*cos(f) + sin(f)*sin(f)',
                                                'tanh(f) + cos(f) + sin(f)',
                                                '1.0/tanh(f) + 1.0/f',
                                                'sqrt(f*f)',
                                                '1.0/tanh(sqrt(f*f)) + 1.0/f + sqrt(f*f)'],
                                               [1, 10, 20, -1, -10, -20],
                                               ['function', 'constant'],
                                               ['scalar', 'vector', 'tensor']))
    def test_math_functions(mesh, expr, value, typ, fs_type):
        if typ == 'function':
            family, degree = 'CG', 1
        elif typ == 'constant':
            family, degree = 'Real', 0
    
        if fs_type == "vector":
            V = VectorFunctionSpace(mesh, family, degree)
        elif fs_type == "tensor":
            V = TensorFunctionSpace(mesh, family, degree)
        else:
            V = FunctionSpace(mesh, family, degree)
        f = Function(V)
        f.assign(value)
        if fs_type == "vector":
            f = dot(f, f)
        elif fs_type == "tensor":
            f = inner(f, f)
    
>       actual = assemble(eval(expr)*dx)

tests/firedrake/regression/test_zero_forms.py:82: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
petsc4py/PETSc/Log.pyx:188: in petsc4py.PETSc.Log.EventDecorator.decorator.wrapped_func
    ???
petsc4py/PETSc/Log.pyx:189: in petsc4py.PETSc.Log.EventDecorator.decorator.wrapped_func
    ???
firedrake/adjoint_utils/assembly.py:30: in wrapper
    output = assemble(form, *args, **kwargs)
firedrake/assemble.py:134: in assemble
    return get_assembler(expr, *args, **kwargs).assemble(tensor=tensor)
firedrake/assemble.py:983: in assemble
    self.execute_parloops(tensor)
firedrake/assemble.py:1004: in execute_parloops
    for parloop in self.parloops(tensor):
firedrake/assemble.py:1016: in parloops
    for local_kernel, subdomain_id in self.local_kernels:
/usr/lib/python3.12/functools.py:995: in __get__
    val = self.func(instance)
firedrake/assemble.py:1054: in local_kernels
    kernels = tsfc_interface.compile_form(
petsc4py/PETSc/Log.pyx:188: in petsc4py.PETSc.Log.EventDecorator.decorator.wrapped_func
    ???
petsc4py/PETSc/Log.pyx:189: in petsc4py.PETSc.Log.EventDecorator.decorator.wrapped_func
    ???
pyop2/caching.py:522: in wrapper
    k = hashkey(*args, **kwargs)
firedrake/tsfc_interface.py:140: in _compile_form_hashkey
    args[0].signature(),
../firedrake_venv/src/ufl/ufl/form.py:418: in signature
    self._compute_signature()
../firedrake_venv/src/ufl/ufl/form.py:671: in _compute_signature
    self._signature = compute_form_signature(self, self._compute_renumbering())
../firedrake_venv/src/ufl/ufl/algorithms/signature.py:137: in compute_form_signature
    terminal_hashdata = compute_terminal_hashdata(integrands, renumbering)
../firedrake_venv/src/ufl/ufl/algorithms/signature.py:65: in compute_terminal_hashdata
    data = expr._ufl_signature_data_(renumbering)
../firedrake_venv/src/ufl/ufl/coefficient.py:84: in _ufl_signature_data_
    fsdata = self._ufl_function_space._ufl_signature_data_(renumbering)
firedrake/functionspaceimpl.py:131: in _ufl_signature_data_
    super()._ufl_signature_data_(*args, **kwargs))
../firedrake_venv/src/ufl/ufl/functionspace.py:176: in _ufl_signature_data_
    return BaseFunctionSpace._ufl_signature_data_(self, renumbering, "FunctionSpace")
../firedrake_venv/src/ufl/ufl/functionspace.py:138: in _ufl_signature_data_
    ddata = domain._ufl_signature_data_(renumbering)
firedrake/mesh.py:2273: in _ufl_signature_data_
    return (type(self), self.extruded, self.variable_layers,
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = Mesh(VectorElement(FiniteElement('Q', quadrilateral Complex, 1), dim=2), 38)
name = 'extruded'

    def __getattr__(self, name):
>       val = getattr(self._topology, name)
E       AttributeError: 'MeshTopology' object has no attribute 'extruded'

firedrake/mesh.py:2796: AttributeError

Check failure on line 82 in tests/firedrake/regression/test_zero_forms.py

See this annotation in the file changed.

@github-actions github-actions / Firedrake complex

test_zero_forms.test_math_functions[True-tanh(f) + cos(f) + sin(f)-1-constant-vector]

AttributeError: 'MeshTopology' object has no attribute 'extruded'
Raw output
mesh = Mesh(VectorElement(FiniteElement('Q', quadrilateral Complex, 1), dim=2), 38)
expr = 'tanh(f) + cos(f) + sin(f)', value = 1, typ = 'constant'
fs_type = 'vector'

    @pytest.mark.parametrize(['expr', 'value', 'typ', 'fs_type'],
                             itertools.product(['f',
                                                '2*f',
                                                'tanh(f)',
                                                '2 * tanh(f)',
                                                'f + tanh(f)',
                                                'cos(f) + sin(f)',
                                                'cos(f)*cos(f) + sin(f)*sin(f)',
                                                'tanh(f) + cos(f) + sin(f)',
                                                '1.0/tanh(f) + 1.0/f',
                                                'sqrt(f*f)',
                                                '1.0/tanh(sqrt(f*f)) + 1.0/f + sqrt(f*f)'],
                                               [1, 10, 20, -1, -10, -20],
                                               ['function', 'constant'],
                                               ['scalar', 'vector', 'tensor']))
    def test_math_functions(mesh, expr, value, typ, fs_type):
        if typ == 'function':
            family, degree = 'CG', 1
        elif typ == 'constant':
            family, degree = 'Real', 0
    
        if fs_type == "vector":
            V = VectorFunctionSpace(mesh, family, degree)
        elif fs_type == "tensor":
            V = TensorFunctionSpace(mesh, family, degree)
        else:
            V = FunctionSpace(mesh, family, degree)
        f = Function(V)
        f.assign(value)
        if fs_type == "vector":
            f = dot(f, f)
        elif fs_type == "tensor":
            f = inner(f, f)
    
>       actual = assemble(eval(expr)*dx)

tests/firedrake/regression/test_zero_forms.py:82: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
petsc4py/PETSc/Log.pyx:188: in petsc4py.PETSc.Log.EventDecorator.decorator.wrapped_func
    ???
petsc4py/PETSc/Log.pyx:189: in petsc4py.PETSc.Log.EventDecorator.decorator.wrapped_func
    ???
firedrake/adjoint_utils/assembly.py:30: in wrapper
    output = assemble(form, *args, **kwargs)
firedrake/assemble.py:134: in assemble
    return get_assembler(expr, *args, **kwargs).assemble(tensor=tensor)
firedrake/assemble.py:983: in assemble
    self.execute_parloops(tensor)
firedrake/assemble.py:1004: in execute_parloops
    for parloop in self.parloops(tensor):
firedrake/assemble.py:1016: in parloops
    for local_kernel, subdomain_id in self.local_kernels:
/usr/lib/python3.12/functools.py:995: in __get__
    val = self.func(instance)
firedrake/assemble.py:1054: in local_kernels
    kernels = tsfc_interface.compile_form(
petsc4py/PETSc/Log.pyx:188: in petsc4py.PETSc.Log.EventDecorator.decorator.wrapped_func
    ???
petsc4py/PETSc/Log.pyx:189: in petsc4py.PETSc.Log.EventDecorator.decorator.wrapped_func
    ???
pyop2/caching.py:522: in wrapper
    k = hashkey(*args, **kwargs)
firedrake/tsfc_interface.py:140: in _compile_form_hashkey
    args[0].signature(),
../firedrake_venv/src/ufl/ufl/form.py:418: in signature
    self._compute_signature()
../firedrake_venv/src/ufl/ufl/form.py:671: in _compute_signature
    self._signature = compute_form_signature(self, self._compute_renumbering())
../firedrake_venv/src/ufl/ufl/algorithms/signature.py:137: in compute_form_signature
    terminal_hashdata = compute_terminal_hashdata(integrands, renumbering)
../firedrake_venv/src/ufl/ufl/algorithms/signature.py:65: in compute_terminal_hashdata
    data = expr._ufl_signature_data_(renumbering)
../firedrake_venv/src/ufl/ufl/coefficient.py:84: in _ufl_signature_data_
    fsdata = self._ufl_function_space._ufl_signature_data_(renumbering)
firedrake/functionspaceimpl.py:131: in _ufl_signature_data_
    super()._ufl_signature_data_(*args, **kwargs))
../firedrake_venv/src/ufl/ufl/functionspace.py:176: in _ufl_signature_data_
    return BaseFunctionSpace._ufl_signature_data_(self, renumbering, "FunctionSpace")
../firedrake_venv/src/ufl/ufl/functionspace.py:138: in _ufl_signature_data_
    ddata = domain._ufl_signature_data_(renumbering)
firedrake/mesh.py:2273: in _ufl_signature_data_
    return (type(self), self.extruded, self.variable_layers,
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = Mesh(VectorElement(FiniteElement('Q', quadrilateral Complex, 1), dim=2), 38)
name = 'extruded'

    def __getattr__(self, name):
>       val = getattr(self._topology, name)
E       AttributeError: 'MeshTopology' object has no attribute 'extruded'

firedrake/mesh.py:2796: AttributeError

Check failure on line 70 in tests/firedrake/submesh/test_submesh_interpolate.py

See this annotation in the file changed.

@github-actions github-actions / Firedrake complex

test_submesh_interpolate.test_submesh_interpolate_cell_cell_hex_1_processes[distribution_parameters1-LT-LT-LT-fe_fesub0-4]

TypeError: Cell complex construction undefined for hexahedron
Raw output
fe_fesub = [('DQ', 0), ('DQ', 0)], nelem = 4
condx = <class 'ufl.conditional.LT'>, condy = <class 'ufl.conditional.LT'>
condz = <class 'ufl.conditional.LT'>
distribution_parameters = {'overlap_type': (<DistributedMeshOverlapType.NONE: 1>, 0)}

    @pytest.mark.parametrize('nelem', [2, 4, 8, None])
    @pytest.mark.parametrize('fe_fesub', [[("DQ", 0), ("DQ", 0)],
                                          [("Q", 4), ("DQ", 5)]])
    @pytest.mark.parametrize('condx', [LT])
    @pytest.mark.parametrize('condy', [LT])
    @pytest.mark.parametrize('condz', [LT])
    @pytest.mark.parametrize('distribution_parameters', [None, {"overlap_type": (DistributedMeshOverlapType.NONE, 0)}])
    def test_submesh_interpolate_cell_cell_hex_1_processes(fe_fesub, nelem, condx, condy, condz, distribution_parameters):
        if nelem is None:
            mesh = Mesh(join(cwd, "..", "meshes", "cube_hex.msh"), distribution_parameters=distribution_parameters)
        else:
>           mesh = UnitCubeMesh(nelem, nelem, nelem, hexahedral=True, distribution_parameters=distribution_parameters)

tests/firedrake/submesh/test_submesh_interpolate.py:70: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
petsc4py/PETSc/Log.pyx:188: in petsc4py.PETSc.Log.EventDecorator.decorator.wrapped_func
    ???
petsc4py/PETSc/Log.pyx:189: in petsc4py.PETSc.Log.EventDecorator.decorator.wrapped_func
    ???
firedrake/utility_meshes.py:1780: in UnitCubeMesh
    return CubeMesh(
petsc4py/PETSc/Log.pyx:188: in petsc4py.PETSc.Log.EventDecorator.decorator.wrapped_func
    ???
petsc4py/PETSc/Log.pyx:189: in petsc4py.PETSc.Log.EventDecorator.decorator.wrapped_func
    ???
firedrake/utility_meshes.py:1723: in CubeMesh
    return BoxMesh(
petsc4py/PETSc/Log.pyx:188: in petsc4py.PETSc.Log.EventDecorator.decorator.wrapped_func
    ???
petsc4py/PETSc/Log.pyx:189: in petsc4py.PETSc.Log.EventDecorator.decorator.wrapped_func
    ???
firedrake/utility_meshes.py:1653: in BoxMesh
    m = mesh.Mesh(
petsc4py/PETSc/Log.pyx:188: in petsc4py.PETSc.Log.EventDecorator.decorator.wrapped_func
    ???
petsc4py/PETSc/Log.pyx:189: in petsc4py.PETSc.Log.EventDecorator.decorator.wrapped_func
    ???
firedrake/mesh.py:3093: in Mesh
    mesh = make_mesh_from_mesh_topology(topology, name)
firedrake/mesh.py:2884: in make_mesh_from_mesh_topology
    cell = topology.ufl_cell()
firedrake/mesh.py:731: in ufl_cell
    return self._ufl_cell
/usr/lib/python3.12/functools.py:995: in __get__
    val = self.func(instance)
firedrake/mesh.py:1227: in _ufl_cell
    return constructCellComplex(_cells[tdim][nfacets])
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

name = 'hexahedron'

    def constructCellComplex(name):
        if name == "vertex":
            return Point(0).to_ufl(name)
        elif name == "interval":
            return Point(1, [Point(0), Point(0)], vertex_num=2).to_ufl(name)
        elif name == "triangle":
            return n_sided_polygon(3).to_ufl(name)
        elif name == "quadrilateral":
            # return Cell(name)
            return n_sided_polygon(4).to_ufl(name)
        elif name == "tetrahedron":
            return make_tetrahedron().to_ufl(name)
        else:
>           raise TypeError("Cell complex construction undefined for {}".format(str(name)))
E           TypeError: Cell complex construction undefined for hexahedron

../firedrake_venv/src/redefining_fe/redefining_fe/cells.py:831: TypeError

Check failure on line 21 in tests/firedrake/extrusion/test_zero_integrand_extrusion.py

See this annotation in the file changed.

@github-actions github-actions / Firedrake complex

test_zero_integrand_extrusion.test_empty_integrand

ValueError: Cannot find the maximal complex
Raw output
def test_empty_integrand():
        m = UnitSquareMesh(5, 5)
        mesh = ExtrudedMesh(m, layers=5)
    
        P1 = FunctionSpace(mesh, 'CG', 1)
    
        u = TrialFunction(P1)
        v = TestFunction(P1)
        sol = Function(P1)
        f = Function(P1)
        f.interpolate(Constant(4.5))
    
        A = inner(u, v)*dx
        L = inner(f, v)*dx + inner(f, v)*ds_v
    
        u = Function(P1)
>       solve(A == L, u)

tests/firedrake/extrusion/test_zero_integrand_extrusion.py:21: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
petsc4py/PETSc/Log.pyx:188: in petsc4py.PETSc.Log.EventDecorator.decorator.wrapped_func
    ???
petsc4py/PETSc/Log.pyx:189: in petsc4py.PETSc.Log.EventDecorator.decorator.wrapped_func
    ???
firedrake/adjoint_utils/solving.py:57: in wrapper
    output = solve(*args, **kwargs)
firedrake/solving.py:141: in solve
    _solve_varproblem(*args, **kwargs)
firedrake/solving.py:172: in _solve_varproblem
    solver = vs.LinearVariationalSolver(problem, solver_parameters=solver_parameters,
petsc4py/PETSc/Log.pyx:188: in petsc4py.PETSc.Log.EventDecorator.decorator.wrapped_func
    ???
petsc4py/PETSc/Log.pyx:189: in petsc4py.PETSc.Log.EventDecorator.decorator.wrapped_func
    ???
/usr/lib/python3.12/contextlib.py:81: in inner
    return func(*args, **kwds)
firedrake/adjoint_utils/variational_solver.py:44: in wrapper
    init(self, problem, *args, **kwargs)
firedrake/variational_solver.py:243: in __init__
    ctx.set_jacobian(self.snes)
firedrake/solving_utils.py:288: in set_jacobian
    snes.setJacobian(self.form_jacobian, J=self._jac.petscmat,
/usr/lib/python3.12/functools.py:995: in __get__
    val = self.func(instance)
firedrake/solving_utils.py:493: in _jac
    return self._assembler_jac.allocate()
firedrake/assemble.py:1316: in allocate
    self._make_maps_and_regions())
firedrake/assemble.py:1345: in _make_maps_and_regions
    elif any(local_kernel.indices == (None, None) for assembler in self._all_assemblers for local_kernel, _ in assembler.local_kernels):
firedrake/assemble.py:1345: in <genexpr>
    elif any(local_kernel.indices == (None, None) for assembler in self._all_assemblers for local_kernel, _ in assembler.local_kernels):
/usr/lib/python3.12/functools.py:995: in __get__
    val = self.func(instance)
firedrake/assemble.py:1054: in local_kernels
    kernels = tsfc_interface.compile_form(
petsc4py/PETSc/Log.pyx:188: in petsc4py.PETSc.Log.EventDecorator.decorator.wrapped_func
    ???
petsc4py/PETSc/Log.pyx:189: in petsc4py.PETSc.Log.EventDecorator.decorator.wrapped_func
    ???
pyop2/caching.py:550: in wrapper
    value = func(*args, **kwargs)
petsc4py/PETSc/Log.pyx:188: in petsc4py.PETSc.Log.EventDecorator.decorator.wrapped_func
    ???
petsc4py/PETSc/Log.pyx:189: in petsc4py.PETSc.Log.EventDecorator.decorator.wrapped_func
    ???
pyop2/caching.py:550: in wrapper
    value = func(*args, **kwargs)
petsc4py/PETSc/Log.pyx:188: in petsc4py.PETSc.Log.EventDecorator.decorator.wrapped_func
    ???
petsc4py/PETSc/Log.pyx:189: in petsc4py.PETSc.Log.EventDecorator.decorator.wrapped_func
    ???
firedrake/tsfc_interface.py:220: in compile_form
    tsfc_kernel = TSFCKernel(
firedrake/tsfc_interface.py:95: in __init__
    tree = tsfc_compile_form(form, prefix=name, parameters=parameters,
petsc4py/PETSc/Log.pyx:188: in petsc4py.PETSc.Log.EventDecorator.decorator.wrapped_func
    ???
petsc4py/PETSc/Log.pyx:189: in petsc4py.PETSc.Log.EventDecorator.decorator.wrapped_func
    ???
pyop2/caching.py:550: in wrapper
    value = func(*args, **kwargs)
petsc4py/PETSc/Log.pyx:188: in petsc4py.PETSc.Log.EventDecorator.decorator.wrapped_func
    ???
petsc4py/PETSc/Log.pyx:189: in petsc4py.PETSc.Log.EventDecorator.decorator.wrapped_func
    ???
pyop2/caching.py:550: in wrapper
    value = func(*args, **kwargs)
tsfc/driver.py:74: in compile_form
    kernel = compile_integral(integral_data, fd, prefix, parameters, interface=interface, diagonal=diagonal, log=log)
tsfc/driver.py:137: in compile_integral
    integrand_exprs = builder.compile_integrand(integrand, params, ctx)
tsfc/kernel_interface/common.py:141: in compile_integrand
    set_quad_rule(params, info.domain.ufl_cell(), info.integral_type, functions)
tsfc/kernel_interface/common.py:320: in set_quad_rule
    fiat_cell = max_complex(fiat_cells)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

complexes = [<FIAT.reference_element.TensorProductCell object at 0x7feea7061790>, <FIAT.reference_element.TensorProductCell object at 0x7feea7060b00>, <FIAT.reference_element.TensorProductCell object at 0x7feea7060b00>]

    def max_complex(complexes):
        max_cell = max(complexes)
        if all(max_cell >= b for b in complexes):
            return max_cell
        else:
>           raise ValueError("Cannot find the maximal complex")
E           ValueError: Cannot find the maximal complex

../firedrake_venv/src/fiat/FIAT/reference_element.py:1801: ValueError

Check failure on line 82 in tests/firedrake/regression/test_zero_forms.py

See this annotation in the file changed.

@github-actions github-actions / Firedrake complex

test_zero_forms.test_math_functions[True-tanh(f) + cos(f) + sin(f)-1-constant-tensor]

AttributeError: 'MeshTopology' object has no attribute 'extruded'
Raw output
mesh = Mesh(VectorElement(FiniteElement('Q', quadrilateral Complex, 1), dim=2), 38)
expr = 'tanh(f) + cos(f) + sin(f)', value = 1, typ = 'constant'
fs_type = 'tensor'

    @pytest.mark.parametrize(['expr', 'value', 'typ', 'fs_type'],
                             itertools.product(['f',
                                                '2*f',
                                                'tanh(f)',
                                                '2 * tanh(f)',
                                                'f + tanh(f)',
                                                'cos(f) + sin(f)',
                                                'cos(f)*cos(f) + sin(f)*sin(f)',
                                                'tanh(f) + cos(f) + sin(f)',
                                                '1.0/tanh(f) + 1.0/f',
                                                'sqrt(f*f)',
                                                '1.0/tanh(sqrt(f*f)) + 1.0/f + sqrt(f*f)'],
                                               [1, 10, 20, -1, -10, -20],
                                               ['function', 'constant'],
                                               ['scalar', 'vector', 'tensor']))
    def test_math_functions(mesh, expr, value, typ, fs_type):
        if typ == 'function':
            family, degree = 'CG', 1
        elif typ == 'constant':
            family, degree = 'Real', 0
    
        if fs_type == "vector":
            V = VectorFunctionSpace(mesh, family, degree)
        elif fs_type == "tensor":
            V = TensorFunctionSpace(mesh, family, degree)
        else:
            V = FunctionSpace(mesh, family, degree)
        f = Function(V)
        f.assign(value)
        if fs_type == "vector":
            f = dot(f, f)
        elif fs_type == "tensor":
            f = inner(f, f)
    
>       actual = assemble(eval(expr)*dx)

tests/firedrake/regression/test_zero_forms.py:82: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
petsc4py/PETSc/Log.pyx:188: in petsc4py.PETSc.Log.EventDecorator.decorator.wrapped_func
    ???
petsc4py/PETSc/Log.pyx:189: in petsc4py.PETSc.Log.EventDecorator.decorator.wrapped_func
    ???
firedrake/adjoint_utils/assembly.py:30: in wrapper
    output = assemble(form, *args, **kwargs)
firedrake/assemble.py:134: in assemble
    return get_assembler(expr, *args, **kwargs).assemble(tensor=tensor)
firedrake/assemble.py:983: in assemble
    self.execute_parloops(tensor)
firedrake/assemble.py:1004: in execute_parloops
    for parloop in self.parloops(tensor):
firedrake/assemble.py:1016: in parloops
    for local_kernel, subdomain_id in self.local_kernels:
/usr/lib/python3.12/functools.py:995: in __get__
    val = self.func(instance)
firedrake/assemble.py:1054: in local_kernels
    kernels = tsfc_interface.compile_form(
petsc4py/PETSc/Log.pyx:188: in petsc4py.PETSc.Log.EventDecorator.decorator.wrapped_func
    ???
petsc4py/PETSc/Log.pyx:189: in petsc4py.PETSc.Log.EventDecorator.decorator.wrapped_func
    ???
pyop2/caching.py:522: in wrapper
    k = hashkey(*args, **kwargs)
firedrake/tsfc_interface.py:140: in _compile_form_hashkey
    args[0].signature(),
../firedrake_venv/src/ufl/ufl/form.py:418: in signature
    self._compute_signature()
../firedrake_venv/src/ufl/ufl/form.py:671: in _compute_signature
    self._signature = compute_form_signature(self, self._compute_renumbering())
../firedrake_venv/src/ufl/ufl/algorithms/signature.py:137: in compute_form_signature
    terminal_hashdata = compute_terminal_hashdata(integrands, renumbering)
../firedrake_venv/src/ufl/ufl/algorithms/signature.py:65: in compute_terminal_hashdata
    data = expr._ufl_signature_data_(renumbering)
../firedrake_venv/src/ufl/ufl/coefficient.py:84: in _ufl_signature_data_
    fsdata = self._ufl_function_space._ufl_signature_data_(renumbering)
firedrake/functionspaceimpl.py:131: in _ufl_signature_data_
    super()._ufl_signature_data_(*args, **kwargs))
../firedrake_venv/src/ufl/ufl/functionspace.py:176: in _ufl_signature_data_
    return BaseFunctionSpace._ufl_signature_data_(self, renumbering, "FunctionSpace")
../firedrake_venv/src/ufl/ufl/functionspace.py:138: in _ufl_signature_data_
    ddata = domain._ufl_signature_data_(renumbering)
firedrake/mesh.py:2273: in _ufl_signature_data_
    return (type(self), self.extruded, self.variable_layers,
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = Mesh(VectorElement(FiniteElement('Q', quadrilateral Complex, 1), dim=2), 38)
name = 'extruded'

    def __getattr__(self, name):
>       val = getattr(self._topology, name)
E       AttributeError: 'MeshTopology' object has no attribute 'extruded'

firedrake/mesh.py:2796: AttributeError

Check failure on line 70 in tests/firedrake/submesh/test_submesh_interpolate.py

See this annotation in the file changed.

@github-actions github-actions / Firedrake complex

test_submesh_interpolate.test_submesh_interpolate_cell_cell_hex_1_processes[distribution_parameters1-LT-LT-LT-fe_fesub0-8]

TypeError: Cell complex construction undefined for hexahedron
Raw output
fe_fesub = [('DQ', 0), ('DQ', 0)], nelem = 8
condx = <class 'ufl.conditional.LT'>, condy = <class 'ufl.conditional.LT'>
condz = <class 'ufl.conditional.LT'>
distribution_parameters = {'overlap_type': (<DistributedMeshOverlapType.NONE: 1>, 0)}

    @pytest.mark.parametrize('nelem', [2, 4, 8, None])
    @pytest.mark.parametrize('fe_fesub', [[("DQ", 0), ("DQ", 0)],
                                          [("Q", 4), ("DQ", 5)]])
    @pytest.mark.parametrize('condx', [LT])
    @pytest.mark.parametrize('condy', [LT])
    @pytest.mark.parametrize('condz', [LT])
    @pytest.mark.parametrize('distribution_parameters', [None, {"overlap_type": (DistributedMeshOverlapType.NONE, 0)}])
    def test_submesh_interpolate_cell_cell_hex_1_processes(fe_fesub, nelem, condx, condy, condz, distribution_parameters):
        if nelem is None:
            mesh = Mesh(join(cwd, "..", "meshes", "cube_hex.msh"), distribution_parameters=distribution_parameters)
        else:
>           mesh = UnitCubeMesh(nelem, nelem, nelem, hexahedral=True, distribution_parameters=distribution_parameters)

tests/firedrake/submesh/test_submesh_interpolate.py:70: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
petsc4py/PETSc/Log.pyx:188: in petsc4py.PETSc.Log.EventDecorator.decorator.wrapped_func
    ???
petsc4py/PETSc/Log.pyx:189: in petsc4py.PETSc.Log.EventDecorator.decorator.wrapped_func
    ???
firedrake/utility_meshes.py:1780: in UnitCubeMesh
    return CubeMesh(
petsc4py/PETSc/Log.pyx:188: in petsc4py.PETSc.Log.EventDecorator.decorator.wrapped_func
    ???
petsc4py/PETSc/Log.pyx:189: in petsc4py.PETSc.Log.EventDecorator.decorator.wrapped_func
    ???
firedrake/utility_meshes.py:1723: in CubeMesh
    return BoxMesh(
petsc4py/PETSc/Log.pyx:188: in petsc4py.PETSc.Log.EventDecorator.decorator.wrapped_func
    ???
petsc4py/PETSc/Log.pyx:189: in petsc4py.PETSc.Log.EventDecorator.decorator.wrapped_func
    ???
firedrake/utility_meshes.py:1653: in BoxMesh
    m = mesh.Mesh(
petsc4py/PETSc/Log.pyx:188: in petsc4py.PETSc.Log.EventDecorator.decorator.wrapped_func
    ???
petsc4py/PETSc/Log.pyx:189: in petsc4py.PETSc.Log.EventDecorator.decorator.wrapped_func
    ???
firedrake/mesh.py:3093: in Mesh
    mesh = make_mesh_from_mesh_topology(topology, name)
firedrake/mesh.py:2884: in make_mesh_from_mesh_topology
    cell = topology.ufl_cell()
firedrake/mesh.py:731: in ufl_cell
    return self._ufl_cell
/usr/lib/python3.12/functools.py:995: in __get__
    val = self.func(instance)
firedrake/mesh.py:1227: in _ufl_cell
    return constructCellComplex(_cells[tdim][nfacets])
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

name = 'hexahedron'

    def constructCellComplex(name):
        if name == "vertex":
            return Point(0).to_ufl(name)
        elif name == "interval":
            return Point(1, [Point(0), Point(0)], vertex_num=2).to_ufl(name)
        elif name == "triangle":
            return n_sided_polygon(3).to_ufl(name)
        elif name == "quadrilateral":
            # return Cell(name)
            return n_sided_polygon(4).to_ufl(name)
        elif name == "tetrahedron":
            return make_tetrahedron().to_ufl(name)
        else:
>           raise TypeError("Cell complex construction undefined for {}".format(str(name)))
E           TypeError: Cell complex construction undefined for hexahedron

../firedrake_venv/src/redefining_fe/redefining_fe/cells.py:831: TypeError

Check failure on line 68 in tests/firedrake/submesh/test_submesh_interpolate.py

See this annotation in the file changed.

@github-actions github-actions / Firedrake complex

test_submesh_interpolate.test_submesh_interpolate_cell_cell_hex_1_processes[distribution_parameters1-LT-LT-LT-fe_fesub0-None]

TypeError: Cell complex construction undefined for hexahedron
Raw output
fe_fesub = [('DQ', 0), ('DQ', 0)], nelem = None
condx = <class 'ufl.conditional.LT'>, condy = <class 'ufl.conditional.LT'>
condz = <class 'ufl.conditional.LT'>
distribution_parameters = {'overlap_type': (<DistributedMeshOverlapType.NONE: 1>, 0)}

    @pytest.mark.parametrize('nelem', [2, 4, 8, None])
    @pytest.mark.parametrize('fe_fesub', [[("DQ", 0), ("DQ", 0)],
                                          [("Q", 4), ("DQ", 5)]])
    @pytest.mark.parametrize('condx', [LT])
    @pytest.mark.parametrize('condy', [LT])
    @pytest.mark.parametrize('condz', [LT])
    @pytest.mark.parametrize('distribution_parameters', [None, {"overlap_type": (DistributedMeshOverlapType.NONE, 0)}])
    def test_submesh_interpolate_cell_cell_hex_1_processes(fe_fesub, nelem, condx, condy, condz, distribution_parameters):
        if nelem is None:
>           mesh = Mesh(join(cwd, "..", "meshes", "cube_hex.msh"), distribution_parameters=distribution_parameters)

tests/firedrake/submesh/test_submesh_interpolate.py:68: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
petsc4py/PETSc/Log.pyx:188: in petsc4py.PETSc.Log.EventDecorator.decorator.wrapped_func
    ???
petsc4py/PETSc/Log.pyx:189: in petsc4py.PETSc.Log.EventDecorator.decorator.wrapped_func
    ???
firedrake/mesh.py:3093: in Mesh
    mesh = make_mesh_from_mesh_topology(topology, name)
firedrake/mesh.py:2884: in make_mesh_from_mesh_topology
    cell = topology.ufl_cell()
firedrake/mesh.py:731: in ufl_cell
    return self._ufl_cell
/usr/lib/python3.12/functools.py:995: in __get__
    val = self.func(instance)
firedrake/mesh.py:1227: in _ufl_cell
    return constructCellComplex(_cells[tdim][nfacets])
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

name = 'hexahedron'

    def constructCellComplex(name):
        if name == "vertex":
            return Point(0).to_ufl(name)
        elif name == "interval":
            return Point(1, [Point(0), Point(0)], vertex_num=2).to_ufl(name)
        elif name == "triangle":
            return n_sided_polygon(3).to_ufl(name)
        elif name == "quadrilateral":
            # return Cell(name)
            return n_sided_polygon(4).to_ufl(name)
        elif name == "tetrahedron":
            return make_tetrahedron().to_ufl(name)
        else:
>           raise TypeError("Cell complex construction undefined for {}".format(str(name)))
E           TypeError: Cell complex construction undefined for hexahedron

../firedrake_venv/src/redefining_fe/redefining_fe/cells.py:831: TypeError

Check failure on line 74 in tests/firedrake/regression/test_zero_forms.py

See this annotation in the file changed.

@github-actions github-actions / Firedrake complex

test_zero_forms.test_math_functions[True-tanh(f) + cos(f) + sin(f)-10-function-scalar]

NotImplementedError: Non-Simplex elements are not yet supported
Raw output
mesh = Mesh(VectorElement(FiniteElement('Q', quadrilateral Complex, 1), dim=2), 38)
expr = 'tanh(f) + cos(f) + sin(f)', value = 10, typ = 'function'
fs_type = 'scalar'

    @pytest.mark.parametrize(['expr', 'value', 'typ', 'fs_type'],
                             itertools.product(['f',
                                                '2*f',
                                                'tanh(f)',
                                                '2 * tanh(f)',
                                                'f + tanh(f)',
                                                'cos(f) + sin(f)',
                                                'cos(f)*cos(f) + sin(f)*sin(f)',
                                                'tanh(f) + cos(f) + sin(f)',
                                                '1.0/tanh(f) + 1.0/f',
                                                'sqrt(f*f)',
                                                '1.0/tanh(sqrt(f*f)) + 1.0/f + sqrt(f*f)'],
                                               [1, 10, 20, -1, -10, -20],
                                               ['function', 'constant'],
                                               ['scalar', 'vector', 'tensor']))
    def test_math_functions(mesh, expr, value, typ, fs_type):
        if typ == 'function':
            family, degree = 'CG', 1
        elif typ == 'constant':
            family, degree = 'Real', 0
    
        if fs_type == "vector":
            V = VectorFunctionSpace(mesh, family, degree)
        elif fs_type == "tensor":
            V = TensorFunctionSpace(mesh, family, degree)
        else:
>           V = FunctionSpace(mesh, family, degree)

tests/firedrake/regression/test_zero_forms.py:74: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
petsc4py/PETSc/Log.pyx:188: in petsc4py.PETSc.Log.EventDecorator.decorator.wrapped_func
    ???
petsc4py/PETSc/Log.pyx:189: in petsc4py.PETSc.Log.EventDecorator.decorator.wrapped_func
    ???
firedrake/functionspace.py:105: in FunctionSpace
    return impl.WithGeometry.make_function_space(mesh, element, name=name)
firedrake/functionspaceimpl.py:371: in make_function_space
    new = FunctionSpace(topology, element, name=name)
petsc4py/PETSc/Log.pyx:188: in petsc4py.PETSc.Log.EventDecorator.decorator.wrapped_func
    ???
petsc4py/PETSc/Log.pyx:189: in petsc4py.PETSc.Log.EventDecorator.decorator.wrapped_func
    ???
firedrake/functionspaceimpl.py:520: in __init__
    self.set_shared_data()
firedrake/functionspaceimpl.py:529: in set_shared_data
    sdata = get_shared_data(self._mesh, element)
petsc4py/PETSc/Log.pyx:188: in petsc4py.PETSc.Log.EventDecorator.decorator.wrapped_func
    ???
petsc4py/PETSc/Log.pyx:189: in petsc4py.PETSc.Log.EventDecorator.decorator.wrapped_func
    ???
firedrake/functionspacedata.py:541: in get_shared_data
    return FunctionSpaceData(mesh, ufl_element, boundary_set)
petsc4py/PETSc/Log.pyx:188: in petsc4py.PETSc.Log.EventDecorator.decorator.wrapped_func
    ???
petsc4py/PETSc/Log.pyx:189: in petsc4py.PETSc.Log.EventDecorator.decorator.wrapped_func
    ???
firedrake/functionspacedata.py:420: in __init__
    finat_element = create_element(ufl_element)
petsc4py/PETSc/Log.pyx:188: in petsc4py.PETSc.Log.EventDecorator.decorator.wrapped_func
    ???
petsc4py/PETSc/Log.pyx:189: in petsc4py.PETSc.Log.EventDecorator.decorator.wrapped_func
    ???
firedrake/functionspacedata.py:42: in create_element
    finat_element = _create_element(ufl_element)
tsfc/finatinterface.py:325: in create_element
    finat_element, deps = _create_element(ufl_element,
tsfc/finatinterface.py:355: in _create_element
    finat_element, deps = convert(ufl_element, **kwargs)
/usr/lib/python3.12/functools.py:909: in wrapper
    return dispatch(args[0].__class__)(*args, **kw)
tsfc/finatinterface.py:153: in convert_finiteelement
    cell = as_fiat_cell(element.cell)
tsfc/finatinterface.py:116: in as_fiat_cell
    return cell.to_fiat()
../firedrake_venv/src/redefining_fe/redefining_fe/cells.py:802: in to_fiat
    return self.cell_complex.to_fiat()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = f15

    def to_fiat(self):
        if len(self.get_topology()[self.dimension][0]) == self.dimension + 1:
            return CellComplexToFiatSimplex(self)
>       raise NotImplementedError("Non-Simplex elements are not yet supported")
E       NotImplementedError: Non-Simplex elements are not yet supported

../firedrake_venv/src/redefining_fe/redefining_fe/cells.py:617: NotImplementedError

Check failure on line 70 in tests/firedrake/submesh/test_submesh_interpolate.py

See this annotation in the file changed.

@github-actions github-actions / Firedrake complex

test_submesh_interpolate.test_submesh_interpolate_cell_cell_hex_1_processes[distribution_parameters1-LT-LT-LT-fe_fesub1-2]

TypeError: Cell complex construction undefined for hexahedron
Raw output
fe_fesub = [('Q', 4), ('DQ', 5)], nelem = 2
condx = <class 'ufl.conditional.LT'>, condy = <class 'ufl.conditional.LT'>
condz = <class 'ufl.conditional.LT'>
distribution_parameters = {'overlap_type': (<DistributedMeshOverlapType.NONE: 1>, 0)}

    @pytest.mark.parametrize('nelem', [2, 4, 8, None])
    @pytest.mark.parametrize('fe_fesub', [[("DQ", 0), ("DQ", 0)],
                                          [("Q", 4), ("DQ", 5)]])
    @pytest.mark.parametrize('condx', [LT])
    @pytest.mark.parametrize('condy', [LT])
    @pytest.mark.parametrize('condz', [LT])
    @pytest.mark.parametrize('distribution_parameters', [None, {"overlap_type": (DistributedMeshOverlapType.NONE, 0)}])
    def test_submesh_interpolate_cell_cell_hex_1_processes(fe_fesub, nelem, condx, condy, condz, distribution_parameters):
        if nelem is None:
            mesh = Mesh(join(cwd, "..", "meshes", "cube_hex.msh"), distribution_parameters=distribution_parameters)
        else:
>           mesh = UnitCubeMesh(nelem, nelem, nelem, hexahedral=True, distribution_parameters=distribution_parameters)

tests/firedrake/submesh/test_submesh_interpolate.py:70: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
petsc4py/PETSc/Log.pyx:188: in petsc4py.PETSc.Log.EventDecorator.decorator.wrapped_func
    ???
petsc4py/PETSc/Log.pyx:189: in petsc4py.PETSc.Log.EventDecorator.decorator.wrapped_func
    ???
firedrake/utility_meshes.py:1780: in UnitCubeMesh
    return CubeMesh(
petsc4py/PETSc/Log.pyx:188: in petsc4py.PETSc.Log.EventDecorator.decorator.wrapped_func
    ???
petsc4py/PETSc/Log.pyx:189: in petsc4py.PETSc.Log.EventDecorator.decorator.wrapped_func
    ???
firedrake/utility_meshes.py:1723: in CubeMesh
    return BoxMesh(
petsc4py/PETSc/Log.pyx:188: in petsc4py.PETSc.Log.EventDecorator.decorator.wrapped_func
    ???
petsc4py/PETSc/Log.pyx:189: in petsc4py.PETSc.Log.EventDecorator.decorator.wrapped_func
    ???
firedrake/utility_meshes.py:1653: in BoxMesh
    m = mesh.Mesh(
petsc4py/PETSc/Log.pyx:188: in petsc4py.PETSc.Log.EventDecorator.decorator.wrapped_func
    ???
petsc4py/PETSc/Log.pyx:189: in petsc4py.PETSc.Log.EventDecorator.decorator.wrapped_func
    ???
firedrake/mesh.py:3093: in Mesh
    mesh = make_mesh_from_mesh_topology(topology, name)
firedrake/mesh.py:2884: in make_mesh_from_mesh_topology
    cell = topology.ufl_cell()
firedrake/mesh.py:731: in ufl_cell
    return self._ufl_cell
/usr/lib/python3.12/functools.py:995: in __get__
    val = self.func(instance)
firedrake/mesh.py:1227: in _ufl_cell
    return constructCellComplex(_cells[tdim][nfacets])
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

name = 'hexahedron'

    def constructCellComplex(name):
        if name == "vertex":
            return Point(0).to_ufl(name)
        elif name == "interval":
            return Point(1, [Point(0), Point(0)], vertex_num=2).to_ufl(name)
        elif name == "triangle":
            return n_sided_polygon(3).to_ufl(name)
        elif name == "quadrilateral":
            # return Cell(name)
            return n_sided_polygon(4).to_ufl(name)
        elif name == "tetrahedron":
            return make_tetrahedron().to_ufl(name)
        else:
>           raise TypeError("Cell complex construction undefined for {}".format(str(name)))
E           TypeError: Cell complex construction undefined for hexahedron

../firedrake_venv/src/redefining_fe/redefining_fe/cells.py:831: TypeError

Check failure on line 70 in tests/firedrake/regression/test_zero_forms.py

See this annotation in the file changed.

@github-actions github-actions / Firedrake complex

test_zero_forms.test_math_functions[True-tanh(f) + cos(f) + sin(f)-10-function-vector]

NotImplementedError: Non-Simplex elements are not yet supported
Raw output
mesh = Mesh(VectorElement(FiniteElement('Q', quadrilateral Complex, 1), dim=2), 38)
expr = 'tanh(f) + cos(f) + sin(f)', value = 10, typ = 'function'
fs_type = 'vector'

    @pytest.mark.parametrize(['expr', 'value', 'typ', 'fs_type'],
                             itertools.product(['f',
                                                '2*f',
                                                'tanh(f)',
                                                '2 * tanh(f)',
                                                'f + tanh(f)',
                                                'cos(f) + sin(f)',
                                                'cos(f)*cos(f) + sin(f)*sin(f)',
                                                'tanh(f) + cos(f) + sin(f)',
                                                '1.0/tanh(f) + 1.0/f',
                                                'sqrt(f*f)',
                                                '1.0/tanh(sqrt(f*f)) + 1.0/f + sqrt(f*f)'],
                                               [1, 10, 20, -1, -10, -20],
                                               ['function', 'constant'],
                                               ['scalar', 'vector', 'tensor']))
    def test_math_functions(mesh, expr, value, typ, fs_type):
        if typ == 'function':
            family, degree = 'CG', 1
        elif typ == 'constant':
            family, degree = 'Real', 0
    
        if fs_type == "vector":
>           V = VectorFunctionSpace(mesh, family, degree)

tests/firedrake/regression/test_zero_forms.py:70: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
petsc4py/PETSc/Log.pyx:188: in petsc4py.PETSc.Log.EventDecorator.decorator.wrapped_func
    ???
petsc4py/PETSc/Log.pyx:189: in petsc4py.PETSc.Log.EventDecorator.decorator.wrapped_func
    ???
firedrake/functionspace.py:191: in VectorFunctionSpace
    return FunctionSpace(mesh, element, name=name)
petsc4py/PETSc/Log.pyx:188: in petsc4py.PETSc.Log.EventDecorator.decorator.wrapped_func
    ???
petsc4py/PETSc/Log.pyx:189: in petsc4py.PETSc.Log.EventDecorator.decorator.wrapped_func
    ???
firedrake/functionspace.py:105: in FunctionSpace
    return impl.WithGeometry.make_function_space(mesh, element, name=name)
firedrake/functionspaceimpl.py:371: in make_function_space
    new = FunctionSpace(topology, element, name=name)
petsc4py/PETSc/Log.pyx:188: in petsc4py.PETSc.Log.EventDecorator.decorator.wrapped_func
    ???
petsc4py/PETSc/Log.pyx:189: in petsc4py.PETSc.Log.EventDecorator.decorator.wrapped_func
    ???
firedrake/functionspaceimpl.py:520: in __init__
    self.set_shared_data()
firedrake/functionspaceimpl.py:529: in set_shared_data
    sdata = get_shared_data(self._mesh, element)
petsc4py/PETSc/Log.pyx:188: in petsc4py.PETSc.Log.EventDecorator.decorator.wrapped_func
    ???
petsc4py/PETSc/Log.pyx:189: in petsc4py.PETSc.Log.EventDecorator.decorator.wrapped_func
    ???
firedrake/functionspacedata.py:541: in get_shared_data
    return FunctionSpaceData(mesh, ufl_element, boundary_set)
petsc4py/PETSc/Log.pyx:188: in petsc4py.PETSc.Log.EventDecorator.decorator.wrapped_func
    ???
petsc4py/PETSc/Log.pyx:189: in petsc4py.PETSc.Log.EventDecorator.decorator.wrapped_func
    ???
firedrake/functionspacedata.py:420: in __init__
    finat_element = create_element(ufl_element)
petsc4py/PETSc/Log.pyx:188: in petsc4py.PETSc.Log.EventDecorator.decorator.wrapped_func
    ???
petsc4py/PETSc/Log.pyx:189: in petsc4py.PETSc.Log.EventDecorator.decorator.wrapped_func
    ???
firedrake/functionspacedata.py:42: in create_element
    finat_element = _create_element(ufl_element)
tsfc/finatinterface.py:325: in create_element
    finat_element, deps = _create_element(ufl_element,
tsfc/finatinterface.py:355: in _create_element
    finat_element, deps = convert(ufl_element, **kwargs)
/usr/lib/python3.12/functools.py:909: in wrapper
    return dispatch(args[0].__class__)(*args, **kw)
tsfc/finatinterface.py:263: in convert_tensorelement
    inner_elem, deps = _create_element(element.sub_elements[0], **kwargs)
tsfc/finatinterface.py:355: in _create_element
    finat_element, deps = convert(ufl_element, **kwargs)
/usr/lib/python3.12/functools.py:909: in wrapper
    return dispatch(args[0].__class__)(*args, **kw)
tsfc/finatinterface.py:153: in convert_finiteelement
    cell = as_fiat_cell(element.cell)
tsfc/finatinterface.py:116: in as_fiat_cell
    return cell.to_fiat()
../firedrake_venv/src/redefining_fe/redefining_fe/cells.py:802: in to_fiat
    return self.cell_complex.to_fiat()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = f15

    def to_fiat(self):
        if len(self.get_topology()[self.dimension][0]) == self.dimension + 1:
            return CellComplexToFiatSimplex(self)
>       raise NotImplementedError("Non-Simplex elements are not yet supported")
E       NotImplementedError: Non-Simplex elements are not yet supported

../firedrake_venv/src/redefining_fe/redefining_fe/cells.py:617: NotImplementedError

Check failure on line 72 in tests/firedrake/regression/test_zero_forms.py

See this annotation in the file changed.

@github-actions github-actions / Firedrake complex

test_zero_forms.test_math_functions[True-tanh(f) + cos(f) + sin(f)-10-function-tensor]

NotImplementedError: Non-Simplex elements are not yet supported
Raw output
mesh = Mesh(VectorElement(FiniteElement('Q', quadrilateral Complex, 1), dim=2), 38)
expr = 'tanh(f) + cos(f) + sin(f)', value = 10, typ = 'function'
fs_type = 'tensor'

    @pytest.mark.parametrize(['expr', 'value', 'typ', 'fs_type'],
                             itertools.product(['f',
                                                '2*f',
                                                'tanh(f)',
                                                '2 * tanh(f)',
                                                'f + tanh(f)',
                                                'cos(f) + sin(f)',
                                                'cos(f)*cos(f) + sin(f)*sin(f)',
                                                'tanh(f) + cos(f) + sin(f)',
                                                '1.0/tanh(f) + 1.0/f',
                                                'sqrt(f*f)',
                                                '1.0/tanh(sqrt(f*f)) + 1.0/f + sqrt(f*f)'],
                                               [1, 10, 20, -1, -10, -20],
                                               ['function', 'constant'],
                                               ['scalar', 'vector', 'tensor']))
    def test_math_functions(mesh, expr, value, typ, fs_type):
        if typ == 'function':
            family, degree = 'CG', 1
        elif typ == 'constant':
            family, degree = 'Real', 0
    
        if fs_type == "vector":
            V = VectorFunctionSpace(mesh, family, degree)
        elif fs_type == "tensor":
>           V = TensorFunctionSpace(mesh, family, degree)

tests/firedrake/regression/test_zero_forms.py:72: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
petsc4py/PETSc/Log.pyx:188: in petsc4py.PETSc.Log.EventDecorator.decorator.wrapped_func
    ???
petsc4py/PETSc/Log.pyx:189: in petsc4py.PETSc.Log.EventDecorator.decorator.wrapped_func
    ???
firedrake/functionspace.py:242: in TensorFunctionSpace
    return FunctionSpace(mesh, element, name=name)
petsc4py/PETSc/Log.pyx:188: in petsc4py.PETSc.Log.EventDecorator.decorator.wrapped_func
    ???
petsc4py/PETSc/Log.pyx:189: in petsc4py.PETSc.Log.EventDecorator.decorator.wrapped_func
    ???
firedrake/functionspace.py:105: in FunctionSpace
    return impl.WithGeometry.make_function_space(mesh, element, name=name)
firedrake/functionspaceimpl.py:371: in make_function_space
    new = FunctionSpace(topology, element, name=name)
petsc4py/PETSc/Log.pyx:188: in petsc4py.PETSc.Log.EventDecorator.decorator.wrapped_func
    ???
petsc4py/PETSc/Log.pyx:189: in petsc4py.PETSc.Log.EventDecorator.decorator.wrapped_func
    ???
firedrake/functionspaceimpl.py:520: in __init__
    self.set_shared_data()
firedrake/functionspaceimpl.py:529: in set_shared_data
    sdata = get_shared_data(self._mesh, element)
petsc4py/PETSc/Log.pyx:188: in petsc4py.PETSc.Log.EventDecorator.decorator.wrapped_func
    ???
petsc4py/PETSc/Log.pyx:189: in petsc4py.PETSc.Log.EventDecorator.decorator.wrapped_func
    ???
firedrake/functionspacedata.py:541: in get_shared_data
    return FunctionSpaceData(mesh, ufl_element, boundary_set)
petsc4py/PETSc/Log.pyx:188: in petsc4py.PETSc.Log.EventDecorator.decorator.wrapped_func
    ???
petsc4py/PETSc/Log.pyx:189: in petsc4py.PETSc.Log.EventDecorator.decorator.wrapped_func
    ???
firedrake/functionspacedata.py:420: in __init__
    finat_element = create_element(ufl_element)
petsc4py/PETSc/Log.pyx:188: in petsc4py.PETSc.Log.EventDecorator.decorator.wrapped_func
    ???
petsc4py/PETSc/Log.pyx:189: in petsc4py.PETSc.Log.EventDecorator.decorator.wrapped_func
    ???
firedrake/functionspacedata.py:42: in create_element
    finat_element = _create_element(ufl_element)
tsfc/finatinterface.py:325: in create_element
    finat_element, deps = _create_element(ufl_element,
tsfc/finatinterface.py:355: in _create_element
    finat_element, deps = convert(ufl_element, **kwargs)
/usr/lib/python3.12/functools.py:909: in wrapper
    return dispatch(args[0].__class__)(*args, **kw)
tsfc/finatinterface.py:263: in convert_tensorelement
    inner_elem, deps = _create_element(element.sub_elements[0], **kwargs)
tsfc/finatinterface.py:355: in _create_element
    finat_element, deps = convert(ufl_element, **kwargs)
/usr/lib/python3.12/functools.py:909: in wrapper
    return dispatch(args[0].__class__)(*args, **kw)
tsfc/finatinterface.py:153: in convert_finiteelement
    cell = as_fiat_cell(element.cell)
tsfc/finatinterface.py:116: in as_fiat_cell
    return cell.to_fiat()
../firedrake_venv/src/redefining_fe/redefining_fe/cells.py:802: in to_fiat
    return self.cell_complex.to_fiat()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = f15

    def to_fiat(self):
        if len(self.get_topology()[self.dimension][0]) == self.dimension + 1:
            return CellComplexToFiatSimplex(self)
>       raise NotImplementedError("Non-Simplex elements are not yet supported")
E       NotImplementedError: Non-Simplex elements are not yet supported

../firedrake_venv/src/redefining_fe/redefining_fe/cells.py:617: NotImplementedError

Check failure on line 70 in tests/firedrake/submesh/test_submesh_interpolate.py

See this annotation in the file changed.

@github-actions github-actions / Firedrake complex

test_submesh_interpolate.test_submesh_interpolate_cell_cell_hex_1_processes[distribution_parameters1-LT-LT-LT-fe_fesub1-4]

TypeError: Cell complex construction undefined for hexahedron
Raw output
fe_fesub = [('Q', 4), ('DQ', 5)], nelem = 4
condx = <class 'ufl.conditional.LT'>, condy = <class 'ufl.conditional.LT'>
condz = <class 'ufl.conditional.LT'>
distribution_parameters = {'overlap_type': (<DistributedMeshOverlapType.NONE: 1>, 0)}

    @pytest.mark.parametrize('nelem', [2, 4, 8, None])
    @pytest.mark.parametrize('fe_fesub', [[("DQ", 0), ("DQ", 0)],
                                          [("Q", 4), ("DQ", 5)]])
    @pytest.mark.parametrize('condx', [LT])
    @pytest.mark.parametrize('condy', [LT])
    @pytest.mark.parametrize('condz', [LT])
    @pytest.mark.parametrize('distribution_parameters', [None, {"overlap_type": (DistributedMeshOverlapType.NONE, 0)}])
    def test_submesh_interpolate_cell_cell_hex_1_processes(fe_fesub, nelem, condx, condy, condz, distribution_parameters):
        if nelem is None:
            mesh = Mesh(join(cwd, "..", "meshes", "cube_hex.msh"), distribution_parameters=distribution_parameters)
        else:
>           mesh = UnitCubeMesh(nelem, nelem, nelem, hexahedral=True, distribution_parameters=distribution_parameters)

tests/firedrake/submesh/test_submesh_interpolate.py:70: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
petsc4py/PETSc/Log.pyx:188: in petsc4py.PETSc.Log.EventDecorator.decorator.wrapped_func
    ???
petsc4py/PETSc/Log.pyx:189: in petsc4py.PETSc.Log.EventDecorator.decorator.wrapped_func
    ???
firedrake/utility_meshes.py:1780: in UnitCubeMesh
    return CubeMesh(
petsc4py/PETSc/Log.pyx:188: in petsc4py.PETSc.Log.EventDecorator.decorator.wrapped_func
    ???
petsc4py/PETSc/Log.pyx:189: in petsc4py.PETSc.Log.EventDecorator.decorator.wrapped_func
    ???
firedrake/utility_meshes.py:1723: in CubeMesh
    return BoxMesh(
petsc4py/PETSc/Log.pyx:188: in petsc4py.PETSc.Log.EventDecorator.decorator.wrapped_func
    ???
petsc4py/PETSc/Log.pyx:189: in petsc4py.PETSc.Log.EventDecorator.decorator.wrapped_func
    ???
firedrake/utility_meshes.py:1653: in BoxMesh
    m = mesh.Mesh(
petsc4py/PETSc/Log.pyx:188: in petsc4py.PETSc.Log.EventDecorator.decorator.wrapped_func
    ???
petsc4py/PETSc/Log.pyx:189: in petsc4py.PETSc.Log.EventDecorator.decorator.wrapped_func
    ???
firedrake/mesh.py:3093: in Mesh
    mesh = make_mesh_from_mesh_topology(topology, name)
firedrake/mesh.py:2884: in make_mesh_from_mesh_topology
    cell = topology.ufl_cell()
firedrake/mesh.py:731: in ufl_cell
    return self._ufl_cell
/usr/lib/python3.12/functools.py:995: in __get__
    val = self.func(instance)
firedrake/mesh.py:1227: in _ufl_cell
    return constructCellComplex(_cells[tdim][nfacets])
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

name = 'hexahedron'

    def constructCellComplex(name):
        if name == "vertex":
            return Point(0).to_ufl(name)
        elif name == "interval":
            return Point(1, [Point(0), Point(0)], vertex_num=2).to_ufl(name)
        elif name == "triangle":
            return n_sided_polygon(3).to_ufl(name)
        elif name == "quadrilateral":
            # return Cell(name)
            return n_sided_polygon(4).to_ufl(name)
        elif name == "tetrahedron":
            return make_tetrahedron().to_ufl(name)
        else:
>           raise TypeError("Cell complex construction undefined for {}".format(str(name)))
E           TypeError: Cell complex construction undefined for hexahedron

../firedrake_venv/src/redefining_fe/redefining_fe/cells.py:831: TypeError

Check failure on line 82 in tests/firedrake/regression/test_zero_forms.py

See this annotation in the file changed.

@github-actions github-actions / Firedrake complex

test_zero_forms.test_math_functions[True-tanh(f) + cos(f) + sin(f)-10-constant-scalar]

AttributeError: 'MeshTopology' object has no attribute 'extruded'
Raw output
mesh = Mesh(VectorElement(FiniteElement('Q', quadrilateral Complex, 1), dim=2), 38)
expr = 'tanh(f) + cos(f) + sin(f)', value = 10, typ = 'constant'
fs_type = 'scalar'

    @pytest.mark.parametrize(['expr', 'value', 'typ', 'fs_type'],
                             itertools.product(['f',
                                                '2*f',
                                                'tanh(f)',
                                                '2 * tanh(f)',
                                                'f + tanh(f)',
                                                'cos(f) + sin(f)',
                                                'cos(f)*cos(f) + sin(f)*sin(f)',
                                                'tanh(f) + cos(f) + sin(f)',
                                                '1.0/tanh(f) + 1.0/f',
                                                'sqrt(f*f)',
                                                '1.0/tanh(sqrt(f*f)) + 1.0/f + sqrt(f*f)'],
                                               [1, 10, 20, -1, -10, -20],
                                               ['function', 'constant'],
                                               ['scalar', 'vector', 'tensor']))
    def test_math_functions(mesh, expr, value, typ, fs_type):
        if typ == 'function':
            family, degree = 'CG', 1
        elif typ == 'constant':
            family, degree = 'Real', 0
    
        if fs_type == "vector":
            V = VectorFunctionSpace(mesh, family, degree)
        elif fs_type == "tensor":
            V = TensorFunctionSpace(mesh, family, degree)
        else:
            V = FunctionSpace(mesh, family, degree)
        f = Function(V)
        f.assign(value)
        if fs_type == "vector":
            f = dot(f, f)
        elif fs_type == "tensor":
            f = inner(f, f)
    
>       actual = assemble(eval(expr)*dx)

tests/firedrake/regression/test_zero_forms.py:82: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
petsc4py/PETSc/Log.pyx:188: in petsc4py.PETSc.Log.EventDecorator.decorator.wrapped_func
    ???
petsc4py/PETSc/Log.pyx:189: in petsc4py.PETSc.Log.EventDecorator.decorator.wrapped_func
    ???
firedrake/adjoint_utils/assembly.py:30: in wrapper
    output = assemble(form, *args, **kwargs)
firedrake/assemble.py:134: in assemble
    return get_assembler(expr, *args, **kwargs).assemble(tensor=tensor)
firedrake/assemble.py:983: in assemble
    self.execute_parloops(tensor)
firedrake/assemble.py:1004: in execute_parloops
    for parloop in self.parloops(tensor):
firedrake/assemble.py:1016: in parloops
    for local_kernel, subdomain_id in self.local_kernels:
/usr/lib/python3.12/functools.py:995: in __get__
    val = self.func(instance)
firedrake/assemble.py:1054: in local_kernels
    kernels = tsfc_interface.compile_form(
petsc4py/PETSc/Log.pyx:188: in petsc4py.PETSc.Log.EventDecorator.decorator.wrapped_func
    ???
petsc4py/PETSc/Log.pyx:189: in petsc4py.PETSc.Log.EventDecorator.decorator.wrapped_func
    ???
pyop2/caching.py:522: in wrapper
    k = hashkey(*args, **kwargs)
firedrake/tsfc_interface.py:140: in _compile_form_hashkey
    args[0].signature(),
../firedrake_venv/src/ufl/ufl/form.py:418: in signature
    self._compute_signature()
../firedrake_venv/src/ufl/ufl/form.py:671: in _compute_signature
    self._signature = compute_form_signature(self, self._compute_renumbering())
../firedrake_venv/src/ufl/ufl/algorithms/signature.py:137: in compute_form_signature
    terminal_hashdata = compute_terminal_hashdata(integrands, renumbering)
../firedrake_venv/src/ufl/ufl/algorithms/signature.py:65: in compute_terminal_hashdata
    data = expr._ufl_signature_data_(renumbering)
../firedrake_venv/src/ufl/ufl/coefficient.py:84: in _ufl_signature_data_
    fsdata = self._ufl_function_space._ufl_signature_data_(renumbering)
firedrake/functionspaceimpl.py:131: in _ufl_signature_data_
    super()._ufl_signature_data_(*args, **kwargs))
../firedrake_venv/src/ufl/ufl/functionspace.py:176: in _ufl_signature_data_
    return BaseFunctionSpace._ufl_signature_data_(self, renumbering, "FunctionSpace")
../firedrake_venv/src/ufl/ufl/functionspace.py:138: in _ufl_signature_data_
    ddata = domain._ufl_signature_data_(renumbering)
firedrake/mesh.py:2273: in _ufl_signature_data_
    return (type(self), self.extruded, self.variable_layers,
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = Mesh(VectorElement(FiniteElement('Q', quadrilateral Complex, 1), dim=2), 38)
name = 'extruded'

    def __getattr__(self, name):
>       val = getattr(self._topology, name)
E       AttributeError: 'MeshTopology' object has no attribute 'extruded'

firedrake/mesh.py:2796: AttributeError

Check failure on line 70 in tests/firedrake/submesh/test_submesh_interpolate.py

See this annotation in the file changed.

@github-actions github-actions / Firedrake complex

test_submesh_interpolate.test_submesh_interpolate_cell_cell_hex_1_processes[distribution_parameters1-LT-LT-LT-fe_fesub1-8]

TypeError: Cell complex construction undefined for hexahedron
Raw output
fe_fesub = [('Q', 4), ('DQ', 5)], nelem = 8
condx = <class 'ufl.conditional.LT'>, condy = <class 'ufl.conditional.LT'>
condz = <class 'ufl.conditional.LT'>
distribution_parameters = {'overlap_type': (<DistributedMeshOverlapType.NONE: 1>, 0)}

    @pytest.mark.parametrize('nelem', [2, 4, 8, None])
    @pytest.mark.parametrize('fe_fesub', [[("DQ", 0), ("DQ", 0)],
                                          [("Q", 4), ("DQ", 5)]])
    @pytest.mark.parametrize('condx', [LT])
    @pytest.mark.parametrize('condy', [LT])
    @pytest.mark.parametrize('condz', [LT])
    @pytest.mark.parametrize('distribution_parameters', [None, {"overlap_type": (DistributedMeshOverlapType.NONE, 0)}])
    def test_submesh_interpolate_cell_cell_hex_1_processes(fe_fesub, nelem, condx, condy, condz, distribution_parameters):
        if nelem is None:
            mesh = Mesh(join(cwd, "..", "meshes", "cube_hex.msh"), distribution_parameters=distribution_parameters)
        else:
>           mesh = UnitCubeMesh(nelem, nelem, nelem, hexahedral=True, distribution_parameters=distribution_parameters)

tests/firedrake/submesh/test_submesh_interpolate.py:70: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
petsc4py/PETSc/Log.pyx:188: in petsc4py.PETSc.Log.EventDecorator.decorator.wrapped_func
    ???
petsc4py/PETSc/Log.pyx:189: in petsc4py.PETSc.Log.EventDecorator.decorator.wrapped_func
    ???
firedrake/utility_meshes.py:1780: in UnitCubeMesh
    return CubeMesh(
petsc4py/PETSc/Log.pyx:188: in petsc4py.PETSc.Log.EventDecorator.decorator.wrapped_func
    ???
petsc4py/PETSc/Log.pyx:189: in petsc4py.PETSc.Log.EventDecorator.decorator.wrapped_func
    ???
firedrake/utility_meshes.py:1723: in CubeMesh
    return BoxMesh(
petsc4py/PETSc/Log.pyx:188: in petsc4py.PETSc.Log.EventDecorator.decorator.wrapped_func
    ???
petsc4py/PETSc/Log.pyx:189: in petsc4py.PETSc.Log.EventDecorator.decorator.wrapped_func
    ???
firedrake/utility_meshes.py:1653: in BoxMesh
    m = mesh.Mesh(
petsc4py/PETSc/Log.pyx:188: in petsc4py.PETSc.Log.EventDecorator.decorator.wrapped_func
    ???
petsc4py/PETSc/Log.pyx:189: in petsc4py.PETSc.Log.EventDecorator.decorator.wrapped_func
    ???
firedrake/mesh.py:3093: in Mesh
    mesh = make_mesh_from_mesh_topology(topology, name)
firedrake/mesh.py:2884: in make_mesh_from_mesh_topology
    cell = topology.ufl_cell()
firedrake/mesh.py:731: in ufl_cell
    return self._ufl_cell
/usr/lib/python3.12/functools.py:995: in __get__
    val = self.func(instance)
firedrake/mesh.py:1227: in _ufl_cell
    return constructCellComplex(_cells[tdim][nfacets])
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

name = 'hexahedron'

    def constructCellComplex(name):
        if name == "vertex":
            return Point(0).to_ufl(name)
        elif name == "interval":
            return Point(1, [Point(0), Point(0)], vertex_num=2).to_ufl(name)
        elif name == "triangle":
            return n_sided_polygon(3).to_ufl(name)
        elif name == "quadrilateral":
            # return Cell(name)
            return n_sided_polygon(4).to_ufl(name)
        elif name == "tetrahedron":
            return make_tetrahedron().to_ufl(name)
        else:
>           raise TypeError("Cell complex construction undefined for {}".format(str(name)))
E           TypeError: Cell complex construction undefined for hexahedron

../firedrake_venv/src/redefining_fe/redefining_fe/cells.py:831: TypeError

Check failure on line 203 in tests/firedrake/regression/test_function_spaces.py

See this annotation in the file changed.

@github-actions github-actions / Firedrake complex

test_function_spaces.test_reconstruct_mesh[quad-triangle-dual]

NotImplementedError: Non-Simplex elements are not yet supported
Raw output
meshes = (Mesh(VectorElement(FiniteElement('Q', quadrilateral Complex, 1), dim=2), 137), Mesh(VectorElement(FiniteElement('Lagrange', triangle Complex, 1), dim=2), 138))
dual = True

    def test_reconstruct_mesh(meshes, dual):
>       V1 = FunctionSpace(meshes[0], "Lagrange", 1)

tests/firedrake/regression/test_function_spaces.py:203: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
petsc4py/PETSc/Log.pyx:188: in petsc4py.PETSc.Log.EventDecorator.decorator.wrapped_func
    ???
petsc4py/PETSc/Log.pyx:189: in petsc4py.PETSc.Log.EventDecorator.decorator.wrapped_func
    ???
firedrake/functionspace.py:105: in FunctionSpace
    return impl.WithGeometry.make_function_space(mesh, element, name=name)
firedrake/functionspaceimpl.py:359: in make_function_space
    mesh.init()
firedrake/mesh.py:2282: in init
    self._callback(self)
firedrake/mesh.py:2304: in callback
    coordinates_fs = functionspace.FunctionSpace(self.topology, self.ufl_coordinate_element())
petsc4py/PETSc/Log.pyx:188: in petsc4py.PETSc.Log.EventDecorator.decorator.wrapped_func
    ???
petsc4py/PETSc/Log.pyx:189: in petsc4py.PETSc.Log.EventDecorator.decorator.wrapped_func
    ???
firedrake/functionspace.py:105: in FunctionSpace
    return impl.WithGeometry.make_function_space(mesh, element, name=name)
firedrake/functionspaceimpl.py:371: in make_function_space
    new = FunctionSpace(topology, element, name=name)
petsc4py/PETSc/Log.pyx:188: in petsc4py.PETSc.Log.EventDecorator.decorator.wrapped_func
    ???
petsc4py/PETSc/Log.pyx:189: in petsc4py.PETSc.Log.EventDecorator.decorator.wrapped_func
    ???
firedrake/functionspaceimpl.py:520: in __init__
    self.set_shared_data()
firedrake/functionspaceimpl.py:529: in set_shared_data
    sdata = get_shared_data(self._mesh, element)
petsc4py/PETSc/Log.pyx:188: in petsc4py.PETSc.Log.EventDecorator.decorator.wrapped_func
    ???
petsc4py/PETSc/Log.pyx:189: in petsc4py.PETSc.Log.EventDecorator.decorator.wrapped_func
    ???
firedrake/functionspacedata.py:541: in get_shared_data
    return FunctionSpaceData(mesh, ufl_element, boundary_set)
petsc4py/PETSc/Log.pyx:188: in petsc4py.PETSc.Log.EventDecorator.decorator.wrapped_func
    ???
petsc4py/PETSc/Log.pyx:189: in petsc4py.PETSc.Log.EventDecorator.decorator.wrapped_func
    ???
firedrake/functionspacedata.py:420: in __init__
    finat_element = create_element(ufl_element)
petsc4py/PETSc/Log.pyx:188: in petsc4py.PETSc.Log.EventDecorator.decorator.wrapped_func
    ???
petsc4py/PETSc/Log.pyx:189: in petsc4py.PETSc.Log.EventDecorator.decorator.wrapped_func
    ???
firedrake/functionspacedata.py:42: in create_element
    finat_element = _create_element(ufl_element)
tsfc/finatinterface.py:325: in create_element
    finat_element, deps = _create_element(ufl_element,
tsfc/finatinterface.py:355: in _create_element
    finat_element, deps = convert(ufl_element, **kwargs)
/usr/lib/python3.12/functools.py:909: in wrapper
    return dispatch(args[0].__class__)(*args, **kw)
tsfc/finatinterface.py:263: in convert_tensorelement
    inner_elem, deps = _create_element(element.sub_elements[0], **kwargs)
tsfc/finatinterface.py:355: in _create_element
    finat_element, deps = convert(ufl_element, **kwargs)
/usr/lib/python3.12/functools.py:909: in wrapper
    return dispatch(args[0].__class__)(*args, **kw)
tsfc/finatinterface.py:153: in convert_finiteelement
    cell = as_fiat_cell(element.cell)
tsfc/finatinterface.py:116: in as_fiat_cell
    return cell.to_fiat()
../firedrake_venv/src/redefining_fe/redefining_fe/cells.py:802: in to_fiat
    return self.cell_complex.to_fiat()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = f167

    def to_fiat(self):
        if len(self.get_topology()[self.dimension][0]) == self.dimension + 1:
            return CellComplexToFiatSimplex(self)
>       raise NotImplementedError("Non-Simplex elements are not yet supported")
E       NotImplementedError: Non-Simplex elements are not yet supported

../firedrake_venv/src/redefining_fe/redefining_fe/cells.py:617: NotImplementedError

Check failure on line 68 in tests/firedrake/submesh/test_submesh_interpolate.py

See this annotation in the file changed.

@github-actions github-actions / Firedrake complex

test_submesh_interpolate.test_submesh_interpolate_cell_cell_hex_1_processes[distribution_parameters1-LT-LT-LT-fe_fesub1-None]

TypeError: Cell complex construction undefined for hexahedron
Raw output
fe_fesub = [('Q', 4), ('DQ', 5)], nelem = None
condx = <class 'ufl.conditional.LT'>, condy = <class 'ufl.conditional.LT'>
condz = <class 'ufl.conditional.LT'>
distribution_parameters = {'overlap_type': (<DistributedMeshOverlapType.NONE: 1>, 0)}

    @pytest.mark.parametrize('nelem', [2, 4, 8, None])
    @pytest.mark.parametrize('fe_fesub', [[("DQ", 0), ("DQ", 0)],
                                          [("Q", 4), ("DQ", 5)]])
    @pytest.mark.parametrize('condx', [LT])
    @pytest.mark.parametrize('condy', [LT])
    @pytest.mark.parametrize('condz', [LT])
    @pytest.mark.parametrize('distribution_parameters', [None, {"overlap_type": (DistributedMeshOverlapType.NONE, 0)}])
    def test_submesh_interpolate_cell_cell_hex_1_processes(fe_fesub, nelem, condx, condy, condz, distribution_parameters):
        if nelem is None:
>           mesh = Mesh(join(cwd, "..", "meshes", "cube_hex.msh"), distribution_parameters=distribution_parameters)

tests/firedrake/submesh/test_submesh_interpolate.py:68: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
petsc4py/PETSc/Log.pyx:188: in petsc4py.PETSc.Log.EventDecorator.decorator.wrapped_func
    ???
petsc4py/PETSc/Log.pyx:189: in petsc4py.PETSc.Log.EventDecorator.decorator.wrapped_func
    ???
firedrake/mesh.py:3093: in Mesh
    mesh = make_mesh_from_mesh_topology(topology, name)
firedrake/mesh.py:2884: in make_mesh_from_mesh_topology
    cell = topology.ufl_cell()
firedrake/mesh.py:731: in ufl_cell
    return self._ufl_cell
/usr/lib/python3.12/functools.py:995: in __get__
    val = self.func(instance)
firedrake/mesh.py:1227: in _ufl_cell
    return constructCellComplex(_cells[tdim][nfacets])
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

name = 'hexahedron'

    def constructCellComplex(name):
        if name == "vertex":
            return Point(0).to_ufl(name)
        elif name == "interval":
            return Point(1, [Point(0), Point(0)], vertex_num=2).to_ufl(name)
        elif name == "triangle":
            return n_sided_polygon(3).to_ufl(name)
        elif name == "quadrilateral":
            # return Cell(name)
            return n_sided_polygon(4).to_ufl(name)
        elif name == "tetrahedron":
            return make_tetrahedron().to_ufl(name)
        else:
>           raise TypeError("Cell complex construction undefined for {}".format(str(name)))
E           TypeError: Cell complex construction undefined for hexahedron

../firedrake_venv/src/redefining_fe/redefining_fe/cells.py:831: TypeError

Check failure on line 82 in tests/firedrake/regression/test_zero_forms.py

See this annotation in the file changed.

@github-actions github-actions / Firedrake complex

test_zero_forms.test_math_functions[True-tanh(f) + cos(f) + sin(f)-10-constant-vector]

AttributeError: 'MeshTopology' object has no attribute 'extruded'
Raw output
mesh = Mesh(VectorElement(FiniteElement('Q', quadrilateral Complex, 1), dim=2), 38)
expr = 'tanh(f) + cos(f) + sin(f)', value = 10, typ = 'constant'
fs_type = 'vector'

    @pytest.mark.parametrize(['expr', 'value', 'typ', 'fs_type'],
                             itertools.product(['f',
                                                '2*f',
                                                'tanh(f)',
                                                '2 * tanh(f)',
                                                'f + tanh(f)',
                                                'cos(f) + sin(f)',
                                                'cos(f)*cos(f) + sin(f)*sin(f)',
                                                'tanh(f) + cos(f) + sin(f)',
                                                '1.0/tanh(f) + 1.0/f',
                                                'sqrt(f*f)',
                                                '1.0/tanh(sqrt(f*f)) + 1.0/f + sqrt(f*f)'],
                                               [1, 10, 20, -1, -10, -20],
                                               ['function', 'constant'],
                                               ['scalar', 'vector', 'tensor']))
    def test_math_functions(mesh, expr, value, typ, fs_type):
        if typ == 'function':
            family, degree = 'CG', 1
        elif typ == 'constant':
            family, degree = 'Real', 0
    
        if fs_type == "vector":
            V = VectorFunctionSpace(mesh, family, degree)
        elif fs_type == "tensor":
            V = TensorFunctionSpace(mesh, family, degree)
        else:
            V = FunctionSpace(mesh, family, degree)
        f = Function(V)
        f.assign(value)
        if fs_type == "vector":
            f = dot(f, f)
        elif fs_type == "tensor":
            f = inner(f, f)
    
>       actual = assemble(eval(expr)*dx)

tests/firedrake/regression/test_zero_forms.py:82: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
petsc4py/PETSc/Log.pyx:188: in petsc4py.PETSc.Log.EventDecorator.decorator.wrapped_func
    ???
petsc4py/PETSc/Log.pyx:189: in petsc4py.PETSc.Log.EventDecorator.decorator.wrapped_func
    ???
firedrake/adjoint_utils/assembly.py:30: in wrapper
    output = assemble(form, *args, **kwargs)
firedrake/assemble.py:134: in assemble
    return get_assembler(expr, *args, **kwargs).assemble(tensor=tensor)
firedrake/assemble.py:983: in assemble
    self.execute_parloops(tensor)
firedrake/assemble.py:1004: in execute_parloops
    for parloop in self.parloops(tensor):
firedrake/assemble.py:1016: in parloops
    for local_kernel, subdomain_id in self.local_kernels:
/usr/lib/python3.12/functools.py:995: in __get__
    val = self.func(instance)
firedrake/assemble.py:1054: in local_kernels
    kernels = tsfc_interface.compile_form(
petsc4py/PETSc/Log.pyx:188: in petsc4py.PETSc.Log.EventDecorator.decorator.wrapped_func
    ???
petsc4py/PETSc/Log.pyx:189: in petsc4py.PETSc.Log.EventDecorator.decorator.wrapped_func
    ???
pyop2/caching.py:522: in wrapper
    k = hashkey(*args, **kwargs)
firedrake/tsfc_interface.py:140: in _compile_form_hashkey
    args[0].signature(),
../firedrake_venv/src/ufl/ufl/form.py:418: in signature
    self._compute_signature()
../firedrake_venv/src/ufl/ufl/form.py:671: in _compute_signature
    self._signature = compute_form_signature(self, self._compute_renumbering())
../firedrake_venv/src/ufl/ufl/algorithms/signature.py:137: in compute_form_signature
    terminal_hashdata = compute_terminal_hashdata(integrands, renumbering)
../firedrake_venv/src/ufl/ufl/algorithms/signature.py:65: in compute_terminal_hashdata
    data = expr._ufl_signature_data_(renumbering)
../firedrake_venv/src/ufl/ufl/coefficient.py:84: in _ufl_signature_data_
    fsdata = self._ufl_function_space._ufl_signature_data_(renumbering)
firedrake/functionspaceimpl.py:131: in _ufl_signature_data_
    super()._ufl_signature_data_(*args, **kwargs))
../firedrake_venv/src/ufl/ufl/functionspace.py:176: in _ufl_signature_data_
    return BaseFunctionSpace._ufl_signature_data_(self, renumbering, "FunctionSpace")
../firedrake_venv/src/ufl/ufl/functionspace.py:138: in _ufl_signature_data_
    ddata = domain._ufl_signature_data_(renumbering)
firedrake/mesh.py:2273: in _ufl_signature_data_
    return (type(self), self.extruded, self.variable_layers,
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = Mesh(VectorElement(FiniteElement('Q', quadrilateral Complex, 1), dim=2), 38)
name = 'extruded'

    def __getattr__(self, name):
>       val = getattr(self._topology, name)
E       AttributeError: 'MeshTopology' object has no attribute 'extruded'

firedrake/mesh.py:2796: AttributeError

Check failure on line 203 in tests/firedrake/regression/test_function_spaces.py

See this annotation in the file changed.

@github-actions github-actions / Firedrake complex

test_function_spaces.test_reconstruct_mesh[quad-triangle-primal]

NotImplementedError: Non-Simplex elements are not yet supported
Raw output
meshes = (Mesh(VectorElement(FiniteElement('Q', quadrilateral Complex, 1), dim=2), 137), Mesh(VectorElement(FiniteElement('Lagrange', triangle Complex, 1), dim=2), 138))
dual = False

    def test_reconstruct_mesh(meshes, dual):
>       V1 = FunctionSpace(meshes[0], "Lagrange", 1)

tests/firedrake/regression/test_function_spaces.py:203: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
petsc4py/PETSc/Log.pyx:188: in petsc4py.PETSc.Log.EventDecorator.decorator.wrapped_func
    ???
petsc4py/PETSc/Log.pyx:189: in petsc4py.PETSc.Log.EventDecorator.decorator.wrapped_func
    ???
firedrake/functionspace.py:105: in FunctionSpace
    return impl.WithGeometry.make_function_space(mesh, element, name=name)
firedrake/functionspaceimpl.py:371: in make_function_space
    new = FunctionSpace(topology, element, name=name)
petsc4py/PETSc/Log.pyx:188: in petsc4py.PETSc.Log.EventDecorator.decorator.wrapped_func
    ???
petsc4py/PETSc/Log.pyx:189: in petsc4py.PETSc.Log.EventDecorator.decorator.wrapped_func
    ???
firedrake/functionspaceimpl.py:520: in __init__
    self.set_shared_data()
firedrake/functionspaceimpl.py:529: in set_shared_data
    sdata = get_shared_data(self._mesh, element)
petsc4py/PETSc/Log.pyx:188: in petsc4py.PETSc.Log.EventDecorator.decorator.wrapped_func
    ???
petsc4py/PETSc/Log.pyx:189: in petsc4py.PETSc.Log.EventDecorator.decorator.wrapped_func
    ???
firedrake/functionspacedata.py:541: in get_shared_data
    return FunctionSpaceData(mesh, ufl_element, boundary_set)
petsc4py/PETSc/Log.pyx:188: in petsc4py.PETSc.Log.EventDecorator.decorator.wrapped_func
    ???
petsc4py/PETSc/Log.pyx:189: in petsc4py.PETSc.Log.EventDecorator.decorator.wrapped_func
    ???
firedrake/functionspacedata.py:420: in __init__
    finat_element = create_element(ufl_element)
petsc4py/PETSc/Log.pyx:188: in petsc4py.PETSc.Log.EventDecorator.decorator.wrapped_func
    ???
petsc4py/PETSc/Log.pyx:189: in petsc4py.PETSc.Log.EventDecorator.decorator.wrapped_func
    ???
firedrake/functionspacedata.py:42: in create_element
    finat_element = _create_element(ufl_element)
tsfc/finatinterface.py:325: in create_element
    finat_element, deps = _create_element(ufl_element,
tsfc/finatinterface.py:355: in _create_element
    finat_element, deps = convert(ufl_element, **kwargs)
/usr/lib/python3.12/functools.py:909: in wrapper
    return dispatch(args[0].__class__)(*args, **kw)
tsfc/finatinterface.py:153: in convert_finiteelement
    cell = as_fiat_cell(element.cell)
tsfc/finatinterface.py:116: in as_fiat_cell
    return cell.to_fiat()
../firedrake_venv/src/redefining_fe/redefining_fe/cells.py:802: in to_fiat
    return self.cell_complex.to_fiat()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = f167

    def to_fiat(self):
        if len(self.get_topology()[self.dimension][0]) == self.dimension + 1:
            return CellComplexToFiatSimplex(self)
>       raise NotImplementedError("Non-Simplex elements are not yet supported")
E       NotImplementedError: Non-Simplex elements are not yet supported

../firedrake_venv/src/redefining_fe/redefining_fe/cells.py:617: NotImplementedError

Check failure on line 82 in tests/firedrake/regression/test_zero_forms.py

See this annotation in the file changed.

@github-actions github-actions / Firedrake complex

test_zero_forms.test_math_functions[True-tanh(f) + cos(f) + sin(f)-10-constant-tensor]

AttributeError: 'MeshTopology' object has no attribute 'extruded'
Raw output
mesh = Mesh(VectorElement(FiniteElement('Q', quadrilateral Complex, 1), dim=2), 38)
expr = 'tanh(f) + cos(f) + sin(f)', value = 10, typ = 'constant'
fs_type = 'tensor'

    @pytest.mark.parametrize(['expr', 'value', 'typ', 'fs_type'],
                             itertools.product(['f',
                                                '2*f',
                                                'tanh(f)',
                                                '2 * tanh(f)',
                                                'f + tanh(f)',
                                                'cos(f) + sin(f)',
                                                'cos(f)*cos(f) + sin(f)*sin(f)',
                                                'tanh(f) + cos(f) + sin(f)',
                                                '1.0/tanh(f) + 1.0/f',
                                                'sqrt(f*f)',
                                                '1.0/tanh(sqrt(f*f)) + 1.0/f + sqrt(f*f)'],
                                               [1, 10, 20, -1, -10, -20],
                                               ['function', 'constant'],
                                               ['scalar', 'vector', 'tensor']))
    def test_math_functions(mesh, expr, value, typ, fs_type):
        if typ == 'function':
            family, degree = 'CG', 1
        elif typ == 'constant':
            family, degree = 'Real', 0
    
        if fs_type == "vector":
            V = VectorFunctionSpace(mesh, family, degree)
        elif fs_type == "tensor":
            V = TensorFunctionSpace(mesh, family, degree)
        else:
            V = FunctionSpace(mesh, family, degree)
        f = Function(V)
        f.assign(value)
        if fs_type == "vector":
            f = dot(f, f)
        elif fs_type == "tensor":
            f = inner(f, f)
    
>       actual = assemble(eval(expr)*dx)

tests/firedrake/regression/test_zero_forms.py:82: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
petsc4py/PETSc/Log.pyx:188: in petsc4py.PETSc.Log.EventDecorator.decorator.wrapped_func
    ???
petsc4py/PETSc/Log.pyx:189: in petsc4py.PETSc.Log.EventDecorator.decorator.wrapped_func
    ???
firedrake/adjoint_utils/assembly.py:30: in wrapper
    output = assemble(form, *args, **kwargs)
firedrake/assemble.py:134: in assemble
    return get_assembler(expr, *args, **kwargs).assemble(tensor=tensor)
firedrake/assemble.py:983: in assemble
    self.execute_parloops(tensor)
firedrake/assemble.py:1004: in execute_parloops
    for parloop in self.parloops(tensor):
firedrake/assemble.py:1016: in parloops
    for local_kernel, subdomain_id in self.local_kernels:
/usr/lib/python3.12/functools.py:995: in __get__
    val = self.func(instance)
firedrake/assemble.py:1054: in local_kernels
    kernels = tsfc_interface.compile_form(
petsc4py/PETSc/Log.pyx:188: in petsc4py.PETSc.Log.EventDecorator.decorator.wrapped_func
    ???
petsc4py/PETSc/Log.pyx:189: in petsc4py.PETSc.Log.EventDecorator.decorator.wrapped_func
    ???
pyop2/caching.py:522: in wrapper
    k = hashkey(*args, **kwargs)
firedrake/tsfc_interface.py:140: in _compile_form_hashkey
    args[0].signature(),
../firedrake_venv/src/ufl/ufl/form.py:418: in signature
    self._compute_signature()
../firedrake_venv/src/ufl/ufl/form.py:671: in _compute_signature
    self._signature = compute_form_signature(self, self._compute_renumbering())
../firedrake_venv/src/ufl/ufl/algorithms/signature.py:137: in compute_form_signature
    terminal_hashdata = compute_terminal_hashdata(integrands, renumbering)
../firedrake_venv/src/ufl/ufl/algorithms/signature.py:65: in compute_terminal_hashdata
    data = expr._ufl_signature_data_(renumbering)
../firedrake_venv/src/ufl/ufl/coefficient.py:84: in _ufl_signature_data_
    fsdata = self._ufl_function_space._ufl_signature_data_(renumbering)
firedrake/functionspaceimpl.py:131: in _ufl_signature_data_
    super()._ufl_signature_data_(*args, **kwargs))
../firedrake_venv/src/ufl/ufl/functionspace.py:176: in _ufl_signature_data_
    return BaseFunctionSpace._ufl_signature_data_(self, renumbering, "FunctionSpace")
../firedrake_venv/src/ufl/ufl/functionspace.py:138: in _ufl_signature_data_
    ddata = domain._ufl_signature_data_(renumbering)
firedrake/mesh.py:2273: in _ufl_signature_data_
    return (type(self), self.extruded, self.variable_layers,
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = Mesh(VectorElement(FiniteElement('Q', quadrilateral Complex, 1), dim=2), 38)
name = 'extruded'

    def __getattr__(self, name):
>       val = getattr(self._topology, name)
E       AttributeError: 'MeshTopology' object has no attribute 'extruded'

firedrake/mesh.py:2796: AttributeError

Check failure on line 204 in tests/firedrake/regression/test_function_spaces.py

See this annotation in the file changed.

@github-actions github-actions / Firedrake complex

test_function_spaces.test_reconstruct_mesh[triangle3D-quad3D-dual]

NotImplementedError: Non-Simplex elements are not yet supported
Raw output
meshes = (Mesh(VectorElement(FiniteElement('Lagrange', triangle Complex, 1), dim=3), 139), Mesh(VectorElement(FiniteElement('Q', quadrilateral Complex, 1), dim=3), 140))
dual = True

    def test_reconstruct_mesh(meshes, dual):
        V1 = FunctionSpace(meshes[0], "Lagrange", 1)
>       V2 = FunctionSpace(meshes[1], "Lagrange", 1)

tests/firedrake/regression/test_function_spaces.py:204: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
petsc4py/PETSc/Log.pyx:188: in petsc4py.PETSc.Log.EventDecorator.decorator.wrapped_func
    ???
petsc4py/PETSc/Log.pyx:189: in petsc4py.PETSc.Log.EventDecorator.decorator.wrapped_func
    ???
firedrake/functionspace.py:105: in FunctionSpace
    return impl.WithGeometry.make_function_space(mesh, element, name=name)
firedrake/functionspaceimpl.py:359: in make_function_space
    mesh.init()
firedrake/mesh.py:2282: in init
    self._callback(self)
firedrake/mesh.py:2304: in callback
    coordinates_fs = functionspace.FunctionSpace(self.topology, self.ufl_coordinate_element())
petsc4py/PETSc/Log.pyx:188: in petsc4py.PETSc.Log.EventDecorator.decorator.wrapped_func
    ???
petsc4py/PETSc/Log.pyx:189: in petsc4py.PETSc.Log.EventDecorator.decorator.wrapped_func
    ???
firedrake/functionspace.py:105: in FunctionSpace
    return impl.WithGeometry.make_function_space(mesh, element, name=name)
firedrake/functionspaceimpl.py:371: in make_function_space
    new = FunctionSpace(topology, element, name=name)
petsc4py/PETSc/Log.pyx:188: in petsc4py.PETSc.Log.EventDecorator.decorator.wrapped_func
    ???
petsc4py/PETSc/Log.pyx:189: in petsc4py.PETSc.Log.EventDecorator.decorator.wrapped_func
    ???
firedrake/functionspaceimpl.py:520: in __init__
    self.set_shared_data()
firedrake/functionspaceimpl.py:529: in set_shared_data
    sdata = get_shared_data(self._mesh, element)
petsc4py/PETSc/Log.pyx:188: in petsc4py.PETSc.Log.EventDecorator.decorator.wrapped_func
    ???
petsc4py/PETSc/Log.pyx:189: in petsc4py.PETSc.Log.EventDecorator.decorator.wrapped_func
    ???
firedrake/functionspacedata.py:541: in get_shared_data
    return FunctionSpaceData(mesh, ufl_element, boundary_set)
petsc4py/PETSc/Log.pyx:188: in petsc4py.PETSc.Log.EventDecorator.decorator.wrapped_func
    ???
petsc4py/PETSc/Log.pyx:189: in petsc4py.PETSc.Log.EventDecorator.decorator.wrapped_func
    ???
firedrake/functionspacedata.py:420: in __init__
    finat_element = create_element(ufl_element)
petsc4py/PETSc/Log.pyx:188: in petsc4py.PETSc.Log.EventDecorator.decorator.wrapped_func
    ???
petsc4py/PETSc/Log.pyx:189: in petsc4py.PETSc.Log.EventDecorator.decorator.wrapped_func
    ???
firedrake/functionspacedata.py:42: in create_element
    finat_element = _create_element(ufl_element)
tsfc/finatinterface.py:325: in create_element
    finat_element, deps = _create_element(ufl_element,
tsfc/finatinterface.py:355: in _create_element
    finat_element, deps = convert(ufl_element, **kwargs)
/usr/lib/python3.12/functools.py:909: in wrapper
    return dispatch(args[0].__class__)(*args, **kw)
tsfc/finatinterface.py:263: in convert_tensorelement
    inner_elem, deps = _create_element(element.sub_elements[0], **kwargs)
tsfc/finatinterface.py:355: in _create_element
    finat_element, deps = convert(ufl_element, **kwargs)
/usr/lib/python3.12/functools.py:909: in wrapper
    return dispatch(args[0].__class__)(*args, **kw)
tsfc/finatinterface.py:153: in convert_finiteelement
    cell = as_fiat_cell(element.cell)
tsfc/finatinterface.py:116: in as_fiat_cell
    return cell.to_fiat()
../firedrake_venv/src/redefining_fe/redefining_fe/cells.py:802: in to_fiat
    return self.cell_complex.to_fiat()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = f190

    def to_fiat(self):
        if len(self.get_topology()[self.dimension][0]) == self.dimension + 1:
            return CellComplexToFiatSimplex(self)
>       raise NotImplementedError("Non-Simplex elements are not yet supported")
E       NotImplementedError: Non-Simplex elements are not yet supported

../firedrake_venv/src/redefining_fe/redefining_fe/cells.py:617: NotImplementedError