← Back to team overview

dolfin team mailing list archive

Re: Passing arrays from Python

 

On Sat, 2010-02-27 at 19:58 +0100, Anders Logg wrote:
> On Sat, Feb 27, 2010 at 06:32:12PM +0000, Garth N. Wells wrote:
> > How do I pass the pointer to the first element of an array from the
> > Python interface to a wrapped C++ function? I would like to tabulate the
> > dofs of a cell, so I tried
> >
> >     local_facet = cell.index(facet)
> >     dofs = numpy.array(9, dtype=numpy.uint32)
> >     dof_map.tabulate_facet_dofs(dofs, local_facet)
> >
> > but I get a bunch of memory errors. I don't know to correctly allocate
> > 'dofs' such that I can pass it to tabulate_facet_dofs.
> 
> Try this:
> 
>     cell_dofs = numpy.zeros(n, dtype='I')
> 

Thanks. Did the trick.

Garth

> It has worked for me before. Also note that there are dolfin::Cell
> functions for some (but not all) of the functions in DofMap which
> allows access from Python without needing to create a ufc::cell.
> 
> --
> Anders





Follow ups

References