Skip to content

Restricted Cofunction RHS #210

Restricted Cofunction RHS

Restricted Cofunction RHS #210

GitHub Actions / Firedrake complex failed Dec 11, 2024 in 0s

8138 tests run, 6650 passed, 1474 skipped, 14 failed.

Annotations

Check failure on line 161 in tests/firedrake/regression/test_assemble_baseform.py

See this annotation in the file changed.

@github-actions github-actions / Firedrake complex

test_assemble_baseform.test_preprocess_form[cg1]

TypeError: Incompatible function spaces in Action
Raw output
M = Form([Integral(Product(Argument(WithGeometry(FunctionSpace(<firedrake.mesh.MeshTopology object at 0x7f8354ae2db0>, Fin..., 0, None))), 'cell', Mesh(VectorElement(FiniteElement('Lagrange', triangle, 1), dim=2), 42), 'everywhere', {}, None)])
a = Form([Integral(Product(Coefficient(WithGeometry(FunctionSpace(<firedrake.mesh.MeshTopology object at 0x7f8354ae2db0>, ..., 0, None))), 'cell', Mesh(VectorElement(FiniteElement('Lagrange', triangle, 1), dim=2), 42), 'everywhere', {}, None)])
f = Coefficient(WithGeometry(FunctionSpace(<firedrake.mesh.MeshTopology object at 0x7f8354ae2db0>, FiniteElement('Lagrange', triangle, 1), name=None), Mesh(VectorElement(FiniteElement('Lagrange', triangle, 1), dim=2), 42)), 161)

    def test_preprocess_form(M, a, f):
        from ufl.algorithms import expand_indices, expand_derivatives
    
>       expr = action(action(M, M), f)

tests/firedrake/regression/test_assemble_baseform.py:161: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
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/ufl_expr.py:306: in action
    return ufl.action(form, coefficient, derivatives_expanded=derivatives_expanded)
../firedrake_venv/src/ufl/ufl/formoperators.py:135: in action
    return Action(form, coefficient)
../firedrake_venv/src/ufl/ufl/action.py:92: in __init__
    _check_function_spaces(left, right)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

left = Form([Integral(Product(Argument(WithGeometry(FunctionSpace(<firedrake.mesh.MeshTopology object at 0x7f8354ae2db0>, Fin..., 0, None))), 'cell', Mesh(VectorElement(FiniteElement('Lagrange', triangle, 1), dim=2), 42), 'everywhere', {}, None)])
right = Form([Integral(Product(Argument(WithGeometry(FunctionSpace(<firedrake.mesh.MeshTopology object at 0x7f8354ae2db0>, Fin..., 0, None))), 'cell', Mesh(VectorElement(FiniteElement('Lagrange', triangle, 1), dim=2), 42), 'everywhere', {}, None)])

    def _check_function_spaces(left, right):
        """Check if the function spaces of left and right match."""
        if isinstance(right, CoefficientDerivative):
            # Action differentiation pushes differentiation through
            # right as a consequence of Leibniz formula.
            right, *_ = right.ufl_operands
    
        # `left` can also be a Coefficient in V (= V**), e.g.
        # `action(Coefficient(V), Cofunction(V.dual()))`.
        left_arg = left.arguments()[-1] if not isinstance(left, Coefficient) else left
        if isinstance(right, (Form, Action, Matrix, ZeroBaseForm)):
            if left_arg.ufl_function_space().dual() != right.arguments()[0].ufl_function_space():
>               raise TypeError("Incompatible function spaces in Action")
E               TypeError: Incompatible function spaces in Action

../firedrake_venv/src/ufl/ufl/action.py:172: TypeError

Check failure on line 161 in tests/firedrake/regression/test_assemble_baseform.py

See this annotation in the file changed.

@github-actions github-actions / Firedrake complex

test_assemble_baseform.test_preprocess_form[vcg1]

TypeError: Incompatible function spaces in Action
Raw output
M = Form([Integral(Conj(Inner(Argument(WithGeometry(FunctionSpace(<firedrake.mesh.MeshTopology object at 0x7f8354ae2db0>, ..., 1, None))), 'cell', Mesh(VectorElement(FiniteElement('Lagrange', triangle, 1), dim=2), 42), 'everywhere', {}, None)])
a = Form([Integral(Conj(Inner(Argument(WithGeometry(FunctionSpace(<firedrake.mesh.MeshTopology object at 0x7f8354ae2db0>, ...42)), 317))), 'cell', Mesh(VectorElement(FiniteElement('Lagrange', triangle, 1), dim=2), 42), 'everywhere', {}, None)])
f = Coefficient(WithGeometry(FunctionSpace(<firedrake.mesh.MeshTopology object at 0x7f8354ae2db0>, VectorElement(FiniteEle...range', triangle, 1), dim=2), name=None), Mesh(VectorElement(FiniteElement('Lagrange', triangle, 1), dim=2), 42)), 317)

    def test_preprocess_form(M, a, f):
        from ufl.algorithms import expand_indices, expand_derivatives
    
>       expr = action(action(M, M), f)

tests/firedrake/regression/test_assemble_baseform.py:161: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
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/ufl_expr.py:306: in action
    return ufl.action(form, coefficient, derivatives_expanded=derivatives_expanded)
../firedrake_venv/src/ufl/ufl/formoperators.py:135: in action
    return Action(form, coefficient)
../firedrake_venv/src/ufl/ufl/action.py:92: in __init__
    _check_function_spaces(left, right)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

left = Form([Integral(Conj(Inner(Argument(WithGeometry(FunctionSpace(<firedrake.mesh.MeshTopology object at 0x7f8354ae2db0>, ..., 1, None))), 'cell', Mesh(VectorElement(FiniteElement('Lagrange', triangle, 1), dim=2), 42), 'everywhere', {}, None)])
right = Form([Integral(Conj(Inner(Argument(WithGeometry(FunctionSpace(<firedrake.mesh.MeshTopology object at 0x7f8354ae2db0>, ..., 1, None))), 'cell', Mesh(VectorElement(FiniteElement('Lagrange', triangle, 1), dim=2), 42), 'everywhere', {}, None)])

    def _check_function_spaces(left, right):
        """Check if the function spaces of left and right match."""
        if isinstance(right, CoefficientDerivative):
            # Action differentiation pushes differentiation through
            # right as a consequence of Leibniz formula.
            right, *_ = right.ufl_operands
    
        # `left` can also be a Coefficient in V (= V**), e.g.
        # `action(Coefficient(V), Cofunction(V.dual()))`.
        left_arg = left.arguments()[-1] if not isinstance(left, Coefficient) else left
        if isinstance(right, (Form, Action, Matrix, ZeroBaseForm)):
            if left_arg.ufl_function_space().dual() != right.arguments()[0].ufl_function_space():
>               raise TypeError("Incompatible function spaces in Action")
E               TypeError: Incompatible function spaces in Action

../firedrake_venv/src/ufl/ufl/action.py:172: TypeError

Check failure on line 161 in tests/firedrake/regression/test_assemble_baseform.py

See this annotation in the file changed.

@github-actions github-actions / Firedrake complex

test_assemble_baseform.test_preprocess_form[tcg1]

TypeError: Incompatible function spaces in Action
Raw output
M = Form([Integral(Conj(Inner(Argument(WithGeometry(FunctionSpace(<firedrake.mesh.MeshTopology object at 0x7f8354ae2db0>, ..., 1, None))), 'cell', Mesh(VectorElement(FiniteElement('Lagrange', triangle, 1), dim=2), 42), 'everywhere', {}, None)])
a = Form([Integral(Conj(Inner(Argument(WithGeometry(FunctionSpace(<firedrake.mesh.MeshTopology object at 0x7f8354ae2db0>, ...42)), 473))), 'cell', Mesh(VectorElement(FiniteElement('Lagrange', triangle, 1), dim=2), 42), 'everywhere', {}, None)])
f = Coefficient(WithGeometry(FunctionSpace(<firedrake.mesh.MeshTopology object at 0x7f8354ae2db0>, TensorElement(FiniteEle..., shape=(2, 2), symmetry={}), name=None), Mesh(VectorElement(FiniteElement('Lagrange', triangle, 1), dim=2), 42)), 473)

    def test_preprocess_form(M, a, f):
        from ufl.algorithms import expand_indices, expand_derivatives
    
>       expr = action(action(M, M), f)

tests/firedrake/regression/test_assemble_baseform.py:161: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
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/ufl_expr.py:306: in action
    return ufl.action(form, coefficient, derivatives_expanded=derivatives_expanded)
../firedrake_venv/src/ufl/ufl/formoperators.py:135: in action
    return Action(form, coefficient)
../firedrake_venv/src/ufl/ufl/action.py:92: in __init__
    _check_function_spaces(left, right)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

left = Form([Integral(Conj(Inner(Argument(WithGeometry(FunctionSpace(<firedrake.mesh.MeshTopology object at 0x7f8354ae2db0>, ..., 1, None))), 'cell', Mesh(VectorElement(FiniteElement('Lagrange', triangle, 1), dim=2), 42), 'everywhere', {}, None)])
right = Form([Integral(Conj(Inner(Argument(WithGeometry(FunctionSpace(<firedrake.mesh.MeshTopology object at 0x7f8354ae2db0>, ..., 1, None))), 'cell', Mesh(VectorElement(FiniteElement('Lagrange', triangle, 1), dim=2), 42), 'everywhere', {}, None)])

    def _check_function_spaces(left, right):
        """Check if the function spaces of left and right match."""
        if isinstance(right, CoefficientDerivative):
            # Action differentiation pushes differentiation through
            # right as a consequence of Leibniz formula.
            right, *_ = right.ufl_operands
    
        # `left` can also be a Coefficient in V (= V**), e.g.
        # `action(Coefficient(V), Cofunction(V.dual()))`.
        left_arg = left.arguments()[-1] if not isinstance(left, Coefficient) else left
        if isinstance(right, (Form, Action, Matrix, ZeroBaseForm)):
            if left_arg.ufl_function_space().dual() != right.arguments()[0].ufl_function_space():
>               raise TypeError("Incompatible function spaces in Action")
E               TypeError: Incompatible function spaces in Action

../firedrake_venv/src/ufl/ufl/action.py:172: TypeError

Check failure on line 161 in tests/firedrake/regression/test_assemble_baseform.py

See this annotation in the file changed.

@github-actions github-actions / Firedrake complex

test_assemble_baseform.test_preprocess_form[cg1cg1]

TypeError: Incompatible function spaces in Action
Raw output
M = Form([Integral(Conj(Inner(Argument(WithGeometry(MixedFunctionSpace(IndexedProxyFunctionSpace(<firedrake.mesh.MeshTopol..., 1, None))), 'cell', Mesh(VectorElement(FiniteElement('Lagrange', triangle, 1), dim=2), 42), 'everywhere', {}, None)])
a = Form([Integral(Conj(Inner(Argument(WithGeometry(MixedFunctionSpace(IndexedProxyFunctionSpace(<firedrake.mesh.MeshTopol...42)), 687))), 'cell', Mesh(VectorElement(FiniteElement('Lagrange', triangle, 1), dim=2), 42), 'everywhere', {}, None)])
f = Coefficient(WithGeometry(MixedFunctionSpace(IndexedProxyFunctionSpace(<firedrake.mesh.MeshTopology object at 0x7f8354a...ex=1, component=None), name='None_None'), Mesh(VectorElement(FiniteElement('Lagrange', triangle, 1), dim=2), 42)), 687)

    def test_preprocess_form(M, a, f):
        from ufl.algorithms import expand_indices, expand_derivatives
    
>       expr = action(action(M, M), f)

tests/firedrake/regression/test_assemble_baseform.py:161: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
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/ufl_expr.py:306: in action
    return ufl.action(form, coefficient, derivatives_expanded=derivatives_expanded)
../firedrake_venv/src/ufl/ufl/formoperators.py:135: in action
    return Action(form, coefficient)
../firedrake_venv/src/ufl/ufl/action.py:92: in __init__
    _check_function_spaces(left, right)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

left = Form([Integral(Conj(Inner(Argument(WithGeometry(MixedFunctionSpace(IndexedProxyFunctionSpace(<firedrake.mesh.MeshTopol..., 1, None))), 'cell', Mesh(VectorElement(FiniteElement('Lagrange', triangle, 1), dim=2), 42), 'everywhere', {}, None)])
right = Form([Integral(Conj(Inner(Argument(WithGeometry(MixedFunctionSpace(IndexedProxyFunctionSpace(<firedrake.mesh.MeshTopol..., 1, None))), 'cell', Mesh(VectorElement(FiniteElement('Lagrange', triangle, 1), dim=2), 42), 'everywhere', {}, None)])

    def _check_function_spaces(left, right):
        """Check if the function spaces of left and right match."""
        if isinstance(right, CoefficientDerivative):
            # Action differentiation pushes differentiation through
            # right as a consequence of Leibniz formula.
            right, *_ = right.ufl_operands
    
        # `left` can also be a Coefficient in V (= V**), e.g.
        # `action(Coefficient(V), Cofunction(V.dual()))`.
        left_arg = left.arguments()[-1] if not isinstance(left, Coefficient) else left
        if isinstance(right, (Form, Action, Matrix, ZeroBaseForm)):
            if left_arg.ufl_function_space().dual() != right.arguments()[0].ufl_function_space():
>               raise TypeError("Incompatible function spaces in Action")
E               TypeError: Incompatible function spaces in Action

../firedrake_venv/src/ufl/ufl/action.py:172: TypeError

Check failure on line 161 in tests/firedrake/regression/test_assemble_baseform.py

See this annotation in the file changed.

@github-actions github-actions / Firedrake complex

test_assemble_baseform.test_preprocess_form[cg1cg1[0]]

TypeError: Incompatible function spaces in Action
Raw output
M = Form([Integral(Product(Argument(WithGeometry(IndexedProxyFunctionSpace(<firedrake.mesh.MeshTopology object at 0x7f8354..., 0, None))), 'cell', Mesh(VectorElement(FiniteElement('Lagrange', triangle, 1), dim=2), 42), 'everywhere', {}, None)])
a = Form([Integral(Product(Coefficient(WithGeometry(IndexedProxyFunctionSpace(<firedrake.mesh.MeshTopology object at 0x7f8..., 0, None))), 'cell', Mesh(VectorElement(FiniteElement('Lagrange', triangle, 1), dim=2), 42), 'everywhere', {}, None)])
f = Coefficient(WithGeometry(IndexedProxyFunctionSpace(<firedrake.mesh.MeshTopology object at 0x7f8354ae2db0>, FiniteEleme... 1), name=None, index=0, component=None), Mesh(VectorElement(FiniteElement('Lagrange', triangle, 1), dim=2), 42)), 903)

    def test_preprocess_form(M, a, f):
        from ufl.algorithms import expand_indices, expand_derivatives
    
>       expr = action(action(M, M), f)

tests/firedrake/regression/test_assemble_baseform.py:161: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
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/ufl_expr.py:306: in action
    return ufl.action(form, coefficient, derivatives_expanded=derivatives_expanded)
../firedrake_venv/src/ufl/ufl/formoperators.py:135: in action
    return Action(form, coefficient)
../firedrake_venv/src/ufl/ufl/action.py:92: in __init__
    _check_function_spaces(left, right)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

left = Form([Integral(Product(Argument(WithGeometry(IndexedProxyFunctionSpace(<firedrake.mesh.MeshTopology object at 0x7f8354..., 0, None))), 'cell', Mesh(VectorElement(FiniteElement('Lagrange', triangle, 1), dim=2), 42), 'everywhere', {}, None)])
right = Form([Integral(Product(Argument(WithGeometry(IndexedProxyFunctionSpace(<firedrake.mesh.MeshTopology object at 0x7f8354..., 0, None))), 'cell', Mesh(VectorElement(FiniteElement('Lagrange', triangle, 1), dim=2), 42), 'everywhere', {}, None)])

    def _check_function_spaces(left, right):
        """Check if the function spaces of left and right match."""
        if isinstance(right, CoefficientDerivative):
            # Action differentiation pushes differentiation through
            # right as a consequence of Leibniz formula.
            right, *_ = right.ufl_operands
    
        # `left` can also be a Coefficient in V (= V**), e.g.
        # `action(Coefficient(V), Cofunction(V.dual()))`.
        left_arg = left.arguments()[-1] if not isinstance(left, Coefficient) else left
        if isinstance(right, (Form, Action, Matrix, ZeroBaseForm)):
            if left_arg.ufl_function_space().dual() != right.arguments()[0].ufl_function_space():
>               raise TypeError("Incompatible function spaces in Action")
E               TypeError: Incompatible function spaces in Action

../firedrake_venv/src/ufl/ufl/action.py:172: TypeError

Check failure on line 161 in tests/firedrake/regression/test_assemble_baseform.py

See this annotation in the file changed.

@github-actions github-actions / Firedrake complex

test_assemble_baseform.test_preprocess_form[cg1cg1[1]]

TypeError: Incompatible function spaces in Action
Raw output
M = Form([Integral(Product(Argument(WithGeometry(IndexedProxyFunctionSpace(<firedrake.mesh.MeshTopology object at 0x7f8354..., 0, None))), 'cell', Mesh(VectorElement(FiniteElement('Lagrange', triangle, 1), dim=2), 42), 'everywhere', {}, None)])
a = Form([Integral(Product(Coefficient(WithGeometry(IndexedProxyFunctionSpace(<firedrake.mesh.MeshTopology object at 0x7f8..., 0, None))), 'cell', Mesh(VectorElement(FiniteElement('Lagrange', triangle, 1), dim=2), 42), 'everywhere', {}, None)])
f = Coefficient(WithGeometry(IndexedProxyFunctionSpace(<firedrake.mesh.MeshTopology object at 0x7f8354ae2db0>, FiniteEleme...1), name=None, index=1, component=None), Mesh(VectorElement(FiniteElement('Lagrange', triangle, 1), dim=2), 42)), 1037)

    def test_preprocess_form(M, a, f):
        from ufl.algorithms import expand_indices, expand_derivatives
    
>       expr = action(action(M, M), f)

tests/firedrake/regression/test_assemble_baseform.py:161: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
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/ufl_expr.py:306: in action
    return ufl.action(form, coefficient, derivatives_expanded=derivatives_expanded)
../firedrake_venv/src/ufl/ufl/formoperators.py:135: in action
    return Action(form, coefficient)
../firedrake_venv/src/ufl/ufl/action.py:92: in __init__
    _check_function_spaces(left, right)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

left = Form([Integral(Product(Argument(WithGeometry(IndexedProxyFunctionSpace(<firedrake.mesh.MeshTopology object at 0x7f8354..., 0, None))), 'cell', Mesh(VectorElement(FiniteElement('Lagrange', triangle, 1), dim=2), 42), 'everywhere', {}, None)])
right = Form([Integral(Product(Argument(WithGeometry(IndexedProxyFunctionSpace(<firedrake.mesh.MeshTopology object at 0x7f8354..., 0, None))), 'cell', Mesh(VectorElement(FiniteElement('Lagrange', triangle, 1), dim=2), 42), 'everywhere', {}, None)])

    def _check_function_spaces(left, right):
        """Check if the function spaces of left and right match."""
        if isinstance(right, CoefficientDerivative):
            # Action differentiation pushes differentiation through
            # right as a consequence of Leibniz formula.
            right, *_ = right.ufl_operands
    
        # `left` can also be a Coefficient in V (= V**), e.g.
        # `action(Coefficient(V), Cofunction(V.dual()))`.
        left_arg = left.arguments()[-1] if not isinstance(left, Coefficient) else left
        if isinstance(right, (Form, Action, Matrix, ZeroBaseForm)):
            if left_arg.ufl_function_space().dual() != right.arguments()[0].ufl_function_space():
>               raise TypeError("Incompatible function spaces in Action")
E               TypeError: Incompatible function spaces in Action

../firedrake_venv/src/ufl/ufl/action.py:172: TypeError

Check failure on line 161 in tests/firedrake/regression/test_assemble_baseform.py

See this annotation in the file changed.

@github-actions github-actions / Firedrake complex

test_assemble_baseform.test_preprocess_form[cg1vcg1[0]]

TypeError: Incompatible function spaces in Action
Raw output
M = Form([Integral(Product(Argument(WithGeometry(IndexedProxyFunctionSpace(<firedrake.mesh.MeshTopology object at 0x7f8354..., 0, None))), 'cell', Mesh(VectorElement(FiniteElement('Lagrange', triangle, 1), dim=2), 42), 'everywhere', {}, None)])
a = Form([Integral(Product(Coefficient(WithGeometry(IndexedProxyFunctionSpace(<firedrake.mesh.MeshTopology object at 0x7f8..., 0, None))), 'cell', Mesh(VectorElement(FiniteElement('Lagrange', triangle, 1), dim=2), 42), 'everywhere', {}, None)])
f = Coefficient(WithGeometry(IndexedProxyFunctionSpace(<firedrake.mesh.MeshTopology object at 0x7f8354ae2db0>, FiniteEleme...1), name=None, index=0, component=None), Mesh(VectorElement(FiniteElement('Lagrange', triangle, 1), dim=2), 42)), 1171)

    def test_preprocess_form(M, a, f):
        from ufl.algorithms import expand_indices, expand_derivatives
    
>       expr = action(action(M, M), f)

tests/firedrake/regression/test_assemble_baseform.py:161: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
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/ufl_expr.py:306: in action
    return ufl.action(form, coefficient, derivatives_expanded=derivatives_expanded)
../firedrake_venv/src/ufl/ufl/formoperators.py:135: in action
    return Action(form, coefficient)
../firedrake_venv/src/ufl/ufl/action.py:92: in __init__
    _check_function_spaces(left, right)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

left = Form([Integral(Product(Argument(WithGeometry(IndexedProxyFunctionSpace(<firedrake.mesh.MeshTopology object at 0x7f8354..., 0, None))), 'cell', Mesh(VectorElement(FiniteElement('Lagrange', triangle, 1), dim=2), 42), 'everywhere', {}, None)])
right = Form([Integral(Product(Argument(WithGeometry(IndexedProxyFunctionSpace(<firedrake.mesh.MeshTopology object at 0x7f8354..., 0, None))), 'cell', Mesh(VectorElement(FiniteElement('Lagrange', triangle, 1), dim=2), 42), 'everywhere', {}, None)])

    def _check_function_spaces(left, right):
        """Check if the function spaces of left and right match."""
        if isinstance(right, CoefficientDerivative):
            # Action differentiation pushes differentiation through
            # right as a consequence of Leibniz formula.
            right, *_ = right.ufl_operands
    
        # `left` can also be a Coefficient in V (= V**), e.g.
        # `action(Coefficient(V), Cofunction(V.dual()))`.
        left_arg = left.arguments()[-1] if not isinstance(left, Coefficient) else left
        if isinstance(right, (Form, Action, Matrix, ZeroBaseForm)):
            if left_arg.ufl_function_space().dual() != right.arguments()[0].ufl_function_space():
>               raise TypeError("Incompatible function spaces in Action")
E               TypeError: Incompatible function spaces in Action

../firedrake_venv/src/ufl/ufl/action.py:172: TypeError

Check failure on line 161 in tests/firedrake/regression/test_assemble_baseform.py

See this annotation in the file changed.

@github-actions github-actions / Firedrake complex

test_assemble_baseform.test_preprocess_form[cg1vcg1[1]]

TypeError: Incompatible function spaces in Action
Raw output
M = Form([Integral(Conj(Inner(Argument(WithGeometry(IndexedProxyFunctionSpace(<firedrake.mesh.MeshTopology object at 0x7f8..., 1, None))), 'cell', Mesh(VectorElement(FiniteElement('Lagrange', triangle, 1), dim=2), 42), 'everywhere', {}, None)])
a = Form([Integral(Conj(Inner(Argument(WithGeometry(IndexedProxyFunctionSpace(<firedrake.mesh.MeshTopology object at 0x7f8...2)), 1305))), 'cell', Mesh(VectorElement(FiniteElement('Lagrange', triangle, 1), dim=2), 42), 'everywhere', {}, None)])
f = Coefficient(WithGeometry(IndexedProxyFunctionSpace(<firedrake.mesh.MeshTopology object at 0x7f8354ae2db0>, VectorEleme...2), name=None, index=1, component=None), Mesh(VectorElement(FiniteElement('Lagrange', triangle, 1), dim=2), 42)), 1305)

    def test_preprocess_form(M, a, f):
        from ufl.algorithms import expand_indices, expand_derivatives
    
>       expr = action(action(M, M), f)

tests/firedrake/regression/test_assemble_baseform.py:161: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
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/ufl_expr.py:306: in action
    return ufl.action(form, coefficient, derivatives_expanded=derivatives_expanded)
../firedrake_venv/src/ufl/ufl/formoperators.py:135: in action
    return Action(form, coefficient)
../firedrake_venv/src/ufl/ufl/action.py:92: in __init__
    _check_function_spaces(left, right)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

left = Form([Integral(Conj(Inner(Argument(WithGeometry(IndexedProxyFunctionSpace(<firedrake.mesh.MeshTopology object at 0x7f8..., 1, None))), 'cell', Mesh(VectorElement(FiniteElement('Lagrange', triangle, 1), dim=2), 42), 'everywhere', {}, None)])
right = Form([Integral(Conj(Inner(Argument(WithGeometry(IndexedProxyFunctionSpace(<firedrake.mesh.MeshTopology object at 0x7f8..., 1, None))), 'cell', Mesh(VectorElement(FiniteElement('Lagrange', triangle, 1), dim=2), 42), 'everywhere', {}, None)])

    def _check_function_spaces(left, right):
        """Check if the function spaces of left and right match."""
        if isinstance(right, CoefficientDerivative):
            # Action differentiation pushes differentiation through
            # right as a consequence of Leibniz formula.
            right, *_ = right.ufl_operands
    
        # `left` can also be a Coefficient in V (= V**), e.g.
        # `action(Coefficient(V), Cofunction(V.dual()))`.
        left_arg = left.arguments()[-1] if not isinstance(left, Coefficient) else left
        if isinstance(right, (Form, Action, Matrix, ZeroBaseForm)):
            if left_arg.ufl_function_space().dual() != right.arguments()[0].ufl_function_space():
>               raise TypeError("Incompatible function spaces in Action")
E               TypeError: Incompatible function spaces in Action

../firedrake_venv/src/ufl/ufl/action.py:172: TypeError

Check failure on line 161 in tests/firedrake/regression/test_assemble_baseform.py

See this annotation in the file changed.

@github-actions github-actions / Firedrake complex

test_assemble_baseform.test_preprocess_form[cg1dg0]

TypeError: Incompatible function spaces in Action
Raw output
M = Form([Integral(Conj(Inner(Argument(WithGeometry(MixedFunctionSpace(IndexedProxyFunctionSpace(<firedrake.mesh.MeshTopol..., 1, None))), 'cell', Mesh(VectorElement(FiniteElement('Lagrange', triangle, 1), dim=2), 42), 'everywhere', {}, None)])
a = Form([Integral(Conj(Inner(Argument(WithGeometry(MixedFunctionSpace(IndexedProxyFunctionSpace(<firedrake.mesh.MeshTopol...2)), 1505))), 'cell', Mesh(VectorElement(FiniteElement('Lagrange', triangle, 1), dim=2), 42), 'everywhere', {}, None)])
f = Coefficient(WithGeometry(MixedFunctionSpace(IndexedProxyFunctionSpace(<firedrake.mesh.MeshTopology object at 0x7f8354a...x=1, component=None), name='None_None'), Mesh(VectorElement(FiniteElement('Lagrange', triangle, 1), dim=2), 42)), 1505)

    def test_preprocess_form(M, a, f):
        from ufl.algorithms import expand_indices, expand_derivatives
    
>       expr = action(action(M, M), f)

tests/firedrake/regression/test_assemble_baseform.py:161: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
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/ufl_expr.py:306: in action
    return ufl.action(form, coefficient, derivatives_expanded=derivatives_expanded)
../firedrake_venv/src/ufl/ufl/formoperators.py:135: in action
    return Action(form, coefficient)
../firedrake_venv/src/ufl/ufl/action.py:92: in __init__
    _check_function_spaces(left, right)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

left = Form([Integral(Conj(Inner(Argument(WithGeometry(MixedFunctionSpace(IndexedProxyFunctionSpace(<firedrake.mesh.MeshTopol..., 1, None))), 'cell', Mesh(VectorElement(FiniteElement('Lagrange', triangle, 1), dim=2), 42), 'everywhere', {}, None)])
right = Form([Integral(Conj(Inner(Argument(WithGeometry(MixedFunctionSpace(IndexedProxyFunctionSpace(<firedrake.mesh.MeshTopol..., 1, None))), 'cell', Mesh(VectorElement(FiniteElement('Lagrange', triangle, 1), dim=2), 42), 'everywhere', {}, None)])

    def _check_function_spaces(left, right):
        """Check if the function spaces of left and right match."""
        if isinstance(right, CoefficientDerivative):
            # Action differentiation pushes differentiation through
            # right as a consequence of Leibniz formula.
            right, *_ = right.ufl_operands
    
        # `left` can also be a Coefficient in V (= V**), e.g.
        # `action(Coefficient(V), Cofunction(V.dual()))`.
        left_arg = left.arguments()[-1] if not isinstance(left, Coefficient) else left
        if isinstance(right, (Form, Action, Matrix, ZeroBaseForm)):
            if left_arg.ufl_function_space().dual() != right.arguments()[0].ufl_function_space():
>               raise TypeError("Incompatible function spaces in Action")
E               TypeError: Incompatible function spaces in Action

../firedrake_venv/src/ufl/ufl/action.py:172: TypeError

Check failure on line 161 in tests/firedrake/regression/test_assemble_baseform.py

See this annotation in the file changed.

@github-actions github-actions / Firedrake complex

test_assemble_baseform.test_preprocess_form[cg1dg0[0]]

TypeError: Incompatible function spaces in Action
Raw output
M = Form([Integral(Product(Argument(WithGeometry(IndexedProxyFunctionSpace(<firedrake.mesh.MeshTopology object at 0x7f8354..., 0, None))), 'cell', Mesh(VectorElement(FiniteElement('Lagrange', triangle, 1), dim=2), 42), 'everywhere', {}, None)])
a = Form([Integral(Product(Coefficient(WithGeometry(IndexedProxyFunctionSpace(<firedrake.mesh.MeshTopology object at 0x7f8..., 0, None))), 'cell', Mesh(VectorElement(FiniteElement('Lagrange', triangle, 1), dim=2), 42), 'everywhere', {}, None)])
f = Coefficient(WithGeometry(IndexedProxyFunctionSpace(<firedrake.mesh.MeshTopology object at 0x7f8354ae2db0>, FiniteEleme...1), name=None, index=0, component=None), Mesh(VectorElement(FiniteElement('Lagrange', triangle, 1), dim=2), 42)), 1717)

    def test_preprocess_form(M, a, f):
        from ufl.algorithms import expand_indices, expand_derivatives
    
>       expr = action(action(M, M), f)

tests/firedrake/regression/test_assemble_baseform.py:161: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
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/ufl_expr.py:306: in action
    return ufl.action(form, coefficient, derivatives_expanded=derivatives_expanded)
../firedrake_venv/src/ufl/ufl/formoperators.py:135: in action
    return Action(form, coefficient)
../firedrake_venv/src/ufl/ufl/action.py:92: in __init__
    _check_function_spaces(left, right)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

left = Form([Integral(Product(Argument(WithGeometry(IndexedProxyFunctionSpace(<firedrake.mesh.MeshTopology object at 0x7f8354..., 0, None))), 'cell', Mesh(VectorElement(FiniteElement('Lagrange', triangle, 1), dim=2), 42), 'everywhere', {}, None)])
right = Form([Integral(Product(Argument(WithGeometry(IndexedProxyFunctionSpace(<firedrake.mesh.MeshTopology object at 0x7f8354..., 0, None))), 'cell', Mesh(VectorElement(FiniteElement('Lagrange', triangle, 1), dim=2), 42), 'everywhere', {}, None)])

    def _check_function_spaces(left, right):
        """Check if the function spaces of left and right match."""
        if isinstance(right, CoefficientDerivative):
            # Action differentiation pushes differentiation through
            # right as a consequence of Leibniz formula.
            right, *_ = right.ufl_operands
    
        # `left` can also be a Coefficient in V (= V**), e.g.
        # `action(Coefficient(V), Cofunction(V.dual()))`.
        left_arg = left.arguments()[-1] if not isinstance(left, Coefficient) else left
        if isinstance(right, (Form, Action, Matrix, ZeroBaseForm)):
            if left_arg.ufl_function_space().dual() != right.arguments()[0].ufl_function_space():
>               raise TypeError("Incompatible function spaces in Action")
E               TypeError: Incompatible function spaces in Action

../firedrake_venv/src/ufl/ufl/action.py:172: TypeError

Check failure on line 161 in tests/firedrake/regression/test_assemble_baseform.py

See this annotation in the file changed.

@github-actions github-actions / Firedrake complex

test_assemble_baseform.test_preprocess_form[cg1dg0[1]]

TypeError: Incompatible function spaces in Action
Raw output
M = Form([Integral(Product(Argument(WithGeometry(IndexedProxyFunctionSpace(<firedrake.mesh.MeshTopology object at 0x7f8354..., 0, None))), 'cell', Mesh(VectorElement(FiniteElement('Lagrange', triangle, 1), dim=2), 42), 'everywhere', {}, None)])
a = Form([Integral(Product(Coefficient(WithGeometry(IndexedProxyFunctionSpace(<firedrake.mesh.MeshTopology object at 0x7f8..., 0, None))), 'cell', Mesh(VectorElement(FiniteElement('Lagrange', triangle, 1), dim=2), 42), 'everywhere', {}, None)])
f = Coefficient(WithGeometry(IndexedProxyFunctionSpace(<firedrake.mesh.MeshTopology object at 0x7f8354ae2db0>, FiniteEleme...0), name=None, index=1, component=None), Mesh(VectorElement(FiniteElement('Lagrange', triangle, 1), dim=2), 42)), 1859)

    def test_preprocess_form(M, a, f):
        from ufl.algorithms import expand_indices, expand_derivatives
    
>       expr = action(action(M, M), f)

tests/firedrake/regression/test_assemble_baseform.py:161: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
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/ufl_expr.py:306: in action
    return ufl.action(form, coefficient, derivatives_expanded=derivatives_expanded)
../firedrake_venv/src/ufl/ufl/formoperators.py:135: in action
    return Action(form, coefficient)
../firedrake_venv/src/ufl/ufl/action.py:92: in __init__
    _check_function_spaces(left, right)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

left = Form([Integral(Product(Argument(WithGeometry(IndexedProxyFunctionSpace(<firedrake.mesh.MeshTopology object at 0x7f8354..., 0, None))), 'cell', Mesh(VectorElement(FiniteElement('Lagrange', triangle, 1), dim=2), 42), 'everywhere', {}, None)])
right = Form([Integral(Product(Argument(WithGeometry(IndexedProxyFunctionSpace(<firedrake.mesh.MeshTopology object at 0x7f8354..., 0, None))), 'cell', Mesh(VectorElement(FiniteElement('Lagrange', triangle, 1), dim=2), 42), 'everywhere', {}, None)])

    def _check_function_spaces(left, right):
        """Check if the function spaces of left and right match."""
        if isinstance(right, CoefficientDerivative):
            # Action differentiation pushes differentiation through
            # right as a consequence of Leibniz formula.
            right, *_ = right.ufl_operands
    
        # `left` can also be a Coefficient in V (= V**), e.g.
        # `action(Coefficient(V), Cofunction(V.dual()))`.
        left_arg = left.arguments()[-1] if not isinstance(left, Coefficient) else left
        if isinstance(right, (Form, Action, Matrix, ZeroBaseForm)):
            if left_arg.ufl_function_space().dual() != right.arguments()[0].ufl_function_space():
>               raise TypeError("Incompatible function spaces in Action")
E               TypeError: Incompatible function spaces in Action

../firedrake_venv/src/ufl/ufl/action.py:172: TypeError

Check failure on line 161 in tests/firedrake/regression/test_assemble_baseform.py

See this annotation in the file changed.

@github-actions github-actions / Firedrake complex

test_assemble_baseform.test_preprocess_form[cg2dg1]

TypeError: Incompatible function spaces in Action
Raw output
M = Form([Integral(Conj(Inner(Argument(WithGeometry(MixedFunctionSpace(IndexedProxyFunctionSpace(<firedrake.mesh.MeshTopol..., 1, None))), 'cell', Mesh(VectorElement(FiniteElement('Lagrange', triangle, 1), dim=2), 42), 'everywhere', {}, None)])
a = Form([Integral(Conj(Inner(Argument(WithGeometry(MixedFunctionSpace(IndexedProxyFunctionSpace(<firedrake.mesh.MeshTopol...2)), 2075))), 'cell', Mesh(VectorElement(FiniteElement('Lagrange', triangle, 1), dim=2), 42), 'everywhere', {}, None)])
f = Coefficient(WithGeometry(MixedFunctionSpace(IndexedProxyFunctionSpace(<firedrake.mesh.MeshTopology object at 0x7f8354a...x=1, component=None), name='None_None'), Mesh(VectorElement(FiniteElement('Lagrange', triangle, 1), dim=2), 42)), 2075)

    def test_preprocess_form(M, a, f):
        from ufl.algorithms import expand_indices, expand_derivatives
    
>       expr = action(action(M, M), f)

tests/firedrake/regression/test_assemble_baseform.py:161: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
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/ufl_expr.py:306: in action
    return ufl.action(form, coefficient, derivatives_expanded=derivatives_expanded)
../firedrake_venv/src/ufl/ufl/formoperators.py:135: in action
    return Action(form, coefficient)
../firedrake_venv/src/ufl/ufl/action.py:92: in __init__
    _check_function_spaces(left, right)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

left = Form([Integral(Conj(Inner(Argument(WithGeometry(MixedFunctionSpace(IndexedProxyFunctionSpace(<firedrake.mesh.MeshTopol..., 1, None))), 'cell', Mesh(VectorElement(FiniteElement('Lagrange', triangle, 1), dim=2), 42), 'everywhere', {}, None)])
right = Form([Integral(Conj(Inner(Argument(WithGeometry(MixedFunctionSpace(IndexedProxyFunctionSpace(<firedrake.mesh.MeshTopol..., 1, None))), 'cell', Mesh(VectorElement(FiniteElement('Lagrange', triangle, 1), dim=2), 42), 'everywhere', {}, None)])

    def _check_function_spaces(left, right):
        """Check if the function spaces of left and right match."""
        if isinstance(right, CoefficientDerivative):
            # Action differentiation pushes differentiation through
            # right as a consequence of Leibniz formula.
            right, *_ = right.ufl_operands
    
        # `left` can also be a Coefficient in V (= V**), e.g.
        # `action(Coefficient(V), Cofunction(V.dual()))`.
        left_arg = left.arguments()[-1] if not isinstance(left, Coefficient) else left
        if isinstance(right, (Form, Action, Matrix, ZeroBaseForm)):
            if left_arg.ufl_function_space().dual() != right.arguments()[0].ufl_function_space():
>               raise TypeError("Incompatible function spaces in Action")
E               TypeError: Incompatible function spaces in Action

../firedrake_venv/src/ufl/ufl/action.py:172: TypeError

Check failure on line 161 in tests/firedrake/regression/test_assemble_baseform.py

See this annotation in the file changed.

@github-actions github-actions / Firedrake complex

test_assemble_baseform.test_preprocess_form[cg2dg1[0]]

TypeError: Incompatible function spaces in Action
Raw output
M = Form([Integral(Product(Argument(WithGeometry(IndexedProxyFunctionSpace(<firedrake.mesh.MeshTopology object at 0x7f8354..., 0, None))), 'cell', Mesh(VectorElement(FiniteElement('Lagrange', triangle, 1), dim=2), 42), 'everywhere', {}, None)])
a = Form([Integral(Product(Coefficient(WithGeometry(IndexedProxyFunctionSpace(<firedrake.mesh.MeshTopology object at 0x7f8..., 0, None))), 'cell', Mesh(VectorElement(FiniteElement('Lagrange', triangle, 1), dim=2), 42), 'everywhere', {}, None)])
f = Coefficient(WithGeometry(IndexedProxyFunctionSpace(<firedrake.mesh.MeshTopology object at 0x7f8354ae2db0>, FiniteEleme...2), name=None, index=0, component=None), Mesh(VectorElement(FiniteElement('Lagrange', triangle, 1), dim=2), 42)), 2299)

    def test_preprocess_form(M, a, f):
        from ufl.algorithms import expand_indices, expand_derivatives
    
>       expr = action(action(M, M), f)

tests/firedrake/regression/test_assemble_baseform.py:161: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
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/ufl_expr.py:306: in action
    return ufl.action(form, coefficient, derivatives_expanded=derivatives_expanded)
../firedrake_venv/src/ufl/ufl/formoperators.py:135: in action
    return Action(form, coefficient)
../firedrake_venv/src/ufl/ufl/action.py:92: in __init__
    _check_function_spaces(left, right)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

left = Form([Integral(Product(Argument(WithGeometry(IndexedProxyFunctionSpace(<firedrake.mesh.MeshTopology object at 0x7f8354..., 0, None))), 'cell', Mesh(VectorElement(FiniteElement('Lagrange', triangle, 1), dim=2), 42), 'everywhere', {}, None)])
right = Form([Integral(Product(Argument(WithGeometry(IndexedProxyFunctionSpace(<firedrake.mesh.MeshTopology object at 0x7f8354..., 0, None))), 'cell', Mesh(VectorElement(FiniteElement('Lagrange', triangle, 1), dim=2), 42), 'everywhere', {}, None)])

    def _check_function_spaces(left, right):
        """Check if the function spaces of left and right match."""
        if isinstance(right, CoefficientDerivative):
            # Action differentiation pushes differentiation through
            # right as a consequence of Leibniz formula.
            right, *_ = right.ufl_operands
    
        # `left` can also be a Coefficient in V (= V**), e.g.
        # `action(Coefficient(V), Cofunction(V.dual()))`.
        left_arg = left.arguments()[-1] if not isinstance(left, Coefficient) else left
        if isinstance(right, (Form, Action, Matrix, ZeroBaseForm)):
            if left_arg.ufl_function_space().dual() != right.arguments()[0].ufl_function_space():
>               raise TypeError("Incompatible function spaces in Action")
E               TypeError: Incompatible function spaces in Action

../firedrake_venv/src/ufl/ufl/action.py:172: TypeError

Check failure on line 161 in tests/firedrake/regression/test_assemble_baseform.py

See this annotation in the file changed.

@github-actions github-actions / Firedrake complex

test_assemble_baseform.test_preprocess_form[cg2dg1[1]]

TypeError: Incompatible function spaces in Action
Raw output
M = Form([Integral(Product(Argument(WithGeometry(IndexedProxyFunctionSpace(<firedrake.mesh.MeshTopology object at 0x7f8354..., 0, None))), 'cell', Mesh(VectorElement(FiniteElement('Lagrange', triangle, 1), dim=2), 42), 'everywhere', {}, None)])
a = Form([Integral(Product(Coefficient(WithGeometry(IndexedProxyFunctionSpace(<firedrake.mesh.MeshTopology object at 0x7f8..., 0, None))), 'cell', Mesh(VectorElement(FiniteElement('Lagrange', triangle, 1), dim=2), 42), 'everywhere', {}, None)])
f = Coefficient(WithGeometry(IndexedProxyFunctionSpace(<firedrake.mesh.MeshTopology object at 0x7f8354ae2db0>, FiniteEleme...1), name=None, index=1, component=None), Mesh(VectorElement(FiniteElement('Lagrange', triangle, 1), dim=2), 42)), 2449)

    def test_preprocess_form(M, a, f):
        from ufl.algorithms import expand_indices, expand_derivatives
    
>       expr = action(action(M, M), f)

tests/firedrake/regression/test_assemble_baseform.py:161: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
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/ufl_expr.py:306: in action
    return ufl.action(form, coefficient, derivatives_expanded=derivatives_expanded)
../firedrake_venv/src/ufl/ufl/formoperators.py:135: in action
    return Action(form, coefficient)
../firedrake_venv/src/ufl/ufl/action.py:92: in __init__
    _check_function_spaces(left, right)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

left = Form([Integral(Product(Argument(WithGeometry(IndexedProxyFunctionSpace(<firedrake.mesh.MeshTopology object at 0x7f8354..., 0, None))), 'cell', Mesh(VectorElement(FiniteElement('Lagrange', triangle, 1), dim=2), 42), 'everywhere', {}, None)])
right = Form([Integral(Product(Argument(WithGeometry(IndexedProxyFunctionSpace(<firedrake.mesh.MeshTopology object at 0x7f8354..., 0, None))), 'cell', Mesh(VectorElement(FiniteElement('Lagrange', triangle, 1), dim=2), 42), 'everywhere', {}, None)])

    def _check_function_spaces(left, right):
        """Check if the function spaces of left and right match."""
        if isinstance(right, CoefficientDerivative):
            # Action differentiation pushes differentiation through
            # right as a consequence of Leibniz formula.
            right, *_ = right.ufl_operands
    
        # `left` can also be a Coefficient in V (= V**), e.g.
        # `action(Coefficient(V), Cofunction(V.dual()))`.
        left_arg = left.arguments()[-1] if not isinstance(left, Coefficient) else left
        if isinstance(right, (Form, Action, Matrix, ZeroBaseForm)):
            if left_arg.ufl_function_space().dual() != right.arguments()[0].ufl_function_space():
>               raise TypeError("Incompatible function spaces in Action")
E               TypeError: Incompatible function spaces in Action

../firedrake_venv/src/ufl/ufl/action.py:172: TypeError