7월, 2020의 게시물 표시

유틸리티를 이용한 간편한 경계조건 셋업

1. 개요 OpenFOAM은 TUI(text user interface) 환경에서 사용해야 하기 때문에 해석을 위한 수치조건, 경계조건, 모델선택 등등 설정에 번거로운 점이 많다. 특히 경계조건 설정의 경우 각 경계면 마다 해석하는 solver에 맞는 field values에 각각 사용자가 원하는 경계조건을 입력해줘야 한다. 이러한 방식은 사용자로 하여금 OpenFOAM에서 제공하는 경계조건(OpenFOAM에서 말하는 basic/derived type)을 숙지해야하며 사용자가 입력 과정에서의 실수로 해석이 진행이 안되는 상황을 발생 시킬 수 있다. 오픈폼 사용을 위해 주로 사용하는 경계조건 타입을 특정 파일로 정리하고, 이를 이용한다면 사용자 입력 오류를 방지할 수 있으며 손쉽게 경계조건 설정이 가능할 것이다. 예를 들어 입출구를 가지는 일반적인 유동해석의 경우 입구나 출구에 사용하는 경계조건(입구: fixedValue, flowRateInletVelocity, surfaceNormalVelocity 등, 출구: zeroGradient, inletOutlet, totalPressure 등)을 정리하고, 이렇게 정리된 파일을 참고하여 사용자가 원하는 경계조건을 각 경계면에 사용할 수 있다. 이러한 방식은 OpenFOAM에서 주로 사용하는 방식이다. OpenFOAM에서는 해석 셋업에 필요한 특정 파일을 dictionary라 명하고 전처리, 후처리, 해석 셋업 등에 활용하고 있다. OpenFOAM에서 제공하는 dictionary 파일들은 '$WM_PROJECT_DIR/etc/caseDicts' 위치에서 확인이 가능하다. 이러한 방법을 응용해서 넥스트폼은 경계조건 설정을 위한 유틸리티(setConditions)와 특정 파일(API, boundaryConditions)을 제공하고 있으며 사용자는 간편하고 정확하게 경계조건 설정을 할 수 있다. 2. 특징 -유동해석을 위한 간편한 경계조건 설정 가능 -사용자 입력 오류를 방지 -정확한 경계조건 설정 가능 -

Docker를 이용해 Linux에서 Baram 사용하기

이미지
넥스트폼에서 Baram-v6.1의 Docker 이미지를 Docker hub에 공개하였다. 이를 이용하면 OpenFOAM 설치 없이 Baram을 쉽게 사용할 수 있다. Baram-v6.1에서 사용하는 OpenFOAM 버전은 openfoam6이다.  넥스트폼 홈페이지( http://nextfoam.co.kr/pd-Baram.php )에 공개된 Install-BARAM-v6.1.3_Docker.tar.xz 파일의 압축을 풀면 같은 이름의 폴더가 생성된다. 터미널에서 이 폴더로 이동해서 install 파일을 실행하면 설치가 완료되고 바탕화면에 아이콘이 생성된다. Baram-v6 아이콘을 더블 클릭하면 Baram이 구동된다. 도커는 사용자가 nextfoam이며 /home/nextfoam 아래에 OpenFOAM, tmp 등의 폴더와 함께 자신의 사용자 폴더가 있다. 그 아래에 호스트 컴퓨터의 모든 파일이 공유되어 있다.  지금은 클러스터에서는 사용할 수 없다. 사용방법은 Help 메뉴의 'User Guide', 'Tutorial Guide'를 참고.

Baram의 동작 원리

Baram은 (주)넥스트폼이 개발한 OpenFOAM 기반의 비압축성 유동/열전달 해석을 위한 패키지로, GNU GPL 라이선스로 공개하였다.( http://nextfoam.co.kr/pd-Baram.php ) Baram은 (주)넥스트폼이 개발한 OpenFOAM 패키지인 nextFoam( https://nextfoam.blogspot.com/2019/10/test.html )을 기반으로 다음의 순서로 동작한다. 1 ) 프로그램을 실행하면 createCase 유틸리티를 사용해서 계산 폴더와 system 폴더, controlDict 파일이 만들어진다. 2 ) 격자 파일을 읽어들이면 constant 폴더 아래에 polyMesh 폴더가 생성된다. 3 ) createSettings 유틸리티를 사용해서 constant, system 폴더에 각종 설정 파일이 만들어진다. 4 ) 물리 모델, 물성값, 초기조건, 경계조건, 수치해석조건, 계산조건 등을 설정한다. 5 ) 계산을 시작하면 setConditions 유틸리티를 이용해 fvSchemes, fvSolutions, 0 폴더 아래의 경계조건 파일들이 만들어진다. 6 ) 난류모델, 물성값, cellZone 조건, 병렬조건, 계산조건 등에 대한 파일이 만들어진다. 7 ) runSolver라는 스크립트 파일이 만들어지고 실행된다. 프로그램을 실행하면 계산 폴더는 ∼/.OpenFOAM/Baram temporary 이다. 저장하지 않고 프로그램을 종료하면 이 폴더는 없어진다.  프로그램을 실행하면 계산 폴더에 setup.xml 파일이 있다. 여기에 설정된 값들이 GUI에서 디폴트 값으로 사용되며 모든 입력은 이 파일에 저장된다. 디폴트 값을 바꾸고 싶다면 $FOAM_USER_APPBIN/Baram-6.x/setup.xml 파일에서 값을 변경해 주면 된다. Baram에서 만든 계산 폴더에는 setup.xml 파일과 함께 caseSetupScript.py라는 파일이 있다. 이 파일을 이용하면 GUI를 구동하지 않고 조건을 바꾸어 계산할

Docker를 이용해 MS Windows에서 Baram 사용 하기

이미지
넥스트폼에서 Baram-v6.1의 Docker 이미지를 Docker hub에 공개하였다. 이를 이용하면 MS Windows에서도 Baram을 쉽게 사용할 수 있다.  MS Windows에 Docker 프로그램을 설치하고 Baram-v6.1의 Docker 이미지를 받아와서 실행 스크립트를 만든 다음 실행하면 된다. 이 전체 과정을 하나의 설치 파일로 제작하여 넥스트폼 홈페이지에 공개하였다.( http://nextfoam.co.kr/pd-Baram.php ) windows의 버전이 10 home 이하인 경우는 Install-BARAM-v6.1.3-win10home.zip 파일을 10 pro인 경우는 Install-BARAM-v6.1.3-winpro.zip 파일을 사용한다. 압축을 풀고 install.ext 파일을 관리자 권한 으로 실행한다. 설치파일을 실행하면 Docker와 VcXsrv 프로그램의 설치 마법사가 나타난다. 아래 그림과 같이 설치하면 바탕화면에 ’Oracle VM’, ’Kitematic’, ’Docker Quick Start terminal’, ’XLaunch’, ’Baram-v6’, 'Baram-v6-snappy' 등의 아이콘이 나타난다. Docker 설치(windows 10 home) VcXsrv 설치 바탕화면에 생성된 아이콘 Baram-v6 아이콘을 클릭하면 Baram이 시작된다. 처음 실행할 때 git hub에서 이미지를 받아오는데 몇 분 정도가 소요된다.  Baram 실행 모습