For the PDE toolbox, how to get the Edges/ faces IDs of a geometry without plotting them?
17 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Matias Bulacio
el 12 de Sept. de 2019
Comentada: Matias Bulacio
el 13 de Sept. de 2019
I am using the geometryFromEdges function to generate the geometry in which I want to solve the PDE. All the geometry will be formed by rectangles, but the number of rectangles could vary. So I need to identify the FaceLabel ID for every rectangle to set the PDE coefficients properly. Following you can see a section of my code where I define the geometry:
%Create the PDE model with a single dependent variable.
numberOfPDE = 1;
model = createpde(numberOfPDE);
% Geometry description:
DIE = [3, 4, -x_ds/2, x_ds/2, x_ds/2, -x_ds/2, -y_ds/2, -y_ds/2, y_ds/2, y_ds/2]';
MR = [3, 4, xinfMR, xsupMR, xsupMR, xinfMR, yinfMR, yinfMR, ysupMR, ysupMR]';
AR = [3, 4, xinfAR, xsupAR, xsupAR, xinfAR, yinfAR, yinfAR, ysupAR, ysupAR]';
DR = [3, 4, xinfDR, xsupDR, xsupDR, xinfDR, yinfDR, yinfDR, ysupDR, ysupDR]';
%Define geometry
gm=[DIE,MR,AR,DR];
sf='DIE+MR+AR+DR';
ns=char('DIE','MR','AR','DR');
ns=ns';
g=decsg(gm,sf,ns);
geometryFromEdges(model,g);
So is there any way to map the geometry labels from gm variable (DIE, MR, AR and DR) to the Face labels ID after generating the geometry for the pde?
Thanks in advanced for any help on that.
0 comentarios
Respuesta aceptada
Siju Thomas
el 13 de Sept. de 2019
I have written a small helper function (See attachment: getFaceID.m) that can help you find the Face Label (Or Face ID) of a particular point. You can download the Matlab script to your current working directory and call the helper function (getFaceID). But first make sure that you generate a mesh for your PDEModel oobject using generateMesh.
The subsequent commands are as follows:
model.generateMesh();
coords = [0 0]; % Coordinates of the query point
faceID = getFaceID(model,coords); % faceID will return ID of the Face closest to the query point
Please note, the error handling for the function is not great at all. Also, if a geometry and/or mesh is missing from the pdeModel object, then the function will error.
Más respuestas (0)
Ver también
Categorías
Más información sobre Geometry and Mesh en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!