728x90
300x250

[M.Elem(기계요소)] 기계 장치류와 운반구, 크레인 그리고 체인, 브레이크, 휠(Chain, Brake, Wheel) 입문

 

기계장치류에 대해서 몇 가지 소개하고자 한다.

가장 대표적인 예로 "자전거"를 보면, "체인(Chain)"이 있다.

오토바이에는 무엇이 있을까? 오토바이에도 "체인(Chain)"이 있다.

가벼운 주제로 기계 장치류를 소개하고자 한다. 일상생활에서 기계요소를 쉽게 찾기 위함이다.

 

"일상 생활"에서 볼 수 있는 것들도 구성하였다.

 

 


1. 카고 트럭(Cargo Truck)

 

차량운반구의 예로 화물차를 소개하겠다.

화물차 안에는 무엇이 있을지 상상해보기 바란다.

 

그림 1-1. 화물차(카고 차량 / Cargo Car)의 예 - 도도(Dodo)

 

"화물차 타이어"가 있을 수 있고, "버스 휠(Wheel and Tire)"가 있을 수도 있다.

화물차(4~8톤) 차량의 바퀴와 버스에 사용되는 에서 큰 차이는 없다.

화물차 뒤에는 적재함이 있다. 나무판자, 철재판자 등으로 시공이 된 판자가 있다.

천막이 있을 수도 있고, 로프가 있을 수도 있다.

육각렌치가 있을 수 있고, 송장(Invoice)이 있을 수도 있다.

 

차량 하나가 작은 물류창고라고 보면 이해하기 쉽다.

 

순정 차량이라고 불릴 수도 있는 차량이다.
개조를 하지 않은 "순정차량"이라고 보면 된다.

화물차 뒤에는 1인이 누워서 취침할 수 있는 공간이 있다.
= 여름에는 매우 더워서 취침을 하기가 힘들다.


화물차 조수석에는 많은 공구들이 있다.
렌치, 차량 수리공구 등이 다양하게 있을 수 있고, 바퀴가 경사진 면에서 굴러가지 않으려고 나무 바퀴 지지대가 있다.

 

타이어(Tire)??

정식적인 표현은 타이어는 아니다.

"고무 성형으로 만들어낸 휠 보호구(Rubberized wheel protection / 러버라이즈 휠 프로텍션)" 등으로도 표현할 수 있다.

 

 

                                  표 1. 영어 단어 한글로 읽어보기

 

번호

영어단어

읽기 

1

Rubberized

고무 성형

루버라이즈

2

Wheel

3

Protection

보호구

프로텍션

 

 

                               표 2. 한글을 영어로 읽어보기

 

번호

한글

영어단어

1

gomu sunghyug

고무 성형

Rubberized

2

Wheel

Wheel

3

bo ho gu

보호구

Protection

 

 

 

그림 1-2. 화물차(미니 카고 차량 / Mini Cargo Car)의 예 - 도도(Dodo)

 

그림 1-2는 화물차라고도 볼 수 있고, 주차했을 때 일반 차량의 크기와 큰 차이가 없는 경우도 있다.

카고 차량을 대폭 축소해서 만든 차량(Vehicle)이다.

 

가운데 탑이 씌어진 차량이 있다.

탑차라고 불리는 차량이다.

탑차는 크게 문이 뒷쪽에 달렸다.

 

탑차는 뒤에 적재함을 들어내고, 시공을 한 차량이다.

 

 


2. 자전거와 오토바이(Bicycle And Moter Cycle)

 

자전거와 오토바이에 대해서 소개하겠다.

자전거와 오토바이는 가장 밀접한 관계를 가지고 있다.

기계요소 측면에서 "동력"이 전달되냐 안 되냐 이러한 차이가 있다.

자전거는 무언가의 작용하는 힘이 있어야 동작한다.

패달을 밟을 때 체인은 회전하게 된다.

 

몇 가지 힘의 요소가 있어야 동작하게 된다.

"Mechanics(미케닉스)"는 기계라는 뜻보다는 "힘(Force)"를 다룬다고 보는 게 적합할 것이다.

기계라는 어원은 "Machinary(머신너리)"이다.

Mechanics(미케닉스)가 무엇인지 자전거와 오토바이를 통해서 소개하겠다.

 

 

그림 1-3. 운반구(자전거 / Bicycle)의 예 - 도도(Dodo)

 

그림 1-3은 자전거라고 불리는 것이다.

자전거는 기계요소가 매우 많이 적용되어 있는 이동 수단 중 하나이다.

 

"휠(Wheel)", "브레이크(Break)", "스프로킷(Sprocket)", "체인(Chain)", "프레임(Frame)" 등의 기계요소가 적용되어 있다.

원초적이고 순수한 기계 시스템을 이해하기에는 매우 적절한 것 중 하나이다.

 

 

그림 1-4. 운반구(자전거 / Bicycle)에 적용된 체인의 예 - 도도(Dodo)

 

그림 1-4는 자전거(Bicycle)에 적용된 체인이다.

스프로킷하고 체인이 적용된 형태이다.

 

체인하고 스프로킷(Sprocket)이 동작하려면, 발판의 패달을 발로 밟아야 동작한다.
발로 밟을 때, 왕복으로 패달을 운동할 것이다.

 

이러한 힘을 받는 기계요소가 "체인(Chain)"과 "스프로킷(Sprocket)"이라고 보면 이해가 될 것이다.

 

 

그림 1-5. 운반구(오토바이 / Autobicycle)의 예 - 도도(Dodo)

 

그림 1-5은 오토바이이다.

핸들이 있고, 배기구가 있고, 트렁크가 있다.

의자 시트 아래에는 수납공간이 있다. 의자 아래의 시트를 열어보면, "헬멧"을 보관할 수 있는 공간이다.

뚜껑을 열어보면, 헬멧이 있을 가능성이 높다.

 

그림 1-6. 오토바이(Autobicycle) 벨트와 휠의 예 - 도도(Dodo)

 

그림 1-6은 오토바이에 적용된 벨트과 휠이다.

오토바이에 적용된 벨트와 휠은 기계요소(Mechanics Elem) 중 하나의 부분이다.

 

벨트는 전동장치 요소에 해당하며, 휠은 브레이크와 함께 다루는 주제이다.

휠을 정지시키기 위해서 브레이크라는 것을 잡음으로서 으로 동작하는 힘을  (0에 수렴하다.) F = 0에 가깝게 브레이크로 힘을 낮출 수 있다.

F = 0이라고 표현하지 않은 것은 브레이크의 그립에 대한 힘으로 인해 그렇다.

그립의 힘으로 동작하진 않으며, 실제로는 브레이크라는 기계요소가 있다.

 

브레이크라는 요소로 F를 0에 가깝게 하는 것이다.

 

이해가 안 되면, "풋 브레이크", "급 브레이크" 라는 운전 용어가 있다.
"급 브레이크 밟지 말아라. 라이닝 또는 벨트가 달아진다." 이런 표현이 있을 수 있다.
"풋 브레이크"로 천천히 정지해라. 등이 있다.

기계요소에서 수리적인 모델로 다루는 것이 "브레이크"라고 보면 이해가 될 수 있을 것으로 보인다고 주장한다.

 


3. 지게차(Fork Lift)

 

