dolfin team mailing list archive
-
dolfin team
-
Mailing list archive
-
Message #14726
Re: BoundaryConditions and shared_ptr constructor
On Friday 14 August 2009 13:40:49 Garth N. Wells wrote:
> Johan Hake wrote:
> > Hello!
> >
> > Is it possible to store the internals of BoundaryConditions and its
> > derived classes using shared_ptr?
> >
> > This would be nice for the python interface where both Functions and
> > FunctionSpaces are stored using shared_ptr.
> >
> > As it is now will following break when the return bc is used.
> >
> > def create_Dirichlet_bc(value):
> > # Define boundary condition in terms of a local variable u0
> > # that goes out of scope when the execution of this function is
> > done u0 = Constant(mesh, value)
> > bc = DirichletBC(V, u0, DirichletBoundary())
> > return bc
> >
> > If DirichletBC could store the passed Function using shared_ptr we would
> > avoid this problem.
>
> Sounds good to me. The problem in the above example is precisely why I
> moved to shared pointers in other classes.
Ok, I can take a look at it.
I see that the FunctionSpace in BoundaryCondition is already stored using
shared_ptr, but there's no constructor for passing one :P.
Johan
> Garth
>
> > It should be straight forward to add shared_ptr constructor for both
> > FunctionSpace and Function, as these are already defined as such in
> > PyDOLFIN. However we should also consider doing the same for SubDomain.
> > This will introduce a new class we need to wrap using shared_ptr in
> > PyDOLFIN.
> >
> > Johan
> > _______________________________________________
> > DOLFIN-dev mailing list
> > DOLFIN-dev@xxxxxxxxxx
> > http://www.fenics.org/mailman/listinfo/dolfin-dev
Follow ups
References