On Tue, Apr 14, 2009 at 09:13:41AM +0200, Johan Hake wrote: > On Monday 13 April 2009 22:23:12 Robert Kirby wrote: > > I didn't see it as a sub of cpp. thanks for pointing that out. no_prec is > > a better namegiven what "None" means in python. > > I think that it was not imported to the main dolfin namespace because of it > resemblens to the Python None. > > Untill we have settled the enum vs string vs parameters we can just declare a > variable in the PyDOLFIN namespace > > no_prec = 0 > > which would work fine in this case as the enums from DOLFIN is mapped to > integer variables in Python. > > Johan
I vote for strings, and using the parameter system whenever possible. -- Anders > > On Mon, Apr 13, 2009 at 3:00 PM, Johan Hake <[email protected]> wrote: > > > On Monday 13 April 2009 21:32:22 Robert Kirby wrote: > > > > Aha. I forgot about the inheritance issue.This should die on forming > > > > an ILU since I don't have matrix values. > > > > > > > > doflin::none is not exposed to PyDOLFIN, so I can't set the > > > > > > preconditioner > > > > > > > to do nothing rather than attempt to compute an ILU. > > > > > > It is exposed to dolfin.cpp. You can for example do: > > > > > > dolfin.uBLASKrylovSolver( dolfin.gmres, dolfin.cpp.none ) > > > > > > We can allways expose it to dolfin too but however I am not sure "none" > > > is a > > > good name. Maybe "no_prec" is better? > > > > > > Johan > > > > > > > Thanks, > > > > Rob > > > > > > > > On Mon, Apr 13, 2009 at 2:30 PM, Johan Hake <[email protected]> wrote: > > > > > On Wednesday 08 April 2009 23:15:42 Robert Kirby wrote: > > > > > > Hi all,I've gotten a prototype working where I construct > > > > > > a uBLASSparseMatrix and get it to compute the same result as my > > > > > > matrix-free uBLASKrylovMatrix. Both of these are constructed > > > > > > in PyDOLFIN. However, I can feed the uBLASSparseMatrix > > > > > > I construct into a dolfin.uBLASKrylovSolver solve method, > > > > > > but I get a type error when I try to put my > > > > > > uBLASKrylovMatrix with mult and dim implemented in Python > > > > > > into the solver. > > > > > > > > > > > > In fact, I get a > > > > > > > > > > > > TypeError: in method 'uBLASKrylovSolver_solve', argument 2 of type > > > > > > 'dolfin::uBLASKrylovMatrix const &' > > > > > > > > > > You need to call: > > > > > > > > > > dolfin.uBLASKrylovMatrix.__init__(self) > > > > > > > > > > to initialize the super class. > > > > > > > > > > When I did this I got a bit further. Now an assertion is triggered: > > > > > > > > > > *** Assertion (_x.size() == _M.size1()) > > > > > [at dolfin/la/uBLASILUPreconditioner.cpp:41 in solve()] > > > > > > > > > > Johan > > > > > > > > > > > Not very revealing. I've attached a horribly ugly source code for > > > > > > anyone interested in doing a post-mortem on this. > > > > > > > > > > > > Thanks, > > > > > > Rob > > > _______________________________________________ > DOLFIN-dev mailing list > [email protected] > http://www.fenics.org/mailman/listinfo/dolfin-dev
signature.asc
Description: Digital signature
_______________________________________________ DOLFIN-dev mailing list [email protected] http://www.fenics.org/mailman/listinfo/dolfin-dev
