dolfin team mailing list archive
-
dolfin team
-
Mailing list archive
-
Message #09414
Re: PyDOLFIN and parameter system
Anders Logg skrev den 27/08-2008 følgende:
> On Wed, Aug 27, 2008 at 11:27:33AM +0200, Martin Sandve Alnæs wrote:
> > 2008/8/27 Garth N. Wells <gnw20@xxxxxxxxx>:
> > >
> > >
> > > Anders Logg wrote:
> > >> On Wed, Aug 27, 2008 at 10:03:33AM +0200, Martin Sandve Alnæs wrote:
> > >>> 2008/8/27 Garth N. Wells <gnw20@xxxxxxxxx>:
> > >>>> How do I set a parameter for an object in PyDOLFIN? I'd like to set
> > >>>> Newton solver parameters in demo/nls/nonlinearpoisson/python/demo.py.
> > >>>> The code
> > >>>>
> > >>>> nonlinear_solver = NewtonSolver()
> > >>>> nonlinear_solver.dolfin_set("Newton maximum iterations", 50)
> > >>> foo.dolfin_set is a rather strange name for this, what about
> > >>> setParameter or setParam or something?
> > >>
> > >> It should be just get() and set(). It is in C++.
> > >>
> > >
> > > Why aren't "get" and "set" automatically available for objects? I recall
> > > that "global" get and set conflict with reserved names in Python, or
> > > something along this line, hence the use of dolfin_get/set.
> > >
> > > Garth
> >
> > Also, "get" and "set" without context is impossible to read
> > any meaning from. Not good global names anyway.
>
> I agree. That is why they are either named dolfin_get/dolfin_set (as
> global function) or get/set as member functions (when there is a clear
> context).
>
> For example, it is obvious what the following code does:
>
> pde = LinearPDE(...)
> pde.set("Krylov absolute tolerance", 1e-10);
That should work now.
Ola
> It's not necessary to do
>
> pde.setParameter("Krylov absolute tolerance", 1e-10);
>
> --
> Anders
> _______________________________________________
> DOLFIN-dev mailing list
> DOLFIN-dev@xxxxxxxxxx
> http://www.fenics.org/mailman/listinfo/dolfin-dev
References