On Wed, Dec 7, 2011 at 5:49 AM, TAY wee-beng <span dir="ltr">&lt;<a href="mailto:zonexo@gmail.com">zonexo@gmail.com</a>&gt;</span> wrote:<br><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">

  
    
  
  <div bgcolor="#FFFFFF" text="#000000">
    Hi,<br>
    <br>
    Sorry to hijack the discussion but I&#39;m currently thinking of
    implementing DMDA for staggered grids in 2D and later on in 3D.<br>
    <br>
    I am not sure if my problem is exactly the same as that of Tim but I
    don&#39;t really understand his problem.<br>
    <br>
    So for my case, I have a staggered grid for my finite volume CFD
    code. So the grid looks like this:<br>
    <br>
    <img src="cid:part1.05050309.07050105@gmail.com" alt=""><br>
    <br>
    Do I need to create 3 DMDA, for u,v,p? When computing the flux, I
    will also need to interpolate u and v velocities on the u or v
    cells. I hope you can suggest the best way to approach this problem.<br></div></blockquote><div><br></div><div>Can you look at SNES ex30? I believe that discretization  is very similar to what you want.</div><div><br>
</div><div>   Matt</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><div bgcolor="#FFFFFF" text="#000000">
    Btw, in the discussion, there&#39;s also some mention of DOF. However, I
    thought each variable (u,v,p) will have only 1 DOF, is that not so?<br>
    <br>
    Thanks!<br>
    <pre cols="72">Yours sincerely,

TAY wee-beng</pre>
    <br>
    On 2/12/2011 8:12 PM, Barry Smith wrote:
    <blockquote type="cite">
      <pre>   Tim,

    Unfortunately the DMDA was not designed with the idea of staggered grids (or mixed discretizations) in mind so they are not straightforward like we would like them to be.

    Do I understand you want two DMDA 

1) one that has locations for cell vertices (or face centers)?

2) and one that locations for cell centers?

   Once we understand what you want we may be able to make a suggestion.

   Barry


On Dec 2, 2011, at 1:08 PM, Tim Gallagher wrote:

</pre>
      <blockquote type="cite">
        <pre>Hi,

I&#39;m trying to create some grids for a finite volume simulation and am a little stuck on the best way to tackle it. The approach now is to use DMDACreate3d with known number of I, J, K points and PETSC_DECIDE for the processors. Then I am trying to create another DMDA with the same distribution to store the cell centers and actual solution vector. The problem with is is the following:

Consider 9 points and two processors. Processor one gets points [1,5] with point 6 as a ghost and processor two gets points [6,9] with point 5 as a ghost. But now to create/store cell centers, processor two needs point 4 to construct a cell center for it&#39;s ghost. 

I can certainly fetch that point and do the calculation, but I feel like there is a more elegant way to do this out there. Has anybody used a DMDA to create a dual DMDA? 

Any advice would be appreciated,

Tim
</pre>
      </blockquote>
    </blockquote>
  </div>

</blockquote></div><br><br clear="all"><div><br></div>-- <br>What most experimenters take for granted before they begin their experiments is infinitely more interesting than any results to which their experiments lead.<br>
-- Norbert Wiener<br>