Posts

Showing posts from December, 2018

분자동역학(Molecular Dynamics)에서 Time Integration의 개념.

분자동역학 (molecular dynamics, MD) 시뮬레이션은 앙상블(ensemble)을 구성해 계산을 진행한다. 앙상블은 가장 기초적인 형태인 NVE ('microcanonical ensemble', 원자수, 체적, 에너지가 일정한 앙상블)부터 NVT ('canonical ensemble', 원자수, 체적, 온도가 일정한 앙상블), NPT ('isobaric-isothermal ensemble', 원자수, 압력, 온도가 일정한 앙상블) 등의 세 가지가 가장 많이 사용된다. 그 중에서도 가장 많이 사용되는 앙상블의 종류는 NVT인데, 이는 일반적으로 우리가 실제로 어떤 실험을 하거나 어떤 시스템을 제어하는 경우에 '에너지'를 기준으로 측정/제어하지 않고 대체로 온도를 지표로 이용하기 때문에 NVE ensemble로 실조건을 모사하는데 어려움이 있고, 반대로 NPT의 경우에는 압력 조건을 강제하기 때문에 원치 않는 인위가 발생하여 compressive / tensile stress와 같은 기계적 물성치 예측이나 phase transformation 등 내부 응력에 민감한 실험을 진행할 경우 적절한 결과를 얻기 어렵기 때문이다. 아무튼 간에, 우리가 계를 해석하는데 적절한 앙상블 종류를 선택하고 나면, 실제로 MD 계산을 돌리기 위해서는 앙상블 형태에 맞는 time integrator를 준비해야 한다. Time integrator란 현재 우리가 관찰하고 있는 계의 거동을 지정된 time step의 크기마다 한번씩 예측해나가는 장치로서, 이를 통해 한 단계 한 단계 계산해 나가면 (= time evolution) 결국 우리가 예측하고자 하는 계의 평형상태를 계산해 낼 수 있다. 앞서 소개한 NVT 앙상블에서 time integrator의 사용을 예로 들어보자. 우리가 MD 코드에 넘겨주는 정보는 각 원자들의 초기 좌표값과 온도이다. (MD의 기본원리와 개념에 대해서는 나중에 포스팅 하겠다.)