분자동역학 (molecular dynamics) 입문 by 바죠


분자 동역학 (
molecular dynamics): Newton의 운동방정식을 원자, 분자 모델 수준에서 수치적으로 푸는 방법을 말한다. 분자내의 모든 원자들의 위치를 시간의 함수로 알아내는 작업을 의미한다. 이러한 계산을 통해서 분자 시스템의 시간에 따른 물성을 조사하는것을 목표로 한다. 물론, 온도효과를 조사할 수도 있다. 고전적인 방법을 사용하기 때문에 절대온도가 0으로 갈 때, 모든 원자들은 정지하게 된다. 주어진 온도 T에서, 볼쯔만 분포를 따르는 원자, 분자 상태들을 이론적으로 찾아낼 수 있다.

원자, 분자의 운동을 시간의 함수로 표현할 수 있다. 원자들의 이동, 이 대목은 실험적으로 관찰하기 매우 어려운 대목이다. 물론, 분자 동역학 계산은 실제 실험적으로 만들어지지 않은 이상적인 분자구조에 대한 이론적인 전산모사에도 이용된다. 모델의 타당성에 따라서 관찰 불가능한 실험적 상황을 모사할 수 있다. 꼭 원자의 운동을 시뮬레이션 할 이유는 없다. 모델에 따라서, 원자 집단을 하나의 포인트로 생각할 수도 있는 것이다.  이론 물리학에서 발달하여 최근에는 재료과학, 생명과학 등의 분야에서 광범위하게 응용되고 있다.

유한 온도 분자동역학 계산은 결국, 랑쥐방 방정식을 푸는 것이다.  https://en.wikipedia.org/wiki/Langevin_equation
결국, 관심이 있는 시스템의 에너지를 V(x)라고 하고, 주어진 외부 절대 온도가 T라고 할 때,
가능한 시스템은 exp[-V(x)/(kBT)]에 비례하는 확률 분포를 가지게 된다.
분자 동역학은 순전히 고전적 접근이다. 온도가 T-->0으로 가면 모든 원자들은 정지하게 된다.
양자역학적 접근이 아니기 때문에 그렇다. 실제 원자들은 온도가 0로 가더라도 움직인다.  

분자 동역학 시뮬레이션을 통해서 우리가 찾고자 하는 것은 특별한 configuration {x}이다.
이러한 볼쯔만 분포를 잘 따르는 가능한 모든 configuration {x}를 찾고자 하는 것이다.
시스템의 시간적인 변화를 관찰한다는 것은 이론적으로 가능한 것이지 실제로는 매우 어렵다.
https://en.wikipedia.org/wiki/Symplectic_integrator


분자 동역학 방법은 미세세계를 계산하지만, 거시세계 물리량을 취급을 목표로 할수있다. 압력, 에너지, 열용량 등, 따라서, 이부분에서 통계역학을 필요로 하게된다. 통계물리학 없이 분자 동역학 계산만으로 관측 가능한 실험사실과 계산결과를 직접 연관 시키기는 매우 힘들다.
유한 온도, 유한 압력하에서의 분자 시스템의 운동을 기술할 수 있다. 아주 일반적인 연구 방법을 의미한다. 아주 일반적인 연구 방법으로 여러 분야에서 성공적으로 응용되고 있다. 쉽게 말해서, 각원자의 운동을 시간의 함수로 관찰하자는 이야기이다. 물론, 다양한 가능성을 가지고 있는 원자들(같은 에너지를 가지더라도 다르게 원자들이 배열할 수 있다.)의 세계를 모두다 관찰하는것은 매우 어려울수 있다.

열물리학 (thermodynamics): 상태들간의 안정성을 자유에너지로 비교한다. 열역학적 상태: 온도, 압력, 입자수의 함수로 표시한다. 물질의 상태는 결국 원자들의 배열과 연관하여 생각할 수 있다. (Gibbs)
운동학(kinetics): 화학반응 절차에 관심을 둔다. 분자모양의 변화를 취급한다. phase 공간상에서 원자들의 위치, 운동량의 함수로 표시한다.

