학부연구생 활동 중 신소재 공학과와 코워크를 진행할 일이 생겼다. 이를 위해 해당 프로그램을 빌드 및 실행을 진행하게 되어 방법을 정리해보고자 한다. SIESTA는 밀도 범함수 이론(DFT)기반 오픈소스 프로젝트이며 튜토리얼도 잘 작성되어 있지만 빌드 시 은근 신경쓸게 많기 때문에 아래의 옵션들을 따라 가면 빌드를 쉽게 할 수 있을 것이다.
SIESTA
SIESTA(Spanish Initiative for Electronic Simulations with Thousands of Atoms) 는 밀도범함수이론(DFT)을 기반으로 분자·고체 전자의 거동을 계산-예측하는 오픈소스(GPL v3) 과학 계산 코드이자 방법론이다.
공부를 진행하며 확인해보니 기반 언어는 포트란이지만, 구조를 시뮬레이션하고 이를 시각화 하는 툴은 파이썬으로 작성되어 있어 최근 트렌드도 잘 맞다고 생각한다. 이 기능은 transiesta로 분류되지만, SIESTA 빌드 후에 사용가능한 기능이므로 아래 빌드 방법을 따라가면 된다.
빌드
공식 레퍼런스를 따라가면 쉽게 빌드할 수 있다.
설치 방법은 아래와 같다.
- 먼저 패키지를 설치해주어야 한다.
여기서 libpack들은 병렬 실행 지원과 행렬 연산에 이용된다.sudo apt install gfortran cmake libopenmpi-dev liblapack-dev libscalapack-openmpi-dev libnetcdff-dev - SIESTA git 에서 소스를 다운받는다
다운로드는 SIESTA Gitlab releases 에서 받을 수 있다. - 다운받은 파일을 압축해제해야하는데 해당 폴더에서 아래와 같은 명령어를 입력해야 한다.
여기서 준 옵션들은 빌드를 진행하기 위해 넣어주는 값들인데 병렬화 여부를 제외하고는 Issue란에 있는 것들이다. 해당 옵션을 넣어주지 않는다면 빌드 중 오류가 발생할 수 있다.cmake -S. -B_build -DCMAKE_INSTALL_PREFIX=/path/to/installation \ -DSCALAPACK_LIBRARY="-lscalapack-openmpi" \ # 아까 받은 패키지로 -DSIESTA_WITH_MPI=ON \ # 병렬화 여부 -DCMAKE_CXX_COMPILER=mpicxx \ -DSIESTA_WITH_FLOOK=off \ - 빌드를 진행한 후 install을 한다.
여기까지 진행을 하고 난 후 아까 적은 /path/to/installation 으로 가면 bin파일이 형성되었을 것이다. 프로그램을 쉽게 호출하고 싶다면 path에 등록하는 것을 잊지말자.cmake --build _build -j 4 cmake --install _build - bin 파일 path에 등록(옵션)
echo 'export PATH="/path/to/bin:$PATH"' >> ~/.bashrc
다음 글에서는 SIESTA의 병렬 실행 방법에 대해서 기술할 것이다.
'Research > SIESTA' 카테고리의 다른 글
| SIESTA 실행 방법 및 최적화 방안 (0) | 2025.08.14 |
|---|
댓글