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