1. 서 론
2. 지배방정식 및 수치기법
2.1 지배방정식
2.2 유사모형
2.3 수치기법
3. 수치모형 검증
3.1 1차원 Dam-break 흐름 및 지형변화 모의
3.2 단면 급확대로 발생하는 2차원 Dam-break 흐름 및 지형변화 모의
3.3 부분적으로 침식이 가능한 지형에서의 2차원 Dam-break 흐름 및 지형변화 모의
4. GPU 연산효율 분석
5. 결 론
1. 서 론
연안에서는 다양한 물리현상이 복합적으로 발생하며 끊임없는 환경적 변화를 겪는다. 최근에는, 모래해변을 중심으로 한 연안침식 문제가 전 세계적으로 해안선 변화를 초래하며 주요한 문제 중 하나로 자리 잡았다(Luijendijk et al., 2018). 연안침식은 국토의 유실, 해안구조물의 손상, 연안 생태환경의 변화 등 환경적·경제적인 손실을 일으키며 인간사회에 부정적인 영향을 불러온다(Feagin et al., 2005; Alexandrakis et al., 2015). 해수면 상승, 해안의 무분별한 개발 등 다양한 직·간접적인 연안침식의 원인이 제시되었으며(Brown and McLachlan, 2002), 기후변화 및 해안인구 증가 등의 현상에 기인하여 볼 때 문제의 심각성은 더욱 증가할 것으로 예상된다(Ranasinghe, 2016; Barragán and De Andrés, 2015).
연안침식은 유사와 해수의 상호작용에 근원한 현상으로, 연안침식이 가속화되는 상황에서 유사이송을 규명하기 위한 신속하고 정확한 예측모형의 구축은 필수적이다. 지난 수십 년 동안 유사이송을 예측하기 위한 많은 방법이 제시되었으며 그 중, 전산해석을 기반으로 한 유사이송 예측모형은 수치해석 기법의 급속한 발전과 동시에 하천과 해안지역을 대상으로 한 매력적인 분석 도구로써 활용되고 있다(Papanicolaou et al., 2008). 물리적 적용 범위 및 규모에 따라 다양하게 분류되는 많은 유사이송 예측모형이 개발되었으며, 연안의 물리적 현상을 고려한 유사이송 예측모형도 개발되어 범용적으로 활용되고 있다(Papanicolaou et al., 2008; Amoudry and Souza, 2011).
최근에는 컴퓨터 하드웨어 및 컴퓨팅 기술의 발달에 따라 GPU (Graphics Processing Unit)를 활용한 병렬연산에 관한 많은 연구가 이루어졌으며, 유사이송 수치해석 분야에도 접목되어 기존의 CPU 기반 수치모형이 가지는 연산속도의 한계에 대해 보완하려는 시도가 수행되고 있다(Juez et al., 2016; Hou et al., 2020). 예로, Juez et al. (2016)은 2차원 천수방정식과 Exner 방정식을 결합 및 이에 대해 GPU 기반 수치모의를 수행하여 CPU 연산보다 최고 약 57배의 연산시간의 단축을 보였으며, Hou et al. (2020)은 2차원 천수방정식과 유사이송방정식의 결합모형으로 Coquet River에 대해 지형변화 모의를 수행하여 지형 해상도 및 GPU 성능에 따라 최대 12.83배까지 연산시간이 단축될 수 있음을 확인하였다. 이러한 노력의 일환으로, 본 연구에서도 GPU 연산을 기반으로 한 유사이송 예측모형을 제시하였다. GPU 기반 모델(Tavakkol and Lynett, 2017)을 활용하여 모형개발을 수행하였으며, 개발된 예측모형의 성능검증을 위해 3개의 Dam-break 수리실험에 대해 수치모의를 수행하고 그 결과를 분석하였다. 또한, 동일 수치기법이 적용된 CPU 기반모형과 연산시간을 비교하여 개발된 모형의 연산효율을 분석하였다.
2. 지배방정식 및 수치기법
2.1 지배방정식
본 연구에서는 2차원 천수방정식과 유사이송방정식의 결합을 통해 지배방정식을 구성하였다. 천수방정식은 Eqs. (1a) ~(1c)와 같이 구성하였다.
는 수면 높이로 로 정의된다. 와 는 각각 방향으로의 운동량을 의미하고, 그 외에, 는 전 수심, 와 는 방향의 유속, 는 지형 높이, 는 중력가속도를 나타낸다. 침식 및 퇴적으로 야기되는 운동량의 변화에 대해 보존성을 만족시키기 위해 와 유속으로 정의되는 소스항을 운동량 방정식에 추가하였다. 여기서, 와 는 침식, 퇴적 플럭스를 의미하고 는 지형의 공극률을 의미한다. 와 는 마찰항이며, 매닝(Manning)의 조도계수()를 활용해 Eqs. (2a) and (2b)로 정의한다.
유사이송방정식은 수심적분형 이송확산방정식에 침식, 퇴적 플럭스를 반영할 수 있도록 소스항을 추가하여 구성하였다(Eq. (3)).
는 유사농도, 와 는 방향에 대한 확산계수이다.
시간에 따라 침식과 퇴적으로 발생하는 지형변화를 반영하기 위해 지형변화식(Eq. (4))을 이산화하여 수치적으로 해석하였다.
2.2 유사모형
Cao et al. (2004)의 유사모형(Noncapacity model)을 적용하여 유사를 해석하였으며, 이는 단일화된 입자크기의 유사로 가정함을 의미한다. 본 가정으로 하여 근본적인 정확성의 문제를 초래할 수 있으나, 계산 효율성의 증가와 더불어 혼합된 유사 흐름의 경우에는 부분적으로 물리적인 합당함을 보이는 점에서 적용의 이점이 있다고 판단된다(Cao et al., 2004).
침식 및 퇴적 플럭스는 경험식을 통해 그 값을 정의하였으며, 침식 플럭스의 산정식은 Eq. (5)와 같이 적용하였다(Cao et al., 2004; Son et al., 2020).
여기서, 는 사용자 입력으로 정의되는 경험적 상수, 은 중앙입자 직경, 는 Sheild 매개변수로 Eq. (6)으로 계산된다.
는 마찰속도, 와 는 각각 유사와 물의 밀도이다. 는 임계점의 Sheild 매개변수로 본 연구에서는 0.045를 사용하였다(Cao et al., 2004).
퇴적 플럭스 또한 경험식을 통해 산정하였으며, Eq. (7)과 같다(Wu and Wang, 2007).
는 유사농도 제한자로 물리적 상한 임계값인 이하로 제한한다(Cao et al., 2004). 는 유사의 침강속도로, Eq. (8)로 계산된다(Ponce, 1989).
2.3 수치기법
유한체적법을 활용한 지배방정식 이산화 및 플럭스 계산을 수행하였고, 본 연구에서는 Kurganov and Petrova (2007)의 기법을 적용하였다. 본 기법은 보존형 변수의 보존성 및 수심의 양수 보존을 만족하며, 부분 선형가정을 통한 재구성으로 수치 플럭스를 산정한다. 기법의 부분 선형가정에 따라 격자 내 기울기 정의 및 경계에서의 변수를 정의하였고, 이를 위해, Minmod 제한자가 적용되었다(Eq. (9)).
와 는 각각 격자에서의 보존형 변수와 방향의 선형 기울기를 의미한다. 본 제한자는 인접 격자와의 값의 비교를 통해 최소의 기울기를 정의하며, 이는 수치적 발산을 제어하는 효과가 있어 수치적 안정성이 우수하다는 특징을 갖는다. 은 수치 점성계수로 1과 2사이의 값을 갖으며, 수치해의 소산 및 발산의 정도를 제어한다(Kurganov and Petrova, 2007).
제한자를 통해 정의된 기울기로 격자 경계에서의 보존형 변수를 정의하고, 최종적으로, Eq. (10)과 같이 수치 플럭스를 계산하였다.
여기서, 는 격자에서 방향 양의 경계의 수치 플럭스, 와 는 격자 양의 경계에 대해 각각 , 격자에서 정의된 보존형 변수를 의미한다. , 는 Local speed로 Eqs. (11a) and (11b)로 정의된다.
수치 플럭스 계산을 위해서는 격자 경계에서의 단일화된 지형 높이의 정의가 필요하다. 이를 위해, 본 연구에서는 Audusse et al. (2004)의 방법을 적용하였으며, Eq. (12)와 같다.
3. 수치모형 검증
개발된 모형은 물의 흐름으로 발생하는 유사이송 및 지형변화에 대해 실험한 3개의 Dam-break 수리실험에 대해 수치모의를 수행하여 그 성능을 검증하였다. 1차원 Dam-break 흐름 수리실험 1개와 2차원 Dam-break 흐름 수리실험 2개에 대해 모의를 수행하였고, 수면 및 지형의 변화에 대해 실험데이터를 활용한 정확도 검증 및 분석을 수행하였다.
3.1 1차원 Dam-break 흐름 및 지형변화 모의
첫 번째 실험은 1차원으로 발생하는 Dam-break 흐름 및 지형의 변화를 분석한 실험이다(Fraccarollo and Capart, 2002). 폭 0.1 m, 길이 2.5 m의 수조 내에서 실험이 수행되었으며, 초기수심은 0.1 m, 하류 지형은 초기 건조상태로 진행되었다(Fig. 1). 댐에 의해 정수상태를 유지하고 있는 초기수심이 짧은 순간에 댐을 제거함과 동시에 붕괴하며 흐름이 발생하게 된다. 유사의 밀도()는 1540 kg/m3, 실험의 지형을 구성하는 입자는 직경 3.2 mm와 높이 2.8 mm의 PVC 형태로 구형 환산 지름 3.5 mm를 적용하여 입자 중앙 직경()을 정의하였다(Son et al., 2020). 조도계수()는 0.025, 공극률()은 0.3을 적용하였다. 수치모의를 위한 격자 해상도()는 0.005 m로 설정하였고, 경험적 상수()는 민감도 분석을 통해 0.003으로 결정하였다. 유사의 침강속도()는 0.18 m/s로 적용하였다(Wu and Wang, 2008).
2개의 시간대 0.505 s, 1.01 s에서 수면과 지형 높이의 모의결과를 실험데이터와 비교하였으며, 2개의 시간대에서 결과가 실험데이터와 전반적으로 잘 일치하였다. 파의 선단 전파속도 및 전파 형태를 비교했을 때도 잘 일치하게 모의 되었음을 확인하였다(Fig. 2).
3.2 단면 급확대로 발생하는 2차원 Dam-break 흐름 및 지형변화 모의
두 번째 실험은 2차원 Dam-break 흐름에 대한 수리실험으로, 단면이 급확대 되는 실험수조 내에서 0.25 m의 초기수심이 붕괴하며 발생시키는 흐름과 지형의 변화에 대해 관측한 실험이다(Goutiere et al., 2011). 길이 6 m, 전체 폭 0.5 m의 수조 내에서 실험이 수행되었고, 상류 끝단으로부터 4 m 지점에서 단면 폭이 0.25 m에서 0.5 m로 급확대되도록 설계되었다. 지형은 0.1 m 두께의 침식 가능한 층으로 구성되었고, 상류는 초기수심, 하류는 초기건조 지형으로 구성되었다. 하류의 경계는 열린 경계(Open boundary)로 설정되었고, 그 외 경계는 수조의 벽으로 만들어진 닫힌 경계로 구성되었다(Fig. 3). 유사의 밀도()는 2680 kg/m3, 공극률()은 0.42로 설정하였고, 조도계수()는 0.025, 입자 중앙 직경()은 1.65 mm를 적용하였다(Kim and Lee, 2012). 수치모의를 위한 격자 해상도()는 0.01 m로 설정하였고, 는 선행연구를 따라 5×10-5으로 결정하였다(Kim and Lee, 2012).
흐름 발생 시점부터 12초까지 시간에 따른 수면 높이 변화에 대해서 측정한 2개의 측점()과 20초 후 지형 높이에 대해서 측정한 2개의 단면()에 대해서 실험데이터와 비교 및 분석을 수행하였다(Fig. 4). 수면 높이에 대해서는 2개의 측점에서 전반적인 수면 변화 양상이 잘 일치하였다. 지형 높이는 전반적인 침식, 퇴적 형태는 잘 일치하였으나, 단면에서는 실험데이터와 다소 불일치함이 확인되었다. 동일한 수리실험에 대해 모의를 수행한 Guan et al. (2014)에서 단면에서 본 실험결과와 유사한 형태의 오류를 보였으며, 이에 대해 수심 대비 입자크기의 거칠기와 이에 대한 효과를 고려하지 못한 부분을 원인으로 기술하였다. 본 연구에서 적용된 Noncapacity 모형의 입자크기의 단일화 가정을 고려하면 이와 유사한 원인일 것으로 판단된다.
3.3 부분적으로 침식이 가능한 지형에서의 2차원 Dam-break 흐름 및 지형변화 모의
마지막은 부분적으로 침식이 가능한 지형에서 2차원 Dam-break 흐름으로 발생하는 지형변화에 대해 관측한 수리실험이다(Xia et al., 2010). 길이 18.5 m, 폭 1.6 m의 수조에서 실험이 진행되었고, 상류 끝단에서 2 m 지점에 댐이 설치되어 있어 상류 초기수심의 정수상태가 유지된다. 댐의 중앙에는 폭 0.2 m의 수문이 설치되어 있으며, 이를 짧은 순간에 제거하여 흐름을 발생시켰다. 상류에는 0.4 m, 하류에는 0.12 m의 초기수심이 있으며, 4.5 m의 길이를 갖는 Coal ash 층이 하류 지형으로 구성되어, 흐름으로 인한 침식이 가능하도록 구성되었다. 그 후면의 하상은 고정된 지형으로 침식이 불가하도록 설정되었다(Fig. 5). 유사의 밀도()는 2,248 kg/m3으로 설정하였고, 공극률은 지형을 구성하는 Coal ash가 0.3~0.4의 범위를 갖음에 따라, 본 연구에서는 0.35로 적용하였다(Guan et al., 2018). 조도계수()는 0.015, 입자 중앙 직경()은 0.135 mm를 적용하였다. 격자 해상도()는 0.025 m를 적용하여 이산화하였으며, 경험적 상수()는 민감도 분석을 통해 6×10-5으로 결정하였다.
(2.5 m), (3.5 m) 두 단면에서의 지형 높이를 실험데이터와 비교하였으며, 최대 침식 깊이와 지형변화의 형태를 고려하였을 때, 두 단면에서 전반적으로 잘 일치하게 모의 되었음을 확인하였다(Fig. 6). 다만, 단면의 침식 폭과, 단면에서의 퇴적 양상에 대해서는 실험데이터와 약간의 불일치함을 보였으며, 이는 하류에서 2차원 난류에 대한 고려가 이루어지지 않아 발생한 오차로 판단된다(Guan et al., 2018).
4. GPU 연산효율 분석
GPU 기반으로 개발된 본 예측모형의 연산효율을 측정하기 위해 본 모형과 CPU 기반모형을 활용해 동일한 수치모의를 수행하고 이에 대해 소요된 연산시간의 측정 및 비교를 수행하였다. CPU 기반모형은 MATLAB을 기반으로 구축하였으며, 본 연구와 동일한 수치기법을 적용하였다. CPU와 GPU는 각각 Intel i7-10700(8 cores, 2.9GHz)와 NVIDIA Geforce RTX 2060을 활용하였다. 3장에서 서술한 3개의 수리실험에 대해 수치모의 및 비교를 수행하였으며, 연산에 소요된 총 시간을 측정하여 CPU 연산시간() 대비 GPU 연산시간() 비율을 의미하는 연산속도증가율()을 산정하였다(Table 1). 모든 수치모의 결과에서 우수한 연산속도증가를 보였으며 최대로 127배의 증가를 보였다. 추가로, 격자 해상도에 따른 연산속도증가율 분석을 수행하기 위해 1차원 Dam-break에 대해 격자 해상도를 2배씩 증가시키며 수치모의를 수행하였고, 각 해상도에 대해 연산속도증가율을 측정하였다(Table 2, Fig. 7). 격자 해상도가 증가함에 따라 연산속도증가율 또한 비례관계를 보임을 확인하였다. 이는, 높은 해상도에 대해 모의할수록 GPU를 활용한 연산이 더 효율적으로 활용될 수 있음을 의미한다(Hou et al., 2020). 그러나, 하드웨어의 성능, 소스코드의 구조 등 연산속도에 영향을 주는 다양한 인자들이 존재하며, 이에 따라 CPU 대비 GPU의 정확한 연산성능을 평가하는 데에는 많은 제약이 있다(Yuan et al., 2020). 본 연구에서도 연산시간 측정에 활용된 GPU, CPU 모형이 서로 다른 컴퓨터 언어와 코드 구조를 기반으로 하고 있다는 점에서 측정된 연산효율의 부정확성이 있으며, 이에 대해서는 추가적인 분석이 필요할 것으로 여겨진다.
Table 1.
Speed up rates for each case
| Case | (sec) | (sec) | |
| 1D (3.1) | 267.48 | 7.16 | 37.36 |
| 2D (3.2) | 1539.78 | 19.12 | 80.53 |
| 2D (3.3) | 2936.91 | 23.07 | 127.3 |
5. 결 론
본 연구에서는 GPU 기반의 유사이송 예측모형을 개발하였으며, 수치모형의 성능검증과 GPU 연산의 효율 분석에 초점을 맞추어 수치모의 및 결과분석을 수행하였다.
수치모형의 성능검증을 위해 1차원 및 2차원 흐름으로 구성된 3개의 Dam-break 수리실험에 대해 수치모의를 수행하였으며, 실험데이터를 활용한 검증 및 분석을 수행하였다. 수면 높이와 침식 및 퇴적으로 발생하는 지형변화에 대해 전반적으로 양호하게 예측하는 것으로 확인되었다.
GPU 연산의 효율을 분석하기 위해 모형검증에 활용된 3개의 수리실험에 대해 동일한 수치기법이 적용된 CPU 모형과 모의시간 비교를 수행하였다. 그 결과 3개의 모의에 대해서 상당히 개선된 연산속도를 보이는 것으로 확인되었다. 또한, 격자 해상도에 따른 GPU 연산의 효율을 분석하였으며, 격자 해상도의 증가에 따라 연산의 효율 또한 증가하는 것으로 확인되었다. 하지만, GPU와 CPU 모형이 서로 다른 컴퓨터 언어 및 코드 구조를 갖는다는 점에서 정확한 비교에는 한계가 있었으며, 이에 관해 추가적인 연구가 필요할 것으로 생각된다.









