Hi everyone
I have developed my application based on the sieve mesh object in the Pestc.
And now, I encountered some serious problems.
1. The generation of mesh takes a lot of time, run very slowly. The following
code is used:
double lower[2] = {-1.0, -1.0};
double upper[2] = {1.0, 1.0};
int edges[2] = {256,256};
mB = ALE::MeshBuilder<ALE::Mesh>::createSquareBoundary(comm, lower,
upper, edges, debug);
ALE::ISieveConverter::convertMesh(*mB, *meshBd, renumbering, false);
ierr = PetscPrintf(PETSC_COMM_WORLD," End build convertMesh
\n");CHKERRQ(ierr);
ierr = MeshSetMesh(boundary, meshBd);CHKERRQ(ierr);
ierr = PetscPrintf(PETSC_COMM_WORLD," Begin build MeshGenerate
\n");CHKERRQ(ierr);
ierr = MeshGenerate(boundary,interpolate, &mesh);CHKERRQ(ierr);
2. The refinement of mesh is also very slow. Th code:
refinementLimit=0.0001;
if (refinementLimit > 0.0)
{
Mesh refinedMesh;
ierr = MeshRefine(mesh, refinementLimit,interpolate,
&refinedMesh);CHKERRQ(ierr);
ierr = MeshDestroy(mesh);CHKERRQ(ierr);
mesh = refinedMesh;
}
3. The distribution of mesh is also very slow. The code:
if (size > 1)
{
Mesh parallelMesh;
//ierr = DistributeMeshnew(mesh, "chao", ¶llelMesh);CHKERRQ(ierr);
ierr = DistributeMeshnew(mesh, "parmetis", ¶llelMesh);CHKERRQ(ierr);
ierr = MeshDestroy(mesh);CHKERRQ(ierr);
mesh = parallelMesh;
}.
Does anyone encounter these similar problem? If anyone can help, thank you
very much!
And I wonder to consult which parallel mesh can work with Petsc very well,
when we develop some complex problem?
------------------
Fande Kong
ShenZhen Institutes of Advanced Technology
Chinese Academy of Sciences
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
<http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20110328/0545b6a0/attachment.htm>