[petsc-users] Indexing/using a 3D DMDA as a 1D vector

Phil Tooley phil.tooley at sheffield.ac.uk
Wed Sep 12 08:27:25 CDT 2018


I will preface this by saying I am new to PETSc and am still trying to
get my head around all of the layout mapping that is done.  That means I
may well have fundamentally misunderstood something, but hopefully
someone will be able to to put me right.

In my application I have some 3D pixel data which I want to manipulate
using finite difference methods and then transform by viewing as a 1-D
vector and multiplying by a large sparse matrix operator.

I would assume that the correct way to do this is by creating a DMDA to
hold the image data and ghosting appropriately to apply my finite
difference operations.  Then I had hoped that I could use some form of
application ordering to allow viewing the data as a vector that can be
multiplied with my operator matrix.  This is where I have come unstuck,
I may just be missing something obivous but I can't figure out how to do
this.  Can anyone point me in the correct direction please?

Many Thanks

-- 
Phil Tooley
Research Software Engineering
University of Sheffield



More information about the petsc-users mailing list