지게차(Fork Lift)는 건설 기계로 분류가 되는 차량 중 하나이다.

지게차는 크게 앞에 포크(Fork)라고 하는 집게가 있다.

지게차가 위험한 이유는 시야가 의외로 매우 좁은 차량이다.

 

지게차와 사람이 부딪치면 최소 병원에 실려가는 수준이라고 보면 된다.
가벼운 찰과상이 아니라 중과상이 생길 가능성이 높은 차량이다.
지게차의 작은 속도의 출력만으로도 "포크"로 인하여 큰 사고가 발생할 수 있다.

= 지게차의 특징은 "알림" 형태의 소리를 출력할 수 있다.

기종마다 차이가 있겠으나 "신호등"이 부착된 차량 등도 있을 수 있다.

 

지게차가 위험한 이유를 하나 들면, 제품을 운반하는 차량이다.
제품을 운반할 때 숙달이 되어도 제품을 쏟는 경우가 있다.

예를 들면, 겉 모양의 박스는 가볍게 생긴 제품인데 실제 박스에 담긴 제품이 "몇 kg"인지 모른다.
포크를 집어올릴 때, 지게차는 시야가 가려질 가능성이 있다.

 

 

그림 1-7. 지게차의 포크(Fork) - 도도(Dodo)


타일 포장 박스는 작게 보이고, 가볍게 생겼다.
더불어 타일의 포장 박스를 보면, 색상이 굉장히 아름답게 생겼는데 실제로는 돌보다도 훨씬 무겁다.


겉 외형에는 물건을 몇 개 적재 안 했어도, 매우 무거운 물품이다.
타일을 몇 개만 적재해도 kg이 아니라 ton이 될 수 있다.

 

 

그림 1-8. 지게차(Fork Lift)의 예 - 도도(Dodo)

 

그림 1-8은 지게차의 모습이다.

사이드미러 등이 차량과 동일하게 부착되어 있다.

 


4. 도로(Road)

 

다음은 도로에 관한 것이다.

도로에서 살펴볼 수 있는 기계 장치류의 운반구는 굉장히 많다고 볼 수 있다.


화물차 하나에는 굉장히 많은 서류가 있다.
"송장(Invoice)", "차량수리 메뉴얼(Repair book)", "교통법규 메뉴얼" 등이 있을 수 있다.

차량에는 기본적으로 "차량 정비나 설명에 관한 간단한 책자" 등은 구비되어 있다.

화물차의 특징은 "공구류(Tools)"가 차량에 기본적으로 탑재되어서 나온다.
톤 수가 높은 차량의 경우에는 간단한 차량 정비는 할 수 있어야 한다.

 

 

그림 1-9. 도로의 예 - 도도(Dodo)

 

그림 1-9는 도로에서 달리는 차량 운반구의 예이다.

미니 카고에 보면, 지게차가 적재함에 실려있다.

 

오토바이는 음식 배달 이외에도, 편지 등을 배달하는 경우도 있다.

 


5. 건설기계(타워크레인) - Tower Crane

 

타워크레인을 이해하기 위해서는 건축 공부를 이해하면 도움이 될 수 있다.

수작업으로 하나 하나 조립해서 올린 크레인을 이야기한다.

타워크레인의 운전석 아래에는 리프팅을 할 수 있는 장치가 있다.
"스스로 하강", "스스로 상승"의 기능이 있다.

아래의 타워크레인은 순수하게 조립으로 올린 타워크레인의 구조이다.

 

 

그림 1-10. 타워크레인의 예 - 도도(Dodo)

 

 

 

그림 1-11. 타워크레인 조립도의 예 - 도도(Dodo)

 

그림 1-11은 타워크레인의 구성을 몇 가지 분해한 것이다.

 

타워크레인의 작업에는 크게 세 가지가 있다.
"설치", "운영", "해체"

 

 


2. 레이아웃 - 툴

 

레이아웃 툴이다.

 

 

[첨부(Attachment)]

vehicleLayoutTools.7z

 

 

[GNU/GPLv3 라이선스를 적용받는다.]

 


3. 맺음글(Conclusion)

 

기계요소와 그리고 기계장치류 등에 대해서 살펴보았다.

반응형
728x90
300x250
[Mechanics(역학)] 체적변형률(Volumetric Strain, Bulk Strain)

 

이 글은 체적변형률에 관한 것입니다.
일반 물리하고 흡사하거나 비슷할 수도 있습니다.

 


1. 물체

 

 

그림 1-1. 어떤 물체, 도도(Dodo)

 

그림 1은 어떤 물체이다.

 

힘을 예를 들어서 위의 방향, 옆 방향, 오른쪽 방향으로 준다고 하자.

각각을 X, Y, Z라고 둔다.

 

아래의 그림은 각각의 축 단위로 변형이 일어날 수 있는 범위를 작성한 것이다.

그림 1-2. X, Y, Z축에 대한 변형, 도도(Dodo)

 


2. 체적 변형률

 

a, b, c의 변을 가정하자.

그리고 각 면에 대해서 수직하중을 라고 하자.

 

각 수직하중이 x, y, z축의 각 방향에 각각  의 변형률을 일으키고,
체적이 만큼 변화하였다고 하자.

 

그림 2-1. 변의 관계 (a, b, c)

 

그림 2-1을 변형률에 대한 관계로 살펴보면 다음과 같이 표현할 수 있다.

 

그림 2-2. 변형률 관계

 

[첨부(Attachment)]

physics_object.7z

 

이해가 안 된다면, 아래의 영상을 시청해보도록 하자. 

아래의 영상은 물체의 변형을 표현하기 위해 작성되었다.
위의 물체를 보면 알겠지만, 옆면에 예를 들어서 야구공을 던졌을 때도 일어날 수도 있다.
예) 충격으로 인한 변형 등.

그러나 지금 소개하는 체적변형률은 체적에 관한 변형률이다. 충격에 대한 것이 아니다.
여기에서는 체적에 관한 변형을 소개하고 있다. 이 영상의 한계점은 X, Y, Z좌표(3축)로 자유롭게 표현하지 못하고 있다.
1축(Y) 기준으로 표현되고 있다.

 

 

영상2-1. 변형의 현상 시연(Pad), 도도(Dodo)

 

 


2-1. 식 - 증명하기

 

a, b, c의 변을 가정하자.

그리고 각 면에 대해서 수직하중을 라고 하자.

 

각 수직하중이 x, y, z축의 각 방향에 각각  의 변형률을 일으키고,
체적이 만큼 변화하였다고 하자.

 

 

 

 

이것을 정리하면 아래의 식을 얻어낼 수 있다.

 

 

 

변형률에 대한 공식은 다음과 같다.

 

 

-> 길이에 대한 변형률을 구하는 것이 아니므로 l을 V로 표현하였다.

 

 

체적에 관한 변형률 식을 수립하면 다음과 같이 정의될 수 있다.

 

 

 


2-2. 이 동일한 값으로 변형할 때

 

이 된다.

 


2-3. 이 다른 값으로 변형할 때


 

각각의 변형률을 구해야 한다.

 

 

반응형
728x90
300x250

[Mechanics] Normal and Shear Stress and Strain(수직응력, 전단응력 그리고 변형률)

 

Hello, My name is Dodo.

