<div dir="ltr"><div dir="ltr">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.</div><div dir="ltr"><br></div><div dir="ltr">* I don't think DMPlexFindVertices will work for you. It looks like you need the exact points that you are looking for. </div><div>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.</div><div>You might want to modify that to look for all vertices with the same radius.</div><div dir="ltr"><br></div><div>*  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.</div><div><br></div><div>Mark</div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Nov 22, 2021 at 12:10 PM Bhargav Subramanya <<a href="mailto:bhargav.subramanya@kaust.edu.sa">bhargav.subramanya@kaust.edu.sa</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">Dear All,<div><br></div><div>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.</div><div><br></div><div>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?</div><div><br></div><div>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? </div><div><br></div><div>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?</div><div><br></div><div>[0]PETSC ERROR: --------------------- Error Message --------------------------------------------------------------<br>[0]PETSC ERROR: Object is in wrong state<br>[0]PETSC ERROR: This DMPlex is distributed but its PointSF has no graph set<br>[0]PETSC ERROR: See <a href="https://petsc.org/release/faq/" target="_blank">https://petsc.org/release/faq/</a> for trouble shooting.<br>[0]PETSC ERROR: Petsc Release Version 3.16.1, unknown<br>[0]PETSC ERROR: ./cavity_flow.out on a arch-darwin-c-debug named kl-21859 by subrambm Mon Nov 22 19:47:14 2021<br>[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=<a href="https://bitbucket.org/petsc/pkg-mumps.git" target="_blank">https://bitbucket.org/petsc/pkg-mumps.git</a> --download-mumps-commit=v5.4.1-p1 --download-scalapack --download-ptscotch --download-hdf5 --force<br>[0]PETSC ERROR: #1 DMPlexCheckPointSF() at /Users/subrambm/petsc/src/dm/impls/plex/plex.c:8554<br>[0]PETSC ERROR: #2 DMPlexOrientInterface_Internal() at /Users/subrambm/petsc/src/dm/impls/plex/plexinterpolate.c:595<br>[0]PETSC ERROR: #3 DMPlexInterpolate() at /Users/subrambm/petsc/src/dm/impls/plex/plexinterpolate.c:1357<br>[0]PETSC ERROR: #4 DMPlexExtrude() at /Users/subrambm/petsc/src/dm/impls/plex/plexcreate.c:1543<br>[0]PETSC ERROR: #5 CreateMesh() at ex10.c:161<br>[0]PETSC ERROR: #6 main() at ex10.c:180<br>[0]PETSC ERROR: PETSc Option Table entries:<br>[0]PETSC ERROR: -dm_plex_extrude_layers 3<br>[0]PETSC ERROR: -dm_view vtk:mesh.vtk<br>[0]PETSC ERROR: -init_dm_plex_dim 2<br>[0]PETSC ERROR: -petscpartitioner_type simple<br>[0]PETSC ERROR: -srf_dm_distribute<br>[0]PETSC ERROR: -srf_dm_refine 0<br>[0]PETSC ERROR: ----------------End of Error Message -------send entire error message to petsc-maint@mcs.anl.gov----------</div><div><br></div><div>Thanks,</div><div>Bhargav</div><div><br></div></div>

<br>
<div><hr></div><font face="Arial" size="1">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.</font></blockquote></div></div>