<div>Hi,</div>
<div>&nbsp;</div>
<div>somone suggested that I treat that face as a dirichlet boundary condition. after 1 or a few iterations, the face value will be updated and it will be repeated until covergerence. I wonder if that is possible as well? 
</div>
<div>&nbsp;</div>
<div>It&#39;ll make the job much easier, although the iteration may take longer...<br><br><br>&nbsp;</div>
<div><span class="gmail_quote">On 2/1/07, <b class="gmail_sendername">Barry Smith</b> &lt;<a href="mailto:bsmith@mcs.anl.gov">bsmith@mcs.anl.gov</a>&gt; wrote:</span>
<blockquote class="gmail_quote" style="PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid"><br>The glueing might be able to be handled by using periodic for that<br>dimension of the DA you create. But this gets tricky if you have any
<br>nodes that have &quot;an extra degree of freedom&quot;.<br><br>&nbsp;&nbsp;Barry<br><br><br>On Wed, 31 Jan 2007, Berend van Wachem wrote:<br><br>&gt; Hi Ben,<br>&gt;<br>&gt; The challenge in your problem is how you &quot;glue&quot; the C grid in the back;
<br>&gt; there you will need to do some additional scattering. I would set-up<br>&gt; the IS for this, and then use that to scatter the values<br>&gt; into &quot;ghostcells&quot; which will be present on the block(s).<br>
&gt;<br>&gt; Berend.<br>&gt;<br>&gt; &gt; Thank you Berend! I&#39;ll go through DA again. I&#39;m also looking at<br>&gt; &gt; HYPRE. Its way of creating grids and linking them seems intuitive.<br>&gt; &gt; Btw, is there a mailing list for HYPRE similar to PETSc to discuss
<br>&gt; &gt; problems? I find that their explanation are quite brief.<br>&gt; &gt;<br>&gt; &gt; I tried to install HYPRE 2.0 on windows using cygwin but it failed.<br>&gt; &gt; I then install it as an external software thru PETSc. I think it&#39;s
<br>&gt; &gt; installing HYPRE 1.0 or something. But similarly, there&#39;s illegal<br>&gt; &gt; operation.<br>&gt; &gt;<br>&gt; &gt; Installing HYPRE 2.0 on my school&#39;s linux worked, though there&#39;s<br>&gt; &gt; seems to be some minor error. So what&#39;s the best way to employ
<br>&gt; &gt; multigird? Is it to install as an external software thru PETSc or<br>&gt; &gt; just use HYPRE on its own?<br>&gt; &gt;<br>&gt; &gt; Btw, it will be great if you can send me parts of your code<br>&gt; &gt; regarding DA.
<br>&gt; &gt;<br>&gt; &gt; Thank you very much!<br>&gt; &gt;<br>&gt; &gt; On 1/26/07, Berend van Wachem &lt;<a href="mailto:berend@tfd.chalmers.se">berend@tfd.chalmers.se</a>&gt; wrote:<br>&gt; &gt; &gt; Hi,<br>&gt; &gt; &gt;
<br>&gt; &gt; &gt; I am not an expert - but have used PETSc for both structured and<br>&gt; &gt; &gt; unstructured grids.<br>&gt; &gt; &gt;<br>&gt; &gt; &gt; When you use an unstructured code for a structured grid, there is
<br>&gt; &gt; &gt; additional overhead (addressing, connectivity) which is redundant;<br>&gt; &gt; &gt; this information is not required for solving on a structured grid.<br>&gt; &gt; &gt; I would say this is maximum a 10% efficiency loss for bigger
<br>&gt; &gt; &gt; problems - it does not affect solving the matrix, only in<br>&gt; &gt; &gt; gathering your coefficients. I would not rewrite my CFD code for<br>&gt; &gt; &gt; this.<br>&gt; &gt; &gt;<br>&gt; &gt; &gt; If you only deal with structured grids, using the PETSc DA
<br>&gt; &gt; &gt; framework should work for you - you are not saving all<br>&gt; &gt; &gt; connectivity. The DA framework is not difficult at all, according<br>&gt; &gt; &gt; to my opinion. Look at a few examples that come with PETSc. I use
<br>&gt; &gt; &gt; a block structured solver - using multiple DA&#39;s within one<br>&gt; &gt; &gt; problem. Let me know if you are interested in this, and I can send<br>&gt; &gt; &gt; you parts of code.<br>&gt; &gt; &gt;
<br>&gt; &gt; &gt; Multigrid is certainly possible (I would reccomend through HYPRE,<br>&gt; &gt; &gt; discussed on the mailinglist, although I still have problems with<br>&gt; &gt; &gt; it), but the question is how efficient it will be for your CFD
<br>&gt; &gt; &gt; problem. For an efficient multigrid in CFD, it is important to<br>&gt; &gt; &gt; consider the coefficient structure arising from the momentum<br>&gt; &gt; &gt; equations - the grouping of cells should occur following the
<br>&gt; &gt; &gt; advection term. Only then will you achieve linear scaling with the<br>&gt; &gt; &gt; problem size. For instance, consider a rotating flow in a square<br>&gt; &gt; &gt; box. Most multigrid algorithms will group cells in &quot;squares&quot; which
<br>&gt; &gt; &gt; will not lead to a significant improvement, as the flow<br>&gt; &gt; &gt; (advection, pressure grad) does not move in these squares. In<br>&gt; &gt; &gt; fact, to have an efficient multigrid algorithm, the cels should be
<br>&gt; &gt; &gt; grouped along the circular flow. As this cannot be seen directly<br>&gt; &gt; &gt; from the pressure coefficients, I doubt any &quot;automatic&quot; multigrid<br>&gt; &gt; &gt; algorithm (in Hypre or Petsc) would be able to capture this, but
<br>&gt; &gt; &gt; don&#39;t quote me on it - I am not 100% sure. So concluding, if you<br>&gt; &gt; &gt; want to do efficient multigridding for CFD, you will need to point<br>&gt; &gt; &gt; out which cells are grouped into which structure, based upon the
<br>&gt; &gt; &gt; upwind advection coefficients.<br>&gt; &gt; &gt;<br>&gt; &gt; &gt; Good luck,<br>&gt; &gt; &gt;<br>&gt; &gt; &gt; Berend.<br>&gt; &gt; &gt;<br>&gt; &gt; &gt; &gt; Hi,<br>&gt; &gt; &gt; &gt;<br>&gt; &gt; &gt; &gt; I was discussing with another user in another forum
<br>&gt; &gt; &gt; &gt; (<a href="http://cfd-online.com">cfd-online.com</a>)<br>&gt; &gt; &gt;<br>&gt; &gt; &gt; about<br>&gt; &gt; &gt;<br>&gt; &gt; &gt; &gt; using PETSc in my cfd code. I am now using KSP to solve my<br>
&gt; &gt; &gt; &gt; momentum and poisson eqn by inserting values into the matrix. I<br>&gt; &gt; &gt; &gt; was told that using PETSc<br>&gt; &gt; &gt; &gt; this way is only for unstructured grids. It is very inefficient<br>
&gt; &gt; &gt; &gt; and much slower if I&#39;m using it for my structured grid because I<br>&gt; &gt; &gt; &gt; am not<br>&gt; &gt; &gt;<br>&gt; &gt; &gt; exploiting<br>&gt; &gt; &gt;<br>&gt; &gt; &gt; &gt; the regular structure of my grid.
<br>&gt; &gt; &gt; &gt;<br>&gt; &gt; &gt; &gt; Is that true? I&#39;m solving flow around airfoil using c-grid.<br>&gt; &gt; &gt; &gt;<br>&gt; &gt; &gt; &gt; So how can I improve? Is it by using DA? I took a glance and it<br>
&gt; &gt; &gt; &gt; seems quite<br>&gt; &gt; &gt; &gt; complicated.<br>&gt; &gt; &gt; &gt;<br>&gt; &gt; &gt; &gt; Also, is multigrid available in PETSc? Chapter 7 discusses about<br>&gt; &gt; &gt; &gt; it but<br>&gt; &gt; &gt;
<br>&gt; &gt; &gt; it<br>&gt; &gt; &gt;<br>&gt; &gt; &gt; &gt; seems very brief. Is there a more elaborate tutorial besides<br>&gt; &gt; &gt; &gt; that c examples?<br>&gt; &gt; &gt; &gt;<br>&gt; &gt; &gt; &gt; Hope someone can give me some ideas.
<br>&gt; &gt; &gt; &gt;<br>&gt; &gt; &gt; &gt; Thank you.<br>&gt;<br>&gt;<br><br></blockquote></div><br>