헬로, 마이 네임이스 도도.

안녕하세요. 내 이름은 도도이다.

This article has explain to write a Stress and Strain.

디스 아티클 헤스 이스플레인 투 롸이트 어 스트레스 엔 스트레인

이 글은 응력과 변형률에 대해서 설명하기 위해 작성되었다.

 


1. Stress(응력)

 

응력 또는 변형력(變形力, 영어: stress)은 역학에서 단위면적당 작용하는 힘을 뜻한다. 응력(應力)이라고도 한다.
오귀스탱 루이 코시가 1822년 처음 고안했다.


Stress has type of two and "Normal, Shear".

1-1. Normal(Sigma, ): 수직응력(normal) 또는 법선응력이라고 부른다.

 

 

 

그림 1-1-1. Tensile Stress(인장 응력), Compressive(압축 응력)

 

 

 

 

 

1-2. Shearing Stress (Tau, ): Shear: 전단응력(Shearing Stress) 또는 접선응력(tangential Stress)라고 부른다.

 

 

그림 1-2-1. Shearing Stress(전단 응력)

 

 

[첨부(Attachment)] 

stress.7z

 

* 단순 응력(Simple stress): 수직 응력과 전단응력이 각각 작용되는 응력

예) 수직 응력만 작용했다. - 단순응력

예) 전단 응력만 작용했다. - 단순응력

 

* 조합응력(combinded Stress): 수직 응력, 전단응력 두 가지 이상 혼합 작용

예) 수직 응력 + 전단응력

예) 수직 응력 + 수직응력

예) 전단 응력 + 수직응력

예) 전단 응력 + 전단응력

* 굽힘응력(bending stress): 굽힘하중이 작용을 받는 물체의 횡단면에 발생되는 응력

* 비틀림응력(torsoional Stress): 비틀림하중이 작용을 받는 물체의 횡단면에 발생되는 응력

 


2. Strain(변형률)

 

변형도(strain) 또는 변형률은 응력으로 인해 발생하는 재료의 기하학적 변형을 나타낸다. 즉, 변형도는 형태나 크기의 변형을 의미한다.

 

 

그림 2-1. 가로 변형률

그림 2-2. 세로 변형률

 

(2-1) 가로 변형률

 

(입실론): 가로 변형률

l'(length prime): 나중길이

l(length) : 처음길이

(델타): l' - l = 나중길이 - 처음 길이

 

(2-2) 세로 변형률 

 

 

[첨부(Attachment)]

strain.7z

 


3. 참고자료(Reference)

 

[1] 변형력, Last Modified 10-29-2016 11:20(UTC+09), Accessed by 2018-07-30, https://ko.wikipedia.org/wiki/변형력

[2] 벤딩, Last Modified 04-28-2018 16:56(UTC), Accessed by 2018-07-30, https://en.wikipedia.org/wiki/Bending

[3] 토션(비틀림), Last Modified 07-20-2018 06:39(UTC), Accessed by 2018-07-30, https://en.wikipedia.org/wiki/Torsion_(mechanics)

[4] 변형도, Last Modified 03-10-2013(UTC+09), Accessed by 2018-07-30, https://ko.wikipedia.org/wiki/변형도

반응형
728x90
300x250

[Mechanics(역학)] Von Mises Stress (폰 미세스 응력)

 

CFD, FEM 프로그램에서 사용되는 폰 미세스 응력에 대해서 소개한다.

 


1. Von Mises (폰 미세스)

 

폰 미세스 응력은 폰 미세스라는 과학자가 만든 식이다.

 


그림 1
-1) 리차드 폰 미세스(사망: 1953년 7월 14일)

 

리차드 본 미세스는 1953년에 사망 하였다.

본 미세스의 식을 소개하겠다.

 


2. 폰 미세스 응력 소개

 

 

 


ref: http://en.wikipedia.org/wiki/File:Yield_surfaces.svg

von Mises 응력은 등방성 및 연성 금속이 복잡한 적재 조건에 노출 될 때 항복할지 여부를 결정하는 데 종종 사용된다.
이것은 von Mises 응력을 계산하고 von Mises 항복 기준을 구성하는 재료의 항복 응력과 비교함으로써 수행된다.

 

목적은 정상 및 전단 응력의 혼합에 관계없이 복잡한 3-D 하중 조건에서 작동하는 연성 금속에 대한 수율 기준을 개발하는 것이다.

 

von Mises 스트레스는 복잡한 응력 상태를 금속의 항복 강도와 비교되는 단일 스칼라 수로 끓여서 수행한다.

 

또한 단일 축력 테스트로 결정된 단일 스칼라 수치 (가장 쉬운 방법이기 때문에).

 

이것은 F = ma와 같은 정확한 과학이 아니라는 점에 유의해야 한다.

 

그것은 내재적 오차와 편차가 있는 경험적 과정이다.

 

사실, 금속은 폰 미세스 (Monises) 수율 기준에 따라 산출되어야한다는 단호하고 빠른 규칙이 없다.

 

(폰 미세스 응력)그것은 우연의 일치이다.

 

그럼에도 불구하고, 그것은 매우 잘 작동하고 처음으로 제안 된 후 한 세기 만에 선택의 방법으로 남아 있다.

 


1-2. 역사(History)

von Mises 스트레스에 대한 정의 방정식은 1904년 Huber에 의해 처음 제안되었지만, 폰 미세스가 1913 년에 다시 제안 할 때까지 거의 관심을 받지 못했다.

 

그러나 Huber와 von Mises의 정의는 수학 1924년 Hencky가 실제적으로 편차가있는 변형 에너지와 관련이 있다는 것을 인식 할 때까지 물리적인 해석이

없는 등식이었다.

1931년에 Taylor와 Quinney는 구리, 알루미늄 및 연강에 대한 시험 결과를 발표했는데, von Mises 응력은 최대 전단 응력 기준보다 금속 항복점의 시작을

더 정확하게 예측할 수 있음을 보여 주었다. 1864 년에 Tresca 그리고 지금까지 항복하는 금속의 가장 좋은 예언자였다.

 

오늘날, 폰 미세스 스트레스는 후버의 발전에 대한 공헌으로 후버 - 미세스 스트레스라고도 한다.
Mises 효과적인 스트레스와 단순히 효과적인 스트레스라고도 한다.


1-3. 기술적인 배경(Technical Background)


von Mises 응력에 대한 완전한 이해를 위해서는
응력과 변형 tensors, Hooke의 법칙변형 에너지 밀도의 수압편향 요소에 대한 이해가 필요하다.

정수 및 편차 응력과 변형률은 이미 검토되었습니다. 그리고 Hooke의 법칙은 이미 여기와 여기에서 다루어졌지만이 페이지에서도 자세히 논의 할 필요가 있다.

변형 에너지 밀도도 여기서 소개 할 것이다.

 


1-4. Von Mises Stress (폰 미세스 스트레스)

 

 

훅크의 법칙을 불러오면(훅스 로를 적용하면)

 

 

1번 식에 대입하면,

 

 

그래서 변형률 에너지 밀도의 일탈 부분은 편차 스트레스의 이중 내적과 직접 관련이 있다.

키네틱 에너지와의 유사성을 주목해라.

 

 

