시로코팬(Sliding Mesh)
개요
본 예제는 비정상상태 비압축성 유동해석 예제이다. 시로코팬 내부에서 입펠러가 회전할 때 내부의 유동을 예측하는 문제이다.
다중기준좌표계(MRF) 방법을 사용해서 정상상태 해석을 하고, 이 결과를 초기조건으로 미끄럼 격자(sliding mesh) 방법으로 비정상상태 계산을 한다.
계산 조건은 다음과 같다.
- 솔버 : buoyantPimpleNFoam
- 난류 모델 :
model 밀도 : 1.225 점성 계수 : 1.79e-5
- 임펠러 회전 수 : 2,000 RPM
프로그램의 구동 및 격자
프로그램 실행 후 [새 작업(New Case)]를 선택한다. 시작 창에서 [솔버 유형(Solver Type)]은 [압력기반(Pressure-based)]를, [다상유동 모델(Multiphase Model)]은 [None]을 선택한다.

격자
격자는 fluent 격자를 변환하여 사용한다.
메뉴에서 [File]-[Load Mesh]-[Fluent(ASCII)]를 선택하면 파일 선택창이 열린다. 다운로드한 siroccofan.msh 파일을 선택하면 아래와 같은 창이 열린다.

이 격자는 fluid와 rotating이라는 두 개의 셀존을 갖고 있다. 이 두개의 셀존과 region1, region2라는 두 개의 영역(region)이 표시되어 있다. region2 오른쪽의 (+) 아이콘을 누르면 영역이 추가된다. 다중영역 격자로 변환하기 위한 옵션이다. 이 문제는 다중영역 문제가 아니기 때문에 두 셀존 모두 region1으로 두면 된다. region2 아래의 휴지통 아이콘을 눌러 region2를 삭제해도 된다.
정상상태 계산
기본조건(General)
[시간(Time)]은 [정상상태(Steady)], [중력(Gravity)]는 (0 0 0), [작동 조건(Operating Conditions)]는 101325를 사용한다.

모델(Models)
난류 모델은
모델을 사용한다.

물질(Materials)
본 예제에서 작동 유체는 공기이다. 유체의 물성치는 Default 조건을 사용한다.
셀존 조건(Cell zone Conditions)
셀존 조건에서 rotating을 더블 클릭하면 새로운 창이 열린다. [다중기준좌표계(MUltiple Reference Frame, MRF)]를 선택하고 아래 값들을 입력한다.
- 회전속도(Rotating Speed) : 2,000 (RPM)
- 회전축 중심(Rotation-Axis Origin) : (0, 0, 0)
- 회전축 방향(Rotation-Axis Direction) : (0, 0, 1)
- 셀존 안의 움직이지 않는 경계면(Static Boundary) : interface-rotating, interface-stat
- MRF를 사용할 셀존에 있는 경계면들 중 회전하지 않는 면들을 선택해 준다. 두 개의 인터페이스 면들 중 하나는 해당 셀존에 있고 나머지는 바깥에 있다. 보통은 어느 것이 해당되는지 알기 어렵기 때문에 두 개를 모두 선택하면 된다. 해당 셀존 밖에 있는 경계면이 포함되어도 문제되지 않는다.

경계조건(Boundary Conditions)
아래와 같이 경계면 타입과 경계값을 설정한다.
- interface-stat, interface-rotating : 내부 인터페이스(Internal Interface)
- interface-stat : 내부 인터페이스(Internal Interface)로 변경 후, 연결된 경계면(Coupled Boundary)는 interface-rotating 선택

- axis : Wall
- 속도 조건(Velocity Condition) : 회전속도(Rotational Moving Wall)
- 회전속도(Speed) : 2000 (RPM)
- 회전축 중심(Rotation-Axis Origin) : 0 0 0
- 회전축 방향(Rotation-Axis Direction) : 0 0 1

- axis-r, blades, externalwalls, walls : 벽면(Wall)
- 속도 조건(Velocity Condition) : 정지(No Slip)

- inlet : 입구 속도(Velocity Inlet)
- 속도 크기(Velocity Magnitude) : 1 (m/s)
- 난류 강도(Turbulent Intensity) : 1 (%)
- 난류 점도 비율(Turbulent Viscosity Ratio) : 10

- outlet : 출구 압력(Pressure Outlet)
- 압력(Pressure) : 0 (Pa)

수치해석 기법(Numerical Conditions)
디폴트 조건을 사용한다.
초기화(Initialization)
모두 디폴트 값을 사용한다.
값을 입력하고 하단의 [초기화(Initialize)] 버튼을 클릭한다. 그 후, 메뉴의 [파일(File)]-[저장(Save)] 버튼을 클릭하여 저장한다.

계산
메뉴의 [병렬연산(Parallel)]-[환경설정(Environment)]를 클릭하고 원하는 코어수를 입력한다.
[계산 조건(Run Conditions)]은 다음과 같이 설정하고 [계산시작(Start Calculation)] 버튼을 누르면 계산이 시작된다.
- [계산회수(Number of Iterations)] : 1000
- [자동 저장 간격(Save Interval)] : 100

유동이 비정상상태이기 때문에 잔차(residual)이 수렴하지는 않지만, 비정상상태 계산을 위한 초기조건으로는 사용하기에 문제는 없다.
비정상상태 계산
기본조건(General)
[시간(Time)]을 [비정상상태(Transient)]로 바꾼다. 다음과 같은 창이 나타난다. 정상상태 계산 결과를 비정상상태 계산의 초기조건으로 사용할 것인지를 묻는다. [Yes]를 선택하면 마지막으로 저장된 데이터가 초기조건으로 설정되고, 시간 0부터 계산이 시작된다.

셀존 조건(Cell zone Conditions)
‘rotating’ 셀존의 조건을 [미끄럼 격자(Sliding Mesh)]로 바꾼다. [셀존 안의 움직이지 않는 경계면(Static Boundary)] 설정 부분은 사라진다.
경계조건(Boundary Conditions)
움직이는 벽면에 대한 경계조건을 다음과 같이 바꾸어 준다.
- axis-r, blades : 벽면(Wall)
- 속도 조건(Velocity Condition) : 움직이는 벽(Moving Wall)

수치해석 기법(Numerical Conditions)
디폴트 조건을 사용한다.
계산
[계산 조건(Run Conditions)]은 다음과 같이 설정하고 [계산시작(Start Calculation)] 버튼을 누르면 계산이 시작된다.
- 시간 전진 기법(Time Stepping Method) : 일정(Fixed)
- 시간 전진 간격(Time Step Size) : 0.0001
- 종료 시간(End Time) : 0.3

계산이 시작되면 아래와 같이 잔차(residual)과 유체력 계수의 그래프가 그려진다.

후처리
팬 내부의 압력 분포를 확인해본다. 메뉴에서 [외부 프로그램(External tools)]-[ParaView] 버튼을 클릭해서 ParaView를 실행한다.
병렬연산이면 [Case Type]을 [Decomposed Case]로 변경한다.

[Slice] 기능을 활용하여 용기 내부의 단면을 자른다. [Z-normal] 버튼을 클릭 후, [Origin]을 다음과 같이 변경한다.
- Origin : (0.06 -0.017 0.05)
- Normal : (0 0 1)

아래 그림과 같이 팬 내부 속도 분포가 그려진다.
