Why GUI for OpenFOAM is good for both beginners and experts?

이미지
 Text User Interface(TUI), which is the default user interface of OpenFOAM, is not bad. Experienced users are able to configure anything they want through it. TUI is universal in that it can be edited with any familiar editors like old vim in Linux, notepad in Windows, and so on. Yet Graphical User Interface(GUI) gives additional convenience. Following is an excerpt from controlDict file and  corresponding GUI screenshot. As you may notice, GUI gives additional information through its organized layout. It groups relevant information, and users can read the information quickly. As you may agree, one cannot do CFD well from the day one when he/she starts learning OpenFOAM. It takes some time to learn and get used to it. Let's presume that one can carry out good CFD analysis when he/she gets more than 50% of knowledge about OpenFOAM. ( Of course, we have to study CFD theory first, which is more important. But, for now, let's confine our focus just on the User Interface. ) With GUI

BARAM 설치가이드

LINUX용 설치가이드 보기(클릭) WINDOW용 설치가이드 보기 (클릭)

BARAM 설치가이드(LINUX)

이미지
  BARAM LINUX용을 설치하기 위해서는 OpenFOAM-v6 가 먼저 설치되어야 합니다. 설치는  https://openfoam.org/version/6/ 에서 가능합니다. 1. BARAM 설치 먼저 Terminal을 열고 다운받은 설치 파일의 압축을 풀어줍니다. 압축을 푸는 명령어는 아래와 같습니다. unzip BARAM_LINUX-x.x.x.zip 압축을 풀게 되면 installBARAM-x.x.x.run 이라는 파일이 생성됩니다. 여기서 해당 run 파일을 실행시키면 설치가 완료됩니다. run 파일을 실행시키는 명령어는 아래와 같습니다. sh installBARAM-x.x.x.run 설치가 완료되면 바탕화면에 아래와 같은 바로가기가 생성이 됩니다. Terminal에서도 BARAM의 실행이 가능한데, 실행명령어는 아래와 같습니다. BARAM:  baram BARAM-Aero:  baram -aero BARAM-MultiRegion:  baram -multiRegion BARAM-Snappy:  baram -snappy BARAM의 삭제를 원하실 경우 Terminal에서 아래와 같은 명령어를 입력하면 삭제가 완료됩니다. uninstall_baram 감사합니다.

BARAM 설치가이드(WINDOW)

이미지
BARAM을 설치하기 위해서는 WSL, Ubuntu-20.04  등이 먼저 설치되어야 합니다.  모두 아래 글들을 통해 간단히 설치할 수 있습니다! 1. WSL, Hyper-V  WSL이란 간단히 이야기하면 '리눅스용 윈도우 하위 시스템' 입니다. 윈도우에서 손쉽게 리눅스를 이용할 수 있게 해주는 시스템이라고 이해하시면 편합니다. 윈도우 10부터는 이런 WSL을 지원해주고 있습니다. Hyper-V는 하드웨어 가상화를 제공하는 기능입니다. 즉, 가상 컴퓨터가 가상 하드웨어에서 실행된다고 생각하시면 됩니다. WSL을 활성화 시키는 방법은 아래와 같습니다. 먼저 시작버튼을 누르고  'Windows 기능 켜키/끄기' 를 입력한 후 선택해 클릭해줍니다. 아래와 같이 설정창이 뜨면  'Linux용 Windows 하위 시스템, Hyper-V' 을 켜줍니다. 확인버튼을 누르고 PC를 재부팅 해주면 WSL의 활성화가 완료됩니다.  2. WSL 설치 및 WSL2 업데이트 우분투란 리눅스 커널을 기반으로 한 리눅스 배포판 중 하나입니다. BARAM의 경우 우분투 운영체제에서 실행되므로 설치가 필요합니다. 우분투를 설치하는 방법은 아래와 같습니다. 먼저 시작버튼을 누르고  'Powershell' 를 입력한 후 관리자 권한으로 실행해줍니. wsl -l -o라는 명령어를 입력하여 online 상에서 받을 수 있는 wsl 배포판을 확인합니다. 아래 명령어를 입력하여 Ubuntu-20.04를 설치합니다. wsl --install Ubuntu-20.04 이후 Ubuntu-20.04 설치가 완료되었다면 아래 명령어를 입력하여 WSL 버전을 확인합니다. wsl -l -v 위 그림과 같이 Ubuntu-20.04의 버전이 1이 아닌 경우 아래 wsl 커널 업데이트 패키지 설치와 명령어를 입력합니다. https://bit.ly/3lDhLJ9 wsl --set-version Ubuntu-20.04 2 3. wslg 테스트  (WSL 버전이 2가

