polyshapeВ этом примере показано, как создать многоугольную геометрию с помощью polyshape MATLAB функция. Затем используйте триангулированное представление геометрии как входная mesh для 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;
С данными о триангуляции как mesh используйте geometryFromMesh функция, чтобы создать геометрию. Постройте геометрию.
tnodes = tr.Points'; telements = tr.ConnectivityList'; geometryFromMesh(model,tnodes,telements); pdegplot(model)

Постройте mesh.
figure pdemesh(model)

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