<div dir="ltr">1) Always send the output of -log_summary when asking a performance question<div><br></div><div>2) There are implementations that are optimized for different things. Its possible to</div><div>    optimize mesh handling for a cells-vertices mesh, but not if you need edges and</div>
<div>    faces generated.</div><div><br></div><div>3) I am out of the country. I can look at the performance when I get back.</div><div><br></div><div>   Matt</div><div><br><div class="gmail_quote">On Mon, Mar 28, 2011 at 1:06 AM, fdkong <span dir="ltr">&lt;<a href="mailto:fd.kong@siat.ac.cn">fd.kong@siat.ac.cn</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><div style="color:rgb(0, 0, 0);font-family:Verdana;font-size:14px">Hi everyone</div><div style="color:rgb(0, 0, 0);font-family:Verdana;font-size:14px">
   I have developed my application based on the sieve mesh object in the Pestc. And now, I encountered some  serious problems. </div><div style="color:rgb(0, 0, 0);font-family:Verdana;font-size:14px"> 1. The generation of mesh takes a lot of time, run very slowly. The following code is used:</div>
<div>       double lower[2] = {-1.0, -1.0};</div><div>        double upper[2] = {1.0, 1.0};</div><div>        int    edges[2] = {256,256};</div><div>        mB = ALE::MeshBuilder&lt;ALE::Mesh&gt;::createSquareBoundary(comm, lower, upper, edges, debug);</div>
<div><div>  ALE::ISieveConverter::convertMesh(*mB, *meshBd, renumbering, false);</div><div>      ierr = PetscPrintf(PETSC_COMM_WORLD,&quot; End build convertMesh  \n&quot;);CHKERRQ(ierr);</div><div>      ierr = MeshSetMesh(boundary, meshBd);CHKERRQ(ierr);</div>
<div>      ierr = PetscPrintf(PETSC_COMM_WORLD,&quot; Begin build MeshGenerate  \n&quot;);CHKERRQ(ierr);</div><div><br></div><div>      ierr = MeshGenerate(boundary,interpolate, &amp;mesh);CHKERRQ(ierr);</div></div><div>   </div>
<div>   2. The refinement of mesh is also very slow. Th code:</div><div>     refinementLimit=0.0001;</div><div>    if (refinementLimit &gt; 0.0) </div><div>    {</div><div>      Mesh refinedMesh;</div><div><br></div><div>
      ierr = MeshRefine(mesh, refinementLimit,interpolate, &amp;refinedMesh);CHKERRQ(ierr);</div><div>      ierr = MeshDestroy(mesh);CHKERRQ(ierr);</div><div>      mesh = refinedMesh;</div><div>    }</div><div><br></div><div>
    3. The distribution of mesh is also very slow. The code:</div><div>     if (size &gt; 1) </div><div>    {</div><div>      Mesh parallelMesh;</div><div><br></div><div>      //ierr = DistributeMeshnew(mesh, &quot;chao&quot;, &amp;parallelMesh);CHKERRQ(ierr);</div>
<div>      ierr = DistributeMeshnew(mesh, &quot;parmetis&quot;, &amp;parallelMesh);CHKERRQ(ierr);</div><div>      ierr = MeshDestroy(mesh);CHKERRQ(ierr);</div><div>      mesh = parallelMesh;</div><div>    }.</div><div>   </div>
<div>    Does anyone encounter these similar problem? If anyone can help, thank you very much!  </div><div>  </div><div>   And I wonder to consult which parallel mesh can work  with Petsc very well, when we develop some complex problem? </div>
<div>   </div><div>     </div><div style="font-size:14px;font-family:Verdana;color:rgb(0, 0, 0)"><div style="color:#909090;font-family:Arial Narrow;font-size:12px">------------------</div><div style="font-size:14px;font-family:Verdana;color:#000">
<div>Fande Kong</div><div>ShenZhen Institutes of Advanced Technology</div><div>Chinese Academy of Sciences</div>
</div></div><div style="color:rgb(0, 0, 0);font-family:Verdana;font-size:14px"> </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>
</div></div>