On Fri, Apr 4, 2014 at 12:27 PM, Amit Itagi <[email protected]> wrote:

> I need to use the createNest for some application. I am trying it out on a
> toy program. I created four 6x6 AIJ matrices on two processes. I am trying
> to create a nest using
>
> A=PETSc.Mat()
> A.createNest([mA11,mA12,mA21,mA22])
>

I have never run this using petsc4py, but if it were me I would make it
take a 2D array.

   Matt


> I get the following error:
>
>     A.createNest([mA11,mA12,mA21,mA22])
>   File "Mat.pyx", line 409, in petsc4py.PETSc.Mat.createNest
> (src/petsc4py.PETSc.c:85554)
>     A.createNest([mA11,mA12,mA21,mA22])
>   File "Mat.pyx", line 409, in petsc4py.PETSc.Mat.createNest
> (src/petsc4py.PETSc.c:85554)
>   File "Mat.pyx", line 197, in petsc4py.PETSc.Mat.__getitem__
> (src/petsc4py.PETSc.c:81516)
>   File "Mat.pyx", line 197, in petsc4py.PETSc.Mat.__getitem__
> (src/petsc4py.PETSc.c:81516)
>   File "petscmat.pxi", line 870, in petsc4py.PETSc.mat_getitem
> (src/petsc4py.PETSc.c:24830)
>   File "petscmat.pxi", line 870, in petsc4py.PETSc.mat_getitem
> (src/petsc4py.PETSc.c:24830)
> TypeError: 'int' object is not iterable
> TypeError: 'int' object is not iterable
>
> Any ideas ?
>
> Also, is the following the correct way of setting the nest to a 2x2 block ?
>
> ix=PETSc.IS()
> ix.CreateGeneral([0,1])
> A.createNest([mA11,mA12,mA21,mA22],isrows=ix,iscols=ix)
>
> Thanks
>
> Amit
>
>
>


-- 
What most experimenters take for granted before they begin their
experiments is infinitely more interesting than any results to which their
experiments lead.
-- Norbert Wiener

Reply via email to