[petsc-users] DMDA Global vs Local indexing

Barry Smith bsmith at mcs.anl.gov
Thu Mar 6 14:36:17 CST 2014


On Mar 6, 2014, at 10:01 AM, Jed Brown <jed at jedbrown.org> wrote:

> Mark Lohry <mlohry at gmail.com> writes:
>>       As a PETSc developer, of course, I would recommend keeping your
>>       local/temporary data also in Vecs and using the
>>       DMDAVecGetArray() for access to those also and having all code
>>       written in the “local patch style” with loops i=gxs; i<gxs+gxm
>>       I think the code is clearer and easier to reason about than
>>       having each process from 0 to vxm etc.
>> 
>> Yeah, I definitely see the attraction and I may ultimately go that
>> route. As a non-PETSc developer however, it seems preferable to
>> absolutely minimize the reliance on PETSc data management for code
>> re-use in a non-PETSc application going forward.

   Sure, but you can still use the global patch model i=xs to xe etc with or without tight coupling to PETSc. PETSc makes the global patch model easy, it might be harder to do without PETSc.

   Barry

>> I'd be eager to hear
>> from other devs on how they approach this.
> 
> Note that using a DMDA for this auxiliary data means you can restrict
> and interpolate it through a hierarchy, as well as visualize it.



More information about the petsc-users mailing list