[petsc-users] Adding vectors of different dimension
Barry Smith
bsmith at mcs.anl.gov
Tue Jul 17 13:31:06 CDT 2012
On Jul 17, 2012, at 4:31 AM, TAY wee-beng wrote:
> Hi,
>
> I have 3 vectors of different dimension, create using 2 DM (da_dof1,da_dof2), with dof = 1 and 2.
>
> They are declared as:
>
> Vec u,v,duv
>
> call DMCreateLocalVector(da_dof1,u,ierr)
>
> call DMCreateLocalVector(da_dof1,v,ierr)
>
> call DMCreateLocalVector(da_dof2,duv,ierr)
>
> How can I add duv to u and v to get new values for u,v?
>
> I'm currently using DMDAVecGetArrayF90 and DMDAVecRestoreArrayF90 to access the arrays.
Then you just need to write the FORTARAN code to do this. Loop over the local indices and do something like
uarray(i,j) = uarray(i,j) + duvarray(0,i,j)
varray(i,j) = varray(i,j) + duvarray(1,i,j)
>
> Thanks
>
> --
> Yours sincerely,
>
> TAY wee-beng
>
More information about the petsc-users
mailing list