polyshape
В этом примере показано, как создать полигональную геометрию с помощью MATLAB polyshape
функция. Затем используйте триангулированное представление геометрии как вход 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);
Создайте модель УЧП.
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)