[petsc-users] Non-uniform Cartisian Grid

Zhenglun (Alan) Wei zhenglun.wei at gmail.com
Tue Feb 26 16:49:47 CST 2013


Dear folks,
      I have one question for the ex49.
      It do show a way to 'get' the 'coord' by the 'DMDAVecGetArray'. 
Should I just modified the coordinate on the 'coord' in order to obtain 
a non-uniform grid? and then, use DMDAVecRestoreArray to link the 
modified 'coord' back to 'cda' so that the 'coord' will be updated to 
the mesh I want?

thanks,
Alan

On 2/22/2013 3:20 PM, Matthew Knepley wrote:
> On Fri, Feb 22, 2013 at 3:57 PM, Zhenglun (Alan) Wei 
> <zhenglun.wei at gmail.com <mailto:zhenglun.wei at gmail.com>> wrote:
>
>     Dear all,
>     I hope you're having a nice day.
>     I wonder if anyone could point out a example for me about the
>     DMDASetCoordinates(). I found this
>     (http://www.mcs.anl.gov/petsc/petsc-current/src/dm/impls/da/dacorn.c.html#DMDASetCoordinates)
>     online; however it does not really demonstrate how to create the
>     'coordinate vector - c'.
>     Also, I found that in the petsc sub-folder:
>     /petsc-dev/src/dm/impls/patch has a patch.c, which I suppose that it
>     does a local refinement for mesh. Does this a mature model that we can
>     use or just a testing code?
>
>
> Look at KSP ex49. In the routine DMDACoordViewGnuplot2d() it reads out 
> the coordinates.
> You could just as easily set them in this fashion.
>
>    Matt
>
>     thanks,
>     Alan
>
>     On 11/7/2012 6:55 PM, Barry Smith wrote:
>     > On Nov 7, 2012, at 6:50 PM, Alan <zhenglun.wei at gmail.com
>     <mailto:zhenglun.wei at gmail.com>> wrote:
>     >
>     >> Dear folks,
>     >> I hope you're having a nice day.
>     >> I'm testing the Poisson solver in
>     /src/ksp/ksp/examples/tutorials/ex45.
>     >> It uses the 'DMDACreate3d' to generate a Cartisian structured
>     grid and
>     >> solve it with uniform grid size. However, I attempt to modify it to
>     >> obtain solution with a Cartsian structured grid and non-uniform
>     grid (It
>     >> is not unstructured local refined mesh). Should I still use the
>     >> 'DMDACreate3d' and implement different grid size in
>     'ComputeMatrix' and
>     >> 'ComputeRHS'? In other words, does 'DMDACreate3d' itself
>     include any
>     >> mesh size information?
>     >    You can use DMDASetCoordinates() and DMDAGetCoordinates()
>     (called DMSetCoordinates() and DMGetCoordinates() in petsc-dev) to
>     keep track of the coordinates but you are responsible for
>     generating the correctly scaled entries in the matrix etc.
>     >
>     >    Barry
>     >
>     >> thanks,
>     >> Alan
>
>
>
>
> -- 
> What most experimenters take for granted before they begin their 
> experiments is infinitely more interesting than any results to which 
> their experiments lead.
> -- Norbert Wiener

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20130226/29322ee0/attachment.html>


More information about the petsc-users mailing list