Numerical Improvement of Advection Term for Realistic Smoke Simulation

사실적인 연기 시뮬레이션을 위한 이류항 계산의 수치적 개선

  • Chang, Mun-Hee (Dept. of Computer Engineering, Kyungpook National University) ;
  • Park, Su-Wan (Dept. of Information & Communication Engineering, Tongmyong University of Information Technology) ;
  • Kim, Eun-Ju (Dept. of Computer Engineering, Kyungpook National University) ;
  • Ryu, Kwan-Woo (Dept. of Computer Engineering, Kyungpook National University)
  • 장문희 (경북대학교 컴퓨터공학과) ;
  • 박수완 (경북대학교 컴퓨터공학과) ;
  • 김은주 (동명정보대학교 정보통신공학과) ;
  • 유관우 (경북대학교 컴퓨터공학과)
  • Published : 2006.10.20

Abstract

자연 현상에서 나타나는 연기나 난류의 움직임을 사실적으로 시뮬레이션을 할 때 Navier-Stokes 방정식을 이용한다. 이 방정식을 이용한 구현은 방대한 연산량과 계산의 복잡성으로 인하여 실시간 시뮬레이션이 어렵다. 이 때문에 실시간 처리를 위하여 복잡한 수식을 근사화한다. 유체 시뮬레이션의 이류(advect) 과정에서 근사화를 위해 Semi-Lagrangian 방법을 이용할 때, 연기 시뮬레이션은 시간이 지남에 따라 밀도가 현저히 줄어들고 소규모의 소용돌이(small-scale vorticity) 현상이 급격히 감소하는 등의 수치적 소실이 발생한다. 본 논문에서는 이 문제를 해결하기 위해 이류항(advection term)을 계산할 때 새로운 수치적 방법을 제안한다. 본 논문에서는 이류항의 값을 구할 때, 현재 격자 주변의 값 중에서 다음 단계에 현재 격자의 위치로 오는 속도를 가진 격자를 찾아, 그 격자의 속도를 이류 속도 벡터로 활용한다. 이는 밀도와 소용돌이 현상의 수치적 소실을 줄여서 사실성을 높이고 실시간 처리도 가능하게 한다. 또한 본 논문에서는 GPU 구현을 통해 벡터 연산 등의 효율성을 높이며 시뮬레이션의 속도를 향상시킨다.

Keywords