The system I am trying to solve is a 2D Poisson equation, but split into 5 1D equations. Something like this:
p_xx + p_yy = f p_xx - d(p_x)/dx = 0 p_yy - d(p_y)/dy = 0 p_x - d(p)/dx = 0 p_y - d(p)/dy = 0 If I use standard finite differences, it works fine with gmres and jacobi. But when I switch to compact finite differences, only the direct solver works. It is on a staggered mesh, so p, p_xx and p_yy are on the cell center and p_x and p_y are on the edges. I recently submitted a paper and the reviewer complained about the direct linear solver. So I wanted to do a performance comparison. On Wed, Apr 1, 2015 at 12:58 PM, Matthew Knepley <[email protected]> wrote: > On Wed, Apr 1, 2015 at 10:51 AM, bichinhoverde < > [email protected]> wrote: > >> I have a linear system which I can easily solve using the Pardiso >> library, which is a direct solver. But when I try Petsc, the solver does >> not converge. It reduces the norm a little but then gets stuck. >> >> I tried several combinations of pc_type and ksp_type. It seems that >> pc=jacobi is better, since my linear system does not have the diagonal >> element in some rows. >> >> Is there some advice you can give me? Some way to analyse the matrix and >> find out why it does not work? >> > > Without knowing anything about the system, there is nothing you can say. > > Why do you want to change from using a direct solver? > > Have you looked in the literature for iterative solvers that work on this > problem? > > Thanks, > > Matt > > -- > What most experimenters take for granted before they begin their > experiments is infinitely more interesting than any results to which their > experiments lead. > -- Norbert Wiener >
