← 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 02/13/2013 03:14 PM, Garth N. Wells wrote:
> 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.

Yes, but here you assemble the system matrix in each assemble, right?
This was what you could avoid with SymmetricAssembler if you knew it was
only your rhs that changed.

Johan

> 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