728x90
300x250

[PC활용] FreeCAD 0.18 - FEM 분석하기(FEM Analysis)

 

이번에 소개할 것은 FreeCAD 0.18을 활용한 FEM 분석이다.

먼저 FEM은 finite element method의 약자로서 유한해석법이라고도 번역되고 있다.

 

구조를 다루는 분야에서는 많이 사용한다고 한다.

예를 들면, 건축, 기계 등의 다양한 분야에서 사용된다고 볼 수 있다.

지금 소개하는 것은 단순히 프로그램을 다루는 게 아니다. 역학이라고 보는 이유가 있다.

 

현상을 시뮬레이션 해준다는 점에서 역학이라고 볼 수 있다.

사람 손으로 표현하기에는 조금 그렇다고 볼 수 있는 부분에서 사용될 수 있다.

 

FreeCAD 0.18에 대해서는 충분히 매우 자세하게 소개한 적이 있다.

 

1. [PC활용] CFD(계산유체역학) - FreeCAD 0.18, BlueCFD 2017-2, cfMesh, http://yyman.tistory.com/1053, 2018.07.20 14:49
2. [PC활용] CFD(계산유체역학) - OpenFoam 4 v1806 소개, http://yyman.tistory.com/1051, 2018.07.19 13:23

 

이전의 글에서는 CFD(계산유체역학)에 대해서 기능적으로 소개하였다.

CFD 실험은 다소 실패한 것도 있었다. 다만, 무언가 에러 등만 찾아낸다면 동작할 것으로 보인다.
동작한 사례들이 있기 때문이다. 이에 대해서는 추가적인 글로 해명하고자 한다.

 

FreeCAD 0.18이 지원하는 기능 중 하나가 FEM을 지원한다는 점이다.

 


1. FEM이란?

 

유한 요소법 (FEM)공학수학 물리 문제를 해결하기 위한 수치적 방법이다.
중요한 문제 영역으로는 구조 해석, 열 전달, 유체 흐름, 물질 전달 및 전자기 포텐셜이 있다.
이러한 문제의 분석 솔루션은 일반적으로 편미분 방정식에 대한 경계 값 문제에 대한 솔루션을 필요로 하다.

문제의 유한 요소법 공식은 대수 방정식 시스템을 만든다. 이 방법은 도메인상의 이산 포인트 수에서 미지의 근사값을 산출한다.

문제를 해결하기 위해 큰 문제를 유한 요소라고 하는 더 작고 간단한 부분으로 세분한다.

이 유한 요소를 모델링하는 간단한 방정식을 전체 문제를 모델링하는 방정식의 더 큰 시스템으로 모은다.
그런 다음 FEM은 관련 오류 기능을 최소화하여 변형 미적분의 변형 방법을 사용하여 솔루션을 근사화한다.
FEM을 사용하여 현상을 연구하거나 분석하는 것을 FEA (finite element analysis)라고 한다.



2. 도면 그리기(CAD[3D])

 

그림 1-1. 만들고자 하는 2D 도면

 

 

그림 1-2. Part Design, Dodo(도도)

 


그림 1-3. Start Part, Dodo(도도)

 

그림 1-3에서 "생성: 바디(Body)"를 클릭합니다.

 

 

그림 1-4. 스케치 트리, 도도(Dodo)

 

그림 1-4에서 보이는 것처럼 "스케치 생성"을 클릭한다.

 

 

그림 1-5. 피처(Feature) 선택, 도도(Dodo)

 

XY_Plane (기본 평면)을 선택하고 OK 버튼을 누른다.

 

 

그림 1-6. Sketcher 상태, 도도(Dodo)

 

그림 1-6은 Sketcher(한글 읽기: 스케쳐) 모드이다.

도면을 그리면 된다. 그리기 도구가 숨어있으니 상단 메뉴에서 적절한 위치로 이동시켜주면 된다.

 

 