(식이 많아서 까먹거나 못 외우겠다면, 일반 물리책이나 참고 할 수 있는 유사한 책을 참고해라. )

 

스프링(Spring's)의 내부 에너지,  , 전력(Electrical Power), 그리고 다른 어떤 형태도 생각 할 수 있다.

마침내 약 20 % 낮지만 von Mises 스트레스에 비례하는 것으로 판명되는 등가 또는 유효 스트레스를 도입할 때이다.

= It is finally time to introduce an equivalent or effective stress that will turn out to be proportional to the von Mises stress, though about 20% low.

 

이 스트레스 값을 나타 내기 위해 대표적인 스트레스에 기호를 사용하십시오. 그리고 그것은 스칼라 스트레스 값이지 텐서가 아니다!

The defining equation for is

 


방정식의 형식은 위의 스칼라와 등가가되도록 의도적으로 선택된다. 그것들을 서로 같게 설정하면 (왜냐하면 둘 다 W '와 같기 때문이다.)

 

 

분명히 는 실제 3-D 응력 텐서와 동일한 편향 변형 에너지를주는 스칼라 응력 값을 의미한다. 양쪽에서 4G를 취소하면

 

 

마지막 단계는 단순한 편리 성 중 하나이다. 단축 운동의 가장 간단한 직선 운동의 사례가 동기이다.

그것을 보려면, 이 경우 를 계산해라. 일축 장력에 대한 응력 상태는

 

수압 응력(hydrostatic stress / 찾아보기)은 이며, 편차 응력 텐서(Deviatoric stress tensor)는

 

 

그래서 는 과 같습니다. 따라서

 

 

그리고 거기에는 좌절감이 있다.

단축 인장에 대한 대표 응력은 단축 인장 응력 σ와 같지 않고 그 대신에 약 82%이다.

이것은 대단히 불편하지만 해결 방법은 간단하다. 축 응력이 단축 인장 응력과 같아 질 때까지 대표 응력의 크기를 간단히 조정하라.

 

이것은 단순히 를 곱하면 된다.
이것은
에 비례하는 어떤 것도 여전히 편차 에너지에 대한 관계를 반영하기 때문에 받아 들일 수있다. 그것은 단지 약간 확장 될 것이다.

 

최종 결과는 von Mises 스트레스이다.

 

 

그리고 이것은 이것에 대한 정의 방정식이다.

 

[Alternate Forms / 대체식]

 

위의 방정식의 대수 조작은 다른 많은 동등한 형식을 제공한다. 여기에 요약되어 있다.

= Algebraic manipulation of the above equation gives many other equivalent forms. They are summarized here.

 

 

 

 

 

 

 

 

 


2. 참고자료(Reference)

 

1. Von Mises Stress, http://www.continuummechanics.org/vonmisesstress.html, Accessed by 2018-07-18

 

 

반응형
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

반응형
728x90
300x250

[PC활용] CFD(계산유체역학) - FreeCAD 0.18, BlueCFD 2017-2, cfMesh (MS 윈도우)

 

CAD(2D/3D) 프로그램인 FreeCAD 0.18와 계산유체역학 프로그램 중 하나인 BlueCFD와 재질 등의 처리에서 사용되는 cfMesh에 대해서 소개하려고 한다.

 

FreeCAD는 dwg에 대해서는 열기 기능을 완벽하게는 지원하지 않는다. (2D)

단, STP 등의 3D에 대해서는 지원한다.

 

FreeCAD로 수행할 수 있는 작업에는 FEM, CFD(계산유체역학 / 또는 전산유체역학) 등의 시뮬레이션 또한 수행할 수 있다.

호환이 잘 되는 소프트웨어로는 BlueCFD 프로젝트가 있다.

 

BlueCFD 프로젝트는 윈도우 기반에서 FreeCAD로 작업을 수행할 경우에 사용할 수 있다.

물론 리눅스 기반에서의 환경은 지원한다.

 


1. BlueCFD에 사용되는 몇 가지 프로젝트에 관한 것

 

OpenFoam 프로젝트는 이름이 같은 프로젝트가 두 개 있다.

 

표1-1. OpenFoam 프로젝트

 

프로젝트

기술(Description)

프로그램 버전(Program Version)

링크(Link)

 OpenFoam

 OpenFoam.com에서 운영하는 OpenFoam 프로젝트

- 기업 등의 연합으로 운영됨. GNU/GPL

29/06/2018: OpenFOAM v1806

31/12/2017: OpenFOAM v1712

30/06/2017: OpenFOAM v1706

23/12/2016: OpenFOAM v1612+

30/06/2016: OpenFOAM v1606+

13/01/2016: OpenFOAM v3.0+

20/11/2015: OpenFOAM 3.0.0

14/11/2015: OpenFOAM 2.4.0

10/12/2014: OpenFOAM 2.3.1

17/02/2014: OpenFOAM 2.3.0

14/10/2013: OpenFOAM 2.2.2

11/07/2013: OpenFOAM 2.2.1

06/03/2013: OpenFOAM 2.2.0

31/05/2012: OpenFOAM 2.1.1

19/12/2011: OpenFOAM 2.1.0

16/06/2011: OpenFOAM 2.0.0

26/08/2010: OpenFOAM 1.7.1

25/06/2010: OpenFOAM 1.7.0

28/07/2009: OpenFOAM 1.6

14/07/2008: OpenFOAM 1.5

03/08/2007: OpenFOAM 1.4.1

11/04/2007: OpenFOAM 1.4

29/03/2006: OpenFOAM 1.3

22/08/2005: OpenFOAM 1.2

11/03/2005: OpenFOAM 1.1

 http://www.openfoam.com

 OpenFoam

OpenFoam.org에서 운영하는 OpenFoam 프로젝트

- 재단의 성격으로 운영됨.

10th July 2018, OpenFOAM 6

26th July 2017, OpenFOAM 5.0

13th October 2016, OpenFOAM 4.1

28th June 2016, OpenFOAM 4.0

15th December 2015, OpenFOAM 3.0.1

3rd November 2015, OpenFOAM 3.0.0

22nd May 2015, OpenFOAM 2.4.0

10th December 2014, OpenFOAM 2.3.1

17th February 2014, OpenFOAM 2.3.0

14th October 2013, OpenFOAM 2.2.2

11th July 2013, OpenFOAM 2.2.1

6th March 2013, OpenFOAM 2.2.0

31st May 2012, OpenFOAM 2.1.1

19th December 2011, OpenFOAM 2.1.0

4th August 2011, OpenFOAM 2.0.1

16th June 2011, OpenFOAM 2.0.0

26th August 2010, OpenFOAM 1.7.1

25th June 2010, OpenFOAM 1.7.0

28th July 2009, OpenFOAM 1.6

14th July 2008, OpenFOAM 1.5

3rd August 2007, OpenFOAM 1.4.1

11th April 2007, OpenFOAM 1.4

29th March 2006, OpenFOAM 1.3

22nd August 2005, OpenFOAM 1.2

11th March 2005, OpenFOAM 1.1

12th January 2005, OpenFOAM 1.0.2

10th December 2004, OpenFOAM 1.0

 http://www.openfoam.org

 

영어 단어를 소개하겠다.

 

                표1-2. 영어 단어 - 월 읽기

 

번호

월-Month (영어)

한글(Korean)

1

January (제뉴어리)

 1월

2

Feburary (페이브러리)

 2월

3

March (마취)

 3월

4

April (에이프리)

 4월

5

May (메이)

 5월

6

June (준)

6월

7

July (줄라이)

7월

8

August (어거스트)

8월

9

September (세템버)

9월

10

October (악토버)

10월

11

November (노벰버)

11월

12

December (디셈버)

12월

 

                                        표1-3. blueCFD-Core 프로젝트

 

번호

프로젝트

프로그램 버전(Program Version)

기술(Description)

1

blueCFD-Core

(이하 blueCFD)

blueCFD-Core 2017-2,
27 February 2018

◾CMake 3.9.2
◾GCC 7.2.0
◾GDB 8.0.1
◾Git 2.14.1
◾Meld 3.16.4
◾Python 2.7.14
◾Python 3.6.2
◾Gnuplot 5.2.0-3 (updated)
◾Evince 3.26.0
◾Ghostcript 9.21
◦Notepad2 4.2.25

◦ParaView 5.4.1, 64-bit, built with the options:

  - Qt5, OpenGL2, MPI.
◦MS-MPI 7.1

◦MS-MPI 8.1

2

 

blueCFD-Core

(이하 blueCFD)

blueCFD-Core 2017-1,

3 November 2017

◾CMake 3.9.2
◾GCC 7.2.0
◾GDB 8.0.1
◾Git 2.14.1
◾Meld 3.16.4
◾Python 2.7.14
◾Python 3.6.2
◾Gnuplot 5.2.0-1

◾MSys2

◦ParaView 5.4.1, 64-bit,

  - Qt5, OpenGL2, MPI.
◦MS-MPI 7.1

◦MS-MPI 8.1(7.1 대체로 사용가능)

3

blueCFD-Core

(이하 blueCFD)

blueCFD-Core 2016-2,

27 September 2017

◾CMake 3.4.1
◾GCC 5.3.0
◾GDB 7.11
◾Git 2.7.2
◾Meld 3.15.1
◾Python 2.7.11
◾Python 3.5.0

◾MSys2

◦gnuplot 5.0.4

◦Notepad2 4.2.25

◦ParaView 5.1.2, 64-bit,

 - Qt4, OpenGL2, MPI.

◦MS-MPI 7.1

4

blueCFD-Core

(이하 blueCFD)

blueCFD-Core 2016-1,

11 August 2016

◾CMake 3.4.1
◾GCC 5.3.0
◾GDB 7.11
◾Git 2.7.2
◾Meld 3.15.1
◾Python 2.7.11
◾Python 3.5.0
◾MSys2

◦gnuplot 5.0.4

◦Notepad2 4.2.25

◦ParaView 5.1.2, 64-bit,

  - Qt4, OpenGL2, MPI.

◦MS-MPI 7.1

5

blueCFD

Release Notes for blueCFD:

blueCFD 2.3-1 - 2014.03.31
blueCFD 2.1-2 - 2013.02.11
blueCFD 2.1-1 - 2012.02.27
blueCFD 2.0-3 - 2013.04.03
blueCFD 2.0-2 - 2012.02.27
blueCFD 2.0-1 - 2011.12.15
blueCFD 1.7-2 - 2010.11.10
blueCFD 1.7-1 - 2010.08.16
blueCFD 1.6-2 - 2010.01.15
blueCFD 1.6-1 - 2009.11.11

 

6

blueCFD

Release Notes for blueCFD

ThirdParty:

blueCFD ThirdParty 2.1-2 - 2013.02.11
blueCFD ThirdParty 2.1-1 - 2012.02.27
blueCFD ThirdParty 2.0-3 - 2013.04.03
blueCFD ThirdParty 2.0-2 - 2012.02.27
blueCFD ThirdParty 2.0-1 - 2011.12.15

 

 

ThirdParty: 3자(함축의미: 관계)

Release Notes: 출시 기록

 

                                          표1-4. cfMesh 프로젝트

 

 번호

프로젝트

 프로그램 버전(Program Version)

 기술(Description)

 1

 cfMesh

v1.1.2 / 2016-10-11

v1.1.1 / 2015-09-18

v1.1 / 2015-06-15

v1.0.1 / 2015-03-09

v1.0 / 2014-07-02

 https://sourceforge.net/projects/cfmesh/?source=directory

 2

 cfMesh-CfdOF

cfMesh-CfdOF(cfmesh-cfdof.zip) / 2018-07-04

 https://sourceforge.net/projects/cfmesh-cfdof/files/latest/download?source=files

 

 

 

 

 

 

 

 

 

 

 

 

 

                                    표1-5. FreeCAD 프로젝트

 

 번호

프로젝트

Version

Release date

기술(Description)

1

FreeCAD

Old version, no longer supported:0.0.1

29-Oct-02

Initial Upload
--> The birth of FreeCAD

2

FreeCAD

Old version, no longer supported:0.1

27-Jan-03

3

FreeCAD

Old version, no longer supported:0.2

09-Aug-05

4

FreeCAD

Old version, no longer supported:0.3

31-Oct-05

5

FreeCAD

Old version, no longer supported:0.4

15-Jan-06

6

FreeCAD

Old version, no longer supported:0.5

05-Oct-06

7

FreeCAD

Old version, no longer supported:0.6

27-Feb-07

8

FreeCAD

Old version, no longer supported:0.7

24-Apr-09

9

FreeCAD

Old version, no longer supported:0.8

10-Jul-09

10

FreeCAD

Old version, no longer supported:0.9

16-Jan-10

11

FreeCAD

Old version, no longer supported:0.10

24-Jul-10

12

FreeCAD

Old version, no longer supported:0.11

03-May-11

 

13

FreeCAD

Old version, no longer supported:0.12

20-Nov-11

 

14

FreeCAD

Old version, no longer supported:0.13

29-Jan-13

 

15

FreeCAD

Old version, no longer supported:0.14

01-Jul-14

LGPL+v2로 라이센스

변경

16

FreeCAD

Old version, no longer supported:0.15

08-Apr-15

 

17

FreeCAD

Old version, no longer supported:0.16

18-Apr-16

 

18

FreeCAD

Current stable version:0.17

06-Apr-18

 

19

FreeCAD

Future release:0.18

Current Developer Release

 


2. BlueCFD 설치하기

 

 

그림 2-1) BlueCFD-Core / Windows 7 64bit - 설치 진행

 

 

그림 2-2) BlueCFD-Core / Windows 7 64bit - 설치 진행

 

 

