주요 콘텐츠

generateMesh

삼각 또는 사면체 메시 생성

설명

fegeometry = generateMesh(fegeometry)fegeometry 객체에 저장된 지오메트리의 메시를 생성합니다. 툴박스는 이 생성된 메시를 Geometry.Mesh 속성에 저장합니다.

예제

femodel = generateMesh(femodel)femodel 객체에 저장된 지오메트리의 메시를 생성합니다. 툴박스는 이 생성된 메시를 Geometry.Mesh 속성에 저장합니다. 결과를 모델에 할당하면 모델의 Geometry 속성에 저장된 메시가 업데이트됩니다.

예제

mesh = generateMesh(model)model 객체에 저장된 지오메트리의 메시를 생성합니다. 툴박스는 이 생성된 메시를 PDEModelMesh 속성에 저장합니다.

model은 지오메트리를 포함해야 합니다. 지오메트리를 생성하고 모델에 포함시키는 방법에 대한 자세한 내용은 지오메트리 및 메시 항목 및 거기에 나열된 지오메트리 함수를 참조하십시오.

___ = generateMesh(___,Name,Value)Name,Value 인수에 따라 메시 생성 방식을 수정합니다. 이 구문은 model 인수 및 femodel 인수와 함께 사용할 수 있습니다.

예제

예제

모두 축소

L 모양 지오메트리의 디폴트 2차원 메시를 생성합니다.

L 모양 지오메트리를 나타내는 fegeometry 객체를 만듭니다.

gm = fegeometry(@lshapeg);

지오메트리의 디폴트 메시를 생성합니다.

gm = generateMesh(gm);

메시를 표시합니다.

pdemesh(gm)

Figure contains an axes object. The axes object contains 2 objects of type line.

디폴트 메시보다 촘촘한 메시를 만듭니다.

femodel 객체를 만들고 BracketTwoHoles 지오메트리를 포함시킵니다.

model = femodel(Geometry="BracketTwoHoles.stl");

비교를 위해 디폴트 메시를 생성합니다.

model = generateMesh(model);

메시를 표시합니다.

pdemesh(model)

Figure contains an axes object. The hidden axes object contains 5 objects of type quiver, text, patch.

목표 최대 요소 크기를 5로 지정하여 메시를 만듭니다.

model = generateMesh(model,Hmax=5);

메시를 표시합니다.

pdemesh(model)

Figure contains an axes object. The hidden axes object contains 5 objects of type quiver, text, patch.

지정한 모서리와 꼭짓점 주위에 촘촘한 점이 있는 2차원 메시를 생성합니다.

femodel 객체를 만들고 중앙에 다이아몬드 모양의 구멍이 있는 원을 나타내는 지오메트리를 포함시킵니다.

model = femodel(Geometry=@scatterg);

지오메트리를 플로팅합니다.

pdegplot(model.Geometry,VertexLabels="on", ...
                        EdgeLabels="on")

Figure contains an axes object. The axes object contains 17 objects of type line, text.

디폴트 메시 파라미터를 사용하여 이 지오메트리의 메시를 생성합니다.

model = generateMesh(model);

결과 메시를 플로팅합니다.

pdemesh(model)

Figure contains an axes object. The axes object contains 2 objects of type line.

모서리 1에 디폴트 메시의 목표 최소 요소 크기인 MinElementSize보다 작은 목표 크기를 지정하여 메시를 생성합니다.

model = generateMesh(model,Hedge={1,0.001});

결과 메시를 플로팅합니다.

pdemesh(model)

Figure contains an axes object. The axes object contains 2 objects of type line.

모서리 1과 꼭짓점 6, 7에 대한 목표 크기를 지정하여 메시를 생성합니다.

model = generateMesh(model,Hedge={1,0.001}, ...
                           Hvertex={[6 7],0.002});

결과 메시를 플로팅합니다.

pdemesh(model)

Figure contains an axes object. The axes object contains 2 objects of type line.

입력 인수

모두 축소

유한요소해석을 위한 지오메트리 객체로, fegeometry 객체로 지정됩니다.

예: fegeometry = fegeometry(@squareg)

유한요소 모델 컨테이너로, femodel 객체로 지정됩니다.

예: model = femodel(AnalysisType = "structuralStatic")

모델 컨테이너로, PDEModel 객체로 지정됩니다.

예: model = createpde(3)

이름-값 인수

모두 확장

선택적 인수 쌍을 Name1=Value1,...,NameN=ValueN으로 지정합니다. 여기서 Name은 인수 이름이고 Value는 대응값입니다. 이름-값 인수는 다른 인수 뒤에 와야 하지만, 인수 쌍의 순서는 상관없습니다.

R2021a 이전 릴리스에서는 쉼표를 사용하여 각 이름과 값을 구분하고 Name을 따옴표로 묶으십시오.

예: generateMesh(model,"Hmax",0.25);

메시 설정

모두 확장

목표 최대 메시 모서리 길이로, 양수로 지정됩니다.

Hmax는 메시 모서리 길이의 상한 근사치입니다. 경우에 따라 generateMesh는 일부 요소가 Hmax를 초과하는 메시를 생성할 수 있습니다.

