I have no first derivatives. In any case, I will now revisit the systems matrix 
and RHS functions.


________________________________________
From: Barry Smith [[email protected]]
Sent: 21 April 2015 19:41
To: Sanjay Kharche
Cc: Matthew Knepley; [email protected]
Subject: Re: [petsc-users] preconditioning

   Hmm, zeros on the diagonal that usually indicates either a bug in your code 
or a "Stokes-like" problem; for Stokes-like problems we recommend using 
PCFIELDSPLIT, this requires your understanding of the "block structure" of your 
matrix.

  Barry


> On Apr 21, 2015, at 1:35 PM, Sanjay Kharche <[email protected]> 
> wrote:
>
>
> Hi
>
> I just tried Matt's suggestion and tried to guess other preconditioning 
> options as well. I didnt have the time to think about their appropriateness.
>
> All preconditioners worked with the actual ts/ex15. gmag took 13 times longer 
> to finish than the case when I ran without any preconditioner. The fastest 
> was the jacobi, followed by sor and bjacobi options to -pc_type I could not 
> guess the names of the other listed preconditioners associated with ts and 
> snes.
>
> In my code however, I  found that sor and gamg did not work. I got error 
> messages, and the first few lines are pasted below. My test was on 1 proc and 
> 4 procs, both giving similar errors with differnent line numbers. The petsc 
> part of my code is virtually identical to the example. Any comments on what 
> is missing or can be changed?
>
> cheers
> Sanjay
>
>
>
>
> [1]PETSC ERROR: --------------------- Error Message 
> --------------------------------------------------------------
> [1]PETSC ERROR: Arguments are incompatible
> [1]PETSC ERROR: Zero diagonal on row 39
> [1]PETSC ERROR: Petsc Release Version 3.5.2, unknown
> [1]PETSC ERROR: ./sk2d on a linux-gnu-c-debug named atriumpc.ex.ac.uk by 
> sanjay Tue Apr 21 19:28:53 2015
> [1]PETSC ERROR: Configure options --with-cc=gcc --with-cxx=g++ 
> --with-fc=gfortran --download-fblaslapack --download-mpich 
> --download-sundials --download-scalapack --with-c2html=0
> [1]PETSC ERROR: #1 MatInvertDiagonal_SeqAIJ() line 1724 in 
> /media/6c6201d2-4e2e-4b24-8d04-263b5bc06dfa/sanjay/petsc/src/mat/impls/aij/seq/aij.c
> [1]PETSC ERROR: #2 MatSOR_SeqAIJ() line 1756 in 
> /media/6c6201d2-4e2e-4b24-8d04-263b5bc06dfa/sanjay/petsc/src/mat/impls/aij/seq/aij.c
> [1]PETSC ERROR: #3 MatSOR_MPIAIJ() line 1483 in 
> /media/6c6201d2-4e2e-4b24-8d04-263b5bc06dfa/sanjay/petsc/src/mat/impls/aij/mpi/mpiaij.c
> [1]PETSC ERROR: #4 MatSOR() line 3643 in 
> /media/6c6201d2-4e2e-4b24-8d04-263b5bc06dfa/sanjay/petsc/src/mat/interface/matrix.c
> [1]PETSC ERROR: #5 PCApply_SOR() line 35 in 
> /media/6c6201d2-4e2e-4b24-8d04-263b5bc06dfa/sanjay/petsc/src/ksp/pc/impls/sor/sor.c
> [1]PETSC ERROR: #6 PCApply() line 440 in 
> /media/6c6201d2-4e2e-4b24-8d04-263b5bc06dfa/sanjay/petsc/src/ksp/pc/interface/precon.c
>
>
>
> From: Matthew Knepley [[email protected]]
> Sent: 21 April 2015 16:51
> To: Sanjay Kharche
> Cc: [email protected]
> Subject: Re: [petsc-users] preconditioning
>
> On Tue, Apr 21, 2015 at 10:49 AM, Sanjay Kharche 
> <[email protected]> wrote:
>
> Hi
>
> I am working through the KSP examples, but I will ask for any comments in the 
> mean time.
>
> I have a TS code for 2D/3D heat equation, starting from ts/ex15. How can I 
> easily modify this code to include a parallel preconditioner. As of now, I 
> just need to add a preconditioner which is easy to program. The coefficients 
> in my systems matrix are constant, but RHS changes at each iteration.
>
> Use -pc_type gamg. You have the Laplacian + Identity, so this should work 
> fine.
>
>   Thanks,
>
>     Matt
>
> cheers
> Sanjay
>
>
>
> --
> 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

Reply via email to