On Tue, Dec 2, 2008 at 4:46 PM, Barry Smith <bsmith at mcs.anl.gov> wrote: > > Yup, this comes from trying to patch more and more flexibility on a system > that wasn't originally designed for that particular flexibility. The matrix > and vector > are in a strange state at this point that is not defined by our original > design.
Of course, but this enhacement was one I wanted forever! So very welcome! > At this point I think we just have to live with this weirdness, unless > you have a solution. At MatGetType we could traverse the MatList to find the type_name, but that would not work in the case of --with-dynamic=1 (and perhaps other scenarios) In short, yes, we have to live with it (at least for 2.4.0). > On Dec 2, 2008, at 9:12 AM, Lisandro Dalcin wrote: > >> 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() >> >> None >> >> In [5]: A = PETSc.Mat().create() >> >> In [6]: A.setType('seqaij') >> >> In [7]: print A.getType() >> >> None >> >> >> 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 >> > > -- 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