The extra functionality provided by SymmetricAssembler is rather important -- it allows the creation of multiple RHS without re-assembling the coefficient matrix. SystemAssembler OTOH can easily be reimplemented in terms of SymmetricAssembler + Assembler. (SymmetricAssembler only does rank-2, to avoid duplication; hence, both are required)
The speeds are similar -- SymmetricAssembler is roughly the same speed as normal assembler (since it uses basically the same method), SymmetricAssembler is slower in some cases, faster in some. -j. On 2 September 2012 12:26, Garth N. Wells <[email protected]> wrote: > On 2 September 2012 11:20, Anders Logg <[email protected]> wrote: >> On Sat, Sep 01, 2012 at 01:33:38PM +0100, Garth N. Wells wrote: >>> Can someone remind me why we have the two classes SymmetricAssembler >>> and SystemAssembler instead of just one? >> >> SymmetricAssembler adds some extra functionality not provided by >> SystemAssembler (symmetric modification of RSH vector), but I suspect >> it does so at an extra cost, which is why SymmetricAssembler is still >> there. >> >> I used to think it is a problem to have multiple assemblers, but I'm >> not so worried about it now. >> > > It's a problem if a bug pops up (like we have now) that 4 versions > need to be fixed. > > The purpose of Assembler OpenMPAssembler are clear, but it's not clear > why we have both SymmetricAssembler and SystemAssembler. The extra > functionality is limited and could easily go into SystemAssembler. > > Garth > >> But even if we have multiple assemblers, it is important that we have >> one really good standard default assembler that tries to provide all >> functionality of the "special-purpose" assemblers, as long as it can >> do so without overhead. >> >> -- >> Anders > > _______________________________________________ > Mailing list: https://launchpad.net/~dolfin > Post to : [email protected] > Unsubscribe : https://launchpad.net/~dolfin > More help : https://help.launchpad.net/ListHelp _______________________________________________ Mailing list: https://launchpad.net/~dolfin Post to : [email protected] Unsubscribe : https://launchpad.net/~dolfin More help : https://help.launchpad.net/ListHelp

