On Thu, Oct 23, 2008 at 5:09 PM, John Peterson <jwpeterson@gmail.com> wrote:
We want ShellMatrix to be usable by either Petsc or Epetra, so I don't see the reason for creating separate PetscShellMatrix and EpetraShellMatrix subclasses...

The user's shell matrix _will_ be usable by either Petsc or Epetra... they're going to call the ShellMatrix interface functions.

The trouble is that you have to put the petsc and epetra specific stuff _somewhere_.  For instance with Petsc... where are you going to call MatCreateShell()?  That's the type of stuff I was intending to be in Petsc/EpetraShellMatrix.  Again, this directly mirrors what happens with NonlinearSolver...

Derek