<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"><<a href="mailto:fd.kong@siat.ac.cn">fd.kong@siat.ac.cn</a>></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<ALE::Mesh>::createSquareBoundary(comm, lower, upper, edges, debug);</div>
<div><div> ALE::ISieveConverter::convertMesh(*mB, *meshBd, renumbering, false);</div><div> ierr = PetscPrintf(PETSC_COMM_WORLD," End build convertMesh \n");CHKERRQ(ierr);</div><div> ierr = MeshSetMesh(boundary, meshBd);CHKERRQ(ierr);</div>
<div> ierr = PetscPrintf(PETSC_COMM_WORLD," Begin build MeshGenerate \n");CHKERRQ(ierr);</div><div><br></div><div> ierr = MeshGenerate(boundary,interpolate, &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 > 0.0) </div><div> {</div><div> Mesh refinedMesh;</div><div><br></div><div>
ierr = MeshRefine(mesh, refinementLimit,interpolate, &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 > 1) </div><div> {</div><div> Mesh parallelMesh;</div><div><br></div><div> //ierr = DistributeMeshnew(mesh, "chao", &parallelMesh);CHKERRQ(ierr);</div>
<div> ierr = DistributeMeshnew(mesh, "parmetis", &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>