← Back to team overview

dolfin team mailing list archive

Re: [Branch ~dolfin-core/dolfin/trunk] Rev 7415: Merge start of work on consolidating assemblers.

 

On 13 February 2013 13:25, Johan Hake <hake.dev@xxxxxxxxx> wrote:
> On 02/13/2013 12:59 PM, Garth N. Wells wrote:
>> On 13 February 2013 11:52, Johan Hake <hake.dev@xxxxxxxxx> wrote:
>>> Will the functionality of SymmetricAssembler reappear when the
>>> assemblers are consolidated?
>>>
>>
>> Do you mean assembling just the lhs or rhs? That's already in place.
>
> But can you do this in a symmetric way when you have DirichletBC?
>

Yes.

>> Assembling two global sparse matrices will not return. It costs CPU
>> time and memory, which means it was no good for large problems.
>
> The point with SystemAssemble was to cover the case when your system
> matrix does not change but your rhs does. Then you only assemble two
> matrices once and in your time loop you only assemble the rhs, and apply
> a matrix vector product to obtain the symmetric new rhs.
>

Assembling a second global sparse matrix is overkill to do this.

It can be done be just computing the local matrix for the cells that have a bc.

It's supported by SystemAssembler, but needs a bit more performance polish.

Garth

> Johan
>
>> Garth
>>
>>> Johan
>>>
>>> On 02/13/2013 10:00 AM, noreply@xxxxxxxxxxxxx wrote:
>>>> Merge authors:
>>>>   Garth Wells (garth-wells)
>>>> ------------------------------------------------------------
>>>> revno: 7415 [merge]
>>>> committer: Garth N. Wells <gnw20@xxxxxxxxx>
>>>> branch nick: trunk
>>>> timestamp: Wed 2013-02-13 08:59:32 +0000
>>>> message:
>>>>   Merge start of work on consolidating assemblers.
>>>> removed:
>>>>   dolfin/fem/SymmetricAssembler.cpp
>>>>   dolfin/fem/SymmetricAssembler.h
>>>> modified:
>>>>   dolfin/fem/assemble.cpp
>>>>   dolfin/fem/assemble.h
>>>>   dolfin/fem/dolfin_fem.h
>>>>   dolfin/swig/fem/docstrings.i
>>>>   dolfin/swig/modules/fem/dependencies.txt
>>>>   dolfin/swig/modules/fem/module.i
>>>>   site-packages/dolfin/compilemodules/swigimportinfo.py
>>>> The size of the diff (577 lines) is larger than your specified limit of 500 lines
>>>>
>>>> --
>>>> lp:dolfin
>>>> https://code.launchpad.net/~dolfin-core/dolfin/trunk
>>>>
>>>> Your team DOLFIN Core Team is subscribed to branch lp:dolfin.
>>>> To unsubscribe from this branch go to https://code.launchpad.net/~dolfin-core/dolfin/trunk/+edit-subscription
>>>>
>>>
>>>
>>> _______________________________________________
>>> 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