물리학 제3의 방편: 전산 물리학 by 바죠

물리학 제3의 방편: 전산 물리학

2003년 9월 27일
전산 물리학 (computational physics)은 컴퓨터 관련 자원들을 이용하여 물리학 고유의 문제를 풀고 해석하는 연구분야를 말한다. 전산 물리학은 물리학적 실험 데이터를 설명할 수 있을 뿐만 아니라 실험 결과를 예측할 수 있는 구체적인 계산체계 수립과 이에 따른 직접적인 수치 계산들을 포함한다. 고비용의 실험 (막대한 연구비와 인적노력을 대치할 수 있다면, 실험적으로 관측이 곤란한 물리량들을 직접적으로 컴퓨터 상에서 기술할 수 있다면, 해당 실험적 결과들의 원인들을 물리학적 이론으로 분석하여 과학적으로 건전한 결론을 내릴 수 있다면, 그리고/또는 변형된 조건하에서 특정 물리량을 예측할 수 있다면, 이들은 분명히 물리학적으로 의미있는 일이다.

전산 물리학은 이론 물리학처럼 보이지만 이론 물리학에서 다루지 못하는 문제들을 컴퓨터를 이용하여 취급하는 특징을 가지고 있다. 전산 물리학에서는 이론 물리학에서 사용하는 것들을 기본으로 사용하지만 그 구체적인 계산들에서는 아직까지 생각해보지 못한 물리학적 요소들을 가지고 있는 것이 사실이다. 다시 말해서 이론 물리학에서 말하는 이론 물리학의 보조수단으로서 전산 물리학을 바라보기가 힘들어 진다는 것이다. 전산 물리학은 이론 물리학과 비교하여 오히려 일반적으로 물리 문제를 푸는 방법으로 받아들여지고 있다. 계산에 사용되는 가정들이 이전의 이론 물리학에서의 것보다 훨씬 자유로울 수 있기 때문이다.

전산 물리학에서는 전산 물리학에 종사하는 학자들조차 어리둥절하게 만드는 다양한 계산방법들이 산재하고 계속 개발되고 있다. 기본 가정, 연관된 계산 결과들을 제대로 해석하기 위해서는 적합한 계산방법의 선택뿐만 아니라 그 기본 배경들을 정확히 이해하는 것이 필요하다. 계산방법의 선택은 결국 물리학, 수학, 계산장비 구비여건, 또는 경험에 따라서 달라질 수 있다.

전산 물리학 자체는 물리 현상을 기술할 수 있는 계산 방법 개발들을 수반할 수밖에 없는 운명에 놓여있다. 특정한 물리현상을 설명할 계산 방법이 일반으로 잘 알려져 있지 않다. 일정하게 설계된 조건들을 충실히 만족하도록 처리되어 계산된 물리양은 보편적 결과로 받아 들일 수 있다. 따라서 일련의 유기적 계산들은 물리적 현상에 대한 과학적 고찰의 축을 형성할 수 있다. 특정 문제에서 물리적 현상을 현실적으로 기술하는 제대로 정립된 하나의 전산 물리학 수단을 이용할 경우 마치 제대로 정립된 실험을 하듯이 검정되고 알려진 정확도 한계 안에서 믿을 수 있는 결과들을 얻을 수 있다. 잘 알려진 것처럼, 컴퓨터는 밤낮을 가리지 않고 일을 할 수 있다.

전산 물리학에서는 물리량에 대한 다양한 분석과 응용이 체계적 수치값 변동들로 비교적 손쉽게 얻을 수 있게 본질적으로 설계되어 있다. 전산 물리학의 발달은 컴퓨터의 발달과 함께 진행되기 때문에 그 발전 속도에 관한 한 자체 가속도를 태생적으로 부여받았다. 전산 물리학은 실험 물리학이라고 할 수도 이론 물리학이라고 할 수도 없는 제3의 물리학으로 평가할 수 있다. 물론, 기존의 이론 및 실험들을 두루 비추어 볼 수 있어야만 그 의미가 있다.

전산 물리학에서 다룰 수 있는 정보량은 사실 컴퓨터 자원들의 발달과 밀접히 연관되어 있다. 또한 그 발달 속도는 매우 인상적이다. 현상론적으로 받아들여지는 무어의 법칙은 마이크로칩 기술의 발전속도에 관한 것으로, 마이크로 칩에 저장할 수 있는 데이터의 양이 매년 또는 적어도 매 18개월마다 두 배씩 증가한다는 법칙이다. (이에 관한 강연을 준비할 당시인 1965년에, 고든 무어는 마이크로 칩의 용량이 매년 두 배가될 것으로 보인다고 예고했었다. 그러나, 변화의 속도는 지난 수년간 다소 느려져서, 매 18개월마다 두 배가되는 것을 반영하기 위해 고든 무어의 승인하에 이 법칙의 정의를 수정하였다.)

전산 물리학에서 다룰 수 있는 정보량이 방대해진다고 해서 모든 문제를 해결할 수 있는 것은 물론 아니다. 사람들이 요구하는 문제의 크기는 언제나 그러하듯이 항상 컴퓨터가 다룰 수 있는 문제의 크기보다 쉽게 앞서 나갈 수 있다. 늘 그래 왔다. 1990년대 초반 최고의 슈퍼컴 (다른 컴퓨터와 비교하여 성능이 탁월한 컴퓨터이라는 것들도 현재 나오는 최신의 PC보다 CPU성능이 뒤지는 것이다. 그럼에도 불구하고 중요한 것은 당시에는 그 컴퓨터가 정말 대단하고 놀라운 슈퍼 컴퓨터였다는 것이다.

전산 물리학의 역사는 약 60년 쯤 된다. 1943년 미국 뉴멕시코 주의 로스 알라모스 국립연구소에서 중성자의 퍼짐을 연구한 물리학자들이 아마도 전산 물리학의 할아버지와 할머니가 아닐까 생각한다. 당시 물리학자들이 기계식 계산기를 이용하여 '맨하탄 계획(원자탄 제조에 참여하면서 부터 전산 물리학은 시작되었다고 말할 수 있다. 그 동안 이룩하고 평가받은 전산 물리학의 성적표는 가히 물리학에 있어 새로운 패러다임(어떤 것에 관한 귀감이나 예를 가리키는 말)의 제시로 받아들여도 무방할 정도의 것이다.

전산 물리학의 실제는 그 특정 연구 분야에 상당히 국한될 수밖에 없을 정도로 구체적인 전산 모형의 구현으로 시작된다. 따라서, 일반적으로 그 구체적 구현을 위해서는 프로그래밍 언어의 습득이 필요하다. 사람에게 가까운 언어일수록 전산학에서 고급언어 (high level language)라고 정의한다. 예를 들면 자바 (객체지향), 포트란90 (객체지향, 대상중심이라는 말이 더 좋은 표현이것 같습니다.)을들 수 있겠다. 자바 언어는 최신의 언어로서 전산 물리학 이외의 분야에서 널리 사용되고 있는 언어이다. 반면, 포트란90은 전통적으로 사용해 오던 과학기술용 언어 (포트란)의 확장으로서 현재까지도 널리 이용되고 있다. 컴퓨터의 처리 동작보다는 객체, 처리 논리보다는 자료를 바탕으로 프로그램을 구성하는 것이 실질적이며 유용하다는 것이 경험적으로 알려져 있다. 따라서 전산 물리학 프로그램도 앞서 언급한 특성을 가지는 객체지향적 프로그램 (object oriented programming)이 가능한 언어를 사용하는 것이 좋다. 사실 가장 중요한 원칙은 아마도 '흰 고양이던 검은 고양이던 쥐만 잘 잡으면 된다'는 원칙일 것이다.

전산 물리학 분야에 따라서는 고도로 발달된 계산 프로그램들이 개발된 경우도 있다. 예를 들어, 전자 밀도 범함수론 (density functional theory)을 개발한 Walter Kohn 교수와 더불어 1998년 노벨 화학상을 공동 수상한 John Pople 교수 (1925–2004)가 개발한 Gaussian 프로그램은 유구한 역사와 더불어 폭넓은 분야에서 사용되고 있다. John Pople 교수는 그의 노벨상 연설에서 모델화학을 창조하기 위한 4가지 본질적스텝들을 말했다. 첫째, 목표로 하는 정밀도를 정하고 일반적인 수학적 계산절차들을 엄밀히 설계한다. 둘째, 효율적인 알고리즘을 사용해서 구현한다. 셋째, 완전히, 체계적으로 모델을 테스트하고 검정한다. 넷째, 모델을 화학 문제들에 적용한다. 현재 전산물리학이 평가받고 있는 추세와 그 영향력으로 미루어 보아 앞으로도 많은 연구 분야에서 연구지원 프로그램들이 개발되고 배포될 것이 확실하다. (고체의 물성연구) (전자구조연구) (평면파를 이용한 제일원리 슈도포텐셜 방법) (동역학이론연구)

전산 물리학에서 사용되는 전산 모형은 상당한 검정 절차를 요구한다. 보편적으로 받아들일 수 있는 완전한 전산 모형이 있다고 해도 그 구체적 구현에는 여러 가지 방법이 있을 수밖에 없기 때문에 상당한 주의와 세심한 검정들이 필요하다. 따라서 구현하는 사람이 체계적으로 구현, 확장과 검정이 가능하도록 노력을 기울이는 것은 장기적 입장에서 투자가 될 수 있을 정도로 가치가 있으면서도 단기적으로는 빠른 구현을 도와서 편리하다. 만들어진 코드가 향후 누군가에 의해서 재활용될 때 용이하게 쓰일 수 있다는 것은 분명 가치있는 일임에 틀림없다.

전산 물리학은 급속도로 발전하는 분야이다. 이러한 흐름을 타기 위해서는 각 연구자들이 일정 수준의 구현능력을 필요로 한다. 본 페이지에서는 포트란90, 파이썬, MPI등에 관해서 개괄적으로 중요한 사항들에 대해 정리함으로써 전산 모형의 구성, 구현 기술 획득에 도움이 되도록 했다. 특히, 이미 검정된 기본적인 루틴들(www.netlib.org,gams.nist.gov)을 적극적으로 활용해야 함은 아무리 강조해도 지나치지 않다. 이는 물리 문제를 보다 체계적이고도 효율적으로 풀 수 있는 가장 좋은 방법이기 때문이다. 위에서 언급한 검정된 루틴들은 그 루틴들을 사용하는 기본 가정하에서 그 자체가 현존하는 최고기법 (최적화되어 있을 뿐만 아니라 특정 컴퓨터에 최적화된 것들도 있다)들 중의 하나들이다. 이렇게 하는 것은 물리 문제와 전자계산의 문제를 확실히 분리해 낼 수 있게 하고 궁극의 목표인 물리 문제 풀이에 빨리 도달하는데 도움이 된다.

전산 물리학에서는 거의 모든 것이 숫자들로 이루어져 있다. 따라서 기본 물리상수들을 잘 정리해 둘 필요가 있습니다. Fundamental Physical Constants --- Complete Listing From:
http://physics.nist.gov/constantsSource: Peter J. Mohr and Barry N. Taylor, CODATA Recommended Values of the Fundamental Physical Constants: 2002, To be published. Quantity Value Uncertainty Unit http://physics.nist.gov/cuu/Constants/Table/allascii.txt (ASCII 자료형) http://physics.nist.gov/cuu/Constants/factorlist.html

전산 물리학에서 수학을 사용하지 않을 수 없다. 자연이 자기를 기술할 수 있도록 허용한 언어가 수학인 연유에서 그렇다. 보다 엄밀하게 말하면, 아시다시피, 전산 물리학에서는 거의 대부분의 컴퓨터 자원을 "사칙연산하는데 소모한다. 기본적인 수학공식들은 울프램 박사의 포괄적이고도 방대한 레퍼런스를 참조하면 될 것입니다. http://mathworld.wolfram.com/ 전산 모형을 설계할 때, MKS, SI 단위계를 사용하는 것이 항상 좋은 방법이 될 수는 없다. 일반적으로, 그렇게 하는 것은 매우 귀찮은 방법이다. 예를 들면, 원자,전자 구조를 연구하는 사람들은 atomic units라는 것을 사용한다. 전자의 전하량 (4.8032e-10 esu)을 단위 전하로 사용한다. 시간 2.4189e-17 sec를 단위시간으로 사용하고, 길이 0.529177 Angstrom을 단위 길이로, 전자의 질량 (9.1095e-31 kg)을 단위 질량으로 사용한다. 보통 e=hbar=me=1로 둔다고 한다. 그 이외의 단위들을 이들로부터 유도된 단위들을 사용한다.

전산 물리학에서는 사용되고 있는 전산 모형을 상당한 수준에서 직접 검정할 수 있다. 이 때는 물리학적 원리와 정보가 사용되어야 하기 때문에 물리적 통찰력이 있으면 보다 쉽게 전산 모형을 이해/분석할 수도 있다. 역시 물리학은 진짜 잘하고 볼 일이다. 이것을 잘하면 계산 안 해도 될 것을 알아 낼 수도 있고 계산 결과를 미리 예측할 수도 있기 때문이다. 같은 알고리듬이라도 하더라도, 실질적인 구현에서는 차이가 있을 수 있다. 따라서, 전산모형의 검증은 너무나도 당연히 구현의 일부일 수밖에 없다.

전산 물리학에서는 물리법칙을 적용할 수 있도록 수치적으로 표현해주는 알고리듬 (algorithm)을 새롭게 개발하고 사용할 필요가 있다. 여기서 알고리듬이란, 반복되는 물리 문제를 풀기 위한 절차 (procedure)나 공식 (formula)을 말한다. 수학자 Mohamed ibn-Musa al-Khwarizmi (780-850)의 이름에서 유래하였다. 수학에서 사용되는 algebra도 이 사람의 이름에서 유래되었다. 두 말할 필요없이 컴퓨터 프로그램은 하나의 정교한 알고리즘으로 볼 수 있다. 수학이나 컴퓨터 과학에서는 계속되는 문제를 풀 수 있는 하나의 간단한 절차를 말한다. 이미 수학이나 컴퓨터 과학에서는 매우 효율적이면서도 널리 보급되어 있는 알고리듬들이 많이 있다. 전산 물리학에서 당연히 이들을 사용해야 함을 이미 강조했다.(
www.netlib.org,gams.nist.gov). 물리학적 문제 특성을 충실히 고려한 새로운 알고리즘들이 지금도 많은 연구자들에 의해서 개발 및 사용되고 있다. 또한, 관련된 새로운 응용 연구들의 폭이 넓어지고 심화되고 있다. 물리학의 기본 법칙들을 연관된 전산 알고리듬과 융합하고, 실제로 물리량들을 신뢰할 수 있는 정밀도 내에서 수치적으로 계산하는 것이 전산물리학의 실제 내용이다.

참고문헌: D. M. Ceperley, Microscopic simulations in physics, Reviews of Mordern Physics 71, S438 (1999).

https://en.wikipedia.org/wiki/Computational_physics

덧글

  • 나그네 2006/06/23 09:04 # 삭제 답글

    거 참 좋은 거네요. 나도 이참에 전사물리 해보까
댓글 입력 영역

최근 포토로그



MathJax