HyperAI초신경

머신 러닝 힘장 훈련을 위한 VASP 사용

비엔나 Ab initio 시뮬레이션 패키지(VASP 매뉴얼 – VASP 위키)은 전자 구조 계산 및 양자 역학 분자 동역학과 같은 기본 원리를 바탕으로 원자 규모의 물질 모델링을 위한 컴퓨터 프로그램입니다.

ab initio 분자 동역학(MD)과 함께 사용되는 머신 러닝 힘장카테고리: 머신러닝 힘장 – VASP 위키), 비교적 낮은 계산 비용으로 긴 시뮬레이션 시간을 가능하게 하는 동시에 기본 원리로부터 기본적인 물리적 메커니즘을 포착할 수 있습니다. 일반적으로 단일 이니티오 분자 동역학 단계는 예를 들어 밀도 함수 이론(DFT) 프레임워크에서 전자의 양자 역학적 처리가 필요하기 때문에 계산 비용이 매우 많이 듭니다. 완전히 고전적인 분자 동역학 계산에서는 DFT 대신 힘장을 사용하여 각 원자에 작용하는 힘을 계산합니다. 이러한 원자간 퍼텐셜은 전통적으로 실험적 관찰에 기초하고 있으며 경험적 방법을 통해 알려진 힘(예: 반데르발스 힘, 정전기적 상호 작용 등)을 통합합니다. 따라서 힘장의 질은 특정 시스템 내의 상호작용을 얼마나 잘 이해하는지에 따라 달라집니다. VASP는 위의 두 가지 문제를 해결하기 위해 실시간 머신 러닝 힘장을 제공합니다.

튜토리얼 콘텐츠

이 튜토리얼에서는 실리콘 결정을 예로 들어 NpT 앙상블 분자 동역학을 통해 vasp 머신 러닝 힘장을 훈련하는 방법을 보여드리겠습니다. 이 튜토리얼을 통해 머신 러닝 힘장 훈련의 기본 프로세스를 배울 수 있습니다.

  1. 분자 동역학 입력 파일 준비
  2. 실제 상황에 맞춰 분자 동역학 및 머신 러닝 매개변수 변경
  3. 훈련 시작
  4. 포논 스펙트럼 계산을 통한 머신 러닝 힘장의 간단한 검증

입력 파일

입력 파일에는 다음이 포함됩니다.

├── dft_phonon (DFT 参考声子谱文件)
│  
├── ml_phonon (机器学习力场计算声子谱)
|   ├── run.sh (计算脚本)
|   :     :     (其他文件省略)
|   :     :
|
├── mltrain_train (机器学习力场训练输入文件)
│   ├── INCAR (vasp 设置文件)
│   ├── KPOINTS (K 点文件)
│   ├── POSCAR (硅结构文件)
│   
|
└── t.py 声子谱绘制文件

여기에서는 머신 러닝 힘장을 훈련하기 위한 입력 파일에 대해서만 설명하겠습니다.

인카

SYSTEM = Si16
ISYM   = 0        ! 不考虑对称性

! ab initio
PREC   = Normal !正常精度
IVDW   = 11     !范德华修正

ISMEAR = 0     ! 费米占据
SIGMA  = 0.02  ! 费米展宽

ENCUT  = 300   !波函数截断
EDIFF  = 1e-5  !计算精度

LWAVE  = F    !不保留波函数
LCHARG = F    !不保留电荷文件
LREAL  = F    !不做实空间投影计算

! MD
IBRION = 0        ! 进行分子动力学计算
NSW    = 500    ! 分子动力学步数
POTIM  = 5.0      ! 分子动力学时间间隔 5fs

#NpT 系综分子动力学设置
MDALGO = 3                ! 郎之万温控方法
LANGEVIN_GAMMA   = 5      ! 原子扰动系数
LANGEVIN_GAMMA_L = 10     ! 晶格扰动系数
PMASS  = 10               ! 晶格质量
TEBEG  = 400              ! 初始温度为 400
ISIF   = 3        ! 

! machine learning
ML_LMLFF  = T
ML_ISTART = 0  !进行机器学习力场训练
ML_WTSIF  = 2

#随机数种子
RANDOM_SEED =         688344966                0                0

POSCAR

16 원자 슈퍼셀

Si16
1.0
-5.468728 -5.468728 0.000000
-5.468728 0.000000 -5.468728
-0.000000 -5.468728 -5.468728
Si
16
direct
0.125000 0.125000 0.125000 Si
0.125000 0.125000 0.625000 Si
0.125000 0.625000 0.125000 Si
0.125000 0.625000 0.625000 Si
0.625000 0.125000 0.125000 Si
0.625000 0.125000 0.625000 Si
0.625000 0.625000 0.125000 Si
0.625000 0.625000 0.625000 Si
0.250000 0.250000 0.250000 Si
0.250000 0.250000 0.750000 Si
0.250000 0.750000 0.250000 Si
0.250000 0.750000 0.750000 Si
0.750000 0.250000 0.250000 Si
0.750000 0.250000 0.750000 Si
0.750000 0.750000 0.250000 Si
0.750000 0.750000 0.750000 Si

K포인트

Not only Gamma point
 0
Gamma
 2 2 2
 0 0 0

포트카

시스템의 해당 요소의 의사 퍼텐셜 조합은 Si의 의사 퍼텐셜입니다.

시작하기

1. 컨테이너를 복제합니다.

튜토리얼 작업 디렉토리를 찾아 컨테이너를 복제합니다.

2. 컨테이너를 설치하세요

4090 선택 - 사용량에 따라 지불 - vasp 6.3.0-cuda11.8 - 작업 공간

1

로딩 후 작업공간을 열어주세요

2

오픈 터미널

3

디렉토리에 들어가세요

cd mltrain_train

준비된 실리콘 의사전위를 업로드하여 사용할 수 있습니다.공식 웹사이트 예시의사잠재력 POTCAR을 디렉토리에 넣으세요

4

3. Phonopy 환경 설치

conda install -c conda-forge phonopy

그런 다음 y를 입력하고 Enter를 눌러 설치에 동의합니다.

4. 머신 러닝 힘장 훈련

vasp를 직접 실행하세요

mpirun -n 1 vasp_std


실행이 완료되면 훈련된 머신 러닝 힘장 파일 ML_FFN이 왼쪽에 나타납니다.

5

5. 포논 스펙트럼 계산을 통한 힘장 가용성의 간단한 검증

힘장 파일과 POTCAR을 포논 스펙트럼 계산 폴더로 복사합니다.

cp ML_FFN  ../ml_phonon/ml/ML_FF
cp POTCAR ../ml_phonon/ml/
cd ../ml_phonon/

Phonopy 환경을 활성화하고 계산을 위해 스크립트 run.sh를 실행합니다.

chmod 777 *.sh
./run.sh

이전 레벨로 돌아가서 파이썬 스크립트 t.py를 실행하여 포논 스펙트럼 비교 차트를 그립니다.

python t.py
8

분자 동역학 단계가 단 500이므로 두 가지의 최종 포논 스펙트럼이 매우 다르다는 것을 알 수 있습니다. 따라서 더 나은 결과를 얻으려면 INCAR에서 분자 동역학 단계 수를 늘리고 학습 중에 계산 정확도를 향상시킬 수 있습니다.