On May 28, 2010, at 6:19 PM, Igor wrote:
>> You earlier said you had cases were parallel produced different answers from >> serial. We would definitely like to see examples of that so that we can >> diagnose, because it has not been our experience. > > After running the previous example, I repeated the exercise on my > problem and it turned out that different result I was talking about is > the consequence of Trilinos "DefaultAsymmetricSolver". I was using it > as was adviced at the FiPy web page. Well, as we say there, you *might* wish to make these changes. There is no requirement not to use LU, just that GMRES is generally better in Trilinos. GMRES is broken in PySparse, so we can't use it there (and PySparse LU is quite fast). When comparing different solvers, you can be affected by different preconditioners (and preconditioner settings), different solution tolerances, and different metrics for judging solution tolerance. For instance, the default metrics used by PySparse PCG and Trilinos PCG are different. We probably need to decide whether FiPy's default settings should force them to be identical or not. Ultimately, that may not be possible; these packages offer different capabilities. > BTW, what does "DefaultAsymmetricSolver" stand for? Is it some *alias* > for some Solver from the manual? I didn't find explanation there... Yes DefaultAsymmetricSolver and DefaultSolver are aliases: $ python -c "from fipy import DefaultAsymmetricSolver; print DefaultAsymmetricSolver" fipy.solvers.pysparse.linearLUSolver.LinearLUSolver $ python -c "from fipy import DefaultAsymmetricSolver; print DefaultAsymmetricSolver" --Trilinos fipy.solvers.trilinos.linearGMRESSolver.LinearGMRESSolver DefaultSolver is a generally reliable solver offered by a particular solver package. DefaultAsymmetricSolver is a generally reliable choice if FiPy detects that the equation will produce an asymmetric matrix (e.g. convection). Neither is necessarily the best choice for a given problem, they're just choices that should work for most problems.
