KCS(KRISO Container Ship)
* 격자 파일 다운로드
* 계산 파일 다운로드
1. 개요
본 예제는 자유수면을 포함하는 선박의 저항 해석에 대한 검증 문제이다. 대상 선형은 KCS이며 아래 논문의 결과와 비교하였다. 자유수면 계산을 위해 interNFoam 솔버를 사용하고, LTS(Local Time Step) 기법을 사용하는 정상상태 계산이며 난류모델은 _SST k-omega_를 사용한다.
Measurement of flows around modern commercial ship models, Kim,W J.Kim, Van, S H, Kim, D H, Experiments in Fluids, 2001
계산 및 실험 조건은 다음과 같다.
- speed : 2.196 $m/s$
- reference area(wetted surface area) : 9.5121 $m^2/s$
- draft : 0.3418 $m$ (격자에서 z좌표는 0)
2. 프로그램의 구동 및 격자 불러오기
프로그램 실행 후 launcher에서 ‘New Case’를 선택하고 이름을 지정한다. ‘Solver Type’은 Pressure-based, ‘Multiphase Model’은 Volume of Fluid’, Gravity는 (0 0 -9.81)로 설정한다.
launcher 설정
격자는 주어진 OpenFOAM의 polyMesh 폴더를 사용한다.
상단 탭에서 File - Load Mesh - OpenFOAM을 순서대로 클릭하고 polyMesh 폴더를 선택한다.
3. General
정상상태 계산이기 때문에 모든 설정은 디폴트 조건을 사용한다. launcher에서 설정한 중력이 표시된다. Launcher에서 중력을 주지 않았을 때 여기서 설정할 수 있다.
General 설정
4. Models
난류 모델은 $SST$ $k-\omega$ 모델을 사용하고 나머지는 Default를 사용한다.
Turbulence Model 설정
5. Materials
본 예제는 이상유동이므로 두 개의 유체가 필요하다. Material Configuration 부분의 상단 오른쪽의 (+)를 누르면 유체를 추가할 수 있다. water-liquid를 추가하고 이름을 water로 바꾸어 준다.
각 유체의 물성치는 다음과 같이 설정한다.
- water
- density : 1000
- viscosity : 0.001
- air
- density : 1.225
- viscosity : 1.79e-5
Materials 설정
6. Cell Zone Conditions
Cell Zone Conditions에는 region0가 있다.(multi-region일 때는 여러개의 region이 표시된다.) region의 유체를 설정한다. region0를 더블 클릭하면 설정창이 열린다. Primary Material은 air, Secondary material은 water로 지정한다. Surface Tension은 0을 사용한다.
Cell Zone Conditions 설정
7. Boundary Conditions
경계조건은 다음과 같이 설정한다.
- far_inlet
- type : Velocity Inlet
- Umag : 2.196
- turbulentIntensity : 1
- viscosityRatio : 10
- alpha.liquid : 0
far_inlet 경계조건
- far_outlet
- type : Open Channel Outlet
- Umean : 2.196
- turbulentIntensity : 1
- viscosityRatio : 10
far_outlet 경계조건
- far_top
- type : Pressure Outlet
- totalPressure : 0
- inflow turbulentIntensity : 1
- inflow viscosityRatio : 10
- inflow alpha.liquid : 0
far_top 경계조건
- KCS_dummy_hub, KCS_hub_aft, KCS_hub_cap, KCS_hull, KCS_transom, KCS_deck
- type : wall
wall 경계조건
- centerplane, far_side, far_bottom
- type : symmetry
8. Reference Values
유체력계수를 계산하기 위한 기준값을 다음과 같이 설정한다.
- Area : 4.75605(symmetry 조건을 사용하므로 wetted area의 절반)
- Density : 1000
- Length : 7.2786
- Velocity : 2.196
Reference Values
9. Numerical Conditions
수치해석 조건은 다음과 같이 설정한다.
- Pressure-Velocity Coupling Scheme : SIMPLE(디폴트)
- Use Momentum Predictor : Off
- Discretization Schemes : Pressure는 Momentum Weighted Reconstruct, 나머지는 모두 Second Order Upwind
- Under-Relaxation Factors : 모두 1
- Improve Stability : Off(디폴트)
- Max Iteration per Time Step : 1
- Number of Correctors : 2
- Multiphase와 Convergence Criteria : 디폴트 사용
Numerical Conditions
10. Monitors
선박의 유체력계수를 모니터링 한다.
Add-Forces 선택 후 다음과 같이 설정한다.
- Lift Direction : (0 0 1)
- Drag Direction : (-1 0 0)
- Center of Rotation : (0 0 0)
- Boundaries : KCS_dummy_hub, KCS_hub_aft, KCS_hub_cap, KCS_hull, KCS_transom, KCS_deck
Monitors 설정
11. Initialization
초기조건은 다음과 같이 입력한다.
- velocity : (-2.196 0 0)
- Pressure : 0
- Scale of Velocity : 2.196
- Turbulent Intensity : 1
- Turbulent Viscosity Ratio : 10
- Volume Fraction - water : 0
초기조건 설정
water 영역의 초기조건을 주기위해 Initialization-Advanced-Section-Create 를 클릭한 후 Section Type : Hex 를 선택한다. 범위와 값은 아래와 같이 입력한다.
- Min.point : (-999 -999 -999)
- Max.point : (999 999 0)
- Volume Fraction - water : 1
Override Boundary Value 옵션을 사용하여 경계조건의 값도 바꾸어 준다.
Section 초기화
12. Run Conditions & Run
‘Number of Iterations’를 2000으로 주고 계산을 시작한다.
병렬연산을 위해서는 메뉴의 Parallel을 실행하고 원하는 CPU 코어 개수를 입력한다.
병렬연산 설정
계산중인 화면
13. 후처리
External tools의 paraview 버튼을 클릭하여 paraview를 실행한다.
병렬연산인 경우 Case Type을 Decomposed Case로 변경한다.
선박의 경계면들을 선택하고 Coloring을 alpha.water로 선택하면 다음과 같은 그림을 확인할 수 있다.
선체의 자유수면 분포