an small and perhaps unimportant gotcha

Lisandro Dalcin dalcinl at
Tue Dec 2 09:12:27 CST 2008

Other (really nice!) change I've noticed is that now we can call
{Vec|Mat}Create() and next {Vec|Mat}SetType() and it works!

However, see this.

In [1]: from petsc4py import PETSc

In [2]: x = PETSc.Vec().create()

In [3]: x.setType('seq')

In [4]: print x.getType()


In [5]: A = PETSc.Mat().create()

In [6]: A.setType('seqaij')

In [7]: print A.getType()


Internally, the "type_name" field is never set, it still is NULL (then
petsc4y returns None).
The problem is that forcing the "type_name" to be set will be really
dangerous (rmember PetscValidType macro).
Any comments?

Lisandro Dalcín
Centro Internacional de Métodos Computacionales en Ingeniería (CIMEC)
Instituto de Desarrollo Tecnológico para la Industria Química (INTEC)
Consejo Nacional de Investigaciones Científicas y Técnicas (CONICET)
PTLC - Güemes 3450, (3000) Santa Fe, Argentina
Tel/Fax: +54-(0)342-451.1594

More information about the petsc-dev mailing list