[petsc-users] DM coordinates interpolations

Dave May dave.mayhem23 at gmail.com
Fri Jun 26 13:28:59 CDT 2015


Also note that if you go and modify the global coordinate vector after
calling DMDASetUniformCoordinates, you will need to explicitly call the
vecscatter yourself to update the local coordinates.



On Friday, 26 June 2015, Barry Smith <bsmith at mcs.anl.gov> wrote:

>
> > On Jun 26, 2015, at 12:27 PM, Gianluca Meneghello <gianmail at gmail.com
> <javascript:;>> wrote:
> >
> > Dear all,
> >
> > I would like to solve a PDE discretized on a nonuniform --- but
> rectangular --- grid and I wanted to use the DM coordinates vector to
> compute the metric terms by finite difference. The only alternative I see
> is to recompute the coordinates (and then the metric terms) at every
> function and jacobian evaluation call.
> >
> > My question is what is the best (or even correct) way to provide the
> coordinates to the newly created da objects. Is there anything like a
> DMDASetNonUniformCoordinates to which to pass a function computing the
> coordinates? As far as I can tell the fine grid coordinates are currently
> linearly interpolated from the coarse grid ones.
>
>    Call DMDASetUniformCoordinates() on each level then call
> DMGetCoordinates() and put the coordinate values you want in. You can call
> DMGetCoordinateDM(dm, &dmcoor) to get the DM that goes with the coordinate
> vector and use DMDAVecGetArray(dmcoor,coor,&array) to give easy access to
> the entries.
>
> >
> > Please also let me thank you for your great work: it has been and it
> currently is of enormous help.
> >
> > Best
> >
> > Gianluca
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20150626/eafb1fb2/attachment.html>


More information about the petsc-users mailing list