라벨이 nextFoam인 게시물 표시

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

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. 특징 -유동해석을 위한 간편한 경계조건 설정 가능 -사용자 입력 오류를 방지 -정확한 경계조건 설정 가능 -...

nextFoam 사용법 - 초기조건

system/settings/initialConditions 파일에서 설정한다. initialConditions 파일은 다음과 같다. ---------------------------------------------------- region0 {     flow     {         p            uniform 0;         U            uniform (0 0 0);         T            uniform 300;     }     turbulence     {         velocityScale   uniform 1;         turbIntensity    uniform 0.001;         viscosityRatio  uniform 10;     } } 압력은 101325 Pa을 기준으로 상대 압력을 입력한다.

nextFoam 사용법 - 경계조건

system/settings/boundaryConditions 파일에서 설정한다. 설정할 수 있는 경계조건은 다음과 같다. (경계조건 추가 혹은 수정이 필요하면 ~/.OpenFOAM/6/API/boundaryTypes 을 수정하면 된다) Inflow/Outflow 경계조건 참고자료 다운로드하기 1. velocityInlet 적용 경계조건 - U : fixedValue - p : zeroGradient - T : fixedValue - k : NEXT::turbulentIntensityInletOutletTKE - epsilon : NEXT::viscosityRatioInletOutletTDR 설정 방법 type                     velocityInlet; U                         uniform (value_x value_y value_z); turbIntensity       uniform value; viscosityRatio     uniform value; ------------------------------------------------------------------ 2. surfaceNormalVelocityInlet 적용 경계조건 - U : NEXT::surfaceNormalVelocity - p : zeroGradient - T : fixedValue - k : NEXT::turbulentIntensityInletOutletTKE - epsilon : NEXT::viscosityRatioInletOutletTDR 설정 방법 type      ...

nextFoam 사용방법 - 수치해석 기법 설정

system/settings/numericConditions 파일에서 설정한다. 열전달을 포함한 비정상상태 솔버(buoyantPimpleNFoam)의 경우 numericConditions 파일은 다음과 같다. ---------------------------------------------------- .... solveFlow        yes; solveEnergy     yes; discretization {     time                firstOrder;     momentum     secondOrder;     energy            firstOrder;     turbulence      firstOrder; } relaxationFactors {     pressure          0.3;     momentum     0.7;     energy            1;     turbulence      0.7; } convergenceCriteria {     pressure           ( 0.05 0.001 );     momentum      ( 0.05 0.001 );     energy...

nextFoam 사용방법 - API

nextFoam은 오픈폼의 사용을 쉽게하기 위해 API를 제공한다. 사용법은 다음과 같다. 1. 해석 폴더의 생성 $ createCase -case <new folder name> <solver> 예) createCase -case test simpleNFoam - 터미널에서 위와 같이 입력하면 test라는 폴더가 생성되고 그 아래 system 폴더가 생성된다. system 폴더에는 controlDict 파일이 생성된다. -사용가능솔버 : simpleNFoam, pimpleNFoam, buoyantSimpleNFoam, buoyantPimpleNFoam, chtMultiRegionSimpleNFoam, chtMultiRegionPimpleNFoam 2. 격자 준비 만들어진 test 폴더로 이동해서 fluentMeshToFoam 혹은 ccm26ToFoam 등의 격자 변환 유틸리티를 실행하면 constant 폴더가 만들어지고 그 아래 polyMesh 폴더가 생성된다. 오픈폼 격자를 가져온다면 constant 폴더를 만들고 그 아래 polyMesh 폴더를 가져온다. 3. 해석에 필요한 파일 생성 $ createSettings - 터미널에서 createSettings를 실행하면 다음과 같은 파일들이 만들어 진다.(솔버가 simpleNFoam일 때) - constant/MRFProperties - constant/transportProperties - constant/turbulenceProperties - system/decomposeParDict - system/fvOptions - system/fvSchemes - system/fvSolutions - system/settings/boundaryConditions - system/settings/initialConditions - system/settings/numericConditions 4. 초기조건, 경계조건, 수치해석 기법 설정 ...

nextFoam이란

nextFoam은 (주)넥스트폼에서 openfoam5, openfoam6를 기반으로 OpenFOAM의 정확도, 안정성, 사용편의성 등을 향상시킨 소스코드입니다. Baram에서 사용하는 코드입니다. (주)넥스트폼의 홈페이지( http://nextfoam.co.kr/pd-Baram.php )에 Baram 패키지와 함께 공개되어 있습니다. 솔버 - simpleNFoam - pimpleNFoam - pimpleDyMNFoam - buoyantSimpleNFoam - buoyantPimpleNFoam - chtMultiRegionSimpleNFoam - chtMultiRegionPimpleNFoam 유틸리티 - createCase - createSettings - setConditions - decomposeNPar - reconstructNPar 관련 자료 1. Consistent Velocity Interpolation for SiMPLE and PIMPLE Algorith in Collocated Grid 2. 자연대류를 포함한 열전달 해석 솔버 개선 3. OpenFOAM 솔버의 문제점 및 해결 방안