와류 진동(Vortex Shedding)
개요
본 예제는 2차원 비정상상태 층류 유동해석 예제로, 레이놀즈 수 100인 2차원 실린더 주변의 와류 진동(vortex shedding) 문제이다.
계산 조건은 다음과 같다.
- 솔버 : buoyantPimpleNFoam
- 난류 모델 : laminar
- 레이놀즈 수 : 100
프로그램의 구동 및 격자
프로그램 실행 후 [새 작업(New Case)]를 선택한다. 시작 창에서 [솔버 유형(Solver Type)]은 [압력기반(Pressure-based)]를, [다상유동 모델(Multiphase Model)]은 [None]을 선택한다.

격자는 주어진 polyMesh 폴더를 활용한다. 상단 탭에서 [파일(File)]-[격자 불러오기(Load Mesh)]-[OpenFOAM]을 순서대로 클릭하고 polyMesh 폴더를 선택한다.
기본조건(General)
시간(Time)을 비정상상태(Transient)로 변경한다. 나머지는 디폴트 조건을 사용한다.

모델(Models)
난류 모델은 층류(Laminar)를 사용한다.

물질(Materials)
본 예제에서는 = 1
조건을 사용한다. 이 때 레이놀즈 수가 100이 되는 조건으로 물성치를 설정한다.
- 밀도 : 1
점성 계수 : 0.01

경계조건(Boundary Conditions)
아래와 같이 경계면 타입과 경계값을 설정한다.
- cylinder : 벽면(Wall)
- 속도조건(Velocity Condition) : 정지(No Slip)

- sym : 대칭(Symmetry)
- out : Pressure Outlet
- Total Pressure : 0 (Pa)

- in : 입구 속도(Velocity Inlet)
- 속도 크기(Velocity Magnitude) : 1 (m/s)

- frontAndBackPlanes : 2차원 경계(Empty)
기준값(Reference Values)
본 예제에서는 실린더의 항력계수(Drag Coefficient)와 양력계수(Lift Coefficient)를 확인한다. 이를 위해 기준값을 아래와 같이 설정한다.
- 면적(Area) : 1
- 밀도(Density) : 1
- 길이(Length) : 1
- 압력(Pressure) : 0
- 속도(Velocity) : 1

수치해석 기법(Numerical Conditions)
본 예제에서는 아래와 같이 설정을 변경한다.
- 운동량 방정식 계산(Use Momentum Predictor) : 활성화
- 이산화 기법(Discretization)
- 시간 : 2차 음해법(Second Order Implicit)
- 압력 : Momentum Weighted Reconstruct
- 운동량 : 2차 상류기법(Second Order Upwind)
- 시간당 반복계산 회수(Max iterations per Time Step) : 10
- 압력보정 회수(Number of Correctors) : 2
나머지는 디폴트 조건을 사용한다.

모니터(Monitor)
본 예제에서는 실린더에 작용하는 항력/양력계수(Drag/Lift Coefficient)와 실린더 중심에서 1m 떨어진 지점의 속도/압력을 모니터링 한다.
실린더에 작용하는 항력/양력계수
- [추가(Add)]-[힘(Forces)] 버튼을 선택한다.
- 자동저장간격(Write Interval) : 1
- Lift Direction : 0 1 0
- Drag Direction : 1 0 0
- Center of Rotation : 0 0 0
- Boundaries : cylinder

실린더 중심에서 1m 떨어진 지점의 속도, 압력
- Add – Points 버튼을 선택한다.
- Point Monitoring은 아래와 같이 설정한다.
- Write Interval : 1
- Field : Pressure
- Coordinate : 1 0 0

같은 방식으로 동일한 지점의 속도 크기(Velocity Magnitude) 모니터링도 설정한다.

초기화(Initialization)
X-속도에 1을 입력하고 나머지 값들은 디폴트값을 사용한다.
하단의 [초기화(Initialize)] 버튼을 클릭한다. 그 후, 메뉴의 [파일(File)]-[저장(Save)] 버튼을 클릭하여 저장한다.

계산
메뉴의 [병렬연산(Parallel)]-[환경설정(Environment)]를 클릭하고 원하는 코어수를 입력한다.
[계산 조건(Run Conditions)]은 다음과 같이 설정하고 [계산시작(Start Calculation)] 버튼을 누르면 계산이 시작된다.
- 시간전진기법(Time Stepping Method) : 적응시간기법(Adaptive)
- Courant Number : 1
- 종료시간(End Time) : 150
- 자동 저장 간격(Save Interval) : 0.5



계산이 시작되면 아래와 같이 잔차(residual)과 모니터링 그래프가 그려진다.


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

상단 툴바의 [Solid Color]를 [U] 혹은 [p_rgh]로 변경하고 [play] 아이콘을 클릭한다.

