메시 생성하기
generateMesh 함수는 2차원 지오메트리에 대해 삼각 메시를 만들고, 3차원 지오메트리에 대해 사면체 메시를 만듭니다. 기본적으로 메시 생성기는 내부 알고리즘을 사용하여 특정 지오메트리에 적합한 크기 파라미터를 선택합니다. 추가 인수를 사용하여 다음 파라미터를 명시적으로 지정할 수도 있습니다.
목표 최대 및 최소 메시 모서리 길이. 이는 메시 모서리 길이에 대한 상한 및 하한 근사치입니다. 경우에 따라 일부 요소의 모서리가 목표 최대 길이보다 길거나 목표 최소 길이보다 짧을 수 있습니다.
선택한 면, 모서리, 꼭짓점의 목표 크기. 이러한 파라미터는 로컬 메시 미세 조정을 지원하여 지정한 면, 모서리, 꼭짓점 주변에 더 촘촘하게 메시를 생성할 수 있게 해줍니다.
메시 증가율. 이는 지오메트리의 작은 부분에서 멀어질수록 메시 크기가 증가하는 비율입니다. 값은 1과 2 사이여야 합니다. 이 비율은 연속된 요소 두 개의 모서리 길이에 대응합니다. 디폴트 값은 1.5이며, 이는 메시 크기가 50% 증가함을 의미합니다.
2차 또는 선형 지오메트리 차수. 2차 요소에는 코너와 모서리 중심에 노드가 있는 반면, 선형 요소에는 코너에만 노드가 있습니다.
최대 및 최소 메시 모서리 길이
중앙에 정사각형 구멍이 있는 평판의 지오메트리를 가져옵니다.
g = fegeometry("PlateSquareHolePlanar.stl");지오메트리를 플로팅합니다.
figure pdegplot(g)

디폴트 메시를 생성합니다. 이 지오메트리의 경우 디폴트 목표 최대 및 최소 메시 모서리 길이는 각각 8.9443과 4.4721입니다.
g = generateMesh(g); g.Mesh
ans =
FEMesh with properties:
Nodes: [2×1210 double]
Elements: [6×570 double]
MaxElementSize: 8.9443
MinElementSize: 4.4721
MeshGradation: 1.5000
GeometricOrder: 'quadratic'
메시를 표시합니다.
figure pdemesh(g)

비교를 위해 목표 최대 요소 모서리 길이가 20인 메시를 만듭니다.
g = generateMesh(g,Hmax=20); g.Mesh
ans =
FEMesh with properties:
Nodes: [2×298 double]
Elements: [6×132 double]
MaxElementSize: 20
MinElementSize: 10
MeshGradation: 1.5000
GeometricOrder: 'quadratic'
figure pdemesh(g)

이제 목표 최소 요소 모서리 길이가 0.1인 메시를 만듭니다.
g = generateMesh(g,Hmin=0.1); g.Mesh
ans =
FEMesh with properties:
Nodes: [2×1394 double]
Elements: [6×662 double]
MaxElementSize: 8.9443
MinElementSize: 0.1000
MeshGradation: 1.5000
GeometricOrder: 'quadratic'
figure pdemesh(g)

디폴트 값을 사용하는 대신 최대 및 최소 요소 모서리 길이를 모두 지정하여 메시를 만듭니다.
g = generateMesh(g,Hmax=20,Hmin=0.1); g.Mesh
ans =
FEMesh with properties:
Nodes: [2×454 double]
Elements: [6×210 double]
MaxElementSize: 20
MinElementSize: 0.1000
MeshGradation: 1.5000
GeometricOrder: 'quadratic'
메시를 표시합니다.
figure pdemesh(g)

메시 증가율
최대 및 최소 요소 모서리 길이는 동일하게 하고 증가율을 디폴트 값 1.5 대신 1.9로 지정하여 메시를 생성합니다.
g = generateMesh(g,Hmax=20, ... Hmin=0.1, ... Hgrad=1.9); g.Mesh
ans =
FEMesh with properties:
Nodes: [2×374 double]
Elements: [6×170 double]
MaxElementSize: 20
MinElementSize: 0.1000
MeshGradation: 1.9000
GeometricOrder: 'quadratic'
figure pdemesh(g)

로컬 메시 미세 조정
평판의 중앙 구멍과 코너 주변에 더 촘촘한 부분이 있는 메시를 생성합니다. 이를 위해 구멍 주변 모서리들의 ID와 평판 코너에 있는 꼭짓점들의 ID를 찾습니다.
모서리 레이블을 사용하여 중앙 구멍을 플로팅합니다.
figure
pdegplot(g,EdgeLabels="on");
xlim([48 52])
ylim([98 102])
꼭짓점 레이블을 사용하여 전체 평판의 지오메트리를 플로팅합니다.
figure
pdegplot(g,VertexLabels="on");
xlim([-10 110])
ylim([-10 210])
평판의 코너 근처와 중앙 구멍 주변에 목표 크기가 0.1인 메시를 생성합니다.
g = generateMesh(g,Hedge={[1 4 5 8],0.1}, ...
Hvertex={[3:5 8],0.1});결과 메시를 플로팅합니다.
figure pdemesh(g)

선형 메시 및 2차 메시
메시의 지오메트리 차수를 선택할 수도 있습니다. 툴박스를 사용하면 2차 또는 선형 요소로 구성된 메시를 생성할 수 있습니다. 기본적으로, 모서리 중심과 코너 모두에 노드가 있는 2차 메시가 사용됩니다.
g = generateMesh(g,Hmax=40); figure pdemesh(g,NodeLabels="on") hold on plot(g.Mesh.Nodes(1,:), ... g.Mesh.Nodes(2,:), ... "ok",MarkerFaceColor="g")

메모리를 절약하려면 디폴트 2차 지오메트리 차수를 재정의합니다.
g = generateMesh(g,Hmax=40,GeometricOrder="linear"); figure pdemesh(g,NodeLabels="on") hold on plot(g.Mesh.Nodes(1,:), ... g.Mesh.Nodes(2,:), ... "ok",MarkerFaceColor="g")
