On Mon, 8 Nov 2010, Tim Kroeger wrote:

> Idea #4: Upon removing the columns of the matrix, automatically adjust
> the right hand side.  I think this would actually be quite easy to do
> by the following procedure:
>
>       1. Remove the inactive rows of the matrix.
>
>       2. Let B denote the active columns of the matrix and C all the 
> remaining (inactive) columns.
>
>       3. Subtract C*x from b (where b is the right hand side and x the 
> solution vector).
>
>       4. Then solve with B as before.

After thinking about this some more time, I am now unsure at which 
point in the code the complement (PETSc) index set should be 
determined.  The most native point would be in 
PetscLinearSolver::restrict_solve_to(), since this is the point where 
to other (non-complement) index set is created.  But this is not 
possible because this method (with the current API) has no chance to 
determine the overall index range, because this method does not get a 
vector.

My idea would be add ab extra method, e.g. 
PetscLinearSolver::create_complement_is(), to create the complement 
index set.  This method would be called from any solve() method, and 
if the complement index set has already been computed before, it will 
do nothing.

Any thoughts?

-- 
Dr. Tim Kroeger
CeVis -- Center of Complex Systems and Visualization
University of Bremen              [email protected]
Universitaetsallee 29             [email protected]
D-28359 Bremen                             Phone +49-421-218-7710
Germany                                    Fax   +49-421-218-4236

------------------------------------------------------------------------------
The Next 800 Companies to Lead America's Growth: New Video Whitepaper
David G. Thomson, author of the best-selling book "Blueprint to a 
Billion" shares his insights and actions to help propel your 
business during the next growth cycle. Listen Now!
http://p.sf.net/sfu/SAP-dev2dev
_______________________________________________
Libmesh-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/libmesh-users

Reply via email to