Traceback (most recent call last):
File "temp.py", line 23, in <module>
solver_parameters={'ksp_type': 'preonly', 'pc_type': 'lu'})
File "/Volumes/Scratch/Users/paalbert/Documents/FIREDRAKE/firedrakeAdjoint/src/firedrake/firedrake/solving.py", line 124, in solve
_solve_varproblem(*args, **kwargs)
File "/Volumes/Scratch/Users/paalbert/Documents/FIREDRAKE/firedrakeAdjoint/src/firedrake/firedrake/solving.py", line 154, in _solve_varproblem
solver.solve()
File "/Volumes/Scratch/Users/paalbert/Documents/FIREDRAKE/firedrakeAdjoint/src/firedrake/firedrake/variational_solver.py", line 223, in solve
solving_utils.check_snes_convergence(self.snes)
File "/Volumes/Scratch/Users/paalbert/Documents/FIREDRAKE/firedrakeAdjoint/src/firedrake/firedrake/solving_utils.py", line 160, in check_snes_convergence
%s""" % (snes.getIterationNumber(), msg))
firedrake.exceptions.ConvergenceError: Nonlinear solve failed to converge after 0 nonlinear iterations.
Reason:
Inner linear solve failed to converge after 0 iterations with reason: unknown reason (petsc4py enum incomplete?), try with -snes_convered_reason and -ksp_converged_reason
The message doesn't appear if I drop the solver_parameters. The original dolfin-adjoint
test case calls the function solve without solver parameters, which in FEniCs corresponds to using a direct solver.
The following code (taken from a firedrake-adjoint test)
returns the error message
The message doesn't appear if I drop the
solver_parameters
. The originaldolfin-adjoint
test case calls the functionsolve
without solver parameters, which inFEniCs
corresponds to using a direct solver.How should I proceed?