[PC활용] CFD(계산유체역학) - OpenFoam 4 v1806 소개
계산유체역학 소프트웨어를 하나 소개하려고 합니다.
OpenFoam 4 v1806 프로젝트입니다.
GNU/GPL v3를 적용받고 있습니다.
https://openfoam.com/documentation/licencing.php
운영체제: Microsoft WIndows 7, OpenFoam 4 v1806
참고해야할 점: OpenFoam 4를 심층적으로 사용하는 방법에 대해서 숙지한 상태로 작성한 글이 아니다.
설치 및 실행, 동작을 위주로 시연하였으며, 더 많은 자료를 참고하면 도움이 될 것이다.
실제로 사용하고 있는 프로그램 중 하나이다.
1. 전산 유체 역학(CFD)이란?
전산 유체 역학 (Computational fluid dynamics, CFD)은 |
수치 해석 및 데이터 구조를 사용하여 유체 흐름과 관련된 문제를 해결하고 분석하는 유체 역학의 한 분야입니다. |
컴퓨터는 경계 조건에 의해 정의 된 표면과 액체 및 가스의 상호 작용을 시뮬레이션하는 데 필요한 계산을 수행하는 데 사용됩니다.
고속 슈퍼 컴퓨터를 사용하면 더 나은 솔루션을 얻을 수 있습니다.
지속적인 연구는 천음속이나 난류와 같은 복잡한 시뮬레이션 시나리오의 정확성과 속도를 향상시키는 소프트웨어를 산출합니다.
이러한 소프트웨어의 초기 실험 검증은 바람 터널을 사용하여 수행되며, 최종 검증은 전면적인 테스트로 이루어집니다.
(예 : 비행 테스트)
그림 1-1) 전산 물리학(Computational physics)
전산 유체 역학의 방법에는 아래처럼 분류할 수 있다.
* 방법론(Methodology)
2.1 이산화 방법(Discretization methods) / (디스크리제이션 메서드)
-> 2.1.1 유한 체적법(Finite volume method) / (화이나트 불륨 메서드)
-> 2.1.2 유한 요소법(Finite element method) / (화이나트 엘리멘트 메서드)
-> 2.1.3 유한 차분법(Finite difference method) / (화이나트 디퍼런스 메서드)
-> 2.1.4 스펙트럼 요소 방법(Spectral element method) / (스팩트랄 엘리멘트 메서드)
-> 2.1.5 경계 요소 방법(Boundary element method) / (바운더리 엘리멘트 메서드)
-> 2.1.6 고해상도 이산화 체계(High-resolution discretization schemes) / (하이-리솔루션 디스크리제이션 스키마스)
2.2 난류 모델(Turbulence models) / (튜블란스 모델)
-> 2.2.1 레이놀즈 평균 Navier-Stokes / (네비어-스토크)
-> 2.2.2 대형 와류 시뮬레이션(Large eddy simulation) / (라지 에디 시뮬레이션)
-> 2.2.3 분리된 에디 시뮬레이션(Detached eddy simulation) / (디테치드 에디 시뮬레이션)
-> 2.2.4 직접 수치 시뮬레이션(Direct numerical simulation) / (다이렉트 뉴메니칼 시뮬레이션)
-> 2.2.5 일관된 와류 시뮬레이션(Coherent vortex simulation) / (코헤렌트 버탁스 시뮬레이션)
-> 2.2.6 PDF 메소드(PDF methods) / (피디에프 메서드)
-> 2.2.7 소용돌이 법(Vortex method) / (버탁스 메서드)
-> 2.2.8 와동 감금 방법(Vorticity confinement method) / (버티시티 컨파인멘드 메서드)
-> 2.2.9 선형 와상 모델(Linear eddy model) / (리너 에디 모델)
2.3 2상 흐름(Two-phase flow) / (투-파스 플로)
2.4 솔루션 알고리즘(Solution algorithms) / (솔루션 알고리즘)
2.5 비정상적인 공기 역학(Unsteady aerodynamics) / (언 스테디 에어로다이나믹스)
2.6 생체 공학(Biomedical engineering) / (바이오메디칼 엔지니어링)
2. 소개
OpenFOAM 상표의 소유자인 OpenCFD Ltd는 ESI Group의 전액 출자 자회사입니다.
우리의 임무는 OpenFOAM의 미래를 자유롭고 사용 가능한 개방형 소스 CFD 소프트웨어(open source CFD software)로 유지하면서 라이센스 비용과
다중 사용자, 멀티 프로세서 비용 인플레이션으로 인해 제약을 받는 CFD 코드를 장기적이고 실용적으로 보완하는 것입니다.
ESI-OpenCFD는 OpenFOAM® 오픈 소스 CFD 툴박스를 생산하고 www.openfoam.com을 통해 자유롭게 배포합니다.
OpenCFD Ltd는 일반 공중 라이선스에 따라 자사의 OpenFOAM 소프트웨어의 출시와 동시에 2004년에 설립되었습니다.
2012 년 OpenCFD는 SGI Corp (2011 년 OpenCFD를 인수 한 회사)에서 인수 한 후 ESI Group(http://www.esi-group.com)의
전액 출자 자회사가 되었습니다.
우리의 개발자, 응용 전문가, 트레이너 및 테스터 팀은 동남아시아, 인도, 유럽 및 북미 지역에 전 세계적으로 위치해 있습니다.
[OpenFOAM 서비스]
OpenCFD는 OpenFOAM과 비교할 수없는 경험이 있습니다. OpenFOAM 소프트웨어를 성공적으로 개발, 관리 및 출시 한 조직으로 지난 13 년 동안 수많은 과학 / 엔지니어링 회사, 컨설팅 및 대학에 서비스를 제공했습니다.
OpenFOAM 코드 개발 : 50만 개가 넘는 코드 라인 작성.
= https://www.openfoam.com/services/development.php
OpenFOAM 지원 : 수만 시간의 지원을 제공했습니다.
= https://www.openfoam.com/services/software.php
OpenFOAM 교육 : 수천 명의 OpenFOAM 사용자에게 수백 가지 교육 과정을 제공했습니다.
= https://www.openfoam.com/training
OpenFOAM 엔지니어링 서비스 : 극동 아시아, 인도, 유럽 및 북미 지역의 전세계 엔지니어링 서비스 팀.
= https://www.openfoam.com/services/consulting.php
OpenFOAM 커뮤니티 : OpenFOAM 커뮤니티와 협력
= https://www.openfoam.com/community/partners.php
https://www.openfoam.com/about/
3. 설치
설치는 크게 어렵진 않습니다.
그림 3-1) 설치 마법사 / OpenCFD - OpenForm4
그림 3-2) 설치 마법사 / OpenCFD - OpenForm4
그림 3-3) 설치 마법사 / OpenCFD - OpenForm4
4. 설치 시연 영상
4-1. OpenFoam 4 v1806 - 설치 마법사 - 1단계
4-2. OpenFoam 4 v1806 - 설치 마법사 - 2단계
시청각으로 준비했습니다.
크게 설치 등에 있어서는 어렵진 않습니다.
5. 다운로드 방법
다운로드는 OpenFoam 홈페이지 또는 소스포지에서 배포하고 있습니다.
그림 5-1) OpenFoam 4 v1806 다운로드
6. OpenFoam 실행하기
OpenFoam을 윈도우 환경에서 실행하면, Powershell 기반에서 작동합니다.
그림 6-1) OpenFoam 4 v1806 설치 후 동작(시연)
하나는 VirtualBox에 무엇이 설치되었는지 확인하였습니다.
리눅스가 하나 설치되었는데, 추정하기로는 CentOS 7 버전이 설치되었을 것으로 예상합니다.
7. 설치 - Readme
======================
OpenFOAM Windows 버전 v1806 정보
======================
이 OpenFOAM Windows 버전은 소셜 미디어에서 유용한 의견을 얻습니다.
설치 절차, 여러 버전 관리 및 첫 번째 Windows 환경 릴리스 이후의 컴파일 환경
OpenCFD Ltd v2.4.0. Linux 컨테이너 기술을 기반으로 Windows 사용자는 Linux 사전 컴파일 또는 사용자 컴파일 실행 파일을 실행합니다.
Linux 및 Windows에서 동일한 결과를 보장하는 OpenFOAM 환경.
설치 프로그램은 아래의 OpenFOAM 작업 환경을 만듭니다.
"C : \ Program Files (x86) \ ESI \ OpenFOAM"
\ Documents 디렉토리에는 다음이 포함됩니다.
- "OF_Windows_Guide_V1806.pdf": 설치 세부 정보 및 추가 지침
- 자습서 안내서, 사용자 안내서 및 프로그래머 안내서
--------
ParaView
--------
ParaView는 자유롭게 사용할 수있는 사후 처리(Post Processing) 도구로서 OpenFOAM 결과를 후 처리합니다.
ParaView는 번들로 제공되지 않습니다.
OpenFOAM 설치 프로그램.
사용자는 최신 버전을 직접 다운로드 할 수 있습니다.
http://www.paraview.org/download/
--------------
사전 요구 사항
--------------
1) 하드웨어 지원 가상화를 사용해야합니다. 그렇지 않은 경우 활성화하십시오.
BIOS 모드에서 (아래 참조) 시스템을 재부팅하십시오
이 설치를 진행하기 전에 두 번.
-> Windows7에서 하드웨어 지원 가상화가 켜져 있는지 확인하십시오.
-> Windows 유틸리티 실행
https://www.microsoft.com/en-us/download/details.aspx?id=592#filelist
-> Windows 8 및 10에서는 작업 관리자를 통해 확인할 수 있습니다.
2) Powershell 버전 2 이상을 설치해야합니다. (기본적으로 제공됩니다. Windows7 및 Windows 8).
버추얼 박스에있는 이미지가 '전원 꺼짐'모드입니다.
--------------------------------------------
Windows 용 OpenFOAM v1712의 기존 사용자
--------------------------------------------
중요 사항:
OpenFOAM-1806은 새로운 도커 버전을 기반으로합니다. 사용자가로 업그레이드하려는 경우
OpenFOAM 버전 v1806, 이전 버전의 OpenFOAM을 제거하십시오.
docker, git 및 virtual box를 설치하기 전에 OpenFOAM-v1806을 설치하십시오.
'제거'섹션에서 설명한대로 제거 절차를 따르십시오
----------------------
설치 절차
----------------------
1) OpenFOAM 설치 프로그램 실행 파일을 실행합니다. Docker를 설치합니다 (VirtualBox, Git), 미리 컴파일 된 v1806 OpenFOAM 실행 가능 이미지 및
작업 환경을 만드십시오.
(이 프로세스를 수행하는 데 시스템 메모리에 따라 몇 분 소요됩니다.)
2) 설치가 완료되면 "OF_Create_Env" 바탕 화면에 바로 가기. 쉘이 자동으로 열고 닫을 것이고, 사용자 작업 환경의 설정을 완료합니다.
이 단계는 필수 항목입니다.
OpenFOAM for Windows를 처음 사용할 때만 설치됩니다.
https://openfoam.com/download/txt/openfoam-windows-readme_v1806.txt
8. 튜토리얼, 가이드(Tutorial, (Guide) /
튜토리얼 및 가이드에 대해서 소개합니다.
윈도우 버전에 대한 지원이 따로 없어서 작성하였습니다.
그림 8-1) ESI의 OpenFoam 가이드, 윈도우 버전 설치시 제공
번호 |
파일명 |
기술(Description) |
1 |
OF_Windows_Guide_v1806.pdf |
윈도우 사용자를 위한 가이드 |
2 |
ProgrammersGuide.pdf |
프로그래머 관점의 가이드
- 프로젝트 참여, 개발 등 |
3 |
TutorialGuide.pdf |
튜토리얼(예제) 가이드 |
4 |
UserGuide.pdf |
사용자 가이드 |
OpenFoam 프로젝트의 가이드를 읽어보시면 다음과 같습니다.
먼저 UserGuide를 읽어보면 다음과 같습니다.
그림 8-2) UserGuide.pdf 파일의 내용
튜토리얼과 관련된 이야기인데, 폴더 구조(Directory Structure)는 Figure 2.1: Case directory structure에 자세히 잘 나와 있습니다.
이 내용이 실제로 그런지 확인하면 아래와 같습니다.
표 8-1. OpenFoam-v1806 윈도우 설치 - 디렉토리 구조
번호 |
실제 설치 후 폴더 내용 |
비고 |
1 |
|
|
2 |
|
|
3 |
|
|
4 |
|
|
5 |
|
|
차이점이 하나 있다면, 리눅스 버전과는 다른 점이 있습니다.
리눅스 버전을 수동으로 설치했다면, OpenFOAM-v1806.tgz 이 파일을 내려받아서 설치했습니다.
물론 윈도우 버전에서도 튜토리얼 파일을 참고해야 할 상황이 있어서 내려받는 것이 좋을 것 같습니다.
표 8-2. OpenFoam-v1806.tar 구조
번호 |
실제 설치 후 폴더 내용 |
비고 |
1 |
|
개발자 관점 |
2 |
|
개발자 관점 |
3 |
|
개발자 관점 |
4 |
|
개발자 관점 |
5 |
|
개발자 관점 |
6 |
|
개발자 관점 |
7 |
|
사용자 관점
- 튜토리얼 |
8 |
|
사용자 관점
- 튜토리얼 |
No |
디렉토리 (Directory) |
Name(이름) |
구분(Type) |
1 |
Tutorials\ |
Allclean |
File(파일) |
2 |
Tutorials\ |
Alltest |
File(파일) |
3 |
Tutorials\ |
Basic |
Directory(폴더) |
4 |
Tutorials\ |
combustion |
Directory(폴더) |
5 |
Tutorials\ |
compressible |
Directory(폴더) |
6 |
Tutorials\ |
discreteMethods |
Directory(폴더) |
7 |
Tutorials\ |
DNS |
Directory(폴더) |
8 |
Tutorials\ |
electromagnetics |
Directory(폴더) |
9 |
Tutorials\ |
financial |
Directory(폴더) |
10 |
Tutorials\ |
finiteArea |
Directory(폴더) |
11 |
Tutorials\ |
heatTransfer |
Directory(폴더) |
12 |
Tutorials\ |
incompressible |
Directory(폴더) |
13 |
Tutorials\ |
IO |
Directory(폴더) |
14 |
Tutorials\ |
lagrangian |
Directory(폴더) |
15 |
Tutorials\ |
mesh |
Directory(폴더) |
16 |
Tutorials\ |
multiphase |
Directory(폴더) |
17 |
Tutorials\ |
PaxHeaders.26122 |
Directory(폴더) |
18 |
Tutorials\ |
preProcessing |
Directory(폴더) |
19 |
Tutorials\ |
resources |
Directory(폴더) |
20 |
Tutorials\ |
stressAnalysis |
Directory(폴더) |
21 |
Tutorials\ |
verificationAndValidation |
Directory(폴더) |
22 |
|
|
|
|
|
|
|
|
|
|
|
(파일명)
directories.7z
세부적인 폴더 내용은 820개입니다.
그림 8-3) 실제 튜토리얼로 작성된 프로그램
앞서 '그림 8-2'에서 소개된 구조와 동일합니다. 큰 차이가 없습니다.
리눅스 기종의 압축을 풀어서 손상이 있을 수도 있습니다.
큰 손상은 없을 것으로 보입니다.
표 8-3. 소스코드 분석하기
(경로명: Tutorials\stressAnalysis\solidDisplacementFoam\plateHole)
번호 |
소스 코드(사용자 관점) |
기술 (Description) |
1 |
|
Allrun |
2 |
|
Allclean |
3 |
|
blockMeshDict |
4 |
|
controlDict |
5 |
|
fvSchemes |
6 |
|
fvSolution |
7 |
|
singleGraphe |
윈도우 기반에서의 OpenFoam 4에 대해서 소개합니다.
수식 등은 소개하지 않습니다.
9. 참고 자료(Reference)
1. 그림 1-1, https://en.wikipedia.org/wiki/Computational_fluid_dynamics#/media/File:Rayleigh-Taylor_instability.jpg, Accessed by 2018-07-19
2. OpenCFD Release OpenFOAM® v1806, https://openfoam.com/releases/openfoam-v1806/, Accessed by 2018-07-19
3. OpenFOAM® Download, https://openfoam.com/download/, Accessed by 2018-07-19
4. https://en.wikipedia.org/wiki/Computational_fluid_dynamics, Accessed by 2018-07-19
5. https://ko.wikipedia.org/wiki/%EC%A0%84%EC%82%B0_%EC%9C%A0%EC%B2%B4_%EC%97%AD%ED%95%99, Accessed by 2018-07-19
6. https://www.openfoam.com/about/, Accessed by 2018-07-19