DOI QR코드

DOI QR Code

A Study on CFD Uncertainty Analysis and its Application to Ship Resistance Performance Using Open Source Libraries

CFD의 불확실성 해석에 대한 고찰 및 소스 공개 코드를 이용한 선박저항성능에의 적용

  • Seo, Seonguk (Department of Ocean Engineering, Korea Maritime and Ocean University) ;
  • Song, Seongjin (Department of Ocean Engineering, Korea Maritime and Ocean University) ;
  • Park, Sunho (Department of Ocean Engineering, Korea Maritime and Ocean University)
  • 서성욱 (한국해양대학교 해양공학과) ;
  • 송성진 (한국해양대학교 해양공학과) ;
  • 박선호 (한국해양대학교 해양공학과)
  • Received : 2015.11.10
  • Accepted : 2016.08.11
  • Published : 2016.08.20

Abstract

In the present paper, Computational fluid dynamics (CFD) uncertainty analysis proposed by ITTC was investigated and applied to ship resistance performance using open source libraries, called OpenFOAM. Uncertainties for grid size, time step and iteration number were studied. Wave patterns and hull wave profile were compared for various uncertainty parameters. From results, grid size uncertainty was mainly contributed to simulation numerical uncertainty.

1. 서 론

최근 컴퓨터의 급속한 발달 및 보급으로 전산유체역학 (Computational fluid dynamics, CFD)에 의한 수치적 연구가 비약적인 발전을 이루어져 왔다. 또한, 조선 및 해양 산업에서 전산유체역학을 이용한 연구들이 다양하게 진행되어져 왔다. 전산 유체역학에 대한 의존도는 점차 증가하고 있으나, 결과가 포함하고 있는 불확실성에 대한 연구는 많이 진행되지 않은 실정이다.

수치해석의 불확실성 해석은 검증과 유효성 확인(verification & validation, V&V)이라는 방법론을 통해 수행되어 왔다. Coleman and Stern (1997)은 불확실성을 고려한 CFD 코드 검증방법을 자세히 제시하였고, Stern, et al., (2001)은 격자로부터 기인하는 오차가 해에 미치는 영향을 체계적으로 분석할 수 있는 접근법으로 격자의 신뢰도를 평가할 수 있음을 보였다. 이러한 방법을 이용하여 Wilson, et al., (2001)은 격자 신뢰도를 평가함으로써 선체에 작용하는 저항 및 선측 파형이 유효하게 예측되었음을 보였다. Lee, et al., (2008)은 CFD의 검증 및 신뢰성을 높이기 위해 Coleman이 제시한 이론을 바탕으로 불확실도를 분석하였고, 수치해석과정의 불확실도는 분할과 격자 구성 에러를 Richardson 외삽법을 이용하여 수치화하였다. Choi, et al., (2009)은 와류 생성기가 선박의 속도 성능에 미치는 영향을 추정하는데 있어 V&V를 이용하여 격자의 신뢰도를 검증하였다. 이와 같이 검증과 유효성 확인을 통한 불확실성 해석의 기본 개념과 일반화된 절차들은 ITTC를 통해 점차 체계화되고 있다.

본 논문에서는 ITTC (2008)에서 제공하는 방법을 이용하여 선박의 저항성능 해석시 발생하는 불확실성을 파악하고자 한다. 선박의 저항성능 해석에는 소스코드가 공개된 OpenFOAM을 사용하였다 (Park, et al., 2013). 또한 불확실성 해석에서 격자 크기(grid size)뿐만 아니라 시간 간격(time step)과 반복 횟수(iteration number)에 대해서 불확실성 해석을 수행하고, 종합적인 불확실성을 최종적으로 해석하였다.

 

2. 선박의 저항 계산방법

2.1 지배방정식

본 연구에서는 속도와 압력을 계산하기 위해 질량 보존 방정식, 운동량 보존 방정식을 사용하였다. 또한 난류를 해석하기 위해 질량 보존 방정식과 운동량 보존 방정식을 시간 평균하였고, 난류모델을 선정하였다. 공기와 물의 두 가지 상을 정의하기 위하여 체적비 이송 방정식을 사용하였다.

질량보존 방정식과 운동량 보존 방정식은 다음과 같다.

여기서, ρ는 밀도, 는 속도벡터를 나타낸다. S는 소스항을 나타내고, 이러한 소스항에는 중력가속도가 포함된다. 는 점성 응력 텐서를 나타내고 비압축성 유동에서 다음과 같이 표현된다.

