Epetra crashes with sor

Bug #1056146 reported by Patrick Farrell
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
DOLFIN
New
Undecided
Unassigned

Bug Description

Consider the following code:

from dolfin import *
import random
import sys

mesh = UnitInterval(40)
V = FunctionSpace(mesh, "CG", 2)

parameters["linear_algebra_backend"] = "Epetra"
assert ('sor', 'Successive over-relaxation') in krylov_solver_preconditioners()

def main(ic):

  out = Function(V)
  u = TrialFunction(V)
  v = TestFunction(V)
  A = assemble(inner(u, v)*dx)
  b = assemble(inner(ic, v)*dx)
  solve(A, out.vector(), b, "cg", "sor")

  return out

if __name__ == "__main__":
  ic = Function(V)
  vec = ic.vector()
  for i in range(len(vec)):
    vec[i] = random.random()

  out = main(ic)

It crashes with:
Solving linear system of size 81 x 81 (Epetra Krylov solver).
AZ_check_options: ERROR: sym GS preconditioning can only be used with MSR matrices.
       data_org[AZ_matrix_type] = 3
...
*** -------------------------------------------------------------------------
*** Error: Unable to solve linear system using Epetra Krylov solver.
*** Reason: Solution failed to converge (error code 1).
*** Where: This error was encountered inside EpetraKrylovSolver.cpp.
*** -------------------------------------------------------------------------

It works if you either
a) remove the "sor" string
b) change the backend to PETSc.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.