[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 |
|
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 |
영어 단어를 소개하겠다.
표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, |
◾CMake 3.9.2 ◦ParaView 5.4.1, 64-bit, built with the options: - Qt5, OpenGL2, MPI. ◦MS-MPI 8.1 |
2 |
blueCFD-Core (이하 blueCFD) |
blueCFD-Core 2017-1, 3 November 2017 |
◾CMake 3.9.2 ◾MSys2 ◦ParaView 5.4.1, 64-bit, - Qt5, OpenGL2, MPI. ◦MS-MPI 8.1(7.1 대체로 사용가능) |
3 |
blueCFD-Core (이하 blueCFD) |
blueCFD-Core 2016-2, 27 September 2017 |
◾CMake 3.4.1 ◾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 ◦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 |
|
6 |
blueCFD |
Release Notes for blueCFD ThirdParty: blueCFD ThirdParty 2.1-2 - 2013.02.11 |
|
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 |
|
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 |
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는 오픈 소스이며 사용자 정의가 가능하고 스크립팅 가능하며 확장 가능하다. |
영어(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까지 진행 완료한 도면이다.
아래에 첨부하였다.
그림 4-4) Pad the Sketch, FreeCAD
그림 4-4를 살펴봤을 때, 윈도우 환경에서 진행한 실험 영상은 아닌 것으로 보인다.
그림 4-5) Flow Process - Creating the mesh
그림 4-5에서는 CFD Mesh by GMSH라는 창에서 Mesh를 진행하고 있다.
최근 버전에서는 화면 인터페이스가 차이가 있다.
작업한 파일이다. 참고하면 된다.
그림 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개이다.
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 계산 값이 반영된 그래픽 결과물을 얻어낼 수 있었다.
출력에 대한 것이다.
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이다. 글을 남겨도 무방하다.
'공부(Study) > 컴퓨터 - PC활용' 카테고리의 다른 글
[PC활용] HeeksCAD/HeeksCAM 1.3 소개 (1) | 2018.07.24 |
---|---|
[PC활용] 모니터 해상도 조절하기 - cru 1.4 (1) | 2018.07.22 |
[PC활용] ParaView-5.5.2-Qt5 - 유한요소 해석 프로그램 (0) | 2018.07.19 |
[PC활용] CFD(계산유체역학) - OpenFoam 4 v1806 소개 (0) | 2018.07.19 |
[PC활용] uTorrent - Torrent 토렌트 파일(Seed) 배포하기 (2) | 2015.04.04 |