You will need to associate the vector with a DMDA so you can use 
DMDAVecGetArray() to index into it. Use DMCreateGlobalVector (with the 
appropriate DMDA) to get the vector instead of VecCreate() before you do the 
VecLoad().

  Barry


> On Mar 17, 2015, at 6:15 AM, Mohammad Imtiaz <[email protected]> 
> wrote:
> 
> Hi,
> 
> I am trying to solve a 2 dimensional finite difference reaction diffusion 
> problem where diffusional coupling is position based, i.e. fibres, 
> discontinuities etc occur due to material properties (e.g. Heart tissue).
> 
> I have managed to import a matlab matrix representing coupling in four 
> directions as below:
> 
>     PetscViewerBinaryOpen(PETSC_COMM_WORLD,”R",FILE_MODE_READ,&fd);
>     VecCreate(PETSC_COMM_WORLD,&R);
>     VecLoad(R,fd);
> 
> …..Repeated to get L, U, D, coupling.
> 
> How can I now make R,L,U,D available to my finite difference part of the 
> code? So that I can do
> 
> 
> v is field.
> 
> vxx = u[j][i].R*(u[j][i-1].v - u[j][i].v)  + u[j][i].L*(u[j][i+1].v – 
> u[j][i].v);
> 
> And similarly for up & down coupling.
> 
> 
> 
> 
> 
> Thanks
> Mohammad Imtiaz

Reply via email to