How do I construct a mesh in PDE Solver from only the boundary points?
3 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Basically, the title. I have a non-uniform or clustered mesh on which I would like to solve a particular PDE but I can't figure out how. I know the boundary points and nothing else. Any help?
0 comentarios
Respuestas (1)
Vinayak
el 14 de Mayo de 2024
Hi Ghazwan
You can use triangulation to get the connections and nodes, which could be fed into the ‘generateFromMesh’ function. I have a sample code with points in a distorted circle geometry, that are fed into ‘delaunayTriangulation’ and a mesh is generated post that.
% Generate random points
numPoints = 10;
theta = linspace(0, 1.95*pi, numPoints);
r = 1; % Radius of the circle
x = r * cos(theta) + rand(1, numPoints) * 0.1; % Adding small randomness
y = r * sin(theta) + rand(1, numPoints) * 0.1;
% Create a PDE model
model = createpde();
% Generate Delaunay triangulation
DT = delaunayTriangulation(x', y');
% Use the triangulation to define the geometry in the PDE model
geometryFromMesh(model, DT.Points', DT.ConnectivityList');
% Generate the mesh
mesh = generateMesh(model,'Hmax',0.2); % Adjust 'Hmax' as needed
% Plot the mesh
figure;
pdemesh(model);
axis equal;
You can read more about “triangulation” and “geometryFromMesh” here:
I hope this helps!
0 comentarios
Ver también
Categorías
Más información sobre Geometry and Mesh en Help Center y File Exchange.
Productos
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!