그림 1-7. 그림 1-6과의 차이점<그리기 기능> (그리기), 도도(Dodo)

 

그림 1-7에서 그리기 도구를 상단 메뉴에 잘 배치했다고 본다.

선을 클릭해서 그림 1-1의 도면을 그려보도록 한다.

 

그림 1-8. 그림 그리는 중, 도도(Dodo)

 

인벤터, 카티아 등과 많이 흡사하다. 치수 기능으로 화면에 그린 선들을 원점 혹은 원하는 좌표에 이동시킬 수 있다.

 

 

 

 

그림 1-9. 그린 도면, 도도(dodo)

그림 1-9는 앞서 그림 1-1의 도면을 그린 것이다.

 

 

그림 1-10. Pad 클릭하기, 도도(Dodo)

 

 

그린 도면에 Pad를 클릭한다. 인벤터의 "돌출(Extrude)" 느낌하고 동일하다.

 

 

그림 1-11. Pad(돌출) 조정변수, 도도(Dodo)

 

돌출 컷(Pocket) 길이를 10 mm 정도로 하고 평면에 대칭을 선택한다.

확인을 누른다.

 

번호

항목

옵션

1

돌출 컷(Pocket)

10 mm

2

평면에 대칭

선택

 

 

그림 1-12. 필렛 클릭하기, 도도(Dodo)

 

다음은 필렛을 클릭한다.

 

 

그림 1-13. 필렛 파라메터, 도도(Dodo)

 

그림 화면은 필렛 파라메터가 열린 창이다. 아래의 그림처럼 엣지를 선택하고 참조 추가를 누른다.

 

그림 1-14. 필렛 파라메터, 도도(Dodo)

엣지를 다 추가하였다면, "OK" 버튼을 누른다.

 

 

그림 1-15. Create a new sketch, 도도(Dodo)

 

그림 1-15를 눌러서 스케치를 새로 생성한다.

 


1-2. Body001 그리기

 

그려야 할 것은 지름 3mm의 원이다.

제약조건(가로)으로 35mm, 제약조건(세로) 125mm이다.

 

번호

항목명

지름(d)

1

3mm

2

치수(가로) 또는
제약조건(Constraint) 가로

35mm

3

치수(세로) 또는
제약조건(Constraint) 세로

125mm

 

 

 

그림 1-2-1. Body001 도면 그리기

 

다 그리고 나면, "Close" 버튼을 누른다.

Body001의 Sketch에 대하여 Pad를 진행한다.

돌출 컷 길이는 300 mm / 평면에 대칭에 선택을 체크한다.

 

번호

항목명

비고

1

돌출 컷(Pocket) 길이

300 mm

2

평면에 대칭

체크

 

 

 

그림 1-2-2. 돌출(Pad) 그리기, 도도(Dodo)

 

 

그림 1-2-3. 완성 그림, 도도(Dodo)

 

최종 완성한 도면이다. 크게 어렵지 않게 그렸다.

 

(예제)

fem_1.7z

 


2. FEM(Finite Element Method) 구현하기

 

무겁게 느낄 필요는 없다. 유한요소법이라고 해서 수식으로 어렵게 푸는 것도 물론 있다. 다만, 여기에서는 그런 부분은 생략하였다.

 

 

그림 2-1. Part Design에서 Part로 전환, 도도(Dodo)

 

그림 2-1은 Part Design에서 Part로 전환하는 것이다.

 

 

그림 2-2. 작업 전 다른 이름으로 저장하기(A), 도도(Dodo)

 

작업 전에 다른 이름으로 저장하기를 누른다.

 

 

그림 2-3. 여러 모양의 결합 만들기, 도도(Dodo)

 

그림 2-3은 "여러 모양의 결합 만들기"를 누르는 장면이다.

클릭하여 "Fusion"을 만든다.

 

Boolean(불린), Subtract(차집합), Intersection(교집합) 등의 연산적인 결합이 가능하다.

 

 

그림 2-4. Part에서 FEM으로 전환하기, 도도(Dodo)

 

