Hi Jed,

Thanks for the clarifications.


Yours sincerely,

TAY wee-beng

On 7/4/2014 10:54 AM, Jed Brown wrote:
TAY wee-beng <[email protected]> writes:

On 7/4/2014 10:40 AM, Jed Brown wrote:
but might not be
negligible if called once for each degree of freedom.
Sorry I don't understand this sentence.

So you mean if I have 3 dof u,v,w, it will not be cheap if I access and
restore it many times. Is that so?
It means that you should not do this:

do k=1,zm
   do j=1,ym
     do i=1,zm
       call DMDAVecGetArrayF90(... x,ierr)
       x(i,j,k) = something
       call DMDAVecRestoreArrayF90(... x,ierr)
     end
   end
end

Lift the call out of the loop.

call DMDAVecGetArrayF90(... x,ierr)
do k=1,zm
   do j=1,ym
     do i=1,zm
       x(i,j,k) = something
     end
   end
end
call DMDAVecRestoreArrayF90(... x,ierr)

Reply via email to