← Back to team overview

dolfin team mailing list archive

Re: [Question #111705]: How to get data structures necessary for assembly for the whole mesh?

 

Question #111705 on DOLFIN changed:
https://answers.launchpad.net/dolfin/+question/111705

    Status: Open => Answered

Anders Logg proposed the following answer:
On Thu, May 20, 2010 at 11:47:02AM -0000, Florian Rathgeber wrote:
> New question #111705 on DOLFIN:
> https://answers.launchpad.net/dolfin/+question/111705
>
> Given a form, is it possible to get all the data structures necessary to assemble the system for all cells of the mesh at once (or at least a range of cells)?
>
> Specifically, I would need the following for all cells of the mesh at once:
> - shape functions on the reference element
> - derivatives of shape functions on the reference element
> - local-to-global mapping for vertex numbers
> - coordinates of all vertices
> - quadrature points
> - quadrature weights
>
> In my understanding, since the DOLFIN assembly loop uses the UFC interface, all the data is retrieved per cell. Is there any way to efficiently extract or construct these data structures without having to loop over all the cells? We want to do the assembly massively parallel (on the GPU) and hence eliminate the loop over the cells.
>
> Access through the python interface (as a first step) would be the preferred if that is possible.
>
> Any hints are highly appreciated,
> Florian

Do you really need the shape functions? Is it not enough to work
through the UFC interface?

Take a look at the assembly loop in Assembler.cpp. There you will see
how to get the local-to-global mapping, vertex coordinates etc.

--
Anders

-- 
You received this question notification because you are a member of
DOLFIN Team, which is an answer contact for DOLFIN.