← Back to team overview

dolfin team mailing list archive

Re: More troubles with C++ function in Python

 

On Monday 21 September 2009 09:02:18 Garth N. Wells wrote:
> Anders Logg wrote:
> > On Mon, Sep 21, 2009 at 07:46:44AM +0200, Johan Hake wrote:
> >> On Sunday 20 September 2009 23:32:19 Anders Logg wrote:
> >>> Should the following code work? It fails for me with
> >>>
> >>> TypeError: in method 'new_MyFunction', argument 1 of type
> >>>  'dolfin::FunctionSpace const &'
> >>>
> >>> code ="""
> >>> class MyFunction : public Function
> >>> {
> >>> public:
> >>>
> >>>   MyFunction(const FunctionSpace& V) : Function(V) {}
> >>>
> >>>   void eval(double* values, const Data& data) const
> >>>   {
> >>>     values[0] = sin(data.x[0]);
> >>>   }
> >>> };
> >>> """
> >>
> >> code ="""
> >> class MyFunction : public Function
> >> {
> >> public:
> >>
> >>   MyFunction(boost::shared_ptr<FunctionSpace> V) : Function(V) {}
> >>
> >>   void eval(double* values, const Data& data) const
> >>   {
> >>     values[0] = sin(data.x[0]);
> >>   }
> >> };
> >> """
> >>
> >> Should work.
> >
> > Yes! Thanks.
> >
> >> Will update docstring.
> >
> > Great.
> 
> It would be nice to add this example to the manual or somewhere so how
> to do it is not lost for others.

Yes we need an extended entry in the manual on creating user defined functions 
(or expressions) in Python. For now there is a working example in the 
docstring of Function. 

I think the docstring could serve as a starting point for a manual entry. I 
also think that the manual should at least cover the examples showed in the 
docstring.

Johan


> Garth
> 
> > --
> > Anders
> >
> >
> > ------------------------------------------------------------------------
> >
> > _______________________________________________
> > DOLFIN-dev mailing list
> > DOLFIN-dev@xxxxxxxxxx
> > http://www.fenics.org/mailman/listinfo/dolfin-dev
> 
> _______________________________________________
> DOLFIN-dev mailing list
> DOLFIN-dev@xxxxxxxxxx
> http://www.fenics.org/mailman/listinfo/dolfin-dev
> 


Follow ups

References