전문가칼럼 : 국내외 전문가의 신기술 및 활용 사례 연구를 통해 더 많은 지식과 경험을 배워보세요.

재료의 원자 수준 속성을 다루는 분자동역학 시뮬레이션(1) 시뮬레이션 구성식

작성자: 최준명 교수 | May 19, 2025 5:09:16 AM

1. 분자동역학 시뮬레이션과 CAE

 

우리가 살고 있는 세상은 시공간적으로 그야말로 광활한 영역에 펼쳐져 있습니다. 시간 스케일로는 찰나의 순간부터 영겁의 기간까지, 거리 스케일로는 나노미터의 양자의 세계에서부터 수백만 광년에 이르는 우주의 세계에까지 이르고 있지요.

 

그리고 이렇게 광활한 온 세상이 어떠한 수학적 원리로 구성되어 돌아가고 있는 것인지, 유감스럽게도 아직 우리들은 그 과정을 100% 이해하지는 못하고 있습니다.

따라서 적어도 현재까지는, 모든 CAE 기반의 시뮬레이션 솔버들이 '사용자가 관심 있어 하는 특정 시공간 영역에 한정적으로 잘 맞는 구성식이 탑재된' 형태로 만들어져 있습니다. 예를 들어 우리가 육안으로 볼 수 있는 거시적 스케일의 재료 거동은 연속체역학에 기반한 유한요소법으로 풀어가는 것이 적절합니다.

 

또한, 재료의 전기화학적 특성과 그 양자적 거동을 분석할 때에는 양자역학에 기반한 제일원리 계산법으로 이를 접근하는 것이 좋습니다. 그러한 점에서 분자동역학 시뮬레이션 기술은 양자역학 계산법보다는 거시적이며, 유한요소법보다는 미시적인 중간 단계에 있다고 이해할 수 있겠습니다.

 

오늘날의 컴퓨팅 파워를 기준으로, 분자동역학 시뮬레이션이 다루는 공간적 스케일은 한 변 길이 최대 수백 나노미터 수준이며, 내부에서 재료를 구성하는 원자들이 보여주는 움직임은 최장 수 마이크로 초 수준이라 할 수 있겠습니다.

 

하지만 이러한 시공간적 크기는 사용자가 갖추고 있는 컴퓨팅 파워에 따라, 그리고 재료의 운동을 기술하는 포텐셜의 형태와 그 복잡성에 따라 천차만별로 달라집니다.

 

이러한 점에서 분자동역학 시뮬레이션이 다루는 스케일을 보다 엄밀하게 표현하는 방법은, '재료의 거동을 고전역학으로 설명할 수 있는 방법론들 중 가장 미시적인 세계를 다루는 솔버'라고 이해하는 것입니다.

 

 

대학교 과정의 일반물리학이나 공업수학 등을 통해 아래와 같은 물체의 운동방정식을 한 번쯤 보셨을 겁니다:

 

 

 

 

여기서 m은 강체의 질량, c는 감쇠계수, k는 강성, 그리고 r(t)는 시간에 따라 물체에 제공되는 외력입니다. 또한, 이 미분방정식의 해는 주어진 강체의 시간에 따른 변위라는 점 또한 기억하고 계실 겁니다.

 

이제까지 우리는 이 식에서 질량을 갖춘 강체 m을 당구공과 같은 큰 물체로 여겨왔는데, 분자동역학 프로그램 또한 정확시 똑같은 컨셉으로 재료의 미시세계를 구현합니다.

 

다만 한 가지 다른 것이 있다면, 주어진 모델의 강체 m이 당구공이 아닌 원자 한 알갱이에 불과한 아주 작은 세상을 다루고 있다는 점이지요.

 

즉, 자연계의 물질을 이루고 있는 수많은 원자들과 그들이 공유/비공유결합, 그리고 주어진 온도/압력에 대한 상태를 모두 고전역학적 접근으로투버 구현한 솔버가 분자동역학 시뮬레이션이라 말할 수 있겠습니다.

 

 

2. 분자동역학 프로그램의 기본 구성

 

분자동역학 시뮬레이션을 수행하기 위한 솔버는 오픈 소스에서부터 상용 프로그램에 이르기까지 다양하지만, 그 형태를 막론하고 모든 분자동역학 프로그램은 아래와 같은 기본 로직을 따라 계산이 진행됩니다.

 

