← Back to team overview

cbc.block team mailing list archive

Re: [Question #220333]: Dolfin GMRES vs. CBC.Block LGMRES

 

Question #220333 on CBC.Block changed:
https://answers.launchpad.net/cbc.block/+question/220333

    Status: Open => Answered

Joachim Haga proposed the following answer:
I have looked briefly. The convergence of builtin Trilinos solvers is
illusory; try

# Solve with Trilinos solvers
x = Function(V)
solve(A, x.vector(), b, "gmres", "ilu")
plot(x[0])
solve(A, x.vector(), b, "bicgstab", "ilu")
plot(x[0])
solve(A, x.vector(), b, "bicgstab", "ilu")
plot(x[0])
interactive()

--- you'll see three very different "solutions". I suspect that the
problem is that the full matrix A is indefinite; the preconditioner
should probably be positive. The built-in solver probably bails out when
encountering division-by-zero (which generates NaN/Inf), while cbc.block
doesn't check for this and hence throws an exception.

-- 
You received this question notification because you are a member of
cbc.block maintainers, which is an answer contact for CBC.Block.