petsc teams,
if I want create the relation between u() [array] and x [Vec] ,I can do it as
follows,
#define u(ib) xx_v(xx_i + (ib))
call VecGetArray(x,xx_v,xx_i,ierr)
do 30 i=1,n
u(i) = 1000.0*i
30 continue
call VecRestoreArray(x,xx_v,xx_i,ierr)
However, I don't understand why can not I do it as follows,
double precision u(1) or u(6)
call VecGetArray(x,u,xx_i,ierr)
do 30 i=1,n
u(i) = 1000.0*i
30 continue
call VecRestoreArray(x,u,xx_i,ierr)
Why u() must be created by #define, and u() cannot be defined again,for
example "double precision u(1)" or u(5).
By the way, if u() is a array of common blocks(fortran), how can I create the
relation between u() and x?
thanks,
Leping
2010-04-16
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
<http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20100416/e1e4e79e/attachment.htm>