유한 온도에서 움직임 기술: NVT 분자 동역학, 원자수 고정, 온도 고정, 부피 고정
유한 온도, 유한 압력에서의 움직 기술 : NpT 분자 동역학, 원자수 고정, 온도 고정, 압력 고정, 여기서 압력은 외부로부터 주어진 압력이다.

단위셀의 움직임은 셀에 작용하는 힘은 단위셀에 작용하는 스트레스 텐서를 구함으로써 얻어낼 수 있다.
모든 원자들에 작용하는 힘은 원자들간의 상호작용으로부터 얻어낼 수 있다. 
원자들의 속도는 외부 온도, 외부 압력이 주어질 때 원자간 상호작용으로부터 결정된다.  

분자구조에서는 핵과 전자들로 이루어져 있다. 여기에서 핵들의 위치가 알려질 경우 분자전체의 에너지를 결정할 수 있다. 이 에너지함수를 본-오펜하이머 에너지 표면라고 한다. 즉, 원자들의 위치들의 함수이다. 이는 핵들이 정해진 위치에 배열되었을 때 모든 전자들은 자신이 가질 수 있는 안정화된 상태에 이미 도달되었다는 것을 가정한 것이다. 실제 전자들은 핵의 운동에 비해서 훨씬 빠른 시간 스케일에서 운동한다. 사실, 전자들은 양자역학적으로 공간에 분포한다. 수소 원자의 경우 상황에 따라서 터넬링 운동을 할 수도 있다. 이 경우에는 수소의 운동을 고전적 운동방정식(뉴튼)으로 기술하는 것은 적절치 못한 것이다. 다시말해서, 분자동역학은 고전역학의 실행이며, 고전통계 역학을 사용한다. 다만, 원자 사이의 상호작용은 그 정확성을 확보하기 위해서 양자역학으로 부터 도입된것일 수 있다.  고전통계 역학을 사용하기 때문에 유한온도 하에서는 각 자유도당 3/2kBT의 에너지가 허용되어야 한다.

분자 크기 (길이), 모사 시간(시간)의 한계를 가지고 있다. 포텐셜의 정밀도 또한 문제가 될 수 있다. 실험적 사실과 비교하여야 의미를 가질수 있다. 액체, 고체의 경우 periodic boundardy condition을 적용함으로써 분자동역학 방법을 응용할 수 있다. 쿨롱 포텐셜을 장거리에서도 영향을 미치는 포텐셜 함수이다. 빨리 계산하기가 힘들다. Ewald 계산 방법을 통상 사용한다. 에너지/힘 계산 complexity: O(N^1.5)
Particle mesh method 를 이용하는 사람들도 있다. 이경우 N=10^5 정도는 되어야 빨라지는 효과를 볼수 있다고 한다.
complexity: O(N)

현재의 실험적 기술로는 원자를 직접 볼수 있는 장치가 없습니다. 원자의 운동은 더욱 관찰하기 힘들다. 특히, 원자들은 대략 초당 1000000000000 번 이상 진동한다.

분자 동역학 관련 교재:

Daan Frenkel and Berend Smit, 2002, Understanding Molecular Simulation From Algorithms to Applications, Academic Press

M. P. Allen and D. J. Tildesley, 1987, Computer simulation of liquids, Oxford University Press, Oxford, U.K.
Allen and Tildesley codes:
http://incredible.egloos.com/7288469


이론적으로는 시간에 대한 원자들의 운동을 모사한다.
NVE : microcannonical ensemble
NVT : cannonical ensemble
NpT : 압력, 온도 고정

분자 동역학의 한계 : 특정한 시간안에 복잡한 운동이 일어날 확률이 너무나 낮다.
특정 시간의 시뮬레이션으로 열역학적 물리량 계산의 수렴이 매우 느리다.
매우 큰 시스템을 효율적으로 기술할 수 있는 방법이 없다. 슈퍼 컴퓨터의 활용의 한계가 있다.
매우 큰 시스템, 매우 긴 시간의 시뮬레이션이 가능하게 하는 기술이 필요하다.
고전 역학적 방법을 사용하고 있다. 즉, 온도가 0으로 수렴하면 모든 원자들이 움직이지 않는다.
양자 역학적 제로포인트 에너지가 없다는 것이다.  

