On Tue, 22 Jun 2010 04:02:29 -0400, Valerio Grazioso <graziosov at me.queensu.ca> wrote: > and I've got a matrix A ordered in a Petsc ordering: rows and variables have > a sequential numbering relative to each processor.
This is always the order used internally, but your application code doesn't have to "see" this ordering. I suggest using MatSetValuesStencil() which allows you to effectively insert values in the natural ordering (as coordinates k,j,i) which will get mapped appropriately to the internal storage. > call DACreateLocalVector(da,qloc,err) This also uses the "PETSc ordering" internally. > call VecGetArrayF90(qloc,qloc_a,err) But this does some pointer tricks so it looks like you are working in the natural ordering. > cont=cont+1 > qloc_a(cont)=.... Can use qloc_a(i,j,k) here. Jed
