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