관내 혼합(Mixing Pipe)
격자 파일 다운로드
계산 파일 다운로드
유튜브 동영상 링크
개요
본 예제는 정상상태 비압축성 유동해석 예제이다. 2개의 입구와 1개의 출구로 이루어진 원형 파이프 내부 유동의 혼합을 예측한다.
계산 조건은 다음과 같다.
- 솔버 : buoyantSimpleNFoam
- 난류 모델 : Standard k−epsilon model
- 밀도 : 1.225 kg/m3
- 점성 계수 : 1.79e-5 kg/ms
- 유동 조건 : 면적이 넓은 입구(in-1)의 속도는 5m/s, 면적이 좁은 입구(in-2)의 속도는 10m/s, outlet은 대기압 조건
프로그램의 구동
프로그램 실행 후 [새 작업(New Case)]를 선택한다. 시작 창에서 [솔버 유형(Solver Type)]은 [압력기반(Pressure-based)]를, [다상유동 모델(Multiphase Model)]은 [None]을 선택한다.

격자
격자는 주어진 polyMesh 폴더를 활용한다. 상단 탭에서 [파일(File)]-[격자 불러오기(Load Mesh)]-[OpenFOAM]을 순서대로 클릭하고 polyMesh 폴더를 선택한다.

※ 주의 사항 : OpenFOAM 격자를 읽을 때는 “polyMesh” 혹은 “constant” 폴더를 선택한다. OpenFOAM의 격자는 영역(region)이 하나인 경우 constant 폴더 아래의 polyMesh라는 폴더이며, 영역이 여러 개인 다중영역(multi-region)일 때는 여러 개의 polyMesh 폴더가 constant 폴더 아래의 영역 이름 폴더에 있다.
기본조건(General)
기본조건에서는 [시간(Time)], [중력(Gravity)], [작동압력(Operating Pressure)] 등을 설정할 수 있다. 본 예제에서는 디폴트 조건을 사용한다.

모델(Models)
모델에서는 [난류(turbulence)], [에너지(Energy)], [화학종(Species)], [사용자 정의 스칼라(User-defined Scalar)]를 설정할 수 있다. 다상유동 모델과 솔버 유형은 시작 창에서 설정한다.
본 예제에서는 Standard k−epsilon 모델을 사용한다.

물질(Materials)
물질에서는 작동 유체의 물성치를 설정할 수 있다. 지금 예제에서는 공기의 물성치를 그대로 사용한다.

셀존 조건(Cell Zone Conditions)
셀존 조건에서는 [생성항(Source)], [다중기준좌표계(MRF)], [미끄럼 격자(Sliding Mesh)] 등을 설정할 수 있다. 본 예제에서는 디폴트 조건을 사용한다.

경계조건(Boundary Conditions)
여러 경계면의 조건을 설정할 수 있다. 각 경계면을 선택하면 해당 경계면이 붉은색으로 변한다.
경계면을 마우스 오른쪽 버튼으로 클릭하면 경계면 타입을 변경할 수 있고, 더블 클릭하거나 아래의 [편집(Edit)] 버튼을 누르면 값을 설정할 수 있는 창이 열린다.
각 경계조건은 다음과 같이 설정한다.
- in-1 : 입구 속도(Velocity Inlet)
- 속도 크기(Velocity Magnitude) : 5 (m/s)
- 난류 강도(Turbulent Intensity) : 1 (%)
- 난류 점도 비율(Turbulent Viscosity Ratio) : 10
- in-2 : 입구 속도(Velocity Inlet)
- 속도 크기(Velocity Magnitude) : 10 (m/s)
- 난류 강도(Turbulent Intensity) : 1 (%)
- 난류 점도 비율(Turbulent Viscosity Ratio) : 10
- out : 출구 압력(Pressure Outlet)
- 압력(Pressure) : 0 (Pa)
- wall
- 속도 조건(Velocity Condition) : 정지(No Slip)
수치해석 기법(Numerical Conditions)
[이산화 기법(Discretization)], [완화계수(Relaxation factors)], [수렴 판정 기준(Convergence criteria)], [압력-속도 연성기법(Pressure-Velocity coupling)] 등의 항목을 설정할 수 있다.
본 예제에서는 아래와 같이 설정을 변경한다.
- 압력-속도 연성기법(Pressure-Velocity Coupling Scheme) : SIMPLEC
- 이산화 기법(Discretization Scheme)
- 압력 : Momentum Weighted Reconstruct
- 운동량 : 2차 상류기법(Second Order Upwind)
- 난류 : 2차 상류기법(Second Order Upwind)
- 완화계수(Under-Relaxation Factors)
- 압력, 운동량, 난류 : 0.9
- 수렴 판정 기준(Convergence Criteria)
- 압력 : 0.0001
- 운동량 : 0.001
- 난류 : 0.001