그림 2-3) BlueCFD-Core / Windows 7 64bit - 설치 약관

 

 

그림 2-4) BlueCFD-Core / Windows 7 64bit - 설치 경로 설정

 

 

그림 2-5) BlueCFD-Core / Windows 7 64bit - 설치 옵션

 

-> Full Installation

-> Custom installation

 

두 종류로 구성된다.

 

 

그림 2-6) BlueCFD-Core / Windows 7 64bit - 시작메뉴 폴더명 지정

 

 

 

그림 2-7) BlueCFD-Core / Windows 7 64bit - 설치 후 추가 작업 선택하기

 

 

그림 2-7) BlueCFD-Core / Windows 7 64bit - 설치할 내용 점검

 

 

그림 2-8) BlueCFD-Core / Windows 7 64bit - 설치 마법사 진행

 

 

그림 2-9) BlueCFD-Core / Windows 7 64bit - MS MPI (7.1.12437.25) 설치

 

 

그림 2-10) BlueCFD-Core / Windows 7 64bit - MS MPI (7.1.12437.25) 설치

 

 

그림 2-11) BlueCFD-Core / Windows 7 64bit - MS MPI (7.1.12437.25) 설치

 

 

그림 2-12) BlueCFD-Core / Windows 7 64bit - MS MPI (7.1.12437.25) 설치

 

 

