I'm really sorry, I should have explained it more specifically. This is the situation. I am using a very simple mesh to learn and test with DMPlex. My mesh has these nodes: 1 0 0 0 2 1 0 0 3 1 1 0 4 0 1 0 5 0 0 1 6 1 0 1 7 1 1 1 8 0 1 1 9 0.5 0.5 1 10 0.5 0 0.5 11 1 0.5 0.5 12 0.5 1 0.5 13 0 0.5 0.5 14 0.5 0.5 0
Executing in a single process these 14 nodes take values from 24 to 37. I would like to know how to obtain the coordinates through DMPlex. I know that using DMGetCoordinatesLocal I get the vector of all coordinates. But I would like to be more specific. For example, I choose point 2 of the DAG of the mesh that I am using, this point is formed by nodes 32, 33, 34 and 36 according to the order of the DAG. How can I know the coordinates of those specific nodes? And if I know those coordinates, I can see which points are from the original mesh and verify that they are the same in the software to which I want to implement DMPlex. Maybe this is very simple, but I am just learning the use of the tool and right now my job is to know if I can obtain the same results with DMPlex as the code I want to modify. ________________________________ De: Mark Adams <[email protected]> Enviado: domingo, 25 de julio de 2021 06:43 a. m. Para: Miguel Angel Tapia <[email protected]> CC: [email protected] <[email protected]> Asunto: Re: [petsc-users] DMPlex doubt This is a Matt question and I recall a question on getting the original node ordering recently, but I am not finding it. How is your Plex created? If you give it a mesh and don't distribute it the node ordering does not change. In that case you can use a simpler version Brandon's code: ierr = DMGetCoordinatesLocal(dm, &coordinates);CHKERRQ(ierr); Then use VecView. However, I don't understand what you are trying to do exactly. Are you just verifying that PLex has the correct coordinates? Mark On Sat, Jul 24, 2021 at 9:58 AM Miguel Angel Tapia <[email protected]<mailto:[email protected]>> wrote: Hello. I am a master's student in Mexico. I am currently working on a project in which we are implementing DMPlex in a code for electromagnetic modeling. Right now I am working on understanding the tool in C. But I'm stuck on something and that's why my next doubt: I am trying to get the coordinates of the nodes of a mesh in DMPlex. I already understood how the DAG is structured, how to obtain the nodes that make up some point. But the ordering of the nodes changes in DMPlex. So I need to know the coordinates of each node to compare them with my initial mesh and confirm that the same nodes form the same point in the software I am using as well as in the DMPlex DAG. It would be great if you could guide me a bit on how to do this or indicate which DMPlex examples would be good to review or which examples solve something similar to my situation. Thank you in advance. Regards.