generateMesh는 지오메트리의 전체 차원으로부터 Hmax의 디폴트 값을 추정합니다.

Hmax 값을 작게 설정하면 촘촘한 메시를 만들 수 있지만, 이 경우 메시 생성에 시간이 매우 오래 걸릴 수 있습니다. Ctrl+C를 사용하여 메시 생성을 중단할 수 있습니다. generateMesh가 이 중단에 응답하는 데 추가 시간이 소요될 수 있다는 점에 유의하십시오.

예: gm = generateMesh(gm,Hmax=0.25);

데이터형: double

목표 최소 메시 모서리 길이로, 음이 아닌 숫자로 지정됩니다.

Hmin는 메시 모서리 길이의 하한 근사치입니다. 경우에 따라 generateMesh는 일부 요소가 Hmin보다 작은 메시를 생성할 수 있습니다.

generateMesh는 지오메트리의 전체 차원으로부터 Hmin의 디폴트 값을 추정합니다.

예: gm = generateMesh(gm,Hmin=0.05);

데이터형: double

요소의 지오메트리 차수로, "linear" 또는 "quadratic"으로 지정됩니다.

선형 요소를 나타내는 삼각형 또는 사면체에는 코너에 노드가 있습니다. 2차 요소를 나타내는 삼각형 또는 사면체에는 모서리 가운데와 코너에 노드가 있습니다. 2차 메시의 가운데 노드는 항상 코너 사이 거리의 절반 지점에 추가됩니다. 모서리와 곡면이 휘어진 지오메트리의 경우, 가운데 노드가 모서리나 곡면 자체에 나타나지 않을 수 있습니다.

일반적으로 "quadratic" 요소가 더 정확한 해를 생성합니다. 3차원 정자기 문제를 풀거나, 메모리를 절약하거나, 레거시 솔버를 사용하여 2차원 문제를 풀 때만 디폴트 "quadratic"을 재정의하십시오. 레거시 PDE 솔버는 2차원 지오메트리에 대해 선형 삼각 메시를 사용합니다.

예: gm = generateMesh(gm,GeometricOrder="linear");

데이터형: char | string

로컬 미세 조정

모두 확장

선택한 면의 목표 크기로, 짝수 개수의 요소를 포함하는 셀형 배열로 지정됩니다. 홀수 인덱스 요소는 면 ID를 지정하는 양의 정수 또는 양의 정수로 구성된 벡터입니다. 짝수 인덱스 요소는 대응하는 면의 목표 크기를 지정하는 양수입니다.

예: gm = generateMesh(gm,Hface={[1 2],0.1,[3 4 5],0.05})

데이터형: double

선택한 모서리 주변에서의 목표 크기로, 짝수 개수의 요소를 포함하는 셀형 배열로 지정됩니다. 홀수 인덱스 요소는 모서리 ID를 지정하는 양의 정수 또는 양의 정수로 구성된 벡터입니다. 짝수 인덱스 요소는 대응하는 모서리에서의 목표 크기를 지정하는 양수입니다.

예: gm = generateMesh(gm,Hedge={[1 2],0.01,3,0.05})

데이터형: double

선택한 꼭짓점 주변에서의 목표 크기로, 짝수 개수의 요소를 포함하는 셀형 배열로 지정됩니다. 홀수 인덱스 요소는 꼭짓점 ID를 지정하는 양의 정수 또는 양의 정수로 구성된 벡터입니다. 짝수 인덱스 요소는 대응하는 꼭짓점에서의 목표 크기를 지정하는 양수입니다.

예: gm = generateMesh(gm,Hvertex={1,0.02})

데이터형: double

메시 증가율로, 1보다 크거나 같고 2보다 작거나 같은 숫자로 지정됩니다.

예: gm = generateMesh(gm,Hgrad=1.3);

데이터형: double

출력 인수

모두 축소

메시 설명으로, FEMesh 객체로 반환됩니다.

  • generateMesh는 릴리스마다 약간 다른 메시를 반환할 수 있습니다. 예를 들어, 메시의 요소 개수가 달라질 수 있습니다. 명시적으로 지정된 노드와 요소 ID를 사용하거나 노드 및 요소 개수를 사용하는 코드를 작성하는 것은 피하십시오.

  • generateMeshHface, Hedge 또는 Hvertex를 사용하여 로컬 요소 크기를 지정할 때 다음과 같은 일련의 규칙을 사용합니다. 이러한 규칙은 HminHmax의 디폴트 값과 사용자 지정 값 모두에 유효합니다.

    • 서로 가까운 영역에 대해 로컬 크기를 지정하는 경우 generateMesh는 최소 크기를 사용합니다. 예를 들어, 한 모서리에 크기 1을 지정하고 꼭짓점 중 하나에 크기 0.5를 지정하면 함수는 그 꼭짓점 근처의 요소 크기를 점진적으로 줄입니다.

    • 로컬 크기를 Hmin보다 작게 지정하면 generateMesh는 해당 영역에서 Hmin을 무시합니다.

    • 로컬 크기를 Hmax보다 크게 지정하면 generateMesh는 지정된 로컬 크기를 무시합니다. 메시의 어디에서도 Hmax를 넘지 않게 됩니다.

버전 내역

R2015a에 개발됨

모두 확장