polyshapeВ этом примере показано, как создать полигональную геометрию с помощью MATLAB polyshape функция. Затем используйте триангулированное представление геометрии в качестве входной сетки для geometryFromMesh функция.
Создание и печать polyshape объект квадрата с отверстием.
t = pi/12:pi/12:2*pi;
pgon = polyshape({[-0.5 -0.5 0.5 0.5], 0.25*cos(t)}, ...
{[0.5 -0.5 -0.5 0.5], 0.25*sin(t)})pgon =
polyshape with properties:
Vertices: [29x2 double]
NumRegions: 1
NumHoles: 1
plot(pgon)
axis equal
Создайте триангуляционное представление этого объекта.
tr = triangulation(pgon);
Создайте модель PDE.
model = createpde;
Используя данные триангуляции в качестве сетки, используйте geometryFromMesh для создания геометрии. Постройте график геометрии.
tnodes = tr.Points'; telements = tr.ConnectivityList'; geometryFromMesh(model,tnodes,telements); pdegplot(model)

Постройте график сетки.
figure pdemesh(model)

Поскольку данные триангуляции привели к низкокачественной сетке, создайте новую более тонкую сетку для дальнейшего анализа.
generateMesh(model)
ans =
FEMesh with properties:
Nodes: [2x1259 double]
Elements: [6x579 double]
MaxElementSize: 0.0566
MinElementSize: 0.0283
MeshGradation: 1.5000
GeometricOrder: 'quadratic'
Постройте график сетки.
figure pdemesh(model)
