On Jan 16, 2011, at 5:59 PM, Darcoux Christine wrote: > I am new to PETSc and I am interested to use the nonlinear solver in a CFD > code for low speed compressible fluid. > > According to some papers, it seems that GMRES (or any other Krylov method) > could be used to precondition FGMRES in a way that is completely matrix-free. > Is it something possible with the fgmres implementation provided by PETSc ?
Yes, but like anything with "matrix-free" is the question how you provide a decent preconditioner without forming any matrices. If you can do that then you are all set. KSPSetOperators(ksp,A,B,...) or SNESSetJacobian(snes,A,B, ....) where A is a a MATSHELL that does matrix vector products or use MatCreateMFFD() -ksp_type fgmres -pc_type ksp -ksp_ksp_type gmres -ksp_view If B is some approximate representation of A then B will be used to construct the preconditioner, if you never have a matrix-representation but have a function/subroutine that is supposedly a good preconditioner then you would use PCSHELL to provide it. So there are several possibilities depending on what you have and what you want to do. Barry > Christine >
