선박 저항 – KCS(KRISO Container Ship)

격자 파일 다운로드
계산 파일 다운로드

개요

본 예제는 자유수면을 포함하는 선박의 저항 해석에 대한 검증 문제이다. 대상 선형은 KCS이며 아래 논문의 결과와 비교하였다. 자유수면 계산을 위해 interFoam 솔버를 사용하고, LTS(Local Time Step) 기법을 사용하는 정상상태 계산이며 난류모델은

를 사용한다.

Measurement of flows around modern commercial ship models, Kim,W J.Kim, Van, S H, Kim, D H, Experiments in Fluids, 2001

계산 및 실험 조건은 다음과 같다.

  • 선박의 속도 : 2.196

기준 면적(침수면적, wetted surface area) : 9.5121 draft : 0.3418

  • (격자에서 z좌표는 0)

프로그램의 구동 및 격자

프로그램 실행 후 [새 작업(New Case)]를 선택한다. 시작 창에서 [솔버 유형(Solver Type)]은 [압력기반(Pressure-based)]를, [다상유동 모델(Multiphase Model)]은 [Volume of Fluid]를 선택한다. 중력은 (0 0 -9.81)로 설정한다.

launcher 설정

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

기본조건(General)

정상상태 계산이기 때문에 모든 설정은 디폴트 조건을 사용한다. 시작 창에서 설정한 중력이 표시된다. 시작 창에서 중력을 주지 않았을 때 여기서 설정할 수 있다.

General 설정

모델(Models)

난류 모델은

모델을 사용하고 나머지는 디폴트 조건을 사용한다.

Turbulence Model 설정

물질(Materials)

본 예제는 이상유동이므로 두 개의 유체가 필요하다. [물질(Material)]의 상단 오른쪽의 (+)를 누르면 유체를 추가할 수 있다. water-liquid를 추가하고 이름을 water로 바꾸어 준다.

각 유체의 물성치는 다음과 같이 설정한다.

  • water
    • 밀도 : 1000
    • 점성계수 : 0.001
  • air
    • 밀도 : 1.225
    • 점성계수 : 1.79e-5

셀존 조건(Cell zone Conditions)

[셀존 조건(Cell Zone Conditions)]에는 region0가 있다.(다중영역일 때는 여러개의 영역이 표시된다.) 영역의 유체를 설정한다. region0를 더블 클릭하면 설정창이 열린다. [첫번째 유체(Primary Material)]은 Air, [두번재 유체(Secondary material)]은 water로 지정한다.

표면장력(Surface Tension)은 0을 사용한다.

경계조건(Boundary Conditions)

경계조건은 다음과 같이 설정한다.

  • far_inlet : 입구 속도(Velocity Inlet)
    • 속도 크기 : 2.196
    • 난류 강도(Turbulent Intensity) : 1
    • 난류 점도 비율(Turbulent Viscosity Ratio) : 10
    • 체적분율(Volume Fraction, water) : 0
  • far_outlet : 개수로 출구(Open Channel Outlet)
    • 속도 크기(Umean) : 2.196
    • 난류 강도(Turbulent Intensity) : 1
    • 난류 점도 비율(Turbulent Viscosity Ratio) : 10
  • far_top : 출구 압력(Pressure Outlet)
    • 전압력(Total Pressure) : 0
    • 유입류 난류 강도(Backflow Turbulent Intensity) : 1
    • 유입류 난류 점도 비율(Backflow Turbulent Viscosity Ratio) : 10
    • 유입류 체적분율(Backflow Volume Fraction, water) : 0
  • KCS_dummy_hub, KCS_hub_aft, KCS_hub_cap, KCS_hull, KCS_transom, KCS_deck : 벽면(wall)
  • centerplane, far_side, far_bottom : 대칭(symmetry)

기준값(Reference Values)

유체력계수를 계산하기 위한 기준값을 다음과 같이 설정한다.

  • 면적 : 4.75605(대칭 조건을 사용하므로 침수면적의 절반)
  • 밀도 : 1000
  • 길이 : 7.2786
  • 속도 : 2.196

수치해석 기법(Numerical Conditions)

수치해석 조건은 다음과 같이 설정한다.

  • 압력-속도 연성 기법(Pressure-Velocity Coupling Scheme) : SIMPLE
  • 운동량방정식 계산(Use Momentum Predictor) : Off
  • 이산화 기법(Discretization Schemes) : 압력은 Momentum Weighted Reconstruct, 나머지는 모두 2차 상류기법(Second Order Upwind)
  • 완화계수(Under-Relaxation Factors) : 모두 1
  • 안정성 향상(Improve Stability) : Off
  • 시간당 반복계산 회수(Max Iteration per Time Step) : 1
  • 압력 보정 회수(Number of Correctors) : 2
  • 다상유동(Multiphase)와 수렴 판정 기준(Convergence Criteria) : 디폴트 사용

모니터(Monitor)

선박의 유체력계수를 모니터링 한다.

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

초기화(Initialization)

초기조건은 다음과 같이 입력한다.

  • 속도 : (-2.196 0 0)
  • 압력 : 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)] 옵션을 사용하여 경계조건의 값도 바꾸어 준다.

계산

메뉴의 [병렬연산(Parallel)]-[환경설정(Environment)]를 클릭하고 원하는 코어수를 입력한다.

[계산 조건(Run Conditions)]에서 [계산회수(Number of Iterations)]을 2000으로 준다.

[계산시작(Start Calculation)] 버튼을 누르면 계산이 시작된다.

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

후처리

메뉴에서 [외부 프로그램(External tools)]-[ParaView] 버튼을 클릭해서 ParaView를 실행한다

병렬연산이면 [Case Type]을 [Decomposed Case]로 변경한다.

선박의 경계면들을 선택하고 [Coloring]을 [alpha.water]로 선택하면 다음과 같은 그림을 확인할 수 있다.