BARAM v25.3에 추가된 적합 직교 분해(Proper Orthogonal Decomposition, POD)와 차수 축소 모델(Reduced Order Model, ROM)을 이용한 실시간 시뮬레이터 제작 기능이 추가되었습니다. OpenFOAM 유틸리티로 제작되었습니다. BARAM의 Batch Run 기능을 이용해서 실시간 시뮬레이터를 만들 수 있습니다. 잠수함 외부 유동과 관내 유동 두 가지 문제에 대해 성능을 평가해 보았습니다.
잠수함(DARPA SUBOFF)의 속도와 받음각 변화에 따른 성능 예측
잠수함의 저항 해석 문제에서 속도와 받음각 두개 변수를 이용해서 ROM을 제작하고 성능을 평가해 보았습니다.
DARPA SUBOFF 모델은 잠수함 외부 유동에 대한 Bench Mark Test 문제로 Baram Portal의 예제 에서 받음각 0도일 때의 검증 결과를 확인할 수 있으며, 본 테스트는 이 격자와 계산 방법을 사용하였습니다.


본 테스트에서는 잠수함의 속도와 받음각 두 가지를 변수로 사용하였으며 범위는 다음과 같습니다.
- 속도 범위 : 2~10 m/s
- 받음각 범위 : -5~5 deg
계산 조건 샘플링
라틴 하이퍼큐브 샘플링(Latin Hypercube Sampling, LHS) 방법을 사용하여, 두 개의 변수에 대해 30 개의 조건을 선정하였습니다.
결과의 검증을 위해서는 다음의 조건에 대해 해석 결과와 차수축소모델 결과를 비교하였습니다.
검증 조건
조건 | case1 | case2 | case3 | case4 | case5 | case6 | case7 | case8 |
---|---|---|---|---|---|---|---|---|
속도 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
받음각 | -4 | -3 | -2 | -1 | 0 | 1 | 2 | 3 |
아래 그림의 빨간색이 계산 조건이며, 파란색 조건에 대해 계산 결과와 예측 결과를 비교하였습니다.

샘플링 조건에 대한 계산
좌우 대칭 조건을 사용하여 잠수함의 절반만 모델링 하였으며, 전체 격자수는 46만개 정도입니다. 난류 모델은 realizable k-epsilon을 사용하였습니다.
BARAM v25.3에서 Batch Run 기능을 사용하여 30개의 조건에 대해 계산하였습니다.

차수축소모델 생성 및 테스트 조건에 대한 데이터 재건
30개 모든 조건의 결과를 이용하여 속도와 받음각에 대한 차수축소모델을 만들었습니다.

만들어진 차수축소모델을 이용해서 8개의 검증 조건에 대한 예측 결과를 생성합니다. 생성된 예측 결과를 초기조건으로 해당 조건에 대한 CFD 계산을 수행하여 예측 결과와 비교하였습니다. 예측 결과를 초기조건으로 사용하면 빠른 시간에 해석 결과를 얻을 수 있습니다. 아래의 그림과 같이 120번 이상 필요했던 반복계산이(아래 그림 왼쪽) 30번 정도로 25% 정도로 줄어들었습니다(아래 그림 오른쪽).


정확도 분석
아래 그림은 속도가 4, 받음각이 -3일 때 계산과 예측 결과의 표면 압력분포를 나타내었습니다(위가 계산 결과, 아래가 예측 결과). 압력 분포로는 차이를 구분할 수 없을 정도로 잘 일치하고 있습니다.


보다 정확한 결과 비교를 위해 저항 계수(Cd)를 비교하였습니다. 가장 큰 오차는 2.02% 이며 나머지는 모두 1% 이내의 오차를 보여주고 있습니다.
오차가 제일 큰 조건은 case1로 속도는 3, 받음각은 -4 입니다. 이 부분이 샘플링 포인트가 작게 분포하고 있는 영역이기 때문으로 판단됩니다. 비교적 오차가 큰 case4와 case6 부근에도 다른 것들에 비해 상대적으로 샘플링 포인트가 작게 분포하고 있음을 확인할 수 있습니다.


