Dynamic Mesh – Rigid Body Dynamics, 1 DoF motion
개요


Dynamic Mesh 기능 중 Rigid Body Dynamics의 간단한 예제이다. 2차원 실린더의 vortex shedding에 의해 발생하는 실린더의 운동을 y축 방향만 고려하는 1 자유도 운동이다.
실린더 직경은 0.2 m, 유동 속도는 0.1 m/s이고, 층류 유동으로 가정하였다.
프로그램 구동 및 격자
프로그램 실행 후 [새 작업(New Case)]를 선택한다. 시작 창에서 [솔버 유형(Solver Type)]은 [압력기반(Pressure-based)]를, [다상유동 모델(Multi-phase Model)]은 [None]을 선택한다. 중력은 (0 0 0)으로 설정한다.

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

모델(Models)
모두 디폴트 조건을 사용한다.
물질(Materials)
디폴트인 공기를 그대로 사용한다.
셀존 조건(Cell zone Conditions)
디폴트 조건을 그대로 사용한다.
경계조건(Boundary Conditions)
입구는 Velocity Inlet, 출구는 Pressure Outlet 조건을 사용한다.
- in : Velocity Inlet
- out : Pressure Outlet
- sym1, sym2 : Symmetry
- back, front : Empty
- Cylinder : Wall, Moving Wall – Mesh Motion



이동 격자(Dynamic Mesh)
격자의 운동을 지정한다. Motion Type을 Rigid Body Dynamics로 설정한다.


Solver와 Acceleration Factors는 디폴트 값을 사용한다.
아래쪽의 Add 버튼을 눌러 물체를 추가하고 다음과 같이 설정한다.
- Parent : None
- Mesh Deformation Range
- Offset from surface : 0.005
- Outer Distance : 1.5
- Inertia
- Mass : 0.01
- Center of Inertia : (0 0 0) – 실린더의 중심 좌표
- Local Coordinate Frame은 디폴트를 사용한다.
- Boundaries : cylinder를 선택한다.
- Joints : y 방향 운동만 가능하게 설정한다.
- Add Joint 버튼을 누르고 Prismatic을 선택한다.
- Direction은 (0 1 0)을 입력한다.

수치해석 기법(Numerical Conditions)
이산화 기법(Discretization Schemes)을 다음과 같이 선택한다.
- Time : Second Order Implicit
- Pressure : Momentum Weighted Reconstruct
- Momentum : Second Order Upwind

나머지는 모두 디폴트 값을 사용한다.
초기화(Initialization)
X-velocity에 0.1을 입력하고 Initialize 버튼을 누른다.
계산
메뉴의 [파일(File)]-[저장(Save)] 버튼을 클릭하여 저장한다.
메뉴의 [Parallel]-[Environment]에서 원하는 코어수를 입력한다.
정상상태 계산 결과를 초기조건으로 사용하여 비정상상태 계산을 시작한다. 다음의 순서로 진행한다.
- [General]에서 Time을 Steady로 바꾼다.
- [Run Conditions]에서 Number of Iterations는 1000, Save Interval은 1000을 입력한다.
- [Run]에서 [Start Calculation]을 눌러 계산을 시작한다.
- 계산이 완료되면 [General]에서 Time을 Transient로 바꾼다.
- [Run Conditions]에서 [Time Stepping Method]를 Adaptive로 바꾸고, Courant Number를 1, End Time을 100으로 준다. Save Interval은 0.2로 준다. (Transient로 바꾸고 다른 곳으로 이동하면 마지막 결과를 비정상상태 계산의 초기값으로 사용할 것인지 묻는 창이 나타나는데, Yes를 클릭한다.)
- [Run]에서 [Start Calculation]을 눌러 계산을 시작한다.


후처리
메뉴에서 [외부 프로그램(External tools)]-[ParaView] 버튼을 클릭해서 paraview를 실행한다.
병렬연산이면 [Case Type]을 [Decomposed Case]로 변경한다.
Coloring을 U로 바꾼다.
[Camera Parallel Projection]을 활성화한다.
Play 아이콘을 누르면 다음과 같은 결과를 확인할 수 있다.