그림 2-13) BlueCFD-Core / Windows 7 64bit - MS MPI (7.1.12437.25) 설치

 

 

그림 2-14) BlueCFD-Core / Windows 7 64bit - MS MPI (7.1.12437.25) 설치 완료

 

 

그림 2-15) BlueCFD-Core / Windows 7 64bit - 설치 진행

 

 

그림 2-16) BlueCFD-Core / Windows 7 64bit - 설치 완료

 

 

그림 2-17) BlueCFD Project 홈페이지 - User Guide

 

그림 2-18) BlueCFD-Core 2017 - 설치된 모습 1

 

 

그림 2-19) BlueCFD-Core 2017 - 설치된 모습 2

 

 

그림 2-20) BlueCFD-Core 2017 - 실제 설치 소요 용량 (5.04GB / 5,413,113,856 Byte)

 

한 가지 알아야 할 것은 저장 크기에 대한 단위이다.

 

 

 

 

그림 2-21) blueCFD-Core 2017 / Readme.txt

 

Gnu/GPL 라이센스를 가지고 있다고 되어있다.

 

 

 

그림 2-22) BlueCFD-Core 2017 - Download

 

BlueCFD-Core 2017을 다운 받을 수 있는 곳이다.

소스코드도 배포하고 있다.

 


3. FreeCAD(소개와 설치)

 

FreeCAD라고 해서 오해하면 안 되는 게 CAD(캐드)라고 하면 무조건 OO캐드(이하 "OOOOCAD")를 생각하면 절대 안 된다.

여러 종류의 소프트웨어가 존재한다. 3D Modeler(이하 3D 모델러)도 존재한다.

 

 

그림 3-1) FreeCAD - Official Site

 

 한글(Korean) 

 환영! (Welcome)
 

 FreeCAD는 기본적으로 모든 크기의 실제 개체를 디자인하기 위해 만들어진 파라 메트릭 3D 모델러이다.

 파라 메트릭 모델링을 사용하면 모델 기록으로 돌아가서 매개 변수를 변경하여 설계를 쉽게 수정할 수 있다.

 FreeCAD는 오픈 소스이며 사용자 정의가 가능하고 스크립팅 가능하며 확장 가능하다.

 FreeCAD는 멀티 폼 (Windows, Mac 및 Linux)이며 STEP, IGES, STL, SVG, DXF, OBJ, IFC, DAE 및 기타 여러 파일 형식을 읽고 쓴다.

 FreeCAD를 사용하는 사람은 누구입니까? 몇 가지 사용자 사례 :

 가정 사용자 / 애호가: 빌드하거나 빌드했거나 3D로 인쇄하고 싶은 프로젝트가 있습니까? 모델을 FreeCAD로 모델링해라.
                                 - 
이전의 CAD 경험이 필요하지 않는다. 우리 지역 사회는 당신이 신속하게 그것을 걸 수 있도록 도와 줄 것이다!

 숙련된 CAD 사용자: 직장에서 상용 CAD 또는 BIM 모델링 소프트웨어를 사용하면 FreeCAD의 많은 작업 벤치에서 유사한 도구와 워크 플로우를
                               찾을 수 있다.

 프로그래머: FreeCAD의 거의 모든 기능은 Python에서 액세스 할 수 있습니다. FreeCAD의 기능을 쉽게 확장하고, 스크립트로 자동화하거나,
                   자체 모듈을 만들거나, FreeCAD를 자신의 응용 프로그램에 내장(임베디드) 할 수 있다.

 교육자: 라이센스 구매에 대한 걱정없이 자유 소프트웨어를 학생들에게 가르쳐줘라. 
             
그들은 집에서 동일한 버전을 설치하고 학교를 그만두고 계속 사용할 수 있다.

 영어(English)

 Welcome!

 

 FreeCAD is a parametric 3D modeler made primarily to design real-life objects of any size.

 Parametric modeling allows you to easily modify your design by going back into your model history and changing its parameters.

 FreeCAD is open-source and highly customizable, scriptable and extensible.

 FreeCAD is multiplatfom (Windows, Mac and Linux), and reads and writes many open file formats such as

 STEP, IGES, STL, SVG, DXF, OBJ, IFC, DAE and many others.

 

 Who is FreeCAD for? A couple of user cases:

 

 The home user/hobbyist: Got yourself a project you want to build, have built, or 3D printed? Model it in FreeCAD.

 No previous CAD experience required. Our community will help you get the hang of it quickly!

 The experienced CAD user. If you use commercial CAD or BIM modeling software at work, you will find similar tools and workflow among the many 

 workbenches of FreeCAD.

 

 The programmer: Almost all of FreeCAD's functionality is accessible to Python.

                             You can easily extend FreeCAD's functionality, automatize it with scripts, build your own modules or even embed FreeCAD

                             in your own application.

 The educator: Teach your students a free software with no worry about license purchase.

                         They can install the same version at home and continue using it after leaving school.

 

 

그림 3-2) FreeCAD - Download Site

 

FreeCAD는 크게 3가지 버전으로 제공된다.

= Windows(윈도우) 32bit, 64bit(비트), Mac(맥) 64bit, AppImage (Linux) 64bit (앱이미지 (리눅스))

 

 


3. FreeCAD 환경설정 / 부가기능 추가하기

 

 

그림 3-1) 도구(T)-> Addon manager

 

 

그림 3-2) cfdOf - Addon manager

 

 

그림 3-3) 편집(E)->환경설정(P) / FreeCAD 0.18

 

 

그림 3-4) OpenFoam-5.x 경로 설정

 

 

그림 3-5) CFD / cfMesh 다운 받았던 파일의 설치 경로 지정 또는 Install cfMesh 클릭하기

 

cfMesh는 GUI 인터페이스 창에서는 설치가 다 된 것처럼 보일 수 있겠으나 실제로는 1시간~2시간 정도 설치 시간이 소요된다.

 

 

영상 3-1) cfMesh - FreeCAD with cfdOf

 

 

그림 3-6) Run-dependency checker 클릭 결과

 


4. 실습 - Computational Fluid Dynamics(CFD)

 

본격적인 CFD 실습을 진행하도록 하겠다.

 

 

그림 4-1) OpenSim / Tutorials 홈페이지

 

OpenSim에서 Elbow (CFD Tutorial 1)을 클릭한다.

 

 

그림 4-2) CFD Workbench (최소 요구사항)

 

윈도우와 리눅스 기종을 요구한다.

윈도우에서는 blueCFD에 OpenFoam이 빌드된 것을 요구하고 있다.

 

리눅스에서 사용되는 프로그램도 물론 Windows에서도 최근에는 지원한다.

 

 

그림 4-3) Sketch, FreeCAD

 

