← Back to team overview

dolfin team mailing list archive

Re: Assembling parts of dofs

 


On 20/07/11 22:28, Johan Hake wrote:
> Hello!
> 
> I know this has been discussed earlier, but I cannot find a bug or blueprint 
> reported for it.  
> 
> Let say I have a MixedSpace containing several global dofs (Real spaces) and 
> one CG. Even if I define a form using functions defined only on the CG space 
> it takes literally forever to assemble... This is because for each cell, a 
> bunch of zeros are added to the global matrix, as the dofmap which defines the 
> element matrix, is based on the whole MixedSpace. It would be _really_ nice if 
> the size of the element matrix was based on the actuall dofs that get 
> assembled.
> 

As a quick fix, try using the Epetra backend. My experience is that it's
much faster for this type of case. It must use a different search method
for insertion than PETSc.

> Garth has previously mentioned that this is done to simplify the assemble 
> interface, which is understandable. However, beside fixing assemble of global 
> dofs in paralell this is my biggest wish for ufc/ffc/dolfin at the moment :)
> 
> Unfortunatly I know to little about the ufc/ffc part of FEniCS to say anything 
> useful about what it would take to implement, but I would like to here what 
> others think.
> 

I vaguely recall a blueprint on identifying in the generated code global
dofs. I think that this is necessary in order to handle parallel
assembly, etc, of global dofs.

Garth

> Best regards,
> 
> Johan
> 
> _______________________________________________
> 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