결론
- 잠수함과 같은 비압축성 유동의 경우 변수 개수의 15배 정도의 샘플링 포인트를 이용해서 저항 계수를 2% 이내로 정확하게 예측할 수 있었습니다.
- 예측 모델의 정확성은 샘플링 포인트의 개수와 균일한 분포에 영향을 받습니다. 효율적인 예측 모델 개발을 위해 교차 검증과 샘플 추가를 위한 알고리즘을 추가로 개발할 예정입니다.
Mixing pipe
2개의 입구와 1개의 출구로 이루어진 원형 파이프 내부의 유동 혼합을 예측하는 문제입니다. Baram Portal의 MIxing pipe 예제 모델을 사용하였습니다.
주유동의 속도는 1m/s, 온도는 300K로 고정되어 있고, 2차유동의 속도가 1~4 m/s, 온도가 310~360K 범위에서 변하는 조건일 때 출구의 온도를 예측하는 문제입니다.
샘플링
샘플링 방법은 라틴 하이퍼큐브 샘플링(Latin Hypercube Sampling, LHS) 방법으로, 두 개의 변수에 대해 30 개의 샘플링 조건을 사용하였습니다.
결과의 검증을 위해 다음의 조건에 대해 해석 결과와 차수축소모델 결과를 비교하였습니다.
검증 조건
조건 | case1 | case2 | case3 | case4 | case5 | case6 | case7 | case8 | case9 |
---|---|---|---|---|---|---|---|---|---|
온도 | 315 | 320 | 325 | 330 | 335 | 340 | 345 | 350 | 355 |
속도 | 1.5 | 2 | 2.5 | 3 | 3.5 | 1.5 | 2 | 2.5 | 3 |

샘플링 조건에 대한 계산
벽면의 열전달 조건은 Convection 조건(열전달계수는 20, 외부 온도는 280K)을 사용하고, 난류 모델은 standard k-epsilon 조건을 사용합니다.
BARAM v25.3에서 Batch Run 기능을 사용하여 30개의 조건에 대해 계산하였습니다.

예측 모델 생성 및 정확도 분석
30개 모든 조건의 결과를 이용하여 속도와 받음각에 대한 차수축소모델을 만들었습니다.
만들어진 차수축소모델을 이용해서 9개의 검증 조건에 대한 예측 결과를 생성합니다. 생성된 예측 결과를 초기조건으로 해당 조건에 대한 CFD 계산을 수행하여 예측 결과와 비교하였습니다.
계산 결과와 예측 모델의 출구의 평균 온도는 0.05% 이내의 오차로 정확히 일치하고 있습니다.


평균값이 아닌 온도 분포의 정확도를 평가하기 위해 출구의 COV(Coefficient of Variation)를 비교하였을 때는 최대 10%까지 상대적으로 큰 오차를 보여줍니다.


아래 그림은 가장 정확히 일치하는 조건(case5)에서 계산 결과와 예측 결과의 출구 온도 분포를 보여주고 있습니다.


아래 그림은 오차가 가장 큰 조건(case7)에서 계산 결과와 예측 결과의 출구 온도 분포를 보여주고 있습니다. 이 때 평균 온도는 0.03% 오차이지만 COV는 10.2% 오차가 있습니다. 정확한 분포를 예측하기 위해서는 더 많은 샘플 개수가 필요할 것으로 보입니다. 샘플 개수는 중요한 변수가 어떤 것인지에 따라 달라지는 것을 확인할 수 있습니다.


결론
- 관내 혼합 문제의 경우 변수 개수의 15배 정도의 샘플링 포인트를 이용해서 출구의 평균 온도는 0.05% 이내로 정확하게 예측할 수 있었지만, 출구의 온도 분포를 표현하는 COV(Coefficient of Variation)은 최대 10.2%의 차이를 보여줍니다.
- 효율적인 샘플 개수는 계산을 통해 보려고 하는 값이 무엇인지에 따라 달라지는 것을 확인할 수 있습니다.