Question on the ordering for a 3D Distributed Array Vector with 3 degrees of freedom

Barry Smith bsmith at mcs.anl.gov
Sat Feb 16 11:39:13 CST 2008


    In Fortran array indexing it is v(dof,mx,my,mz)

    Barry

On Feb 15, 2008, at 5:23 PM, Randall Mackie wrote:

> I am using a 3D distributed array with 3 degrees of freedom, where  
> each
> degree of freedom refers to, for example, the model value in the x,  
> y, and
> z directions (the model properties are diagonally anisotropic).
>
> If I scatter the DA vector to a natural vector on the zero processor,
> and then use VecGetArray to access it:
>
> 	Call VecGetArray(vseq,xx_v,xx_i,ierr)
>
> 	do i=1,3*mx*my*mz
> 	  v=xx_a(i)
> 	end do
>
> 	call VecRestoreArray(vseq,xx_v,xx_i,ierr)
>
>
> Is the natural ordering with the vector v then v(mx,my,mz,dof)?
>
> So then if I want to get the model values in the x direction and write
> them to a file, then it would be the first mx*my*mz values, and so  
> forth?
>
>
> Randy
>




More information about the petsc-users mailing list