← Back to team overview

dolfin team mailing list archive

Re: SymmetricAssembler and SystemAssembler

 

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 <gnw20@xxxxxxxxx> wrote:
> On 2 September 2012 11:20, Anders Logg <logg@xxxxxxxxx> 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     : dolfin@xxxxxxxxxxxxxxxxxxx
> Unsubscribe : https://launchpad.net/~dolfin
> More help   : https://help.launchpad.net/ListHelp


Follow ups

References