Part에서 FEM을 클릭한다.

 

 

그림 2-5. Fusion 선택 후 "CalculiiX" 버튼 클릭하기, 도도(Dodo)

 

Fusion을 선택한 후에 "A(CalculiiX)" 버튼을 클릭한다.

FEM을 시작하게 되었다.

 

 

그림 2-6. Analysis, 도도(dodo)

 

이제는 조금 셋팅할 게 많다.

 

 

그림 2-7. 7가지 기능 만들기, 도도(Dodo)

 

그림 2-7은 7가지의 기능을 생성할 것이다. FEM에 필요한 구성요소들이다.

 

표 2-1. 항목명 및 FEM 작업 목록표

 

번호

항목명

한글 읽기

1

 SolidMaterial

솔리드 메테리얼

고체 물질 또는 솔리드 물질

또는 솔리드 재질 또는

고체 재질 

2

FemConstraintDisplacement

팸컨스트레인트디스플레이스멘트

Fem 구속 변위

3

FemConstraintTransform

팸컨스트레인트트랜스폼

Fem 구속 변형

4

FemConstraintDisplacement001

팸컨스트레인트디스플레이스멘트

제로제로원(지로지로원)

Fem 구속 변위

5

FemConstraintDisplacement002

팸컨스트레인트디스플레이스멘트

지로지로투(제로제로투)

Fem 구속 변위

6

FemConstraintFixed

팸컨스트레인트픽스

Fem 구속 고정

7

FemConstraintContact

팸컨스트레인트컨택트

Fem 구속 접촉

 

꼭 이 순서가 아니다. 그리고 구현하고자 하는 대상에 따라서 달라질 수 있다.

 

 

 그림 2-8. SolidMaterial, 도도(Dodo)

 

 

 그림 2-9. FemConstraintDisplacement, 도도(Dodo)

 

 그림 2-10. FemConstraintTransform, 도도(Dodo)

 

 그림 2-11. FemConstraintDisplacement001, 도도(Dodo)

 

 

 그림 2-12. FemConstraintDisplacement002, 도도(dodo)

 

 그림 2-13. FemConstraintFixed, 도도(dodo)

 

 그림 2-14. FemConstraintContact, 도도(dodo)

 

퓨전(Fusion)을 클릭하고 GMSH를 클릭한다.

 

상단 메뉴를 보면, N  G 그림이 있다.

매트릭스 모양에 G 로고가 있는 메뉴를 가까이 가져놓으면 Create a GMsh라고 되어있다.

 

클릭합니다.

 

 

그림 2-15. GMSH 클릭하기, Dodo(도도)

 

매시 형태로 모델링을 변환하기 위해 Gmsh mesher를 클릭한다.

 



그림 2-16. FEM Mesh by Gmsh, 도도(dodo)

 

Max elements size의 크기를 8.00 min으로 입력한다. Apply를 누르면 Mesh(매시)가 입혀진다.

OK를 누른다.

 

 

그림 2-17. MeshRegion 클릭하기, 도도(dodo)

 

MeshRegion을 클릭한다.

 

 

그림 2-18. Mesh Region, 도도(dodo)

 

Max element size를 입력한다. 초록색으로 된 것을 클릭하고 "Add"를 누른다. "Close"를 눌러서 탈출한다.

 

 

그림 2-19. FEMMeshGmsh, Dodo(도도)

 

FEMMeshGmsh를 더블 클릭한다.

 

 

그림 2-20. FEMMeshGmsh "Apply" 누르기, 도도(dodo)

 

Apply를 누릅니다. PC에 따라서 실행 시간은 달라질 수 있다.

"OK" 버튼을 누른다.

 

조건이 잘못된다면, 오류가 발생할 수 있다.

 

 

 

그림 2-21. CalculiXccxTools, 도도(Dodo)

 

그림 2-21은 CalculiXccxTools이다.

