How do I construct a mesh in PDE Solver from only the boundary points?
조회 수: 2 (최근 30일)
이전 댓글 표시
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
답변 (1개)
Vinayak
2024년 5월 14일
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
참고 항목
카테고리
Help Center 및 File Exchange에서 Geometry and Mesh에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!