Skip to content

Ksagiyam/submesh core #209

Ksagiyam/submesh core

Ksagiyam/submesh core #209

GitHub Actions / Firedrake complex failed Jan 2, 2025 in 0s

8277 tests run, 6801 passed, 1474 skipped, 2 failed.

Annotations

Check failure on line 202 in tests/firedrake/regression/test_matrix_free.py

See this annotation in the file changed.

@github-actions github-actions / Firedrake complex

test_matrix_free.test_fieldsplitting[parameters2-cofunc_rhs-variational]

petsc4py.PETSc.Error: error code -1
[0] SNESSolve() at /home/firedrake/petsc/src/snes/interface/snes.c:4839
[0] SNESSolve_KSPONLY() at /home/firedrake/petsc/src/snes/impls/ksponly/ksponly.c:49
[0] KSPSolve() at /home/firedrake/petsc/src/ksp/ksp/interface/itfunc.c:1075
[0] KSPSolve_Private() at /home/firedrake/petsc/src/ksp/ksp/interface/itfunc.c:826
[0] KSPSetUp() at /home/firedrake/petsc/src/ksp/ksp/interface/itfunc.c:415
[0] PCSetUp() at /home/firedrake/petsc/src/ksp/pc/interface/precon.c:1071
[0] PCSetUp_FieldSplit() at /home/firedrake/petsc/src/ksp/pc/impls/fieldsplit/fieldsplit.c:586
[0] PCFieldSplitSetDefaults() at /home/firedrake/petsc/src/ksp/pc/impls/fieldsplit/fieldsplit.c:427
[0] DMCreateSubDM() at /home/firedrake/petsc/src/dm/interface/dm.c:2133
[0] DMPlexCreateExodusFromFile() at /home/firedrake/petsc/src/dm/impls/plex/plexexodusii.c:39
[0] No support for this operation for this object type
[0] Loading meshes requires EXODUSII support. Reconfigure using --with-exodusii-dir or -download-exodusii
Raw output
>   ???

petsc4py/PETSc/PETSc.pyx:348: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
petsc4py/PETSc/PETSc.pyx:348: in petsc4py.PETSc.PetscPythonErrorHandler
    ???
petsc4py/PETSc/PETSc.pyx:348: in petsc4py.PETSc.PetscPythonErrorHandler
    ???
petsc4py/PETSc/PETSc.pyx:348: in petsc4py.PETSc.PetscPythonErrorHandler
    ???
petsc4py/PETSc/PETSc.pyx:348: in petsc4py.PETSc.PetscPythonErrorHandler
    ???
petsc4py/PETSc/PETSc.pyx:348: in petsc4py.PETSc.PetscPythonErrorHandler
    ???
petsc4py/PETSc/PETSc.pyx:348: in petsc4py.PETSc.PetscPythonErrorHandler
    ???
petsc4py/PETSc/PETSc.pyx:348: in petsc4py.PETSc.PetscPythonErrorHandler
    ???
petsc4py/PETSc/PETSc.pyx:348: in petsc4py.PETSc.PetscPythonErrorHandler
    ???