Geometrical....이 linear가 되어있는지 등을 확인해야 한다.

 

 

그림 2-22. CalculiXccxTools, 도도(Dodo)

 

그림 2-22의 CalculiXccxTools의 속성 값을 잘 확인한다.

 

 

그림 2-23. 선택된 솔버의 계산 실행 (R, C), 도도(dodo)

 

그림 2-23은 선택된 솔버의 계산 실행이다. 클릭한다.

시간이 조금 소요된다. 약 4~10분 정도 기다리면 된다.

계산할 범위가 많으면 5~15분 정도 예상하는 것이 좋다.

 

 

그림 2-24. 계산중, 도도(Dodo)

 

그림 2-24는 검은색 화면이 뜬다. 계산을 하고 있는 중이다. 기다려야 한다.

가만히 아무런 메시지 없이 깜빡깜빡 거린다.

 

이건 프로그램 오류가 아니라 연산을 수행하고 있는 중이다.

 

 

영상 2-1. 기다리는 영상, 도도(dodo)

 

지루할 거 같아서 짧게 만들었다.

 

(예제)

fem_2_1.7z

 


3. 시뮬레이션(Simulation), 해석(Analysis)

 

앞서 연산을 수행하였다.

이번에는 시뮬레이션 또는 해석을 진행하겠다.

 

 

그림 3-1. CalculiX_static_results, 도도(Dodo)

 

 

영상 3-1. 시뮬레이션 또는 해석

 

시뮬레이션이다. 구경해보기 바란다.

 

 

영상 3-2. 시뮬레이션 또는 해석

 

3-1. Post Processing

 

Post-Processing이다. "후처리"라고도 불리는 기능이다.

 

 

그림 3-1-1. Post-Processing, 도도(dodo)

 

"Create a Post-Processing"을 클릭한다.

 

 

그림 3-1-2. 그라데이션 형태의 최소-최대 축이 생긴 화면, 도도(Dodo)

 

그라데이션 색상의 최소, 최대 축이 생겼다.

모델 탭의 Pipeline을 더블 클릭한다.

 

 

 

그림 3-1-3. 디스플레이 옵션(Display options), 도도(dodo)

 

화면에 출력할 형태를 선택한다.

 

 

그림 3-1-4. Wrap the geometry along the vector, 도도(dodo)

 

"Wrap the geometry along the vector(벡터를 따라 기하학을 감싸십시오.)"라는 뜻으로 번역된다.

클릭한다.

 

 

그림 3-1-5. Clip options, Display Options, 도도(Dodo)

 

Displacement(변위) 값을 조절하고, 아래의 Display options을 조절한다.

그러면 수치 해석이 되는 것을 살펴볼 수 있다.

 

참고로 검은색 화면만 나오는 건 아니다. Pipeline으로 다시 이동해서 색상을 조절할 수도 있다.

 

 

그림 3-1-6. 그라데이션 색 설정, 도도(Dodo)

 

그림 3-1-6은 무지개 색상을 더블 클릭한 것이다.

원하는 그라데이션 색상을 선택할 수 있다.

 

(예제)

fem_3_1.7z

 

 

영상 3-2) FEM 구조 해석

 

(시연 셈플)

180728-FEM_Analysis.7z

 


4. 맺는글(Conclusion)

 

해당 프로그램을 실습하면서 많은 수행시간이 소요되었다.

FreeCAD 0.18 오픈소스 소프트웨어가 꽤 강력하다는 점을 알게 되었다.

 

실제 해석을 수행하면서 많은 시행착오가 있었다.

 

소프트웨어: Microsoft Windows 7, FreeCAD 0.18, ofMesh

 


 

5. 참고자료(Reference)


1. 유한요소법, Wikipedia, https://ko.wikipedia.org/wiki/유한요소법, 접속일자 2018-07-27

2. FEM, Wikipedia, https://en.wikipedia.org/wiki/Finite_element_method, 접속일자 2018-07-27

반응형

+ Recent posts