On Mon, Jan 12, 2009 at 3:00 PM, Brent Kraczek <[email protected]> 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?

I think what you'll want is if-tests in your matrix assembly code
which only assemble the matrix on the first trip through and on
subsequent calls to assemble only assemble the right-hand sides.
There's nothing that I know of in the library which makes this
particularly easy to do, unfortunately.

If it's possible, it may also be more efficient for you to assemble
all the right-hand sides at once during the same assembly, and then
call the LinearSolver::solve() interface directly, which allows you
additional flexibility in setting the right-hand side to be used in
the solve.

-- 
John

------------------------------------------------------------------------------
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