changes to petsc-dev that make break things
Barry Smith
bsmith at mcs.anl.gov
Sun Jul 30 01:58:03 CDT 2006
I have pushed a set of changes to petsc-dev in
1) how the "AIJ" matrix type is handled (it is no longer a true type
and when requested becomes simply a MPIAIJ or SEQAIJ; like BAIJ and SBAIJ
have been done)
2) how the MatConvert() figures out how to convert between matrix types
including eliminating the MatConvert registration process. Now
all convert routines are found by querying the matrix
3) minor simplification of how Superlu, Spooles, etc matrix types are
handled as subclasses of their parents. Note: generic conversion between
any subclasses to any other is still broken (not broken but slow since it
uses the MatConvert_Basic).
I think unifying the subclassing process even more is possible. For example,
it would be nice to have a common way of saving the "super" methods when the
subclass is made, restoring them later and making sure the subclass data is
properly destroyed when converting to the superclass or destroying the whole
object. Oh well, maybe next year. If we have only one level of implementation
inheritence (like we have now) this is pretty easy.
Why did I do all this? So I can begin working on allowing setting the matrix
type BEFORE setting the matrix sizes. This will allow simplifying a bunch of
things.
Note: none of the external matrix classes have been tested :-(!
Barry
More information about the petsc-dev
mailing list