여기서, 아래첨자 m은 혼합류를 의미하고 혼합류에서의 밀도(ρ)와 점성계수(μ)는 다음과 같이 정의된다.

여기서, a는 체적분율을 나타내고, 아래첨자, l과 ν는 액상과 기상을 의미한다.

난류를 고려하기 위해 운동량 보존 방정식을 시간평균하면 다음과 같이 Reynolds 응력항이 생성된다.

여기서, I는 단위 텐서를 나타낸다. μt는 난류점성계수를 나타내고, SST k – ω 난류모델을 사용하였다 (Menter, 1993).

아래와 같은 체적비 이송방정식을 고려하여 자유수면을 계산하였다.

2.2 경계조건

사용된 경계조건과 계산영역의 형상 및 치수는 Fig. 1과 같다. 입구면에서는 속도, 난류, 체적함수는 Dirichlet 조건으로 설정하였고, 압력은 Neumann 조건으로 설정하였다. 이와 반대로, 출구면에서 속도, 난류, 체적함수는 Neumann 조건으로 설정하였고, 압력은 Dirichlet 조건으로 설정하였다. 중앙 단면은 대칭 조건을 사용하였다. 또한 선체 표면은 no-slip조건으로 설정하였다. 전체 계산영역은 직사각형의 형태로 구성하였다.

Fig. 1Boundary conditions and domain size of KCS

계산영역의 크기는 모형선의 수선간 길이가 L이라고 정의하였을 때, 선수 앞쪽으로 L, 선미 쪽으로는 파의 반사를 방지하기 위해 2L로 설정하였다. 폭은 1L, 깊이는 1.8L의 크기로 설정하여 매끄러운 파형을 표현 할 수 있도록 설정하였다. 수면 위로는 0.45L으로 설정하였고, 자유수면 영역을 정도 높게 계산하기 위해 설계 흘수로부터 ±0.1L 범위에만 격자를 집중시켰다. 계산의 효율을 위해 선체의 반만 고려하여 계산을 진행하였다.

2.3 수치 방법

본 논문에서는 OpenFOAM의 solver 중 2상유동해석 프로그램인 interFoam을 사용하여 선박의 저항을 계산하였다. 비압축성 유동에서 속도와 압력을 계산하기 위해 질량 보존 방정식, 운동량 보존 방정식, 체적비 이송 방정식을 사용하였고, 난류모델은 SST k – ω 모델을 사용하였다. 셀 중심 차분법을 사용하였으며, 대류 항은 TVD scheme인 vanLeer 도식 (vanLeer, 1979)으로 차분을 적용하였고, 확산항은 2차 정확도의 중심 차분을 적용하여 계산하였다. 체적비는 하류차분과 상류차분을 혼합한 이산화 방법을 사용하여 계산하였다. 대수방정식의 수렴성을 증가시키기 위해 Algebraic Multi-Grid (AMG) 방법을 사용하였고, Gauss-Seidel 반복 계산법을 사용하여 대수방정식을 계산하였다.

2.4 대상선과 격자의 생성

선박의 저항성능을 계산하기 위하여 선박해양플랜트연구소에서 설계한 3,600TEU 컨테이너선인 KRISO container ship(KCS)를 대상 선박으로 설정하였다. 수치해석을 검증하기 위해 고정된 상태에서 계산하여 실험결과 (Kim, et al., 2001)와 비교하였다. 제원은 Table 1에 나온 것과 같다.

Table 1Principal particulars of KCS

형상 파일로부터 격자를 생성하기 위해 OpenFOAM이 제공하는 자동 격자 생성 유틸리티인 snappyHexMesh와 blockMesh를 사용하였다. 또한 자유수면의 영향을 정확히 고려하기 위해 자유수면 부근의 격자를 조밀하게 생성하였고, 수치 값의 변화량이 큰 영역인 선수 영역에 기존 격자보다 두 배의 밀집도로 격자를 생성하였다.

저항계산에서 사용된 격자는 약 235만개이고 불확실성 해석에서 기준이 되는 medium 값으로 설정하였다. Fig. 2는 기준이 되는 medium 격자에 대한 선박의 선수부분과 선미부분을 각각 나타낸 형상이다.

Fig 2.Applied bow and stern meshes of KCS(medium mesh)

 

3. 불확실성 해석방법

3.1 불확실성 해석절차

ITTC에서 제안하는 절차와 방법 (ITTC, 2008)에 따라 불확실성 해석을 진행하였다. 불확실성 해석에서 입력 파라미터(input parameter)로 나타낼 수 있는 수치적 오차로는 반복 횟수 (δI), 격자 크기(δG), 시간 간격(δT), 기타 변수(δP) 등으로 나타낼 수 있다. 종합적인 수치 에러(δSN)와 수치 불확실성(USN)은 다음과 같이 정의할 수 있다.

보정계수(C)를 사용하여 수정된 수치 불확실성(UScN)을 정의할 수 있다.

격자 크기와 시간 간격에 대한 불확실성을 구하기 위해 반복 및 불확실성 파라미터에 대한 수렴성 연구가 진행되어야 한다. 수렴상태를 결정하기 위해 3가지 격자계 및 시간 간격에 대한 각각의 수치 해를 , , 이라 할 때 식 (11), (12)을 이용해 수렴비(Ri)를 구할 수 있다. 여기서 i 는 수치적 에러에 해당되는 입력 파라미터에 해당된다.

수렴비(Ri)를 이용하여 해의 수렴상태를 판별할 수 있다.

식 (14)의 (i)로 수렴한 경우 ITTC 절차에 따라 Richardson 외삽법을 이용한다. 우선 refinement ratio (ri)은 입력 파라미터의 비율(ri = △xi,2/△xi,1 = △xi,3/△xi,2)로 나타낼 수 있다.

첫 번째, ri = ri,21 = ri,32 이면, 정도차수(order of accuracy, Pi)의 값은 다음과 같이 계산할 수 있다.

두 번째, ri,21 ≠ ri,32 일 때, 정도차수(Pi)의 값은 다음과 같이 구할 수 있다.

또한, 보정계수(Ci)의 값을 적용하여 불확실성(Ui), 수정된 오차(δ*i), 수정된 불확실성(Uic)을 정의할 수 있다. 여기서 pi,est는 한계 정도차수 값이다. 본 논문에서 한계 정도차수(pi,est)의 값은 2를 사용하였다.

3.2 격자 크기의 불확실성 해석 절차

격자 크기에 대한 불확실성을 구하기 위해 coarse, medium, fine 3가지 격자를 사용하였다. Table 2는 3가지 격자에 대한 크 기를 나타낸 것이고, Fig. 3은 3가지 격자에 대한 KCS 선수의 세부적인 형상을 나타낸 것이다. 여기에서 1, 2, 3은 각각 coarse, medium, fine 격자를 나타낸다. y+N 의 값은 coarse에서 fine 격자로 변화되면서 감소된 것을 확인할 수 있다.

Table 2Grid sizes for the uncertainty analysis

Fig. 3KCS bow magnified view of three meshes

계산 영역에서의 배경 격자의 수를 coarse 격자에서 medium 격자는 각 방향으로부터 1.33배, medium 격자에서 fine 격자는 각 방향으로부터 1.25배로 늘려 격자를 조밀하게 생성하였다. 비정렬 격자의 경우 격자의 임의성으로 인해 전체 격자의 수가 정확히 증가되지 못하는 한계가 있다. 그러나 snappyHexMesh와 blockMesh의 세부 제어를 통해 비교적 일관되게 증가하였다고 가정하고 연구를 진행하였다.

전체 격자 수 만으로 refinement ratio를 판별하기 어렵다. 따라서 격자의 길이 방향을 h라고 정의하였을 때, 3차원 계산에서 h의 값은 식 (23)와 같이 정의할 수 있다 (Celik, et al., 2008).

△V는 격자의 부피를 의미하며, N은 총 격자수를 의미한다. Table 3은 식 (23)으로부터 얻은 h의 값을 사용하여 rG,32, rG,21의 값을 나타내었다. Hanging node mesh와 cut cell mesh로 생성된 비정렬 격자는 refinement ratio의 비율이 다른 ri,21 ≠ ri,32의 형태로 계산된다.

Table 3Grid length h for refinement ratio

3.3 시간간격의 불확실성 해석 절차

시간 간격에 대한 불확실성 해석을 위해 시간 간격을 변화시키면서 계산하였다. Medium 격자를 기준으로 설정하였고 사용된 시간간격의 값은 √2배씩 증가 또는 감소하도록 설정하여 Table 4에 나타내었다. 격자 크기와 동일하게 1, 2 3은 각각 coarse, medium, fine 시간간격을 나타낸다.

Table 4Time step for the uncertainty analysis

시간 간격에 대한 불확실성의 경우에는 시간 간격의 값이 동일하게 증감하기 때문에 refinement ratio의 비율의 값이 동일한 ri,21 = ri,32 = √2 형태로 계산된다.

3.4 반복 횟수의 불확실성 해석 절차

반복 횟수에 대한 불확실성 해석은 시간 간격 불확실성과 동일하게 medium 격자를 기준으로 설정하였다. 반복 횟수 불확실성 계산의 경우에는 입력 파라미터 값을 정할 수 없으므로 다른 방법으로 불확실성을 해석해야 된다.

반복 횟수에 따라 결과가 진동하며 수렴하는 경우 최종 2주기를 기준으로 결과의 최대값(SU)과 최소값(SL)을 찾은 후, 두 값의 평균의 절대값에 해당되는 오차에 대한 반복 횟수 불확실성(UI)을 계산하는 방법을 이용한다.

 

4. 불확실성 해석 결과

4.1 격자 크기의 불확실성 해석 결과

격자 크기를 coarse, medium, fine 격자로 변경하여 KCS에 작용하는 전체저항의 값과 실험결과 (Kim, et al., 2001)와 비교한 오차를 Table 5에 표기하였다. Coarse 격자에서 fine 격자로 조밀해질수록 비교오차는 점점 감소하여 실험값과 거의 비슷한 결과를 얻었다.

Table 5CT for three grids

3가지 격자계에 대한 불확실성 검증 결과는 3.1와 3.2의 불확 실성 해석 절차에 따라 계산하여 Table 6에 정리하였다. 여기에서 한계 정도차수(PG,est)의 값은 2를 사용하였으며, refinement ratio는 rG,21 ≠ rG,32 에 관련된 식 (16-18)을 적용하여 PG 값을 구하였다. RG 의 값이 0과 1사이에 있으므로 단조 수렴한다고 가정할 수 있으며 정도차수(PG) 값은 2.203으로 한계 정도차수 (PG,est) 값에 근접한 것을 알 수 있다. 또한 보정계수(C)는 0.972의 값으로 1에 상당히 근접하는 것으로 볼 때, 수치 해는 수렴하는 값의 근접영역에 있다고 볼 수 있다. 따라서 Richardson 외삽법을 사용하여 오차와 불확실성을 계산할 수 있다. 또한 보정계수(C) 값을 불확실성에 적용하여 수정된 수치 불확실성(UGc) 값을 나타낼 수 있다. 수정되지 않은 수치 불확실성(UG) 값은 8.01%이고, 수정된 수치 불확실성(UGc)의 값은 0.79%로 상당히 감소하게 된다.

Table 6Grid uncertainty analysis results %* of fine grid mesh value

4.2 시간 간격의 불확실성 해석 결과

Table 7에서는 시간 간격을 √2만큼 증가 또는 감소시키면서 도출한 결과 값을 실험 결과와 비교하였다. 3가지 시간간격에 대한 불확실성 검증 결과는 3.1과 3.3의 절차에 따라 Table 8에 정리하였다. 시간에 대한 불확실성(UT)는 0.145%이고 시간에 대한 수정된 불확실성(UTc)는 0.036%로 매우 작은 값임을 알 수 있다.

Table 7CT for three time steps

Table 8Time step uncertainty analysis results %* of fine time step value

4.3 반복 횟수의 불확실성 해석 결과

반복 횟수의 불확실성 해석은 medium 격자를 사용하여 계산된 CT 변화를 이용하였다. Fig. 4는 반복 횟수에 따른 CT 변화를 보여주고 있다. CT의 평균이 반복 횟수 증가에도 변화하지 않을 경우 계산 종료 직전 진동하는 두 주기를 보여준다. 식 (24)를 이용하여 반복 횟수에 대한 불확실성(UI)에 대한 계산된 값을 Table 9에 나타내었다.

Fig. 4CT of medium mesh for last two oscillatory periods

Table 9Iteration number uncertainty analysis results %* of medium grid mesh value

4.4 수치 불확실성 해석 결과

격자 크기, 시간 간격, 반복 횟수에 대한 종합적인 수치 불확실성을 식 (9), (10)을 사용하여 계산하였다. 수정되지 않은 수치 불확실성(USN)과 수정된 수치 불확실성(UScN)의 값은 Table 10에 나타내었다.

Table 10Uncorrected and corrected simulation numerical uncertainties for total resistance coefficient

 

5. 결 론

ITTC에서 제시하는 불확실성 해석 절차에 대해 알아보고 소스 공개 코드인 OpenFOAM을 이용하여 선박의 저항성능해석 결과에 적용하였다. 격자 크기, 시간 간격, 반복 횟수에 대한 오차를 Richardson 외삽법을 이용하여 불확실성을 수치화 하였고, 종합적인 수치 불확실성을 계산하였다.

계산 결과, 수정되지 않은 격자 크기 불확실성(UG)은 8.01%, 시간에 대한 불확실성(UT)은 0.145%, 반복 횟수에 대한 불확실성(UI)은 9.70%로 최종 수치 불확실성(USN)은 12.58%의 오차가 발생하였다. 보정계수를 사용하여 불확실성을 측정하는 경우 격자 크기 불확실성(UGc)은 0.79%, 시간 간격에 대한 불확실성(UTc)은 0.036%로 최종적인 수정된 수치 불확실성(UScN)은 0.79%의 오차가 발생하였다.

격자와 반복수에 대한 불확실성의 오차가 대부분을 차지하였고, 시간에 대한 불확실성에 대한 불확실성은 상대적으로 낮은 수치를 보였다. 수치화된 불확실성의 값은 OpenFOAM의 선박 저항의 검증을 위한 오차 범위를 나타내는 척도로써 활용이 가능할 것으로 보인다.

본 논문에서는 전체저항에 대해 불확실성을 해석하였으나, 향후 국부적인 유동인 파형 등에 대한 불확실성 연구가 필요하다.

References

  1. Celik, I.B. Ghia, U. Roache, P.J. Freitas, C.J. Coleman, H. & Raad, P.E., 2008. Procedure for Estimation and Reporting of Uncertainty Due to Discretization in CFD Applications. Journal of Fluids Engineering, 130(7), pp.078001. https://doi.org/10.1115/1.2960953
  2. Choi, J.E. Kim, J.H. Lee, S.B & Lee, H.G., 2009. Computational Prediction of Speed Performance for a Ship with Vortex Generator. Journal of the Society of Naval Architect of Korea, 46(2), pp.136-147. https://doi.org/10.3744/SNAK.2009.46.2.136
  3. Coleman, H.W. & Stern, F., 1997. Uncertainties and CFD Code Validation. Journal of Fluids Engineering, 119(4), pp.795-803. https://doi.org/10.1115/1.2819500
  4. ITTC – Quality Manual 7.5-03-01–01, 2008. CFD General. Uncertainty Analysis in CFD verification and Validation Methodology and Procedures. ITTC Recommended Procedures and Guidelines.
  5. Kim, W.J. Van, S.H & Kim, D.H., 2001. Measurement of Flows Around Modern Commercial Ship Models. Experiments in Fluids, 31, pp.567-578. https://doi.org/10.1007/s003480100332
  6. Lee, J.H. Yang, Y.R. Shin, S.M. Myong, R.S. & Cho, T.H., 2008. The investigation of uncertainty for the CFD result validation. Proceeding of the Korean Society for Computational Fluids Engineering Spring Conference, pp.79-83.
  7. Menter, F.R., 1993. Zonal two equation k-w turbulence models for aerodynamic flows. in Proceedings of the 24th Fluid Dynamics Conference, Orlando, Fla, USA, July 1993, AIAA pp.93-2906
  8. Park, S. Park, S.W. Rhee, S.H. Lee, S.B. Choi, J.-E. & Kang, S.H., 2013. Investigation on the Wall Function Implementation for the Prediction of Ship Resistance. International Journal of Naval Architecture and Ocean Engineering, 5, pp. 33-46 https://doi.org/10.2478/IJNAOE-2013-0116
  9. Stern, F. Wilson, R.V. Coleman, H.W. & Paterson, E.G., 2001. Comprehensive Approach to Verification and Validation of CFD Simulations-Part 1: Methodology and Procedures. Journal of Fluids Engineering, 123(4), pp.793-802. https://doi.org/10.1115/1.1412235
  10. vanLeer, B., 1979. Towards the Ultimate Conservative Difference Scheme. Journal of Computational Physics, 32(1), pp.101-136. https://doi.org/10.1016/0021-9991(79)90145-1
  11. Wilson, R.V. Stern, F. Coleman, H.W. & Paterson, E.G., 2001. Comprehensive Approach to Verification and Validation of CFD Simulations-Part 2: Application for Rans Simulation of a Cargo/Container Ship. Journal of Fluids Engineering, 123(4), pp.803-810. https://doi.org/10.1115/1.1412236