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.

Reply via email to