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)