The document string for fipy.solvers.scipy.linearBicgstabSolver.py claims it takes the arguments "tolerance," "iterations" and "precon", but it does not.
To reproduce this bug, make sure you are using the scipy solvers, and compare the results for, e.g. eq.solve(var=psi,solver=fipy.LinearPCGSolver(tolerance=1.0e-3)) to eq.solve(var=psi,solver=fipy.LinearBicgstabSolver(tolerance=1.0e-3)). The later throws the error: In [43]: eq.solve(var=psi,solver=fipy.LinearBicgstabSolver(tolerance=1.0e-3)) --------------------------------------------------------------------------- TypeError Traceback (most recent call last) <ipython-input-43-0e7f0df869ec> in <module>() ----> 1 eq.solve(var=psi,solver=fipy.LinearBicgstabSolver(tolerance=1.0e-3)) TypeError: __init__() got an unexpected keyword argument 'tolerance' In fipy version 3.1; the error appears to be in the latest git version of the code as well; it appears the problem is in the fipy/fipy/solvers/scipy/linearBicgstabSolver.py, where the arguments are simply not based to bicgstab. This is too bad, for LinearBicgstabSolver gives by far the best results on my problem, and the underlying scipy.sparse.linalg.bicgstab does take the argument "tol". I think I could fix the problem staring at the code, but the class/inheritance that is going on is above what I really understand, and I am afraid I would bolix things further. Thanks, Jamie
_______________________________________________ fipy mailing list [email protected] http://www.ctcms.nist.gov/fipy [ NIST internal ONLY: https://email.nist.gov/mailman/listinfo/fipy ]
