주요 콘텐츠

브래킷의 처짐 해석

이 예제에서는 유한요소해석 모델을 사용하여 하중이 가해진 3차원 기계 부품을 분석하고 최대 처짐(deflection)을 확인하는 방법을 보여줍니다.

지오메트리를 사용하여 모델 만들기

이 선형 탄성 문제를 푸는 첫 번째 단계는 간단한 브래킷을 나타내는 지오메트리를 사용하여 구조 해석을 위한 femodel 객체를 만드는 것입니다.

model = femodel(AnalysisType="structuralStatic", ...
                Geometry="BracketWithHole.stl");

지오메트리 플로팅하기

면 레이블을 포함하여 지오메트리의 전면 뷰와 후면 뷰를 플로팅합니다.

figure
pdegplot(model,FaceLabels="on");
view(30,30);
title("Bracket with Face Labels")

Figure contains an axes object. The axes object with title Bracket with Face Labels contains 6 objects of type quiver, text, patch, line.

figure
pdegplot(model,FaceLabels="on");
view(-134,-32)
title("Bracket with Face Labels, Rear View")

Figure contains an axes object. The axes object with title Bracket with Face Labels, Rear View contains 6 objects of type quiver, text, patch, line.

물질의 구조 속성 지정하기

물질의 영률(Young's Modulus) 및 푸아송 비를 지정합니다.

model.MaterialProperties = ...
        materialProperties(YoungsModulus=200e9, ...
                           PoissonsRatio=0.3);

경계 조건 및 하중 적용하기

이 문제에는 두 개의 경계 조건이 있습니다. 후면(면 4)은 고정되어 있고, 전면(면 8)에는 하중이 가해집니다. 다른 모든 경계 조건은 기본적으로 자유 경계입니다.

model.FaceBC(4) = faceBC(Constraint="fixed");

전면에 음의 z 방향으로 분산 하중을 가합니다.

model.FaceLoad(8) = faceLoad(SurfaceTraction=[0;0;-1e4]);

메시 생성하기

메시를 생성하고 결과를 모델에 할당합니다. 이 할당을 수행하면 모델의 Geometry 속성에 저장된 메시가 업데이트됩니다. 메시를 플로팅합니다.

model = generateMesh(model);

figure
pdemesh(model);
title("Mesh with Quadratic Tetrahedral Elements")

Figure contains an axes object. The hidden axes object with title Mesh with Quadratic Tetrahedral Elements contains 5 objects of type quiver, text, patch.

해 계산하기

solve 함수를 사용하여 해를 계산합니다.

result = solve(model)
result = 
  StaticStructuralResults with properties:

      Displacement: [1×1 FEStruct]
            Strain: [1×1 FEStruct]
            Stress: [1×1 FEStruct]
    VonMisesStress: [7789×1 double]
              Mesh: [1×1 FEMesh]

해 검토하기

z 방향에서 브래킷의 최대 처짐을 구합니다.

minUz = min(result.Displacement.uz);
fprintf("Maximal deflection in the z-direction is %g meters.",minUz)
Maximal deflection in the z-direction is -4.46054e-05 meters.

대화형 방식으로 결과 플로팅하기

[Visualize PDE Results] 라이브 편집기 작업을 사용하여 변위 컴포넌트와 von Mises 응력을 시각화합니다. 최대 처짐은 z 방향에 있습니다. 브래킷과 하중이 대칭이므로 x 변위와 z 변위가 대칭이고 y 변위는 가운데 선을 기준으로 반대칭입니다.

먼저, [Home] 탭의 [File] 섹션에서 [New Live Script] 버튼을 클릭하여 새 라이브 스크립트를 만듭니다.

New Live Script button on the Home tab

[Insert] 탭에서 [Task] > [Visualize PDE Results]를 선택합니다. 이 동작을 수행하면 스크립트에 작업이 삽입됩니다.

Live Editor tab showing the icon for Visualize PDE Results

z 변위를 플로팅하려면 다음 단계를 따르십시오. x 변위와 y 변위를 플로팅하려면 동일한 단계를 따르되 [Component]를 각각 XY로 설정합니다.

  1. 작업의 [Select results] 섹션의 드롭다운 목록에서 result를 선택합니다.

  2. 작업의 [Specify data parameters] 섹션에서 [Type]Displacement로 설정하고 [Component]Z로 설정합니다.

  3. 작업의 [Specify visualization parameters] 섹션에서 [Deformation] 체크박스의 선택을 해제합니다.

여기서 파란색은 가장 낮은 변위 값을 나타내고 빨간색은 가장 높은 변위 값을 나타냅니다. 브래킷 하중으로 인해 면 8이 아래로 내려가므로 최대 z 변위가 파란색으로 나타납니다.

Live Task

Figure contains an object of type pde.graphics.pdevisualization.

von Mises 응력을 플로팅하려면 작업의 [Specify data parameters] 섹션에서 [Type]Stress로 설정하고 [Component]von Mises로 설정합니다.

Live Task

Figure contains an object of type pde.graphics.pdevisualization.

명령줄에서 결과 플로팅하기

MATLAB® 명령줄에서 pdeplot3D 함수를 사용하여 변위 컴포넌트 및 von Mises 응력과 같은 결과를 플로팅할 수도 있습니다.

figure
pdeplot3D(result.Mesh,ColorMapData=result.Displacement.ux);
title("x-displacement")
colormap("jet")

Figure contains an axes object. The hidden axes object with title x-displacement contains 5 objects of type patch, quiver, text.

figure
pdeplot3D(result.Mesh,ColorMapData=result.Displacement.uy)
title("y-displacement")
colormap("jet")

Figure contains an axes object. The hidden axes object with title y-displacement contains 5 objects of type patch, quiver, text.

figure
pdeplot3D(result.Mesh,ColorMapData=result.Displacement.uz)
title("z-displacement")
colormap("jet")

Figure contains an axes object. The hidden axes object with title z-displacement contains 5 objects of type patch, quiver, text.

figure
pdeplot3D(result.Mesh,ColorMapData=result.VonMisesStress)
title("von Mises stress")
colormap("jet")

Figure contains an axes object. The hidden axes object with title von Mises stress contains 5 objects of type patch, quiver, text.