From: John Peterson <jwpeterson@gm...> - 2008-10-30 21:05:27
On Thu, Oct 30, 2008 at 3:39 PM, Derek Gaston <friedmud@...> wrote:
> On Oct 30, 2008, at 10:14 AM, John Peterson wrote:
>> Yes, I think you are correct. Since the overwhelming sentiment seemed
>> to be against a multiple inheritance hierarchy and more towards a
>> 'pimpl' style design, I've worked up one more class diagram (attached)
>> which takes into account Derek's ShellMatrix inheritance stuff as
> I still claim you're going to need a PetscShellMatrix object... but I'm
> willing to be proven wrong. ;-)
Yeah... I think the issue is we don't want a ShellMatrix to have a
single underlying implementation, i.e. be either a PetscShell OR an
EpetraShell. When you "build()" a ShellMatrix, it must somehow retain
the possibility to be used within either a PetscLinearSolver routine
or an AztecLinearSolver routine, or whatever else you have (as I
understand the design goals).
I envision that the library's ShellMatrix will know how to initialize
itself for different solvers, that is, it will be free to obtain and
discard implementations at will, since for a Shell this is supposed to
be a cheap operation. In any case, I don't claim that the current
design will be unchanged during the implementation process ... it will
definitely evolve as it gets coded up.
Get latest updates about Open Source Projects, Conferences and News.