해당 설명서를 보고 도면을 작성했다.

그림 4-4까지 진행 완료한 도면이다.

 

아래에 첨부하였다.

 

Elbow.7z

 

 

 

그림 4-4) Pad the Sketch, FreeCAD

 

그림 4-4를 살펴봤을 때, 윈도우 환경에서 진행한 실험 영상은 아닌 것으로 보인다.

 

 

그림 4-5) Flow Process - Creating the mesh

 

그림 4-5에서는 CFD Mesh by GMSH라는 창에서 Mesh를 진행하고 있다.

최근 버전에서는 화면 인터페이스가 차이가 있다.

 

작업한 파일이다. 참고하면 된다.

Elbow-AdvancedCFD.7z

 

 

그림 4-6) 시연한 cfMesh, snappyHexMesh, gmsh

gmsh의 경우에는 윈도우 Kernel.dll과 충돌하는 현상이 발생한다.

 

 

그림 4-7) 충돌 발생한 gmsh, FreeCAD

 

 

 

 


5. 시연

 

아래의 영상은 도도가 직접 외국의 영상을 참고하여 시연한 영상이다.

 

 

영상 5-1) FreeCAD 0.18, BlueCFD와 cfMesh 시연하기

 

참고 링크이다.

https://www.reddit.com/r/OpenFOAM/comments/7wcf20/freecad_fem_openfoam_cfd_workbench_video_tutorial/

 

시연에서 문제가 있다면, 버전의 차이점이 있을 수 있다.

외국 영상에서 사용된 BlueCFD 버전 등 차이가 있을 수 있으니 참고 바란다.

 

이 영상이 사소한 것 같지만, 무척 중요한 것을 소개하고 있다.

 


6. 결론(Conclusion)

 

윈도우 기반에서 동작하기 위해서는 아직까지는 난재들이 존재한다고 볼 수 있다.

Oracle VirtualBox(GNU/GPL) 또는 WIndows 8, 10에서 지원하는 Virtual PC 등을 활용하여 리눅스를 구동한 후에 진행한다면 시도해볼만한 가치가 있다고
보여진다.

 

앞서 OpenFoam 실습 영상(영상 5-1)을 자세히 보면, Core에 관한 사항이 등장한다.

코어 갯수라는 것은 아래의 그림에서 간단하게 소개할 수 있다.

 

 

그림 6-1) 프로세서의 논리적 또는 물리적 갯수

 

실제 i5-3230M 기종의 경우에는 물리적 CPU는 1개이다.

단, 논리적인 CPU는 4개이다.

 

#include < stdio.h >

 

int main(){

 

    return 0;

}

 

그림 6-2) 슈도코드 / C언어

 

이러한 코드로 프로그래밍을 작성한다면, 실제 존재하는 프로세서의 자원을 다 사용할 수가 없다.

논리적인 CPU 1개를 점유하여 사용하는 꼴 밖에 되지 않는다.

 

내가 왜 FreeCAD와 BlueCFD를 이 코너에 소개하는 이유가 있다.

 

 

그림 6-3) 그림 4-5에서 설계한 Elbow - 예

 

그림 6-3처럼 Elbow를 설계했다고 하자. 이 물체에는 공기(Air), 물(Water), 가스(Gas) 등의 기체, 액체가 유입될 수가 있다.

물론 가스(Gas)는 기체에 해당된다. 물은 액체에 해당된다.

 

 

그림 6-4) 그림 6-3에 물을 호수로 발사한 그림

 

그림 6-4는 물을 발사한 그림이다.

아래의 그림처럼 물은 초당 ?Pa로 elbow 객체에 액체를 주입하게 될 것이다.

 

그림 6-5) Elbow에 물을 초당 발사하는 경우

 

 

그림 6-6) 경계값을 설정하며, 물이 넘치지 않도록 막은 경우

 

그림 6-5와 그림 6-6은 물이 실제로 유입되고 있는 모습이다.

 

 

그림 6-7) 물이 다 주입된 상태

 

그림 6-8) 물이 넘쳐도 계속 물을 주입하고 있는 상태 (? Pa/s의 값은 일정함)

 

나는 "시뮬레이션" 프로그램을 다룰 수 있으면 현상을 체험하거나 관찰하는데 매우 큰 도움이 된다고 주장한다.

데이터를 물론 직접 수동으로 식을 수립하여 수동으로 구할 수도 있지만, 계산에 있어서 한계가 있다.

 

개선된 식 등이 있을 수가 있고, 여러 문제가 있을 수 있다.

물론 이러한 시뮬레이션 프로그램을 돌리면서 사람에 의한 계통오차 등을 줄일 수 있다.

흥미로운 주제라고 여겨져서 작성하게 되었다.

 


7. 실습 2 - 인벤터를 활용한 FreeCAD with BlueCFD, cfMesh

 

 

영상7-1) 실습 - FreeCAD with BlueCFD, cfMesh

 

Mesh의 수치 범위를 재조정하여 진행하니 동작은 하는데, 수치 그래프가 출력되지 않았다.

에러 없이 출력되었으며, 해석까지 진행하였다.

 

아래의 첨부 자료는 도출(Extrude 또는 Pad)의 값을 달리한 실습을 진행하였다.

 

1mm로 진행한 Elbow와, 1000 mm로 도면을 각각 두 가지로 진행하였다.

진행하면서 얻어낸 실습물은 다음과 같다.

 

FreeCAD 0.18에서 cfMesh를 진행할 때 Base Elements의 값에서 상관관계가 있음을 확인할 수 있었다.

 

1mm로 작업한 도면으로 Base Elements를 0에 두고 Mesh를 산출하였을 때 이상적인 수치로 1.6 정도가 나왔으나 계산이 되지 않아서 Mesh 처리된 그래픽 결과물을 도출할 수 없었다. 0.6으로 수정하여 진행하였더니 Mesh 계산값이 반영된 그래픽 결과물을 얻어낼 수 있었다.

 

1000mm로 작업한 도면으로 Base Elements를 0에 두고 Mesh를 산출하였는데 이상적인 수치로 20 (mm) 정도가 나왔다. 19, 18, 17, 16, ...., 11 mm까지 계산을 진행하였지만, 그래픽 도출을 할 수 없었다. 10mm로 두고 진행하였더니 Mesh 계산 값이 반영된 그래픽 결과물을 얻어낼 수 있었다.

 

Elbow.7z

 

출력에 대한 것이다.

OpenFoam으로 그래프 도출을 시도하였는데 되지 않았다. Ux, Uy, Uz값에 문제가 있는지 확인 등을 하였다.

opensimsa/cfd/elbow 프로젝트의 설명대로 값을 최대한 동일하게 넣었음에 불구하고 동작하지 않았다.

 

이상으로 실습을 마친다.

 


8. 참고자료(Reference)

 

1. 표1-1, Release History, https://www.openfoam.com/download/release-history.php, Accessed by 2018-07-20

2. 표1-1, Release History, https://openfoam.org/download/history/, Accessed by 2018-07-20

3. 표1-3, blueCAPE´s Official Website - blueCFD-Core Release Notes, http://joomla.bluecape.com.pt/index.php?option=com_mamblog&Itemid=43&task=show&action=view&id=66, Accessed by 2018-07-20

