On Sat, Dec 12, 2009 at 4:34 PM, Ryan Yan <span dir="ltr">&lt;<a href="mailto:vyan2000@gmail.com">vyan2000@gmail.com</a>&gt;</span> wrote:<br><div class="gmail_quote"><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Hi Barry, <div>Since the ex32.c has been brought up to make comparison with ex29.c. Can I just get a confirm that, in ex29.c, the instance with Neumann B.C.s is the case where one has cell centered unknown for the u, with vertex centered f.</div>
</blockquote><div><br>No, Neumann constraints mean that we fix the normal derivative of the potential rather than the potential itself on the boundary.<br><br>  Matt<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>Feel free to criticize this comment please, and this is where I get very confused.</div><div><br></div><div>Thanks,</div><div><br></div><font color="#888888"><div>Yan</div></font><div><div></div><div class="h5"><div>
<br></div><div><br><br><div class="gmail_quote">
On Sat, Dec 12, 2009 at 2:57 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><br>
On Dec 12, 2009, at 12:31 PM, Tahar Amari 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;">
Hello,<br>
<br>
SOrry. I took this very interesting discussion a bit late, but one of my major problem is to understand if all this is valid for node centered<br>
variables for u or cell centered.<br>
Usually the best way of solving Neuwman BC for this equation is having cell centered unknowns to have derivatives<br>
given on the domain boundary.<br>
This then have some impact on handling ghost values transfer between subdomains with MPI.Is all this transparent for<br>
us and PETSC handle it . I guess no, right ?<br>
</blockquote>
<br></div>
  If you have only cell centered unknowns the ghost point updates are the same. See src/ksp/ksp/examples/tutorials/ex32.c  Having some Neuman and some Dirichlet boundary conditions is then trickery with cell centered.<br>


<br>
   If you have some cell-centered and some vertex centered unknowns (staggered grid), DA does not handle this well, you have to &quot;cheat&quot; to match up variables on the cells and vertices.<br><font color="#888888">
<br>
<br>
   Barry</font><div><div></div><div><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>
Tahar<br>
<br>
<br>
Le 12 déc. 09 à 02:28, Barry Smith a écrit :<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>
On Dec 11, 2009, at 7:18 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 Matt,<br>
Thank you very much for the reply.  Now, I got the Neumann part. But I am still a bit confused about the Dirichlet part. Please see the following quote.<br>
<br>
Yan<br>
<br>
<br>
For the Dirichlet B.C.s, I did not understand the coefficients given below. Isn&#39;t correct to set the v[0]=Hx*Hy here?<br>
if (i==0 || j==0 || i==mx-1 || j==my-1) {<br>
if (user-&gt;bcType == DIRICHLET) {<br>
v[0] = 2.0*rho*(HxdHy + HydHx);<br>
}<br>
}<br>
<br>
This is the proper scaling.<br>
<br>
the Dirichlet B.C.s:<br>
Which  scaling  do you think is proper, &quot;v[0]=Hx*Hy&quot; or 2.0*rho*(HxdHy + HydHx)?<br>
If it is 2.0*rho*(HxdHy + HydHx), can you say a little bit more about why is this one? I only see a factor of Hx*Hy when we set up the  RHS. Did I miss something?<br>
<br>
</blockquote>
 Ryan,<br>
<br>
   You can scale the equations for Dirichlet boundary conditions anyway you want; you could multiply them by 1,000,000 if you want. The answer in exact precision with direct solvers will be the same. The reason we use the given scaling is to make the scaling work well with multigrid. If you use a different scaling the Dirichlet boundary conditions on the coarser grid matrices would have a different scaling then the interior equations and this would slow down MG&#39;s convergence rate. For toy problems people usually eliminate the Dirichlet boundary conditions, then there is no scaling issue for multigrid.<br>


<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>
Matt<br>
<br>
<br>
<br>
<br>
<br>
-- <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>
<br>
</blockquote></blockquote>
<br>
--------------------------------------------<br>
T. Amari<br>
Centre de Physique Theorique<br>
Ecole Polytechnique<br>
91128 Palaiseau Cedex France<br>
tel : 33 1 69 33 42 52<br>
fax: 33 1 69 33 49 49<br>
email: &lt;mailto:<a href="mailto:amari@cpht.polytechnique.fr" target="_blank">amari@cpht.polytechnique.fr</a>&gt;<br>
URL : <a href="http://www.cpht.polytechnique.fr/cpht/amari" target="_blank">http://www.cpht.polytechnique.fr/cpht/amari</a><br>
<br>
<br>
<br>
<br>
<br>
</blockquote>
<br>
</div></div></blockquote></div><br></div>
</div></div></blockquote></div><br><br clear="all"><br>-- <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>