petsc4py/PETSc/petscdmshell.pxi:490: in petsc4py.PETSc.DMSHELL_CreateSubDM
    ???
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/dmhooks.py:396: in create_subdm
    ctx, = ctx.split([fields])
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/solving_utils.py:375: in split
    new_problem = NLVP(F, subu, bcs=bcs, J=J, Jp=Jp,
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:15: in wrapper
    init(self, *args, **kwargs)
firedrake/variational_solver.py:112: in __init__
    check_pde_args(self.F, self.J, self.Jp)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

F = FormSum([Form([Integral(Conj(IndexSum(Product(Indexed(ListTensor(Indexed(Argument(WithGeometry(MixedFunctionSpace(Inde...le, 1), dim=2), 4078), Mesh(VectorElement(FiniteElement('Lagrange', triangle, 1), dim=2), 4078)), ufl_id=627)), 7756)])
J = Form([Integral(Conj(Inner(ListTensor(Indexed(Argument(WithGeometry(MixedFunctionSpace(IndexedProxyFunctionSpace(<fired...(2),)))))), 'cell', Mesh(VectorElement(FiniteElement('Lagrange', triangle, 1), dim=2), 4078), 'everywhere', {}, None)])
Jp = None

    def check_pde_args(F, J, Jp):
        if not isinstance(F, (ufl.BaseForm, slate.slate.TensorBase)):
            raise TypeError("Provided residual is a '%s', not a BaseForm or Slate Tensor" % type(F).__name__)
        if len(F.arguments()) != 1:
>           raise ValueError("Provided residual is not a linear form")
E           ValueError: Provided residual is not a linear form

firedrake/variational_solver.py:28: ValueError

The above exception was the direct cause of the following exception:

mesh = Mesh(VectorElement(FiniteElement('Lagrange', triangle, 1), dim=2), 4078)
preassembled = False
parameters = {'fieldsplit_0_Mp_pc_type': 'lu', 'fieldsplit_0_pc_python_type': 'firedrake.MassInvPC', 'fieldsplit_0_pc_type': 'python', 'fieldsplit_1_assembled_pc_type': 'lu', ...}
rhs = 'cofunc_rhs'

    @pytest.mark.parametrize("preassembled", [False, True],
                             ids=["variational", "preassembled"])
    @pytest.mark.parametrize("rhs", ["form_rhs", "cofunc_rhs"])
    @pytest.mark.parametrize("parameters",
                             [{"ksp_type": "preonly",
                               "pc_type": "python",
                               "pc_python_type": "firedrake.AssembledPC",
                               "assembled_pc_type": "lu"},
                              {"ksp_type": "preonly",
                               "pc_type": "fieldsplit",
                               "pc_fieldsplit_type": "additive",
                               "fieldsplit_pc_type": "python",
                               "fieldsplit_pc_python_type": "firedrake.AssembledPC",
                               "fieldsplit_assembled_pc_type": "lu"},
                              {"ksp_type": "preonly",
                               "pc_type": "fieldsplit",
                               "pc_fieldsplit_type": "additive",
                               "pc_fieldsplit_0_fields": "1",
                               "pc_fieldsplit_1_fields": "0,2",
                               "fieldsplit_0_pc_type": "python",
                               "fieldsplit_0_pc_python_type": "firedrake.MassInvPC",
                               "fieldsplit_0_Mp_pc_type": "lu",
                               "fieldsplit_1_pc_type": "python",
                               "fieldsplit_1_pc_python_type": "firedrake.AssembledPC",
                               "fieldsplit_1_assembled_pc_type": "lu"},
                              {"ksp_type": "preonly",
                               "pc_type": "fieldsplit",
                               "pc_fieldsplit_type": "additive",
                               "pc_fieldsplit_0_fields": "1",
                               "pc_fieldsplit_1_fields": "0,2",
                               "fieldsplit_0_pc_type": "python",
                               "fieldsplit_0_pc_python_type": "firedrake.MassInvPC",
                               "fieldsplit_0_Mp_pc_type": "lu",
                               "fieldsplit_1_pc_type": "fieldsplit",
                               "fieldsplit_1_pc_fieldsplit_type": "additive",
                               "fieldsplit_1_fieldsplit_0_pc_type": "python",
                               "fieldsplit_1_fieldsplit_0_pc_python_type": "firedrake.MassInvPC",
                               "fieldsplit_1_fieldsplit_0_Mp_pc_type": "lu",
                               "fieldsplit_1_fieldsplit_1_pc_type": "python",
                               "fieldsplit_1_fieldsplit_1_pc_python_type": "firedrake.AssembledPC",
                               "fieldsplit_1_fieldsplit_1_assembled_pc_type": "lu"}])
    def test_fieldsplitting(mesh, preassembled, parameters, rhs):
        V = FunctionSpace(mesh, "CG", 1)
        P = FunctionSpace(mesh, "DG", 0)
        Q = VectorFunctionSpace(mesh, "DG", 1)
        W = V*P*Q
    
        expect = Function(W)
        expect.sub(0).assign(1)
        expect.sub(1).assign(2)
        expect.sub(2).assign(Constant((3, 4)))
    
        u = TrialFunction(W)
        v = TestFunction(W)
    
        a = inner(u, v)*dx
    
        L = inner(expect, v)*dx
        if rhs == 'cofunc_rhs':
            L = assemble(L)
        elif rhs != 'form_rhs':
            raise ValueError("Unknown right hand side type")
    
        f = Function(W)
    
        if preassembled:
            A = assemble(a, mat_type="matfree")
            b = assemble(L)
            solve(A, f, b, solver_parameters=parameters)
        else:
            parameters["mat_type"] = "matfree"
>           solve(a == L, f, solver_parameters=parameters)

tests/firedrake/regression/test_matrix_free.py:202: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
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:178: in _solve_varproblem
    solver.solve()
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/variational_solver.py:101: in wrapper
    out = solve(self, **kwargs)
firedrake/variational_solver.py:321: in solve
    self.snes.solve(None, work)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

>   ???
E   petsc4py.PETSc.Error: error code -1
E   [0] SNESSolve() at /home/firedrake/petsc/src/snes/interface/snes.c:4839
E   [0] SNESSolve_KSPONLY() at /home/firedrake/petsc/src/snes/impls/ksponly/ksponly.c:49
E   [0] KSPSolve() at /home/firedrake/petsc/src/ksp/ksp/interface/itfunc.c:1075
E   [0] KSPSolve_Private() at /home/firedrake/petsc/src/ksp/ksp/interface/itfunc.c:826
E   [0] KSPSetUp() at /home/firedrake/petsc/src/ksp/ksp/interface/itfunc.c:415
E   [0] PCSetUp() at /home/firedrake/petsc/src/ksp/pc/interface/precon.c:1071
E   [0] PCSetUp_FieldSplit() at /home/firedrake/petsc/src/ksp/pc/impls/fieldsplit/fieldsplit.c:586
E   [0] PCFieldSplitSetDefaults() at /home/firedrake/petsc/src/ksp/pc/impls/fieldsplit/fieldsplit.c:427
E   [0] DMCreateSubDM() at /home/firedrake/petsc/src/dm/interface/dm.c:2133
E   [0] DMPlexCreateExodusFromFile() at /home/firedrake/petsc/src/dm/impls/plex/plexexodusii.c:39
E   [0] No support for this operation for this object type
E   [0] Loading meshes requires EXODUSII support. Reconfigure using --with-exodusii-dir or -download-exodusii

petsc4py/PETSc/SNES.pyx:1724: Error

Check failure on line 202 in tests/firedrake/regression/test_matrix_free.py

See this annotation in the file changed.

@github-actions github-actions / Firedrake complex

test_matrix_free.test_fieldsplitting[parameters3-cofunc_rhs-variational]

petsc4py.PETSc.Error: error code -1
[0] SNESSolve() at /home/firedrake/petsc/src/snes/interface/snes.c:4839
[0] SNESSolve_KSPONLY() at /home/firedrake/petsc/src/snes/impls/ksponly/ksponly.c:49
[0] KSPSolve() at /home/firedrake/petsc/src/ksp/ksp/interface/itfunc.c:1075
[0] KSPSolve_Private() at /home/firedrake/petsc/src/ksp/ksp/interface/itfunc.c:826
[0] KSPSetUp() at /home/firedrake/petsc/src/ksp/ksp/interface/itfunc.c:415
[0] PCSetUp() at /home/firedrake/petsc/src/ksp/pc/interface/precon.c:1071
[0] PCSetUp_FieldSplit() at /home/firedrake/petsc/src/ksp/pc/impls/fieldsplit/fieldsplit.c:586
[0] PCFieldSplitSetDefaults() at /home/firedrake/petsc/src/ksp/pc/impls/fieldsplit/fieldsplit.c:427
[0] DMCreateSubDM() at /home/firedrake/petsc/src/dm/interface/dm.c:2133
[0] SNESSolve() at /home/firedrake/petsc/src/snes/interface/snes.c:4839
[0] SNESSolve_KSPONLY() at /home/firedrake/petsc/src/snes/impls/ksponly/ksponly.c:49
[0] KSPSolve() at /home/firedrake/petsc/src/ksp/ksp/interface/itfunc.c:1075
[0] KSPSolve_Private() at /home/firedrake/petsc/src/ksp/ksp/interface/itfunc.c:826
[0] KSPSetUp() at /home/firedrake/petsc/src/ksp/ksp/interface/itfunc.c:415
[0] PCSetUp() at /home/firedrake/petsc/src/ksp/pc/interface/precon.c:1071
[0] PCSetUp_FieldSplit() at /home/firedrake/petsc/src/ksp/pc/impls/fieldsplit/fieldsplit.c:586
[0] PCFieldSplitSetDefaults() at /home/firedrake/petsc/src/ksp/pc/impls/fieldsplit/fieldsplit.c:427
[0] DMCreateSubDM() at /home/firedrake/petsc/src/dm/interface/dm.c:2133
[0] DMPlexCreateExodusFromFile() at /home/firedrake/petsc/src/dm/impls/plex/plexexodusii.c:39
[0] No support for this operation for this object type
[0] Loading meshes requires EXODUSII support. Reconfigure using --with-exodusii-dir or -download-exodusii
Raw output
>   ???

petsc4py/PETSc/PETSc.pyx:348: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
petsc4py/PETSc/PETSc.pyx:348: in petsc4py.PETSc.PetscPythonErrorHandler
    ???
petsc4py/PETSc/PETSc.pyx:348: in petsc4py.PETSc.PetscPythonErrorHandler
    ???
petsc4py/PETSc/PETSc.pyx:348: in petsc4py.PETSc.PetscPythonErrorHandler
    ???
petsc4py/PETSc/PETSc.pyx:348: in petsc4py.PETSc.PetscPythonErrorHandler
    ???
petsc4py/PETSc/PETSc.pyx:348: in petsc4py.PETSc.PetscPythonErrorHandler
    ???
petsc4py/PETSc/PETSc.pyx:348: in petsc4py.PETSc.PetscPythonErrorHandler
    ???
petsc4py/PETSc/PETSc.pyx:348: in petsc4py.PETSc.PetscPythonErrorHandler
    ???
petsc4py/PETSc/PETSc.pyx:348: in petsc4py.PETSc.PetscPythonErrorHandler
    ???
petsc4py/PETSc/petscdmshell.pxi:490: in petsc4py.PETSc.DMSHELL_CreateSubDM
    ???
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/dmhooks.py:396: in create_subdm
    ctx, = ctx.split([fields])
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/solving_utils.py:375: in split
    new_problem = NLVP(F, subu, bcs=bcs, J=J, Jp=Jp,
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:15: in wrapper
    init(self, *args, **kwargs)
firedrake/variational_solver.py:112: in __init__
    check_pde_args(self.F, self.J, self.Jp)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

F = FormSum([Form([Integral(Conj(IndexSum(Product(Indexed(ListTensor(Indexed(Argument(WithGeometry(MixedFunctionSpace(Inde...le, 1), dim=2), 4256), Mesh(VectorElement(FiniteElement('Lagrange', triangle, 1), dim=2), 4256)), ufl_id=734)), 8063)])
J = Form([Integral(Conj(Inner(ListTensor(Indexed(Argument(WithGeometry(MixedFunctionSpace(IndexedProxyFunctionSpace(<fired...(2),)))))), 'cell', Mesh(VectorElement(FiniteElement('Lagrange', triangle, 1), dim=2), 4256), 'everywhere', {}, None)])
Jp = None

    def check_pde_args(F, J, Jp):
        if not isinstance(F, (ufl.BaseForm, slate.slate.TensorBase)):
            raise TypeError("Provided residual is a '%s', not a BaseForm or Slate Tensor" % type(F).__name__)
        if len(F.arguments()) != 1:
>           raise ValueError("Provided residual is not a linear form")
E           ValueError: Provided residual is not a linear form

firedrake/variational_solver.py:28: ValueError

The above exception was the direct cause of the following exception:

mesh = Mesh(VectorElement(FiniteElement('Lagrange', triangle, 1), dim=2), 4256)
preassembled = False
parameters = {'fieldsplit_0_Mp_pc_type': 'lu', 'fieldsplit_0_pc_python_type': 'firedrake.MassInvPC', 'fieldsplit_0_pc_type': 'python', 'fieldsplit_1_fieldsplit_0_Mp_pc_type': 'lu', ...}
rhs = 'cofunc_rhs'

    @pytest.mark.parametrize("preassembled", [False, True],
                             ids=["variational", "preassembled"])
    @pytest.mark.parametrize("rhs", ["form_rhs", "cofunc_rhs"])
    @pytest.mark.parametrize("parameters",
                             [{"ksp_type": "preonly",
                               "pc_type": "python",
                               "pc_python_type": "firedrake.AssembledPC",
                               "assembled_pc_type": "lu"},
                              {"ksp_type": "preonly",
                               "pc_type": "fieldsplit",
                               "pc_fieldsplit_type": "additive",
                               "fieldsplit_pc_type": "python",
                               "fieldsplit_pc_python_type": "firedrake.AssembledPC",
                               "fieldsplit_assembled_pc_type": "lu"},
                              {"ksp_type": "preonly",
                               "pc_type": "fieldsplit",
                               "pc_fieldsplit_type": "additive",
                               "pc_fieldsplit_0_fields": "1",
                               "pc_fieldsplit_1_fields": "0,2",
                               "fieldsplit_0_pc_type": "python",
                               "fieldsplit_0_pc_python_type": "firedrake.MassInvPC",
                               "fieldsplit_0_Mp_pc_type": "lu",
                               "fieldsplit_1_pc_type": "python",
                               "fieldsplit_1_pc_python_type": "firedrake.AssembledPC",
                               "fieldsplit_1_assembled_pc_type": "lu"},
                              {"ksp_type": "preonly",
                               "pc_type": "fieldsplit",
                               "pc_fieldsplit_type": "additive",
                               "pc_fieldsplit_0_fields": "1",
                               "pc_fieldsplit_1_fields": "0,2",
                               "fieldsplit_0_pc_type": "python",
                               "fieldsplit_0_pc_python_type": "firedrake.MassInvPC",
                               "fieldsplit_0_Mp_pc_type": "lu",
                               "fieldsplit_1_pc_type": "fieldsplit",
                               "fieldsplit_1_pc_fieldsplit_type": "additive",
                               "fieldsplit_1_fieldsplit_0_pc_type": "python",
                               "fieldsplit_1_fieldsplit_0_pc_python_type": "firedrake.MassInvPC",
                               "fieldsplit_1_fieldsplit_0_Mp_pc_type": "lu",
                               "fieldsplit_1_fieldsplit_1_pc_type": "python",
                               "fieldsplit_1_fieldsplit_1_pc_python_type": "firedrake.AssembledPC",
                               "fieldsplit_1_fieldsplit_1_assembled_pc_type": "lu"}])
    def test_fieldsplitting(mesh, preassembled, parameters, rhs):
        V = FunctionSpace(mesh, "CG", 1)
        P = FunctionSpace(mesh, "DG", 0)
        Q = VectorFunctionSpace(mesh, "DG", 1)
        W = V*P*Q
    
        expect = Function(W)
        expect.sub(0).assign(1)
        expect.sub(1).assign(2)
        expect.sub(2).assign(Constant((3, 4)))
    
        u = TrialFunction(W)
        v = TestFunction(W)
    
        a = inner(u, v)*dx
    
        L = inner(expect, v)*dx
        if rhs == 'cofunc_rhs':
            L = assemble(L)
        elif rhs != 'form_rhs':
            raise ValueError("Unknown right hand side type")
    
        f = Function(W)
    
        if preassembled:
            A = assemble(a, mat_type="matfree")
            b = assemble(L)
            solve(A, f, b, solver_parameters=parameters)
        else:
            parameters["mat_type"] = "matfree"
>           solve(a == L, f, solver_parameters=parameters)

tests/firedrake/regression/test_matrix_free.py:202: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
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:178: in _solve_varproblem
    solver.solve()
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/variational_solver.py:101: in wrapper
    out = solve(self, **kwargs)
firedrake/variational_solver.py:321: in solve
    self.snes.solve(None, work)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

>   ???
E   petsc4py.PETSc.Error: error code -1
E   [0] SNESSolve() at /home/firedrake/petsc/src/snes/interface/snes.c:4839
E   [0] SNESSolve_KSPONLY() at /home/firedrake/petsc/src/snes/impls/ksponly/ksponly.c:49
E   [0] KSPSolve() at /home/firedrake/petsc/src/ksp/ksp/interface/itfunc.c:1075
E   [0] KSPSolve_Private() at /home/firedrake/petsc/src/ksp/ksp/interface/itfunc.c:826
E   [0] KSPSetUp() at /home/firedrake/petsc/src/ksp/ksp/interface/itfunc.c:415
E   [0] PCSetUp() at /home/firedrake/petsc/src/ksp/pc/interface/precon.c:1071
E   [0] PCSetUp_FieldSplit() at /home/firedrake/petsc/src/ksp/pc/impls/fieldsplit/fieldsplit.c:586
E   [0] PCFieldSplitSetDefaults() at /home/firedrake/petsc/src/ksp/pc/impls/fieldsplit/fieldsplit.c:427
E   [0] DMCreateSubDM() at /home/firedrake/petsc/src/dm/interface/dm.c:2133
E   [0] SNESSolve() at /home/firedrake/petsc/src/snes/interface/snes.c:4839
E   [0] SNESSolve_KSPONLY() at /home/firedrake/petsc/src/snes/impls/ksponly/ksponly.c:49
E   [0] KSPSolve() at /home/firedrake/petsc/src/ksp/ksp/interface/itfunc.c:1075
E   [0] KSPSolve_Private() at /home/firedrake/petsc/src/ksp/ksp/interface/itfunc.c:826
E   [0] KSPSetUp() at /home/firedrake/petsc/src/ksp/ksp/interface/itfunc.c:415
E   [0] PCSetUp() at /home/firedrake/petsc/src/ksp/pc/interface/precon.c:1071
E   [0] PCSetUp_FieldSplit() at /home/firedrake/petsc/src/ksp/pc/impls/fieldsplit/fieldsplit.c:586
E   [0] PCFieldSplitSetDefaults() at /home/firedrake/petsc/src/ksp/pc/impls/fieldsplit/fieldsplit.c:427
E   [0] DMCreateSubDM() at /home/firedrake/petsc/src/dm/interface/dm.c:2133
E   [0] DMPlexCreateExodusFromFile() at /home/firedrake/petsc/src/dm/impls/plex/plexexodusii.c:39
E   [0] No support for this operation for this object type
E   [0] Loading meshes requires EXODUSII support. Reconfigure using --with-exodusii-dir or -download-exodusii

petsc4py/PETSc/SNES.pyx:1724: Error