2016

2016. 02. 01 / 하루생각 Blog


[OpenFOAM 기본] OpenFOAM 개요 및 기본

일본어 원문링크


들어가기

OpenFOAM의 개요 및 기본 구조, 계산순서에 대해



기준 OpenFOAM 버전

OpenFOAM 2.3.0



OpenFOAM 해석 순서도(Overview)



계산 순서


해석대상의 조건이 결정되었다면 보통 우선적으로 격자생성을 수행한다. 격자는, 적절한 격자생성기(상용솔버에 번들로 있는 것이나 각 사용 솔버에 대응하는 격자생성 전용 프로그램 등)이 있으면 작성 후 OpenFOAM용으로 변환하는것이 가장 효율적이다. 상용격자생성기가 아니라면 OpenFOAM에 포함되어있는 것(blockMesh, snappyHexMesh 등)을 이용하거나, 오픈소스 격자생성기(Salome 등)을 사용한다.(이하 더 자세한 OpenFOAM용 격자생성을 참조).



최종적으로 얻어진 결과에 대한 평가에는, OpenFOAM에 포함된 paraFoam(ParaView)를 사용한다(ParaView의 사용방법에 대해서는 ParaView 입문을 참조). 상용의 후처리 프로그램도 사용가능하다.



계산조건의 설정

OpenFOAM의 계산조건의 설정은 아래의 순서에 따른다.



Solver의 선택

OpenFOAM 은 유체해석솔버가 아닌 유체해석 솔버개발용 툴이지만 표준 솔버를 몇가지 제공하고 있다. 하나의 솔버를 기준으로 문제에 맞추어 옵션을 설정하는 일반적인 유체해석솔버와는 달리, 문제에 따라 그에 맞는 솔버를 선택해야 한다(만약 적당한 것이 없다면 직접 개발해야 한다).


표준솔버의 코드는 $FOAM_SOLVERS 에 있다. 솔버는 카테고리별로 나누어져 있으며, 그 카테고리에 해당하는 폴더 안에 들어 있다.


대표적인 솔버는 아래와 같다.


basic : 기본

  • laplacianFoam : 확산방정식솔버
  • potentialFoam : 포텐셜유동솔버
  • scalarTransportFoam : 스칼라수송방정식솔버

incompressible : 비압축성유동

  • icoFoam : 비정상층류해석솔버
  • simpleFoam : 정상난류해석솔버(SIMPLE법)
  • pisoFoam : 비정상난류해석솔버(PISO법)
  • pimpleFoam : 비정상난류해석솔버(PIMPLE=PISO+SIMPLE법)

heatTransfer : 열유동

  • buoyantBoussinesqSimpleFoam : 정상열유동해석솔버(Boussinesq 근사)
  • buoyantBoussinesqPimpleFoam : 비정상열유동해석솔버(Boussinesq 근사)
  • buoyantSimpleFoam : 정상열유동해석솔버
  • buoyantPimpleFoam : 비정상열유동해석솔버

multiphase : 다상유동

  • interFoam : VOF법을 이용한 2상유동해석솔버
  • multiphaseInterFoam : VOF법을 이용한 다상유동해석설보

표준 솔버의 상세한 리스트는 유저가이드를 참조.


아래 자주 사용되는 솔버에 대한 선택순서를 나타내 보았다.




케이스 설정

OpenFOAM 에서 계산조건의 설정(케이스)는 하나의 파일이 아닌 하나의 폴더로 되어 있으며 그 안에 다양한 계산조건을 기술하는 파일들이 위치하고 있다. 이 파일들은 텍스트 에디터로 편집해서 설정한다. 필요한 파일들을 모두 직접 준비하는것은 어렵지만, 표준 솔버에 대응하는 예제 케이스(튜토리얼케이스)가 $FOAM_TUTORIALS에 포함되어 있으므로, 보통 그것을 복사해 사용하거나 참고하여 케이스를 작성한다.


케이스폴더에는 아래와 같은 파일, 폴더가 포함된다.


constant 폴더

격자나 물성치, 난류모델 등의 설정을 포함하는 폴더. 아래의 파일, 폴더를 가진다.

  • polyMesh

    격자정보를 보관하는 폴더

  • transportProperties, thermophysicalProperties

    물성치 설정 파일. 솔버에 따라 필요한 파일이 다르다.

  • g

    중력 설정 파일. 부력 등을 고려할때 필요

  • turbulenceProperties, RASProperties, LESProperties

    난류모델의 설정파일. 정상해석솔버는 RASProperties, 비정상해석솔버는 turbulenceProperteis에서 설정한다. 후자는 RAS를 사용할지 LES를 사용할지에 따라 별도의 RASProperteis, LESProperties를 각각 필요로 한다.



0 폴더

필드(유체장) 변수의 설정파일(예를 들면, 유속 U, 압력 p, 온도 T 등)을 포함하는 폴더. 필드파일에서 경계조건과 초기값을 설정한다. 0은 초기시각을 의미하며, 계산 중, 같은 형식으로 계산결과파일을 포함하는 폴더가 각각 출력시각의 이름으로 생성된다.



system 폴더

계산을 제어하는 설정파일을 가지는 폴더. 아래와 같은 파일들을 포함한다.

  • fvSchemes

    이산화스킴을 설정하는 파일

  • fvSolution

    대수방정식 솔버의 설정과 SIMPLE법 등의 설정을 포함하는 파일

  • controlDict

    계산의 제어를 설정하는 파일. 계산의 종료시각이나 시간스텝의 크기, 결과의 출력타이밍 등을 설정할 수 있다.


설정파일의 서식에 대해서는 OpenFOAM 설정파일의 형식을 참조.


계산조건의 상세설정 방법에 대해서는 아래의 문서 참조.



계산 수행

OpenFOAM의 계산은 케이스 폴더내에서 솔버를 실행시키면 된다. 예를 들어 simpleFOAM을 솔버로 사용할경우, 케이스 폴더로 이동하여, 아래와 같은 명령어를 넣으면 된다.


$ simpleFOAM

상세한 방법에 대해서는 솔버 실행 을 참조.


프로필사진

하루생각

OneDay by Eric

에릭의 티스토리 http://onedayof.tistory.com


[원문출처 : http://onedayof.tistory.com/entry/OpenFOAM-기본-OpenFOAM-개요-및-기본]

Creative Commons License
크리에이티브 커먼즈 라이선스
공개SW 기술팁 게시물 리스트 표
번호 제목 작성 조회수
480 마이크로소프트 애저의 오픈소스 서버 및 랙 설계 들여다 보기 2016-11-07 2583
479 [IT열쇳말] 데스크톱 가상화 2016-11-01 3253
478 [IT열쇳말] 혼합현실 2016-11-01 3171
477 [OpenFOAM] OpenFOAM 설정파일 형식 (OpenFOAM 기본) 2016-10-28 2309
476 [OpenFOAM] OpenFOAM 개요 및 기본 (OpenFOAM 기본) 2016-10-14 2824
475 [IT열쇳말] 자바스크립트 2016-10-11 3337
474 Collaborative Filtering - 추천시스템의 핵심기술 2016-09-27 11386
473 [IT열쇳말] 파이썬 2016-09-23 3860
472 [IT열쇳말] 이클립스 2016-08-19 3639
471 Alfresco 유저 가이드 2016-08-16 197
맨 위로
맨 위로