brunch

You can make anything
by writing

C.S.Lewis

by 김종민 Jul 16. 2018

복잡한 분자 세계를
어떻게 계산할까?: DFT

물리 덕후가 소개하는 과학-기술

1998년, 2013년 노벨상은 컴퓨터 프로그래머? 

1998, 2013년 노벨 화학상은 컴퓨터 프로그램을 개발한 과학자들에게 돌아갔습니다. 과학 연구에 웬 컴퓨터 프로그램이냐구요? 복잡한 고체물질과 세포 등을 분자 수준에서 이해하고 계산하는 데에 컴퓨터 프로그램을 도입한 공로를 인정받았기 때문입니다. 특히 1998년에 노벨 화학상을 받은 콘 교수는 고체 물질을 이해하는 새로운 관점과 계산 기법을 물리학계에 발표했고 이를 응용한 프로그램을 개발했습니다. 컴퓨터로까지 개발된 이 관점과 계산 기법을 통틀어 Density Functional Theory(DFT)라고 부릅니다.


오늘의 주제는 이 DFT입니다.

사실 저도 조사하기 전까지는 대강 알고 있던 분야라서 새로 공부하느라 힘이 들었습니다 :)

2013년 노벨 화학상 수상자이자 프로그래머




물리학과 복잡 세계

물리학 내에서 DFT는 엄청나게 중요한 계산 기법이라고들 합니다. 이 DFT의 중요성을 강조하기 위해서 먼저 복잡한 세계의 문제가 얼마나 풀기 어려운지를 말씀드리려고합니다. 물리학 역사에서 가장 최초로 제기된 복잡성 문제는 3체문제(3-Body System)문제입니다. 이 문제는 얼핏 보면 굉장히 단순한데요, 세 개의 비슷한 질량을 가진 태양이 있다면 이 녀석들이 어떤 공전 궤도를 갖는지 예측하는 문제입니다.

3체 문제, 세 천체의 상호작용을 예측하시오

이 3체 문제에서 하나를 뺀 2체 문제는 굉장히 단순하게 풀립니다. 바로 뉴턴의 만유인력으로 설명할 수 있죠. 뉴턴의 업적으로 인해서 우리는 천체의 운행을 설명할 수 있었습니다. 태양계에서는 두 천체가 끌어당기는 힘으로 인해서 타원 궤도를 돌게 됩니다. 태양계는 태양의 질량이 무진장 커서 지구-목성간의 상호작용은 무시할만 하기 때문에 2체 문제로 설정할 수 있습니다. 그런데 만약 세 천체의 질량이 비슷해서 3체가 되면 문제가 복잡해집니다.


그림처럼 A가 B에 영향을 주면 그 영향이 P에도 전달되고 이 영향으로 인해 B와 A간의 상호작용이 또 변하고....딱 봐도 굉장히 복잡해보이죠? 그런데 못 풀 정도는 아닌 것 같나요? 비교적 쉽게 풀렸던 2체 문제 때문에, 학자들은 3체 문제도 풀 수 있을 거라 자신했습니다. 결국 이 난제는 뉴턴(1600년대) 이후 1800년대까지 학자들을 괴롭혔습니다. 그러다가 푸엥카레라는 수학자가 등장해서 문제를 종결짓습니다. 3체 문제의 일반해는 없다. 즉, 수학적으로 정확한 예측을 하는 것이 불가능하다고요.


그렇다면 4체, 5체...N체 문제는? 수학적으로 정확히 예측하기는 커녕 특수한 상황을 가정해도 해를 구할 수 없습니다. 너무 상호작용이 복잡해지기 때문입니다. 이러한 경우에는 컴퓨터로 시뮬레이션을 해서 대략 때려맞춘 뒤 예측하는데, 갯수가 많아질수록 이마저도 쉽지 않습니다. 


*(이와 비슷한 예시를 꼽자면 양자컴퓨터 글에서 언급한 기상현상입니다. 기상현상을 지배하는 방정식은 네이비어-스톡스 방정식인데 이 식은 세기의 난제죠. 복잡한 기상유체의 상호작용을 정확히 풀 수 없어서 컴퓨터 시뮬레이션으로 일일이 대입합니다. 그러나 변수가 많을 수록 컴퓨터로 연산하는 것도 어렵습니다.)


천체 뿐만 아니라 원자 세계도 마찬가자입니다. 원자핵과 전자가 각각 하나만 있을 때는 양자역학으로 비교적 쉽게 풀 수 있습니다. 이럴땐 슈뢰딩거의 방정식은 굉장한 힘으로 작은 세계를 예측할 수 있습니다. 그러나 원자와 전자가 많다면? 답이 없습니다. 제 아무리 슈뢰딩거라도 무기력해지고 맙니다. 실제로 기초적인 양자역학은 원자가 한 두개 정도이고 상호작용이 적은 상황만 정확히 풀 수 있습니다. 그래서 양자역학으로 정확히 풀 수 있는 것은 수소 원자 정도 뿐입니다.(양성자-전자 하나)

