Hi James, I don't have any hints for preconditioners, but using Trilinos's GMRES and then systematically changing the GMRES parameters and preconditioners might help you find one that works. I have done this in the past, for example,
https://gist.github.com/wd15/c28ab796cb3d9781482b01fb67a7ec2d#file-unsegregatedequation-py-L187 You can also get information about how well the solver is converging. Cheers, Daniel On Wed, May 31, 2017 at 3:31 PM, James Pringle <jprin...@unh.edu> wrote: > > Dear all -- > > I need to solve a second order PDE in 2D of the form > > A(x,y)*(eta_xx+eta_yy)+B(x,y)*eta_x+C(x,y)*eta_y = 0 > > This is an advective diffusive balance, with B and C representing the > advective velocities. > > > Over much of the domain the low order terms dominate. For some geometries, > the default solver I am using (SciPy LinearLUSolver) is having trouble find > an answer (especially when the characteristics defined by B and C form > loops. > > Does anyone have recommendations for how to choose a better solver? (I have > blindly tried all the ones in SciPy, the ones besides LinearLUSolver do > worse). > > And are there any hints on how to use preconditioners? There is discussion > of preconditioners and Trilinnos, but I can't find hints on how one would > choose to use them and when they might help. > > Pointers to the broader literature are welcome! > > Thank you, > Jamie Pringle > > _______________________________________________ > fipy mailing list > fipy@nist.gov > http://www.ctcms.nist.gov/fipy > [ NIST internal ONLY: https://email.nist.gov/mailman/listinfo/fipy ] > -- Daniel Wheeler _______________________________________________ fipy mailing list fipy@nist.gov http://www.ctcms.nist.gov/fipy [ NIST internal ONLY: https://email.nist.gov/mailman/listinfo/fipy ]