<div dir="ltr"><div><div><div><div><div>Hi all,<br><br></div>I have the following lines for mesh generation:<br><br>      DM boundary;<br>      ierr = DMCreate(comm,&boundary);CHKERRQ(ierr);<br>      ierr = DMSetType(boundary, DMPLEX);CHKERRQ(ierr);<br>      ierr = DMSetDimension(boundary, spatialDim-1);CHKERRQ(ierr);<br>      switch (spatialDim) {<br>        case 2:<br>        {<br>          ierr = DMPlexCreateSquareBoundary(boundary,lower,upper,edges);CHKERRQ(ierr);<br>          break;<br>        }<br>        case 3:<br>        {<br>          ierr = DMPlexCreateCubeBoundary(boundary,lower,upper,edges);CHKERRQ(ierr);<br>          break;<br>        }<br>        default:<br>          SETERRQ1(comm,PETSC_ERR_SUP,"Dimension not supported: %d",spatialDim);<br>      }<br>      ierr = DMPlexGenerate(boundary,NULL,PETSC_TRUE,dm);CHKERRQ(ierr);<br>      ierr = DMDestroy(&boundary);CHKERRQ(ierr);<br><br></div>where lower and upper are global PetscScalars * and edges is a global PetscInt *. These values are PetscCalloc'ed and initialized via commandline options (PetscOptionsGetScalar/IntArray). When I run my code with valgrind, I get the following messages:<br><br>==12706== Conditional jump or move depends on uninitialised value(s)<br>==12706==    at 0x65E778C: TetGenMeshPointTraverse(TetGenMesh*, double**) (ctetgen.c:4107)<br>==12706==    by 0x661C8F8: TetGenMeshDelaunizeVertices(TetGenMesh*) (ctetgen.c:12091)<br>==12706==    by 0x6661A8E: TetGenTetrahedralize(TetGenOpts*, PLC*, PLC*) (ctetgen.c:21483)<br>==12706==    by 0x5B655EB: DMPlexGenerate_CTetgen(_p_DM*, PetscBool, _p_DM**) (plexgenerate.c:834)<br>==12706==    by 0x5B685F4: DMPlexGenerate (plexgenerate.c:1080)<br>==12706==    by 0x409B6D: CreateMesh(int, AppCtx*, _p_DM**) (main.c:657)<br>==12706==    by 0x40DBA8: main (main.c:1005)<br>==12706== <br>==12706== Conditional jump or move depends on uninitialised value(s)<br>==12706==    at 0x661BF6C: TetGenMeshDelaunayIncrFlip(TetGenMesh*, triface*, double**, long, PetscBool, PetscBool, double, Queue*) (ctetgen.c:12011)<br>==12706==    by 0x661CD0B: TetGenMeshDelaunizeVertices(TetGenMesh*) (ctetgen.c:12113)<br>==12706==    by 0x6661A8E: TetGenTetrahedralize(TetGenOpts*, PLC*, PLC*) (ctetgen.c:21483)<br>==12706==    by 0x5B655EB: DMPlexGenerate_CTetgen(_p_DM*, PetscBool, _p_DM**) (plexgenerate.c:834)<br>==12706==    by 0x5B685F4: DMPlexGenerate (plexgenerate.c:1080)<br>==12706==    by 0x409B6D: CreateMesh(int, AppCtx*, _p_DM**) (main.c:657)<br>==12706==    by 0x40DBA8: main (main.c:1005)<br>==12706== <br>==12706== Conditional jump or move depends on uninitialised value(s)<br>==12706==    at 0x661BFB6: TetGenMeshDelaunayIncrFlip(TetGenMesh*, triface*, double**, long, PetscBool, PetscBool, double, Queue*) (ctetgen.c:12014)<br>==12706==    by 0x661CD0B: TetGenMeshDelaunizeVertices(TetGenMesh*) (ctetgen.c:12113)<br>==12706==    by 0x6661A8E: TetGenTetrahedralize(TetGenOpts*, PLC*, PLC*) (ctetgen.c:21483)<br>==12706==    by 0x5B655EB: DMPlexGenerate_CTetgen(_p_DM*, PetscBool, _p_DM**) (plexgenerate.c:834)<br>==12706==    by 0x5B685F4: DMPlexGenerate (plexgenerate.c:1080)<br>==12706==    by 0x409B6D: CreateMesh(int, AppCtx*, _p_DM**) (main.c:657)<br>==12706==    by 0x40DBA8: main (main.c:1005)<br>==12706== <br>==12706== Conditional jump or move depends on uninitialised value(s)<br>==12706==    at 0x661C004: TetGenMeshDelaunayIncrFlip(TetGenMesh*, triface*, double**, long, PetscBool, PetscBool, double, Queue*) (ctetgen.c:12017)<br>==12706==    by 0x661CD0B: TetGenMeshDelaunizeVertices(TetGenMesh*) (ctetgen.c:12113)<br>==12706==    by 0x6661A8E: TetGenTetrahedralize(TetGenOpts*, PLC*, PLC*) (ctetgen.c:21483)<br>==12706==    by 0x5B655EB: DMPlexGenerate_CTetgen(_p_DM*, PetscBool, _p_DM**) (plexgenerate.c:834)<br>==12706==    by 0x5B685F4: DMPlexGenerate (plexgenerate.c:1080)<br>==12706==    by 0x409B6D: CreateMesh(int, AppCtx*, _p_DM**) (main.c:657)<br>==12706==    by 0x40DBA8: main (main.c:1005)<br>==12706== <br>==12706== Conditional jump or move depends on uninitialised value(s)<br>==12706==    at 0x661C048: TetGenMeshDelaunayIncrFlip(TetGenMesh*, triface*, double**, long, PetscBool, PetscBool, double, Queue*) (ctetgen.c:12020)<br>==12706==    by 0x661CD0B: TetGenMeshDelaunizeVertices(TetGenMesh*) (ctetgen.c:12113)<br>==12706==    by 0x6661A8E: TetGenTetrahedralize(TetGenOpts*, PLC*, PLC*) (ctetgen.c:21483)<br>==12706==    by 0x5B655EB: DMPlexGenerate_CTetgen(_p_DM*, PetscBool, _p_DM**) (plexgenerate.c:834)<br>==12706==    by 0x5B685F4: DMPlexGenerate (plexgenerate.c:1080)<br>==12706==    by 0x409B6D: CreateMesh(int, AppCtx*, _p_DM**) (main.c:657)<br>==12706==    by 0x40DBA8: main (main.c:1005)<br>==12706== <br>==12706== Conditional jump or move depends on uninitialised value(s)<br>==12706==    at 0x661B232: TetGenMeshInsertVertexBW(TetGenMesh*, double*, triface*, PetscBool, PetscBool, PetscBool, PetscBool, locateresult*) (ctetgen.c:11905)<br>==12706==    by 0x661C2AF: TetGenMeshDelaunayIncrFlip(TetGenMesh*, triface*, double**, long, PetscBool, PetscBool, double, Queue*) (ctetgen.c:12046)<br>==12706==    by 0x661CD0B: TetGenMeshDelaunizeVertices(TetGenMesh*) (ctetgen.c:12113)<br>==12706==    by 0x6661A8E: TetGenTetrahedralize(TetGenOpts*, PLC*, PLC*) (ctetgen.c:21483)<br>==12706==    by 0x5B655EB: DMPlexGenerate_CTetgen(_p_DM*, PetscBool, _p_DM**) (plexgenerate.c:834)<br>==12706==    by 0x5B685F4: DMPlexGenerate (plexgenerate.c:1080)<br>==12706==    by 0x409B6D: CreateMesh(int, AppCtx*, _p_DM**) (main.c:657)<br>==12706==    by 0x40DBA8: main (main.c:1005)<br>==12706== <br><br></div>What does this mean? Is there something wrong/missing with the current implementation of the mesh generation?<br><br></div>Thanks,<br></div>Justin<br><div><div><div><br></div></div></div><br clear="all"><br>-- <br><div class="gmail_signature"><div dir="ltr"><div><div><div>Justin Chang<br></div>PhD Candidate, Civil Engineering - Computational Sciences<br></div>University of Houston, Department of Civil and Environmental Engineering<br></div>Houston, TX 77004<br>(512) 963-3262<br></div></div></div>