Hi all,

I have several lines of code to read a mesh and uniformly refine it. DMPlex
can not uniformly refine it. I am using PETSc-3.5.3. The code is very
simple like follows:

#undef __FUNCT__

#define __FUNCT__ "main"

int main(int argc, char **argv)

{

  DM             dm,pdm, refinedMesh;          /* Problem specification */

  AppCtx         user;        /* user-defined work context */

  PetscErrorCode ierr;


  ierr = PetscInitialize(&argc, &argv, NULL, help);CHKERRQ(ierr);


  /*ierr = CreateMesh(PETSC_COMM_WORLD, &user, &dm);CHKERRQ(ierr);*/


  ierr = DMPlexCreateExodusFromFile(PETSC_COMM_WORLD, "./Tet4.exo",
PETSC_FALSE, &dm);CHKERRQ(ierr);

  ierr = DMPlexDistribute(dm, "metis", 0, NULL, &pdm);CHKERRQ(ierr);

  ierr = DMDestroy(&dm);CHKERRQ(ierr);

  ierr = DMPlexSetRefinementUniform(pdm, PETSC_TRUE);CHKERRQ(ierr);

  ierr = DMRefine(pdm, PETSC_COMM_WORLD, &refinedMesh);CHKERRQ(ierr);

  ierr = DMDestroy(&pdm);CHKERRQ(ierr);

  ierr = DMDestroy(&refinedMesh);CHKERRQ(ierr);


  ierr = PetscFinalize();


  return 0;

}


The mesh file is also attached.

Fande,

Attachment: Tet4.exo
Description: Binary data

Reply via email to