고체는 엄청난 양의 원자가 모여있다


그런데 고체 물질은 원자가 아보가드로수, 즉 10의 23승개 단위인데요...이 엄청난 숫자를 상상하는 것조차 힘이 듭니다. 이러한 상호작용을 인간이 계산하는 것이 가능할까요? 제 아무리 컴퓨터라고 해도 이 모든 양자역학 계산을 하는 것은 불가능합니다. 고체 뿐만 아니라 다른 실제 세계도 마찬가지입니다. 상호작용의 개수가 한 두가지일 거란 보장이 없죠. 에잇, 실제 물질을 하나도 예측 못하는데 양자역학 따위 쓸모없다고 생각하실 수 있습니다.



양자역학 세계를 밀도의 관점에서 접근한 DFT

DFT는 이렇게 어려운 다체문제를 새로운 관점으로 접근합니다. 바로 밀도의 관점입니다. 이는 보다 쉽게 문제를 풀 수 있도록 했습니다. 기존의 양자역학에서는 전자와 원자의 상호작용을 하나하나 고려하다 보니 총 N 가지수의 어려운 문제가 탄생하는데요. 이렇게 복잡한 상호작용을 일일이 세지 말고, 그냥 뭉뚱그려서 하나의 밀도로 봐버리자는 것이 DFT의 아이디어입니다.


예를 들면 한 반에 30명이 있을 때, 그 반의 학생들을 일일이 기억하고 그 학생들의 성적을 과목별로 분석하는 건 꽤 어려운 일입니다. 그러나 그 학생들을 반 단위로 묶어서 과목 전체의 평균 성적을 내서 반의 성취도를 평가하는 건 비교적 쉽죠. 미세한 정확도는 떨어지더라도 반 단위로 정리하거나 분류할 때는 후자가 훨씬 편합니다. DFT가 하는 것이 바로 이겁니다. "고체 내부의 상호작용을 전자(학생)단위에서 이해하지 말고, 전자가 모여있는 밀도(반) 단위에서 이해하자. 그래도 성질을 이해하는데는 큰 차이가 없다." 그래서 DFT는 밀도의 입장에서 원자세계를 이해합니다. 즉 양자역학을 다른 관점으로 접근한 것입니다.

DFT: 다체 문제를 밀도의 관점에서 접근


DFT와 근사 기법

그러나 이렇게 밀도의 입장에서 접근한다고 하더라도 문제는 여전히 복잡합니다. 왜냐하면 N개의 원자가 상호작용하다보면 밀도 역시도 상당히 구하기 힘들기 때문입니다. 그래서 DFT는 여러가지 근사 기법을 적용합니다. 원자 핵 근처에 있는 전자가 원자 핵과 묶여서 마치 한 몸처럼 이동한다는 가정도 집어넣구요, 심지어는 전자-전자간의 상호작용 자체가 아예 없다고까지(!) 가정해서 문제를 일단 풉니다. 그래서 밀도를 구합니다.


이렇게 푼 밀도는 아무래도 여러 가정이 들어갔다보니까 부정확하겠죠? 이 부정확한 밀도(밀도 1)를 가지고 고체의 성질(에너지, 원자간의 결합 거리 등)을 구할 수 있는 방정식에 대입합니다. 이 방정식을 풀면 고체가 가질 수 있는 에너지가 나오는데요, 이 에너지를 최소화하는 새로운 밀도(밀도2)의 값을 구해서 출력합니다.


여기서 잠깐, 에너지가 최소라는 말은 그 시스템이 안정하다는 뜻입니다. 즉 고체가 잘 유지되고 있는 상태이므로 우리가 관찰할 수 있는 실제 세계의 상태라는 뜻입니다. 밀도2에서 에너지가 최소이므로 실제 고체가 안정적으로 존재한다면 밀도2의 상태여야합니다. 그런데 우리가 초기에 넣어준 값은 밀도1입니다. 이 두 값이 다르다면 무언가 오류가 있는 겁니다. 그렇기 때문에 밀도2의 값을 참조해서 밀도1의 값을 수정하고 다시 위 작업을 반복합니다. 최대한 밀도2(출력)값과 밀도1(입력)값이 비슷해지도록요. 일종의 피드백 시스템입니다. 이러한 작업을 컴퓨터로 여러번 수행하면, 실제 고체 시스템과 매우 유사한 상황을 만들 수 있습니다. DFT는 이러한 과정을 통해 물질 세계를 이해합니다.


정리하자면 DFT는

1)고체 내부의 상호작용을 개개의 전자 단위가 아닌 밀도에서 이해하고자 한다.

2)이 밀도를 구하기 위해 여러가지 가정을 해서 문제를 단순화한다.

3)이렇게 구해진 밀도를 방정식에 넣고, 출력된 밀도와 비교해서 맞을 때까지 문제를 여러번 푼다. 