랑쥐방 방정식을 이용한 NVT 시뮬레이션이 적절하다. 원자들의 속도 분포가 맥스웰 분포를 따르는 지가 제대로 된 시뮬레이션의 판단 기준이다. 다른 시뮬레션 방법들에서 제대로 맥스웰 분포를 얻어내지 못하는 경향이 있다.
랑쥐방 방정식 풀이는 Allen and Tildesley 교재에 자세하게 설명되어 있다. 

velocity Verlet 적분방법이 이상적인 적분방법이다. 그 이유는 이것이 simpletic integrator이기 때문이다. 매우 긴 시간이 지나도 에너지 흡수, 손실이 없기 때문이다. 매우 복잡한 적분 방식은 simpletic integrator 가 일반적으로 되지 못한다. 

경험론에 바탕을 둔 원자 간 상호작용 포텐셜을 활용하지 않고 제일원리 계산으로 부터 포텐셜을 얻어낼 경우, 에너지, 힘 계산이 제일원리 수준에서 이루어질 수 있다. 제일원리 계산이 분자 동역학 계산에 적용될 때,  제일원리 분자 동역학 계산이라고 부른다.   

제일원리 계산 에너지를 잘 표현하는 새로운 간단한 경험론적 포텐셜을 만들 수 있다면 분자 동역학 계산이 가속화 될 수 있다.
예를 들어, 기계학습 방법을 동원할 수도 있다.

분자 동역학 계산을 가속화시킬 수 있는 물리적인 방법으로 온도를 의도적으로 높이는 방법도 있다.
특정 상수많큼 포텐셜 에너지를 의도적으로 높이는 방법이 있다.

!234567890
       subroutine vverlet0(isw,ttest)
       implicit none
       integer isw,i,j
       real*8 ttest

       if(isw == 1)then
       do i=1,natot
       xyz(i,:)=xyz(i,:)+deltamd*vxyz(i,:)+deltamd*deltamd*(fxyz(i,:)/ymass(i))/2.d0
       vxyz(i,:)=vxyz(i,:)+deltamd*(fxyz(i,:)/ymass(i))/2.d0
       do j=1,3
       drt(i,j)=drt(i,j)-nint(drt(i,j)) ; if(drt(i,j) < 0.d0) drt(i,j)=drt(i,j)+1.0d0
       enddo
       enddo
                   endif
       if(isw == 2)then
       do i=1,natot
       vxyz(i,:)=vxyz(i,:)+deltamd*(fxyz(i,:)/ymass(i))/2.d0
       enddo
                   endif
       call get_drt1einkn()
       ttest=(2.d0/3.d0)/float(natot)*einkn
       end subroutine vverlet0


1566_article.pdf




핑백

덧글

  • ihlee 2007/05/04 14:58 # 삭제 답글

  • 바죠 2011/03/20 11:29 # 삭제 답글

    아래의 책에 나오는 Lagevin 방정식 풀이가 실전에서 많이 사용된다.

    Allen, M. P., and D. J. Tildesley. 1987. Computer simulation of liquids.
    Oxford University Press, Oxford, U.K.

  • 바죠 2011/06/01 10:50 # 삭제 답글

    Allen, M. P. 1980. Brownian dynamics simulation of a chemical reaction in
    solution. Mol. Phys. 40:1073–1087.
    Allen, M. P., and D. J. Tildesley. 1987. Computer Simulation of Liquids.
    Oxford Press, New York.
  • 2011/06/09 11:38 # 답글 비공개

    비공개 덧글입니다.
  • 2013/11/11 01:46 # 삭제 답글 비공개

    비공개 덧글입니다.
  • 바죠 2013/11/12 11:05 #

    dddd>> 자주 들러주십시요. 감사합니다.
댓글 입력 영역

최근 포토로그