모니터(Monitor)
본 예제에서는 (0, 0, 1) 위치에서 압력을 모니터링 한다.
창 하단의 [추가(Add)]-[점(Points)]를 클릭해서 아래 그림과 같이 설정한다.
- 저장 간격(Write Interval) : 1
- 유동 변수(Field) : Pressure
- 좌표(Coordinate) : (0, 0, 1)

초기화(Initialization)
초기값으로 x, y, z 방향의 속도와 압력을 입력할 수 있다.
난류 모델을 사용할 경우 [속도 크기(Velocity Scale)], [난류 강도(Turbulent Intensity)], [난류 점도 비율(Viscosity Ratio)] 값을 입력하면 k와 epsilon 값이 계산되어 사용된다.
- 속도(Velocity)
- X-속도 : 0 (m/s)
- Y-속도 : 0 (m/s)
- Z-속도 : 0 (m/s)
- 압력(Pressure)
- 0 (Pa)
- 난류(Turbulence)
- 속도 크기 : 5 (m/s)
- 난류 강도 : 1 (%)
- 난류 점도 비율 : 10

값을 입력하고 하단의 [초기화(Initialize)] 버튼을 클릭한다. 그 후, 메뉴의 [파일(File)]-[저장(Save)] 버튼을 클릭하여 저장한다.
계산
[계산 조건(Run Conditions)]에서는 [계산회수(Number of Iterations)], [자동 저장 간격(Save Interval)], [병렬연산(Parallel)] 등을 설정한다.
본 예제에서는 모두 디폴트 조건을 사용한다.
이후, [실행(Run)]-[계산시작(Start Calculation)] 버튼을 누르면 계산이 시작된다.
잔차(residual)와 모니터링 그래프
후처리
BARAM은 ParaView를 이용한다. [외부 프로그램(External tools)]-[ParaView] 버튼을 누르면 ParaView가 구동된다.

ParaView를 초기 실행 시, 필요한 기능에 대한 설명은 다음과 같다.
- Skip Zero Time : 초기값을 제외한 결과를 보여준다.
- Case Type : cpu 개수에 따른 설정이다.
- Reconstructed Case : 1core 계산 혹은 Parallel로 계산을 진행했지만 reconstructPar를 진행한 OpenFOAM case
- Decomposed Case : Parallel 계산을 진행한 case
- Mesh Regions : 보고 싶은 Internal mesh, 경계면 등을 설정할 수 있다.
- Cell Arrays : 보고 싶은 물리량을 설정할 수 있다.

경계면 스칼라 분포
벽면에 걸리는 압력 분포를 그려본다. 초기 설정을 아래와 같이 해준다.
- Skip Zero Time : 비활성화
- Mesh Regions : internalMesh – 활성화
- 나머지 : Default
pρgh는 압력에서 중력에 의한 항 (ρgh)을 뺀 값으로, 이 문제와 같이 중력을 고려하지 않은 경우는 압력과 같은 값이다.
pρgh는 operating pressure 기준의 상대압이고 p는 절대압력이다.


축단면 스칼라 분포
파이프 내부의 압력 분포를 확인해본다.
[slice] 버튼을 클릭하고 방향을 Y-normal로 바꿔서 파이프 내부 압력을 확인한다.