4. Release Notes : blueCFD-Core Project, http://bluecfd.github.io/Core/ReleaseNotes/, Accessed by 2018-07-20

5. 표1-4, cfMesh-CfdOF, https://sourceforge.net/projects/cfmesh-cfdof/, Accessed by 2018-07-20

6. FreeCAD: An open-source parametric 3D CAD modeler, https://www.freecadweb.org, Accessed by 2018-07-20

7. Releases · FreeCAD/FreeCAD · GitHub, https://github.com/FreeCAD/FreeCAD/releases, Accessed by 2018-07-20

8. 표1-5, https://en.wikipedia.org/wiki/FreeCAD, Accessed by 2018-07-20

9. 그림 4-1, https://opensimsa.github.io/training.html, Accessed by 2018-07-20

10. opensim/Documentation/CFD/Elbow at master · opensimsa/opensim · GitHub, https://github.com/opensimsa/opensim/tree/master/Documentation/CFD/Elbow, Accessed by 2018-07-20

11. MS MPI 9 SDK, https://msdn.microsoft.com/en-us/library/bb524831(v=vs.85).aspx, Accessed by 2018-07-20

12. MPI 8, https://www.microsoft.com/en-us/download/details.aspx?id=55494, Accessed by 2018-07-20

13. Computational Fluid Dynamics (CFD) workbench using OpenFOAM, https://forum.freecadweb.org/viewtopic.php?t=21576, Accessed by 2018-07-20

-> FreeCADweb Forum이다. 글을 남겨도 무방하다.

반응형
728x90
300x250
[Mechanics] 역학을 공부하면서

 

역학이라는 게 정말 중요하다고 주장한다.

기계 가공을 하는데 있어서도 재료를 결정할 수가 있다.

 

재료역학에서 가장 중요한 식은 응력에 관한 식이다.

 


1. 재료역학에서 중요한 식

 

 

 

 수직응력(Normal Stress)

전단응력(Shearing Stress)

 

 

수직응력과 전단응력에 관한 식이다. 식으로는 큰 차이를 느끼진 못 한다.

그래서 몇 가지 간단한 시뮬레이션을 주제를 잡고 진행하게 되었다.

 

다음은 안전계수(factor of safety ; S)에 관한 식이다.

 

 

 

 안전계수(factor of safety ; S)

 

안전계수를 정하는 것은 정말 중요한 일이다.

말 그대로 재료를 사용하는데 있어서 파괴 등이 일어나지 않고, 적정한 범위를 유지하려면 중요한 식이다.

 

아래의 코드는 하드코딩(Hard-Coding)으로 작성한 자바 프로그램 코드이다.

 

 

 /*
 * Created: 2018-05-29
 * Subject: Calculate.java
 * Author: Dodo
 */

 public class Calculate {
 
      private final double PI = 3.14159265359;
 
      public Calculate() {
 
      }
 
      public double generalArea(double dimension) {
             return ( PI / 4 ) * (dimension * dimension);
      }
 
      public Stress getStress(Stress value) {
   
             double weight = value.getWeight();
             double area = value.getArea();
             double stress = weight / area;
  
             value.setStress(stress);
             return value;
     }

     public double getSafety(Stress allow, Stress yield) {
  
             double safety = allow.getStress() / yield.getStress();
             return safety;
     }

}

 Calculate.java

 

 

 /*
  * Created: 2018-05-29
  * Subject: Stress.java
  * Author: Dodo
*/

public class Stress {
 
       private double stress;
       private double weight;
       private double area;

   

       public Stress() {
            this.stress = 0;
            this.weight = 0;
            this.area = 0;
       }
 
       public Stress(double stress, double weight, double area) {
            this.stress = stress;
            this.weight = weight;
            this.area = area;
       }

 

       public double getStress() {
            return stress;
       }
 
       public void setStress(double stress) {
            this.stress = stress;
       }
 
       public double getWeight() {
            return weight;
       }
 
       public void setWeight(double weight) {
            this.weight = weight;
       }
 
       public double getArea() {
            return area;
       }
 
       public void setArea(double area) {
            this.area = area;
       }
  
 } 

 Stress.java

 

 /*
 * Created: 2018-05-29
 * Subject: Program.java
 * Author: Dodo
*/

 

 import java.io.File;
 import java.io.FileWriter;

 public class Program {
 
       private static final int MAX = 10000;
 
       public static void main(String[] args) {
              experiment();
       }
 
       public static void experiment() {
   
              String txt = "테스트입니다!!" ;
              String fileName = "test11.txt" ;      
       
              int retval1 = -1;
              int retval2 = -1;

 

              try{
                   // 파일 객체 생성
                   File file = new File(fileName) ;

                   // true 지정시 파일의 기존 내용에 이어서 작성
                   FileWriter fw = new FileWriter(file, true) ;

                   // 계산
                   Calculate calculate = new Calculate();

                   int count = 1;
      
                   double weight = 10;
                   double area = 0;  
                   double dimension = 0;
       
                   double resultStress = 0;
                   double targetMin = 8.1;
                   double targetMax = 9.4;

           

                   String strTxt ;
      
                   strTxt = "count,weight,dimension,area,stress,result";
                   // 파일안에 문자열 쓰기

                   fw.write(strTxt);
                   fw.write("\r\n");
                   fw.flush();
      
                   for ( int i = 0; i < MAX; i++ ) {
       
                      weight = i;
       
                      for ( int j = 0; j < MAX; j++ ) {
        
                           dimension = j;
                           area = calculate.generalArea(dimension);
        
                           resultStress = weight / area;
         
                           strTxt = count + "," + weight + "," + dimension + "," + area + "," + resultStress + " ,실험";
                
                           retval1 = Double.compare (resultStress, targetMin);
                           retval2 = Double.compare(resultStress, targetMax);
        
                           if ( retval1 > 0 && retval2 < 0 ) {
                                  strTxt = count + "," + weight + "," + dimension + "," + area + "," + resultStress + " ,참";
                           } // end of if
        
                           // 파일안에 문자열 쓰기
                          fw.write(strTxt);
                          fw.write("\r\n");
                          fw.flush();
        
                          count++;
         
                   } // end of for
      
               } // end of for

               // 객체 닫기
               fw.close();

        }catch(Exception e){
               e.printStackTrace();
        } // try~catch
       
    }
 
}

 Program.java

 

내가 찾고자 하는 것은 다른 것이 아니었다.

 

double weight = 10;
double area = 0;  

double dimension = 0;
       
double resultStress = 0;
double targetMin = 8.1; // (MPa)
double targetMax = 9.4; // (MPa)

 

주어진 응력(Sigma_{Min})은 8.1MPa, 응력(Sigma_{Max})은 9.4MPa이다.

이 범위에 부합하는 임의의 W, A, D을 결정할 수 있는 수치의 값이 어떠한지를 나는 찾고 싶었다.

 

 

 

이러한 주제이다.

사람이 풀라고 하면 못 푸는 문제이다.

 


맺음) 역학은 물체에 힘이 작용할 때 현상을 공부하는 것이다.

 

이러한 기본적인 식 이외에도 무수히 식이 많다.

다 외우는 건 한계가 있으며, 역학을 재미있게 공부하는 것은 현상을 이해하는 것이 중요하다고 본다.

반응형

+ Recent posts