This is a Matt question but if ex10 does what you want, and works, then I would copy the construction sequence carefully. You are probably doing something slightly different.
* I don't think DMPlexFindVertices will work for you. It looks like you need the exact points that you are looking for. I have a branch (adams/snes-ex56-update) that creates a label for simple vertical faces that looks at the coordinates of a face and sees if they all have the same x or y coordinate. You might want to modify that to look for all vertices with the same radius. * I visualize subdomains by giving each cell one dof and putting the processor ID in that dof. You get a global view but the subdomains are different colors. Mark On Mon, Nov 22, 2021 at 12:10 PM Bhargav Subramanya < [email protected]> wrote: > Dear All, > > I have a prismatic mesh generated by extruding a base icosahedron > spherical surface mesh. The mesh is distributed on 2 processes after > extrusion. The dof for my problem are defined only on the simplices of the > spherical layers. > > 1. For a given spherical layer, I want to get points, which are basically > simplices, lying on that layer only. DMPlexGetHeightStratum returns the > points on all the spherical Layers. I can probably use DMPlexFindVertices > (based on the radius of the spherical layer) and > DMPlexGetSimplexOrBoxCells. Could you suggest if there is a better way to > retrieve the points (which are simplices) on a given spherical layer in the > extruded mesh? > > 2. I am able to visualize the entire mesh using dm_view. Is there a way to > get the mesh file for the local dm from a specific process? > > 3. One of my previous emails might have got lost as I mistakenly attached > a large mesh file and sent it. So I am repeating the question here. > DMPlexExtrude gives the following error after distributing the base 2D > spherical mesh. Both refinement or/and extrusion after dm distribution does > not work for me. In fact, I tried with src/dm/impls/plex/tutorials/ex10.c > also. Although the mesh is distributed after the extrusion in ex10.c (which > is working fine for me), I tried to distribute before extrusion, and I get > the following error. Could you please suggest where I might be making a > mistake? > > [0]PETSC ERROR: --------------------- Error Message > -------------------------------------------------------------- > [0]PETSC ERROR: Object is in wrong state > [0]PETSC ERROR: This DMPlex is distributed but its PointSF has no graph set > [0]PETSC ERROR: See https://petsc.org/release/faq/ for trouble shooting. > [0]PETSC ERROR: Petsc Release Version 3.16.1, unknown > [0]PETSC ERROR: ./cavity_flow.out on a arch-darwin-c-debug named kl-21859 > by subrambm Mon Nov 22 19:47:14 2021 > [0]PETSC ERROR: Configure options --with-cc=gcc --with-cxx=g++ > --with-fc=gfortran --download-mpich --download-fblaslapack > --download-superlu_dist --download-hypre --download-fiat > --download-generator --download-triangle --download-tetgen --download-chaco > --download-make -download-boost --download-cmake --download-ml > --download-mumps=https://bitbucket.org/petsc/pkg-mumps.git > --download-mumps-commit=v5.4.1-p1 --download-scalapack --download-ptscotch > --download-hdf5 --force > [0]PETSC ERROR: #1 DMPlexCheckPointSF() at > /Users/subrambm/petsc/src/dm/impls/plex/plex.c:8554 > [0]PETSC ERROR: #2 DMPlexOrientInterface_Internal() at > /Users/subrambm/petsc/src/dm/impls/plex/plexinterpolate.c:595 > [0]PETSC ERROR: #3 DMPlexInterpolate() at > /Users/subrambm/petsc/src/dm/impls/plex/plexinterpolate.c:1357 > [0]PETSC ERROR: #4 DMPlexExtrude() at > /Users/subrambm/petsc/src/dm/impls/plex/plexcreate.c:1543 > [0]PETSC ERROR: #5 CreateMesh() at ex10.c:161 > [0]PETSC ERROR: #6 main() at ex10.c:180 > [0]PETSC ERROR: PETSc Option Table entries: > [0]PETSC ERROR: -dm_plex_extrude_layers 3 > [0]PETSC ERROR: -dm_view vtk:mesh.vtk > [0]PETSC ERROR: -init_dm_plex_dim 2 > [0]PETSC ERROR: -petscpartitioner_type simple > [0]PETSC ERROR: -srf_dm_distribute > [0]PETSC ERROR: -srf_dm_refine 0 > [0]PETSC ERROR: ----------------End of Error Message -------send entire > error message to [email protected] > > Thanks, > Bhargav > > > ------------------------------ > This message and its contents, including attachments are intended solely > for the original recipient. If you are not the intended recipient or have > received this message in error, please notify me immediately and delete > this message from your computer system. Any unauthorized use or > distribution is prohibited. Please consider the environment before printing > this email.
