Hi Wee-Beng,<br>Here are my understanding for ex22. Correct me please, if there is any mis-understanding, since I am also new to dmmg.<br><br>Yan<br><br><div class="gmail_quote">On Fri, Dec 11, 2009 at 1:44 AM, Wee-Beng Tay <span dir="ltr">&lt;<a href="mailto:zonexo@gmail.com">zonexo@gmail.com</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">Hi,<br><br>I&#39;m also looking at the fortran version of ex22. I have some questions:<br><br>
1. M,N,P are global dimension in each direction of the array. I&#39;m abit confused. Do you mean the no. of grid pts at the coarse level? Hence, if my problem has 27x27 grid pts, do I use M=N=9 with 3 multigrid levels or M=N=3 with 9 lvls? What is the guideline in choosing the number of multigrid levels?<br>

<br></blockquote><div><br>M,N, P are the #s of grid points in each direction (x,y,z) of your *coarsest* mesh. The way that PETSc always starts from the coarsest level to initialize the mesh is convenient for generating a series of mesh, I guess . <br>
<br>If you want to solve a 2D problem with 27x27 mesh points, you can do a test to see how many levels can bring you the resolution close to what you want. <br><br><br> </div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
2. What is stencil width (s)? Seems to be 1 in both ex22 and ex29.<br><br></blockquote><div><br>you are correct, see here:<br><a href="http://www.mcs.anl.gov/petsc/petsc-as/snapshots/petsc-current/docs/manualpages/DA/DACreate3d.html">http://www.mcs.anl.gov/petsc/petsc-as/snapshots/petsc-current/docs/manualpages/DA/DACreate3d.html</a><br>
<br><br> </div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">3. What are arrays containing the number of nodes in each cell along
the x/y/z coordinates? Is it ok to just use the default PETSC_NULL_INTEGER?<br><br></blockquote><div><br>I think,  if you want to specify a DA with you own partitioning(how many points on each process on each direction), then you need to set up these arrarys correctly.  <br>
<br>You can do a test on passing the PETSC_NULL_INTEGER to see whether PETSc complains.<br><br> </div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
4. There&#39;s a subroutine ComputeJacobian which computes the jacobian. However, what is it actually calculating? Is it simply calculating the coefficient arising from the discretization of the matrix?<br>
<br></blockquote><div><br><br>For both ex22 and ex29,  it is solving a linear system, the Jacobian is just your coefficient matrix, (or 7 pt stencil matrix).<br><br><br><br> </div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
5. My objective is to solve for the poisson equation arising from the Navier Stokes equations. ie div grad P = F, which F can be calculated separately. The boundary conditions are Neumann which is dp/dx, dp/dy=0. Is this a good example to follow? Or is ex29 a better example, although I need time to digest the C syntax.<br>

<br>thanks alot!<div><div></div><div class="h5"><br></div></div></blockquote><div><br>If you are solving 3D problem, you should also look at the ex22 to see how to correctly set up the 3D stencil.  <br>Ex22  are only dealing with Dirichlet B.C.s, so care has to be taken for the Neumann boundary conditions. <br>
Also, for Neumann B.C.s, one should be aware of there is a null space of your coefficient matrix A. ex29 has a piece of code for that. DMMGSetNullSpace()<br><br><br><br><br><br><br> </div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div><div class="h5"><br><div class="gmail_quote">On Fri, Dec 11, 2009 at 4:14 AM, Ryan Yan <span dir="ltr">&lt;<a href="mailto:vyan2000@gmail.com" target="_blank">vyan2000@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">

Hi Barry, <br>Thank you very much for the confirm.<br><font color="#888888"><br>Yan</font><div><div></div><div><br><br><div class="gmail_quote">On Thu, Dec 10, 2009 at 3:12 PM, Barry Smith <span dir="ltr">&lt;<a href="mailto:bsmith@mcs.anl.gov" target="_blank">bsmith@mcs.anl.gov</a>&gt;</span> wrote:<br>


<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><div><div></div><div><br>
On Dec 10, 2009, at 2:09 PM, Ryan Yan wrote:<br>
<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Hi all,<br>
I was looking at the ex22 of ksp.<br>
<br>
If I call:<br>
...<br>
ierr = DMMGCreate(PETSC_COMM_WORLD,3,PETSC_NULL,&amp;dmmg);CHKERRQ(ierr);<br>
ierr = DACreate3d(PETSC_COMM_WORLD,DA_NONPERIODIC,DA_STENCIL_STAR,-3,-3,-3,PETSC_DECIDE,PETSC_DECIDE,PETSC_DECIDE,1,1,0,0,0,&amp;da);CHKERRQ(ierr);<br>
  ...<br>
<br>
How many grid pts should I have on the finest level? Is it 27, considering I am set 3 as the global dimension in each direction of the array?<br>
<br>
When I run ex22 with -ksp_view, I saw that  on the finest level there are 9 pts on each direction.<br>
<br>
Is that because I have 3 level?<br>
</blockquote>
<br></div></div>
   Yes. The DA you create initially is for the coarsest grid, finer ones are automatically created by the DMMG.<br>
<br>
   Barry<br>
<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<br>
Yan<br>
<br>
</blockquote>
<br>
</blockquote></div><br>
</div></div></blockquote></div><br>
</div></div></blockquote></div><br>