DFT는 이러한 방식으로 고체 세계를 모델링합니다.


DFT의 위력

DFT가 사용하는 모델은 N개의 시스템을 직접 푸는 것보다 훨씬 단순합니다. 그래서 이를 응용한 컴퓨터 프로그램을 개발하면, 복잡한 세계를 훨씬 쉽게 이해할 수 있습니다.


일단 DFT모델은 안정한 고체의 상태를 기본적으로 묘사합니다. 때문에 어떤 분자를 이용해서 물질을 만들때 그 구조가 실제로 가능한지 여부를 판단할 수 있습니다. 그것을 만들기도 전에요. 실제 내가 이 물질을 만들 수 있는지 없는지를 컴퓨터가 미리 판가름해준다는 겁니다.


단순화한 에너지 띠
실제 고체의 에너지 밴드 다이어그램

저번 에서 고체의 특성을 결정하는 것은 에너지 띠구조(Band structure)임을 언급한 적이 있는데요. 이 구조가 실제 고체에서는 굉장히 복잡했었죠? 이 복잡한 구조를 어떻게 계산했을까요? 바로 DFT 프로그램이 적용된 컴퓨터가 했습니다. DFT는 단순한 가정을 사용하기 때문에 모든 고체를 잘 맞히는 것은 아니지만, 꽤 많은 고체가 갖는 에너지를 찾아서 띠구조를 계산할 수 있습니다. 또한 이렇게 이해한 밴드 구조를 통해서 고체의 특성을 예측할 수 있습니다. DFT가 왜 강력한 방법인지를 보여주는 대표적 방법이랄까요.


DFT의 한계

DFT는 복잡한 전자 세계의 문제를 따로따로 다루지 말고, 뭉뚱 그려 밀도로 풀어도 똑같은 답을 얻을 수 있다는 전제를 하고 있습니다. 그러나 실제로는 그렇지 않은 경우도 많습니다. 전자가 따로따로 존재할 때만 보여지는 양자역학적 특성에 의해서 고체의 성질이 결정되는 경우가 있기 때문입니다. 이러한 양자역학적 특성을 무시하고 진행하기 때문에, DFT는 절연체를 비롯한 반도체 물질에서는 오차가 꽤 발생하게 된다고 합니다.


또한 DFT는 <밀도로 푼다>는 전제 외에도 다른 근사들이 많이 들어갑니다. 고체 원자에 존재하는 전자들간의 상호작용을 아예 무시한다든가 하는 것이 그것인데요. 실제로 전자-전자간의 상호작용이 매우 강하게 된다면 이러한 근사는 매우 부적합하게 됩니다. 전자-전자의 상호작용을 무시할 수 없는 물질을 강상관계 물질(Strongly correlated)이라고 합니다. 최근의 물리학자들은 바로 이처럼 미지의 것을 연구합니다.

전자와 전자간의 상호작용이 강한 상황

그래서 최근 DFT를 이용한 연구분야는 아래와 같은 과정으로 진행됩니다. 먼저 기존의 가정들로 설명할 수 없는 새로운 특성을 보여주는 물질을 찾습니다. 이에 적용되는 새로운 가설을 세우고 이에 적합한 함수를 모델링합니다. 그리고 이를 이용해서 프로그램을 만듭니다. 그 다음엔 컴퓨터로 계산을 해서 실험 결과와 맞춰본다든지 하는 겁니다. 해결되지 않은 물질이 잘 설명된다면, 처음에 세운 가설이 잘 부합하는 거겠죠?


읽어주셔서 감사합니다.

이번 내용 역시도 비교적 최신 물리학에다가, 양자역학+고체물리+컴퓨터프로그램....저도 잘 몰랐던 분야라서 공부하는 데에도 애를 많이 먹었습니다. 읽는 분들도 많이 힘들지 않으셨을까 하는 생각이 듭니다.


요즘에는 과학이 워낙 고도화되어서 쉽게 풀릴만한 문제들은 남들이 다 했다고들 합니다. 남은 문제는 난해하고 꼬여있는 문제들 뿐이라는데요. 그래서 세상의 복잡한 문제를 어떻게 해결할 것 인지가 요즘의 트렌드인 것 같습니다. 그런 취지에서 빅데이터와 머신러닝이 각광받고 있는 것 같기도 하구요. 물리적 세계를 연구하는데에도 이러한 기법들이 점차 적용되지 않을까요? 언젠가는 AI 이미지 기법이 적용되어서 실험 결과를 뽑아줄지도?(대학원생: 만세!) 아무튼 여기까지 읽어주시느라 고생 많으셨습니다.

여러분의 관심사와 흥미를 빅데이터로 분석하여 가장 높은 조회수를 얻을 수 있는 글을 쓰겠습니다
매거진의 이전글 걷기만 하면 충전이 된다구?: 압전물질
작품 선택
키워드 선택 0 / 3 0
댓글여부
afliean
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari