근래 여러 산업분야에서 높은 관심을 받으며 활발하게 연구되고 있는 인공지능(Artificial Intelligence)을 구성하는 머신러닝(Machine Learning)은 컴퓨터에게 미리 정의된 알고리즘을 적용하여 컴퓨터가 스스로 학습하여 사용자에게 유의미한 결과를 도출해주는 것으로써 이와 관련하여 Fluent GEKO 난류모델과 Fluent Adjoint Solver의 Gradient Based Optimization 기법이 적용된 Fluent 머신러닝 해석사례를 소개하고자 한다.
항공기가 착륙하는 과정에는 안전한 착륙을 위해서 항공기 속도를 최소화할 필요가 있는데 비행속도가 줄어들게 되면 양력 또한 감소하게 된다. 부족한 양력을 보충하기 위해 항공기는 받음각을 증가시켜 양력계수를 높이는 방법이나 Leading Edge Flap 혹은 Trailing Edge Flap을 작동시켜 항공기 날개의 익형길이를 증가시키는 방법을 이용하게 된다.
익형이 받음각이 증가시켜 일정한 범위를 벗어나게 되면 유동이 익형표면에서 떨어지게 되는 실속(Stall) 현상이 발생하게 되는데 계산에 소용되는 시간과 정확도에서 적절한 균형을 보여주는 k-ε 난류모델과 k-ω 난류모델과 같은 RANS(Reynolds-averaged Navier?Stokes) 계열의 난류모델은 이러한 고받음각 (High Angle of Attack) 해석조건에서는 시험값에 대비하여 정확도가 크게 떨어지게 된다.
본 해석사례에서 소개하고자 하는 내용은 이러한 고받음각 조건의 시험값이 있는 경우에 Fluent GEKO (Generalized k-ω Two-Equation Turbulence) 난류모델의 변수값을 Fluent Adjoint Solver를 이용한 최적설계기법을 적용하여 시험값과 최대한 동일하도록 보정한 후에 역시 동일한 Fluent Adjoint Solver에 내장된 머신러닝 기능을 이용하여 빠르게 학습시킨 후에 유사한 다른 고받음각 해석조건에서 추가적인 보정절차 없이 시험값과 유사한 결과를 도출하는 NREL S805 Airfoil 형상의 고받음각 해석사례이다.
[그림 1] NREL S805 Airfoil 형상
GEKO 난류모델은 Two Equation (k-ω) 난류모델을 기반으로 다양한 유동특성에 유연하게 대응할 수 있도록 “Free Coefficient” 개념을 적용하여 일반화시킨 난류모델로써 계산수식은 다음과 같다.
[그림 2] GEKO Model Equation
상기 수식의 변수에 적용할 수 있는 Free Coefficient는 다음과 같이 총 6개로써 각각의 Free Coefficient는 아래 기술된 특정한 유동장에 적용이 된다.
GEKO 난류모델은 아래 그림과 같이 Fluent Viscous Model에서 설정이 가능하며 GEKO Option에 기술되어 있는 Free Coefficient를 사용자가 입력할 수 있는데 머신러닝 해석에서는 Fluent Adjoint Solver가 사용자를 대신해서 Free Coefficient를 정의된 목적함수에 부합할 수 있도록 계산하게 된다.
[그림 3] Fluent GEKO 난류모델 설정
GEKO 난류모델의 사례를 보여주기 위해서 다음과 같이 익형의 유동박리현상에 영향을 미치는 CSEP 계수는 평편형상의 유동에서는 CSEP 값이 변화를 해도 열전달계수나 점성계수에 영향을 거의 미치지 못하는 반면에 Diffuser 형상과 같이 역압력구배 (Adverse Pressure-Gradient) 현상이 발생되는 유동에서는 큰 영향을 미치는 것을 확인할 수 있으며 이것을 S825익형 형상에 적용하게 되면 사용자가 적절한 입력값(ex. CSEP=2.5)을 입력하게 되면 유동박리가 발생되는 고받음각에서도 시험값과 유사한 결과를 얻을 수 있다.
[그림 4] 유동장 특성에 따른 CSEP 영향성
[그림 5] S825익형의 고받음각조건에서 CSEP 영향성
Fluent Adjoint Solver는 단수의 결과값에 상응하는 복수의 입력값의 영향성을 예측할 수 있는데 이것을 민감도라 정의하는데 예측된 민감도 해석 결과를 이용하여 다음과 같은 절차를 이용하여 형상최적설계를 진행할 수 있다. 머신러닝 해석에서는 이러한 기능을 이용하여 고받음각에서 사용자가 정의한 양력계수에 최대한 부합할 수 있도록 CSEP 계수값을 찾게 된다.
1. Run CFD (Known Process)
2. Calculate the Derivatives (Gradients)
3. Mapping Sensitivity Data
- Mapping sent back by derivatives
4. Update the Shape (Mesh)
- Based on the Sensitivity Data
- Based on the Environment Constraints
[그림 6] Fluent Adjoint Solver 최적설계 절차
앞서 기술된 NREL S805 Airfoil 형상의 받음각을 변화시키면서 양력계수값을 예측하면 다음 그림과 같은데 해석결과에서 볼 수 있듯이 저받음각 영역에서는 시험값과 대비하여 상당히 좋은 경향성을 보이지만 받음각 11도를 넘어 고받음각 영역으로 들어가게 되면 시험값은 유동박리 현상으로 인해 양력계수가 감소되지만 반면에 해석값은 계속 증가되는 경향을 보이며 시험값을 대비하여 최대양력계수값을 과도하게 예측한다.
[그림 7] NREL S805 Airfoil 양력계수 비교 (CFD vs. Experimental)
NREL S805 Airfoil 형상의 고받음각 해석조건에서 머신러닝해석을 수행하기 위해 다음 그림과 같은 해석조건에서 GEKO 난류모델을 적용하여 정상상태 공력해석을 수행하였고 해석격자는 약 8.6만개의 Hexahedral 격자를 이용하였다.
[그림 8] 정상상태 유동장 해석격자 및 해석조건
받음각 11도에서 예측된 양력값은 0.598115 (N) 으로써 시험값인 0.659496 (N)과 대비하여 약 10.3% 차이를 보이고 아래 그림과 같은 압력 및 속도분포를 확인할 수 있다.
[그림 9] Pressure Contour (GEKO Default)
[그림 10] Velocity Contour (GEKO Default)
Fluent Adjoint Solver를 이용하여 CSEP 계수값을 최적설계기법을 적용하기 위해서는 목적함수를 정의하여야 하는데 아래 표와 같이 받음각 11도에서의 시험값과 차이를 최소화시키는 목적함수를 아래 그림과 같이 설정할 수 있다.
[그림 11] Observables Set-Up
[그림 12] lift Definition
[그림 13] dlift Definition
[그림 14] abs(dlift) Definition
정의된 목적함수에 부합하는 GEKO 난류모델의 계수값을 최적설계하기 위해 아래 그림과 같이 Fluent Adjoint Solver를 설정한다.
[그림 15] Adjoint Solver Set-Up
[그림 16] GEKO Turbulence Model Set-Up
Fluent Adjoint Solver가 해석을 수행하기 위한 수치기법과 안정화기법은 아래 그림과 같이 설정한다.
[그림 17] Adjoint Solver Numerical Set-Up (1/2)
[그림 18] Adjoint Solver Numerical Set-Up (2/2)
마지막으로 최적설계 해석을 수행하기 위한 목적함수 선언 및 GEKO 난류모델의 초기화 과정은 아래 그림과 같이 설정한다.
[그림 19] Gradient Based Optimizer Set-Up (1/2)
[그림 20] Gradient Based Optimizer Set-Up (2/2)
[그림 21] GEKO CSEP Initialization
위와 같이 설정작업을 완료하고 해석을 수행하게 되면 공력해석과 최적설계해석이 순차적으로 진행되면서 아래 그림과 같이 정의된 목적함수를 최소화하는 CSEP 계수값을 반복해석을 통해 찾게 된다.
[그림 22] Gradient Based Optimization Calculation
최적설계가 완료되고 나면 아래 표와 같이 기존의 공력해석을 통해 발생하였던 약 10.3% 차이값이 크게 감소하여 0.23% 차이값으로 줄어든 것을 확인할 수 있으며 이때 예측된 CSEP 계수값의 분포와 속도분포는 아래 그림과 같다.
[그림 23] Adjoint GEKO CSEP Contour
[그림 24] Velocity Contour (Optimization)
최적설계 전후의 익형 입력계수를 비교하면 다음 표와 같은데 전체적으로 압력계수값이 작아지면서 앙력값이 작아진 것을 확인할 수 있으며 또한 최적설계 전후의 속도분포의 차이를 보면 유동박리가 발생되는 영역에서 큰 차이를 보이는 것을 확인할 수 있다.
[그림 25] Pressure Coefficient Compare (Base vs. Optimization)
상기 과정에서 획득된 CSEP 계수값을 유사한 고받음각 해석조건에서 동일한 최적설계를 다시 수행하지 않고 인공신경망 알고리즘이 적용된 머신러닝기법을 이용하여 Fluent에게 학습시켜 별도의 보정절차 없이 사용하게 된다.
[그림 27] Default Neural Network Topology
머신러닝 해석을 수행하기 위해서는 최적설계에서 사용된 Adjoint Solver를 사용하는데 아래 그림과 같이 설정하여 학습시키면 된다.
[그림 28] Machine Learning Set-Up (1/2)
[그림 29] Machine Learning Set-Up (2/2)
학습을 시작하게 되면 아래 그림과 같이 약 2,000회의 반복학습을 수행하게 되고 최종적으로 CSEP 계수예측에 필요한 변수값을 도출하게 된다.
[그림 30] Fluent Training Progress
[그림 31] Fluent Machine Learning Result
학습이 종료된 후에 최적설계를 통해 예측된 CSEP 분포와 머신러닝을 통해 예측된 CSEP 분포는 아래 그림과 같으며 두 방법을 통해 예측된 CSEP 차이는 미미한 것을 확인할 수 있다.
[그림 32] CSEP Contour Compare
[그림 33] CSEP Difference (Optimization vs. Machine Learning)
머신러닝학습을 통해 예측된 CSEP 계수값을 통해 예측된 양력값의 차이는 약 1.12%로써 최적설계를 통해 예측된 CSEP 계수값을 통해 예측된 양력값의 차이인 0.23%보다는 다소 크지만 머신러닝학습에 소요되는 시간이 최적설계해석에 소요된 시간보다 매우 적은 점을 고려하고 이후 유사한 고받음각 해석조건에도 별도의 추가해석없이 사용할 수 있는 점을 고려하면 매우 경제적이다는 것을 확인할 수 있다.
[그림 34] Velocity Contour (Machine Learning)
마지막으로 받음각 11도에서 머신러닝학습을 통해 획득된 CSEP 계수값을 받음각 10도에서 적용하여 빠르게 양력값을 예측하게 되면 공력해석을 통해 예측된 양력값의 차이인 8.23% 보다 크게 감소된 1.17% 차이로 양력값을 예측할 수 있으며 속도분포는 아래 그림과 같다.
[그림 35] Velocity Contour (Machine Learning@11deg)
2차원 익형의 고받음각 해석조건에서 GEKO 난류모델의 계수값을 최적설계기법을 이용하여 시험값과 유사한 결과를 도출할 수 있는 해석사례와 이 때 획득된 계수값을 머신러닝기법을 적용하여 학습시켜 유사한 고받음각 해석조건에서 별도의 최적설계 해석없이 빠르게 예측할 수 있는 Fluent Machine Leaning 해석사례를 소개하였고 보다 많은 해석분야에서 적용이 가능여부를 검토한 후에 추후 또 다른 해석사례를 소개하는 자리를 마련해보도록 하겠다.