Hi Brent,

You should set system.assemble_before_solve = false to tell libMesh not 
to reassemble the system matrix each time you call solve(). Instead, 
you'll have to call your matrix assemble function yourself just once 
(before you try to solve, of course). Also, define a separate assembly 
function for the right-hand side and you can call that each time you 
need a new rhs.

As to the solves themselves, in the past I've done some computations 
with the raw PETSc KSP (Krylov subspace) object and I believe in your 
situation you can get some savings if you just set the KSP Operator 
(i.e. the system matrix) once, but it looks to me that libMesh makes the 
call KSPSetOperators(ksp,A,A,SAME_NONZERO_PATTERN) on each call to 
solve, so unless you want to delve down into the library a bit, I'd 
recommend you just use the assemble_before_solve flag.

- Dave


Brent Kraczek wrote:
> Dear all,
> 
> I am trying to set-up a simple poisson system where I will change my RHS 
> repeatedly, but the main system matrix will not change, so it will only 
> need to be inverted once. I have been looking through the class 
> definition for LinearImplicitSystem and its parent classes, but I don't 
> see how to implement this. (I did run across a comment about multiple 
> RHS in regard to the variable assemble_before_solve, but it's still not 
> clear to me.)
> 
> Is there an example of this, or could you point me toward which member 
> functions to use to accomplish this?
> 
> 
> Thanks,
> Brent
> 
> ------------------------------------------------------------------------------
> This SF.net email is sponsored by:
> SourcForge Community
> SourceForge wants to tell your story.
> http://p.sf.net/sfu/sf-spreadtheword
> _______________________________________________
> Libmesh-users mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/libmesh-users
> 


------------------------------------------------------------------------------
This SF.net email is sponsored by:
SourcForge Community
SourceForge wants to tell your story.
http://p.sf.net/sfu/sf-spreadtheword
_______________________________________________
Libmesh-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/libmesh-users

Reply via email to