perfectFluid를 사용하여 물의 밀도를 온도의 함수로 나타내는 방법

 perfectFluid를 사용하면 밀도는 다음의 식으로 계산된다. rho = p / RT + rho0 위 식에서 R은 기체일 때는 기체상수이며, 액체일 때는 rho/(beta * T)가 된다. beta는 compressibility이다. 예) 25'C 물의 밀도는 997 kg/m3, compressibility는 4.609e-10 m2/N 이므로 R = 997  / (4.609e-10 * 298.15) = 7255 (ESI 버전의 튜토리얼에 있는 값) perfectFluid를 사용할 때 thermophysicalProperties는 다음과 같이 설정한다. ... thermoType {     type                              heRhoThermo;     mixture                       pureMixture;     equationOfState      perfectFluid;     ... } mixture {     ...     equationOfState     {          R          7255;          rho0     997;     } ... } 물인 경우 다음과 같이 간단하게 사용할 수도 있다. ... thermoType {     type              heRhoThermo;     mixture      pureMixture;     properties    liquid ;     energy          sensibleInternalEnergy; } mixture {     H2O; }

계산영역 내부의 patch 사용법 - baffle, porousJump, fan

 계산영역 내부에 두께가 없는 경계면(patch)을 만들고 이를 이용해서 baffle, porous jump, fan 등에 사용할 수 있는 방법을 설명한다. 계산영역 내부에 경계면을 만들기 위해서는 같은 위치에 master와 slave라는 두 개의 면이 있어야하고 이 두 면은 cyclic 혹은 mappedWall이라는 polyPatchType으로 연결되어 있어야 한다. snappyHexMesh로 격자를 만든다면 원하는 위치에 faceZone을 만들어 주어야 한다. fluentMeshToFoam 유틸리티를 이용할 때는 -writeSets 옵션을 사용하면 interior면이 faceSet으로 만들어진다. faceSet은 topoSet 유틸리티를 이용해서 faceZone으로 만들어 준다. topoSetDict 파일은 다음과 같다. --- topoSetDict ------------------------------------------- actions (     {          name               <name>;          type                  faceZoneSet;          action               new;          source             setToFaceZone;          sourceInfo              {               faceSet        <faceSetName>;          }     } ) -------------------------------------------------------------- faceZone으로부터 patch를 만들기 위해서는 createBaffles 유틸리티를 사용한다 . 이를 위해서는 system 폴더에 createBafflesDict 파일이 있어야하는데 다음과 같이 작성한다. --- createBafflesDict ------------------------------------- inte

복사열전달이 포함된 문제에서 단열조건 사용 방법

 복사열전달을 무시하는 경우 단열 벽면 조건은 온도 T의 조건을 zeroGradient를 사용하면 된다. 그러나 복사열전달이 있는 경우 zeroGradient 조건을 사용하면 벽면의 온도에 복사열전달의 영향이 전혀 나타나지 않는다. 단열 조건은 total heat flux가 0이라는 조건이므로,  복사에 의한 heat flux(qr)이 포함된 전체 heat flux가 0이 되어야 한다. 따라서 zeroGradient 조건 대신 externalWallHeatFluxTemperature 조건을 사용하고 heat flux를 0으로 주어야 한다. 이 조건에서는 계산의 안정성을 위해 qr에 대한 relaxation factor를 사용할 수 있다. 다음과 같이 사용된다. 0/T file ... adiabaticWall { type                         externalWallHeatFluxTemperature; kappaMethod     fluidThermo; mode                       flux; // optional qr                              qr; // field name of radiative heat flux  qrRelaxation        0.9; // relaxation factor of qr q                                 uniform 0; // total heat flux value                       $internalField; } ...