There is a way to do matrix free solving with libMesh and Petsc.  Take  
a look at the PetscNonlinearSolver (which you can get by using a  
NonlinearImplicitSystem).  If you just set the residual() function and  
not the jacobian() then you are solving matrix free using Petsc SNES.

Note that there is a "matvec" function on PetscNonlinearSolver  
(inherited from NonlinearSolver).  I'm not quite sure how to use it  
though... it's something Ben put in I believe.

If you want to turn on that "matvec" function in PetscNonlinearSolver  
and make it into a MatShell or PCShell that might be a good way to go.

Derek

On Oct 7, 2008, at 9:32 AM, Tim Kroeger wrote:

> Dear libMesh team,
>
> As far as I see, there seems not to be any interface in libMesh to
> solve a system in a matrix free way.
>
> I have to solve a linear system whose matrix basically has the
> following structure:
>
> A = B + v*w^T
>
> where B is a sparse matrix and v and w are vectors, so that v*w^T is a
> full matrix.  Obviously, it is not advisable to store the full matrix.
> Instead, I would like to store B, v, and w, and then supply a method
> to multiply the matrix with a given vector (which is obviously quite
> easy, even in parallel).
>
> What whould be the things to do?  I guess, first I have to find out
> PETSc's API for matrix free solving (provided that such a thing
> exists, but I think it does).  Then, I can either use PETSc directly
> or -- presumably better -- extend the API of your LinearSolver class
> towards matrix free solving.  Of course, the latter would require to
> do something for the other solver packages as well (Laspack etc.), but
> I would just call libmesh_not_implemented() there.
>
> Would such an API extension be welcome?  Do you have any different
> ideas or suggestions?
>
> Best Regards,
>
> Tim
>
> -- 
> Dr. Tim Kroeger                                        Phone  
> +49-421-218-7710
> [EMAIL PROTECTED], [EMAIL PROTECTED]  Fax    
> +49-421-218-4236
>
> MeVis Research GmbH, Universitaetsallee 29, 28359 Bremen, Germany
>
> Amtsgericht Bremen HRB 16222
> Geschaeftsfuehrer: Prof. Dr. H.-O. Peitgen
>
> -------------------------------------------------------------------------
> This SF.Net email is sponsored by the Moblin Your Move Developer's  
> challenge
> Build the coolest Linux based applications with Moblin SDK & win  
> great prizes
> Grand prize is a trip for two to an Open Source event anywhere in  
> the world
> http://moblin-contest.org/redirect.php?banner_id=100&url=/
> _______________________________________________
> Libmesh-users mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/libmesh-users


-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
Libmesh-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/libmesh-users

Reply via email to