1. 서 론
입자 가속기는 전자나 양성자 등의 전기를 띤 입자를 전기장에서 가속하여 큰 운동 에너지를 주기 위한 장치를 말한다. 가속기의 본래의 목적은 고 에너지 입자를 다른 입자나 원자핵과 충돌시켜 소립자 반응 또는 원자핵 반응을 일으키는 데 있다. 그러나 최근에는 산업계와 의료계에서도 폭 넓게 사용되고 있다. 전통적인 가속기의 분류 방법에는 가속 방법에 따른 분류로 선형 가속기와 원형 가속기가 있으며, 가속 입자의 종류에 따른 분류로 전자 가속기와 양성자 가속기가 있었다. 하지만 최근에는 레이저와 플라즈마를 활용한 레이저-플라즈마 입자 가속기에 대한 연구가 활발히 진행되고 있다.
레이저-플라즈마 기반의 입자 가속기는 결합하지 않은 전자와 이온 구름인 플라즈마에 강력한 레이저 빔을 발파함으로써 구동된다. 레이저-플라즈마 입자 가속기의 의의는 일반 가속기에 비해서 입자를 가속 하는데 필요한 길이를 획기적으로 단축하였다는 것에 있다. 스텐포드 선형 가속기는 전자를 500억 전자볼트(eV)로 구동하는데 2마일이 필요하다. 반면, Leemans 의 실험에서 레이저-플라즈마 가속기는 1인치 길이에서 전자를 1GeV (10억 전자볼트)이상으로 가속하는데 성공했다. 레이저-플라즈마 입자 가속기는 점점 방대해 지는 데이터 크기(빅 데이터)와 일반 가속기의 비용을 감안해 볼 때 새로운 문제 해결을 줄 수 있는 잠재력을 가지고 있다. 본 논문에서는 플라즈마 데이터를 가시화 하여 보다 효율적으로 가속기기를 제어하고자 하는 것을 목적으로 한다.
Fig. 1.(a) European Organization for Nuclear Research(CERN)’s large hadron collider(LHC) and (b) laser-plasma accelerator developed by University of Texas at Austin.
2. 문제정의
기존 가시화 툴킷은 범용성을 유지하는 방향으로 발전해 나가다 보니 플라즈마 데이터를 가시화 하는 데에 어려움이 있었다. 또한 가시화에 특화된 환경에 서는 데이터 가공에 부적합한 부분이 있었고 표준화 되어있지 않은 데이터 포맷으로 인하여 원하는 결과를 얻기까지 복잡한 전처리 과정이 필요하였다. 본 연구는 실시간 환경에서 GUI를 이용하여 플라즈마의 형태, 밀도, 운동에너지를 종합적으로 관찰하고 상세 조정된 결과물을 고해상도 이미지로 렌더링 하고자 하였다.
컴퓨터 데이터 모델 파일 형식인 HDF 포맷으로 저장된 플라즈마 데이터를 실시간 환경과 외부 렌더러에 이용하기 위해 적절한 변환이 필요했다. HDF 파일 포맷은 컴퓨터 과학 분야에서 수치 데이터를 저장하기 위해 범용적으로 사용된다. HDF 파일 포맷을 사용하면 개념적으로 서로 관계가 있지만 물리 적으로 분산되어 있는 데이터들을 그룹화 하고 공유할 수 있다. 또한 메타 데이터 정보를 포함할 수 있으며 큰 크기의 데이터를 읽고 쓰는데 효율적이고 컴퓨터의 기종에 관계없이 사용할 수 있다. 본 연구에 사용된 플라즈마 데이터는 3차원의 그리드 기반 볼륨형식으로 저장되어 있다. 각각의 셀에 밀도나 모멘텀 등의 플라즈마의 속성이 32bit 부동소수점 수로 저장 되어 있다.
플라즈마의 여러 속성들을 사용자가 원하는 방식 으로 간편하게 설정하기 위해 GUI 환경이 필요하였다. 본 연구를 통해 PIC 시뮬레이션의 결과를 컴퓨터를 통해 가시화 하고 얻어진 데이터를 효과적으로 분석, 탐색, 가공 할 수 있게 하려했다. 이를 위해서 실시간 환경에서 가시화된 플라즈마 데이터를 관찰 하고 직관적인 조작으로 플라즈마 데이터를 조작할수 있어야 했다.
마지막으로 분석한 플라즈마 데이터를 출판물 등에 사용될 고해상도 이미지로 출력할 수 있는 기능이 필요했다. 일반적으로 출판물의 해상도는 모니터의 해상도보다 높기 때문에 렌더링 해야 할 픽셀 수가 매우 많고 실시간으로 처리하기 힘들다. 이를 해결하기 위해서 플라즈마 데이터를 고성능 외장 렌더러에서 사용하는 데이터 포맷으로 변환하고 처리하는 과정을 자동화 할 필요가 있었다.
3. 관련연구
Oliver Rubel 와 그의 가시화 연구그룹 팀은 플라즈마 기반의 가속화된 입자 데이터의 특징을 분석하기 위한 연구 논문을 발표 하였다[1]. 이 논문에서는 가속기 공정 과정에서 생기는 시간적 차이(가속화 특징)로 인한 입자 빔의 구조적 특징을 검출하고 분류하는 새로운 방법을 제시 하였다. 이런 자동 특징 검출과 가시화를 결합한 빠르고 직관적이며 질의 기반의 가속화 특징 탐색은 탑-다운(특징 기반의 높은 수준의 뷰에서 시작하여 입자 하나 하나까지 관찰할 수 있는 세부적인 뷰 까지) 방식으로 효과적인 데이터 탐색을 가능하게 하는 가시화 도구를 개발 하였다.
Fig. 2.Three-dimensional grid data of (a) electron and (b) proton in HDF files.
Fig. 3은 버클리 국립 연구소에서 개발된 플라즈마 자료 가시화 시스템의 화면으로 왼쪽 패널 부분은 특징을 그룹화 하는 부분과 특징을 선택하는 제어하는 기능이 있으며, 맨 밑에 부분은 플롯 세팅을 제어 하는 기능이 있다. 또한 오른 쪽 부분은 x 좌표 값에 따라 그룹화 된 특징 별 해당 매개 변수 값들을 가시화 하고 있다. 이런 특징들을 그룹화 하는 기준들은 플라즈마 자료를 분석하려는 과학자들의 필요에 따라 정해질 수 있도록 하여 보다 직관적인 사용자 접속을 제공할 필요가 있다. 또한 플라즈마를 응용하려는 분야에 따라 다양한 분석을 빠르게 처리할 수 있도록 효율적인 알고리즘을 요구한다.
Fig. 3.Feature-based paticle acceleration data analysis system developed by Lawrence Berkeley National Laboratory (LBNL).
4. 가시화
4.1 제안한 알고리즘의 개요
본 논문에서 제안한 가시화 기법은 실시간 미리보기 단계와 렌더링 단계로 나뉜다. 렌더링 과정을 두 단계로 나눔으로써 실시간 성능과 고화질의 목표를 동시에 달성하고자 하였다. 각 과정에서의 데이터의 상이함을 해결하기 위해 데이터간의 변환을 자동화 하였다. 원래의 HDF 파일 포맷을 OpenGL에서 사용 되는 텍스쳐 형식으로 변환해 비디오 카드의 메모리에 저장하고 뷰포트에 렌더링한다. 조작이 완료된 데이터는 그리드 기반의 볼륨 데이터로 다시 변환되어 외장 렌더러에 전달된다.
Fig. 4.Flowchart for data format conversion of plasma data.
4.2 실시간 GUI 환경
실시간 미리보기 단계에서는 플라즈마 볼륨 데이터를 전처리 단계를 거쳐 텍스쳐화 하여 일반적인 데스크탑 환경에서 실시간 급의 성능을 구현하였다. 볼륨 렌더링의 방식에는 크게 볼륨 레이 캐스팅 (Volume ray casting)과 텍스쳐 기반 볼륨 렌더링 (Texture-based volume rendering) 기법이 있다. 본 연구에서는 하드웨어 가속을 지원하여 실시간 환경에 적합한 텍스쳐 기반 볼륨 렌더링 기법을 적용하였다 [2] . 일반적인 환경에서는 그리드 형태의 볼륨 데이터를 OpenGL 의 3D Texture 확장을 이용하여 하나의 3D Texture 로 변환을 하고 3D Texture 확장을 지원하지 않는 특수한 환경에서는 Fig. 5와 같이 다수의 2D Texture 로 만들어 비디오카드의 메모리에 저장하고 같은 수의 평면 폴리곤을 쌓아 알파 블렌딩을 통해 렌더링 하였다. Fig. 6은 401*401*241 크기의 플라즈마 볼륨 데이터를 실시간으로 렌더링 하고 있는 화면이다. 그리드의 밀도 데이터를 기반으로 색상을 다르게 하여 밀도 변화를 가시화 하였다. 일반적인 입력장치인 마우스와 키보드만으로 직관적인 방법으로 데이터를 관찰할 수 있는 인터페이스를 설계 하여 적용하였다.
Fig. 5.2D texture of electron data.
Fig. 6.(a) visualization of electron and (b) visualization of proton.
데이터를 분석하기 위하여 속성들을 3차원 공간 에서 그래프화 할수 있게 하였다. 일반적인 플라즈마 데이터는 위치(x, y, z), 모멘텀(px, py, pz), 밀도(n) 의 7개의 변수로 이루어져 있다. Fig. 6에서는 3차원 공간에서 색상을 이용하여 4개의 속성을 동시에 관찰할 수 있게 하였다. 여기서는 데이터의 속성 중 독립변수를 설정해 속성의 개수를 제한하여 변화를 관찰할 수 있게 하였다. 본 연구에서 개발한 환경에서는 1개의 독립변수를 설정하고 값을 정하면 그래프화 할 수 있다. Fig. 7는 특정 평면에서의 플라즈마 밀도 데이터의 그래프를 그려본 것이다. 이러한 그래 프를 통해서 플라즈마의 단면도에서 밀도의 변화를 시각적으로 관찰해 볼 수 있었다.
Fig. 7.Density variation on plane (a) y=20, (b) y=50, (c) y=70, and (d) y=100
개발에 사용된 환경은 다음과 같다. 전처리 단계 에서 HDF 파일 포맷을 읽기 위한 HDF5 라이브러리를 활용하였다. GUI 는 MFC 로 작성하였으며 3차원 라이브러리로 OpenGL을 이용하였다. Table 1의 형식으로 저장된 38,753,041 개의 밀도 값으로 이루어진 147.83MB 크기의 32bit, 1 채널 플라즈마 볼륨 데이터를 Table 2의 환경에서 테스트 한 결과 평균적으로 333 frame/second 의 성능을 보였다[3].
Table 1.Data properties
Table 2.Test environment
4.2 Mitsuba Renderer
GUI 환경에서 실시간 미리보기를 통해 데이터의 형태를 확인한 후에는 외장 렌더러를 통해 고해상도 이미지로 렌더링 할 수 있게 하였다. 외장 렌더러로 Mitsuba Renderer[4]를 활용하였다. Mitsuba Renderer 는 분산 렌더링을 지원하는 멀티플랫폼 렌더러 이다. 다양한 플러그인을 제공하며 Commend-line 인터페이스와 Gui 인터페이스 모두를 지원한다.
메모리 상의 플라즈마 데이터를 Mitsuba 렌더러의 Heterogeneous participating medeum 플러그인에서 호환 가능한 바이너리 데이터로 변환하여 Mitsuba 렌더러의 인자로 넘겨 실행하는 방식으로 고해상도 이미지 출력 환경을 구현하였다.
5. 결 론
본 연구의 결과를 정리하면 다음과 같다. 첫째, 보다 효율적으로 플라즈마 기반의 가속기기를 제어하고자 가속화된 전자와 이온 데이터를 가시화 하였다. 둘째, 데이터를 특정 평면에서 그래프화 할 수 있게 하였다. 셋째, 외장 렌더러를 통해 고해상도 이미지를 얻을 수 있게 하였다.
본 연구의 결과에서 나타나는 바와 같이, 가시화를 통해 PIC 시뮬레이션을 통해 얻어진 플라즈마 데이터의 형태를 짐작해 볼 수 있을 뿐만 아니라 데이터의 가공을 통해 좀 더 의미있는 연구 결과를 도출할 수 있게 될 것이다.
향후 플라즈마 데이터의 밀도뿐만 아니라 방향성이 있는 모멘텀과 에너지 상태도 관찰할 수 있는 통합 관찰, 분석 환경으로 발전시켜 나갈 것이다. 또한 가상현실을 통한 가시화 방법에 대해서도 연구할 예정이다.
참고문헌
- O. Rubel, C.G.R. Geddes, M. Chen, E. Cormier-Michel, and E.W. Bethel, “Featurebased Analysis of Plasma- based Particle Acceleration Data,” IEEE Transaction on Visualization and Computer Graphics, Vol. 20, No. 2, pp. 196-210, 2014. https://doi.org/10.1109/TVCG.2013.107
-
Volume Rendering Techniques(2007),
http.developer.nvidia.com/GPUGems/gpugems_ch39.html (accessed Nov., 29, 2014). - H.S. Shin, T.J. Yu, and K. Lee, “Visualization of Plasma–based Particle Acceleration Data,” Proceeding of the Fall Conference of the Korea Multimedia Society, pp. 200-201, 2014.
-
Mitsuba Documentation(2014),
https://www.mitsuba-renderer.org/docs.html (accessed Nov., 29, 2014). - Dong-Soo Kang, Byeong-Seok Sh, “Realtime Volume Rendering using Point-Primitiv”, Journal of Korea Multimedia Society Vol. 14, No. 10, October 2011, pp. 1229-1237 https://doi.org/10.9717/kmms.2011.14.10.1229
피인용 문헌
- Visualization of Internal Electric Field on Plasma vol.19, pp.1, 2016, https://doi.org/10.9717/kmms.2016.19.1.080