On Wednesday 07 January 2009 00:29:52 Garth N. Wells wrote: > Johan Hake wrote: > > Hello! > > > > I have now got some of the shared_ptr stuff combined with python up and > > going. > > > > The function interface, with shared functions and function_space should > > just work. This includes compiled functions. The nice thing with these is > > they only refer to our own library, i.e., Py/DOLFIN and they don't have > > to be compatible with other Py-library. > > > > I havn't looked into the la objects yet. I lack a good example of where > > it is used. > > demo/la/trilinos/python/demo.py > > All la stuff in pure dolfin library use wants a GenericMatrix, (right?) > > > and as far as I am concerned we cannot use a shared Epetra_FECrsMatrix or > > Epetra_FeVector in the PyTrilinos interface. > > What isn't this possible?
Short answer, no. Long answer: PyTrilinos need to be compiled with shared_ptr support. If the underlying library does not have a shared_ptr interface, which I am quite sure Trilinos does not have, it is that libraries responsability to include a shared_ptr typemaps to handle situations where it get this type. These typemaps is what I am about to include for PyDOLFIN, i.e., making it possible to pass a python objects that are stored using shared_ptr to function accepting pointers, references, or shared_ptr, but I doubt PyTrilinos is compiled with this support. Johan > Garth > > This means that we either way > > > need access of the underlaying pointer or reference to interact with > > PyTrilinos. > > > > I haven't been able to wrap the compiled ufc objects yet. I have an idea > > of how this can be done and why it did not work the first time I gave it > > a try. To be able to get it working I think we need to extend ufc. > > > > In ffc jit and in dolfin, where we all use derived classes of ufc::foo, > > we need to be able to %import some definition of these classes from some > > where. I have started to scetch on an ufc.i file which does this, but I > > need some response to whether this is the right way to do it. > > > > The thing is that these shared_ptr base classes need to be defined at > > _one_ place and then %imported where they are used, typically in ffc/jit > > and in dolfin. Intuitively I think that it would be appropriate to define > > them in ufc. > > > > Where such a file should then be installed is another thing but following > > the convention of dolfin whould this then be installed in: > > > > $PREFIX/include/swig/ufc.i > > > > Johan > > _______________________________________________ > > DOLFIN-dev mailing list > > [email protected] > > http://www.fenics.org/mailman/listinfo/dolfin-dev _______________________________________________ DOLFIN-dev mailing list [email protected] http://www.fenics.org/mailman/listinfo/dolfin-dev
