2020년 7월 28일 화요일

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

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. 특징

-유동해석을 위한 간편한 경계조건 설정 가능
-사용자 입력 오류를 방지
-정확한 경계조건 설정 가능
-Properties, turbulence model, fvSchemes, fvSolution 등 다양한 해석 셋업에 응용 가능


3. 사용방법

경계조건을 위한 설정은 nextFoam을 다운받으면 사용할 수 있다. nextFoam은 (주)넥스트폼에서 OpenFOAM을 기반으로 수렴성, 안정성, 사용편의성을 향상시킨 소스코드입니다.


유틸리티와 API, boundaryConditons 파일을 이용해서 경계조건 설정이 가능하다.

유틸리티 안내 및 사용방법 바로가기

제공하는 boundaryTypes(API) 및 boundaryConditions 사용방법 바로가기

추가로 초기조건(initialConditions)과 수치해석기법(numericConditions) 설정도 API와 유틸리티를 이용해서 가능하다.

초기조건, 수치해석기법 설정 바로가기


4. 소스코드 다운로드

소스코드 다운로드 바로가기

댓글 없음:

댓글 쓰기