[petsc-dev] Need mechanism to set LocalToGlobal mapping in a DMShell

Richard Tran Mills rtm at eecs.utk.edu
Thu Feb 21 15:31:50 CST 2013


I will add DMShellSetGlobalToLocal (and DMShellSetLocalToGlobal).

One other thing: We also need to be do LocalToLocal operations. For the 
structured grid case, we call DMDALocalToLocalBegin/End, and for the 
unstructured grid case we construct our own VecScatter context 
essentially just how it is done in daltol.c for DMDA.  Is there a good 
reason that there is no DMLocalToLocalBegin/End?

--Richard

On 2/21/13 2:42 PM, Barry Smith wrote:
> On Feb 21, 2013, at 1:39 PM, Jed Brown <jedbrown at mcs.anl.gov> wrote:
>
>> On Thu, Feb 21, 2013 at 1:31 PM, Barry Smith <bsmith at mcs.anl.gov> wrote:
>> I don't understand.  There is a DMGlobalToLocalBegin/End() which includes
>>
>>    } else {
>>      ierr = (*dm->ops->globaltolocalbegin)(dm,g,mode == INSERT_ALL_VALUES ? INSERT_VALUES : (mode == ADD_ALL_VALUES ? ADD_VALUES : mode),l);CHKERRQ(ierr);
>>    }
>>
>>   For Shell, Richard should be able to provide his own begin/end functions. Which in his case he is already calling the VecScatterBegin/End() directly in his code so he should just be able to keep the scatter context he is already creating and use it in shell.  No reason to mess with sections or SF, he already has the scatter and just needs to get it into the DMShell and shell should have it as a matter of course. Just because everyone was to lazy to add DMSetGlobalToLocalBegin/End() doesn't mean it should exist. Rich can add it himself trivially and then use (even from Fortran).
>>
>>
>> Yes, if he has VecScatters already that he wants to reuse, this is a fine option. I proposed this interface earlier in this thread.
>>
>> DMShellSetGlobalToLocal(DM dm,PetscErrorCode (*begin)(DM,Vec,InsertMode,
>> Vec),PetscErrorCode (*end)(DM,Vec,InsertMode,Vec));
>     Ok, Richard should add this and then end of conversation.
>
>     Barry
>


-- 
Richard Tran Mills, Ph.D.
Computational Earth Scientist      | Joint Assistant Professor
Hydrogeochemical Dynamics Team     | EECS and Earth & Planetary Sciences
Oak Ridge National Laboratory      | University of Tennessee, Knoxville
E-mail: rmills at ornl.gov  V: 865-241-3198 http://climate.ornl.gov/~rmills




More information about the petsc-dev mailing list