Step 1. 포텐셜 에너지 관점에서 가장 낮은 에너지를 갖는 (안정화된) 분자 모델을 준비한다.

Step 2. 주어진 모델을 구성하는 모든 원자들이 받고 있는 힘의 크기와 방향을 계산한다.

Step 3. 아주 짧은 시간 변화율 동안, 계산된 힘으로 모든 원자들의 위치를 옮긴다.

Step 4. 업데이트된 원자들의 좌표를 바탕으로 에너지와 힘을 새로 계산하고, 사용자가 지정한 통계열역학적 상태를 가리키도록 각 원자의 속도를 조정한다.

Step 5. 사용자가 지정한 타겟 시간에 도달할 때까지 Step 2-4를 반복 계산한다.

 

여기서 Step 4의 '통계열역학적 상태'란 시뮬레이션 박스 속에 존재하는 모든 원자들의 속도 분포 평균치로부터 평가됩니다.

 

일찍이 물질의 상태방정식을 입자들의 통계적 물리량으로 기술할 수 있다는 것을 볼쯔만이 발견했는데, 이를 가장 잘 대변하는 관계식이 아래의 수식입니다.

 

 

위 식에서 m 및 v_a는 모델 내 원자들의 질량과 속도, k_b는 볼쯔만 상수, T는 온도, 그리고 브라켓 <>는 주어진 시스템 내 모든 해당 원자들에 대한 평균 연산을 의미합니다.

 

즉, 위 식은 '시스템을 구성하는 모든 원자들의 운동에너지의 평균값은 그 물체의 온도 상태를 가리킨다'라고 이해할 수 있습니다.

 

이것이 고전 열역학으로부터 정식화 되어왔던 재료의 내부에너지 및 관련 상태방정식들을 원자 수준의 세계로 이어주는 다리 역할을 하는 핵심이라 말할 수 있겠습니다. 조금 더 나아가, 원자들로 구성된 시뮬레이션 박스가 겪고 있는 압력 (P)은 다음과 같이 기술할 수 있습니다 :

 

 

 

 

여기서 V는 시스템의 부피, N은 전체 원자의 수, ri는 i번째 원자의 위치벡터, fi는 i번째 원자가 겪고 있는 힘벡터, 그리고 M은 i번째 원자를 중심으로 그 주변 컷오프 범위 내에 들어오는 원자들의 개수를 의미합니다. 

 

이렇게 재료의 상태방정식을 기술하는 데에 가장 중요한 두 물리량인 온도와 압력이 이를 구성하는 해당 원자들의 총합의 형태로 기술 가능합니다.

 

 

3. 시뮬레이션 박스 설정 : 주기경계조건의 개념과 활용

 

최근 수십 년 동안 컴퓨터 계산 능력, 즉 전산자원이 엄청난 속도로 늘어갔다는 데에는 모두가 공감하실 겁니다. 그럼에도 불구하고, 분자동역학 시뮬레이션 환경을 기반으로 자연에 있는 물질을 다루는 것은 여전히 마이크로미터/마이크로 초에 가까스로 다다르는 수준에 머물러 있습니다.

 

그만큼 분자동역학 시뮬레이션은 한 번의 연산에 들어가는 전산자원의 양이 상당하며, 특히 모든 원자들의 위치정보를 업데이트하는 시간 적분과정이 가장 큰 계산 비중을 차지합니다.

 

따라서 제한된 자원 안에서 의미 있는 분자동역학 시뮬레이션 결과를 얻기 위해서는, 내가 관측하고자 한느 시뮬레이션 박스의 크기와 상황을 적절하게 한정할 필요가 있습니다.

 

물론, 이상적으로는 내가 관심 있어 하는 재료 혹은 공정의 도메인을 1:1로 똑같이 모사하는 것이 가장 쉽고 직관적입니다.

 

하지만 수십 수백억 개의 원자들로 구성된 재료들의 모든 에너지를 계산하고, 나아가 그에 대한 장기간 (밀리 초 이상, 때로는 수 개월 이상)의 점진적인 동적 거동을 파악한다는 것은 천문학적인 계산량을 필요로 하게 되어 현재의 단계에서는 그 노력에 비해 얻는 결과물의 가치가 매우 떨어집니다.

 

 😥 미리 보기는 여기까지!
내용을 이어서 보고 싶다면,
아래 정보를 입력해 주세요.