Kyle:
Additionally, due to that structure, where most of the matrix does not
change, I could probably solve much more efficiently too. Currently I am
using UMFPACK. Figuring out and implementing a nice preconditioner is
another project for another time. However, what I'm hoping is possible
is some sort of scheme like:
1) Solve the system directly once, store the LU decomposition and how
long it took to solve.
2) Switch to GMRES (nonsymmetric problem) and precondition the next
solve with the precomputed LU decomposition. Time the computation.
3) If that solve took less time that the direct one took, do go back to
stop 2 for the next solve. If it took longer go to step 1.
Yes, that scheme makes sense. The SparseDirectUMFPACK::factorize() and
SparseDirectUMFPACK::solve() functions make that possible where you
would call the solve() function that only takes vector(s) as argument.
I understand every part of this except for how to store and reuse the
LU. From what (little) I understand, UMFPACK does literally store the
entire LU. How can I get access to it directly.
You don't. UMFPACK stores it internally, and solve() uses it.
If I can't for whatever
reason, I was thinking about using a similar setup with an ILU
decomposition. However, I have the same problem there and am back to
hoping that someone can tell me how to get access to such a thing. Note
that I would like to avoid making a copy of the whole system matrix--as
I notice many of the preconditioner types are pass by reference, I can't
change it and then use the old values.
The situation is actually the same with ILUs: There are separate
functions that *compute* a factorization and that *use* a factorization.
Best
W.
--
------------------------------------------------------------------------
Wolfgang Bangerth email: [email protected]
www: http://www.math.colostate.edu/~bangerth/
--
The deal.II project is located at http://www.dealii.org/
For mailing list/forum options, see
https://groups.google.com/d/forum/dealii?hl=en
---
You received this message because you are subscribed to the Google Groups "deal.II User Group" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/dealii/8a1d61ae-ade5-ca6b-3b33-69ba19611b69%40colostate.edu.