VASP 머신 러닝 힘장 미세 조정
비엔나 Ab initio 시뮬레이션 패키지(VASP:VASP 매뉴얼 – VASP 위키 )은 전자 구조 계산 및 양자 역학 분자 동역학과 같은 기본 원리를 바탕으로 원자 규모의 물질 모델링을 위한 컴퓨터 프로그램입니다.
머신 러닝 힘장카테고리: 머신러닝 힘장 – VASP 위키)는 ab initio 분자 동역학(MD)과 함께 사용하여 기본 원리에서 근본적인 물리적 메커니즘을 포착하는 동시에 비교적 낮은 계산 비용으로 긴 시뮬레이션을 가능하게 할 수 있습니다. 일반적으로 단일 ab initio 분자 동역학 단계는 밀도 함수 이론(DFT) 프레임워크와 같이 전자의 양자 역학적 처리가 필요하기 때문에 계산 비용이 많이 듭니다. 완전히 고전적인 분자 동역학 계산에서는 DFT 대신 힘장을 사용하여 각 원자에 작용하는 힘을 계산합니다. 이러한 원자 간 퍼텐셜은 전통적으로 실험적 관찰에 기반하며 경험적 방법을 통해 알려진 힘(예: 반데르발스 힘, 정전기적 전하 상호 작용 등)을 통합합니다. 따라서 힘장의 품질은 특정 시스템의 상호 작용에 대한 지식의 정도에 따라 달라집니다. VASP는 위의 두 가지 문제를 해결하기 위해 실시간 머신 러닝 힘장을 제공합니다.
튜토리얼 콘텐츠
이 튜토리얼에서는 머신 러닝 하이퍼파라미터를 지속적으로 변경하여 일련의 해당 포논 스펙트럼을 생성하고, 이에 상응하는 최적의 머신 러닝 힘장 파라미터 파일을 얻습니다. 이 튜토리얼을 통해 다음과 같은 VASP 머신 러닝 하이퍼파라미터를 이해하게 될 것입니다.
ML_IWEIGHT # 무게 선택 모드
ML_WTSIF # 중량 계수
ML_WTOTEN # 총 에너지 중량 계수
ML_WIFOR # 힘 무게 계수
ML_SIGW0 # 피팅 단계 정확도
ML_RCUT1 # 반경 절단 거리
ML_RCUT2 # 각도 차단 거리
ML_EPS_LOW # 피팅 정확도
매개변수를 적절히 조정하면 결국 DFT와 거의 동일한 결과를 얻을 수 있습니다.

입력 파일
├── dft_phonon
│ ├── band.yaml (DFT 기준 포논 스펙트럼)
├── ml_phonon (머신러닝 포논 스펙트럼 계산 폴더)
├── refit (폴더 미세 조정)
│ ├── 인카르
│ ├── K포인트
│ ├── ML_AB
│ ├── 포스카르
│ ├── 포트카
│ ├── clean.sh
│ └── 실행.sh
├── t.py
이 튜토리얼은 ~/refit 폴더의 입력 파일에만 초점을 맞춥니다.
실행.sh
#进行机器学习拟合
mpirun -n 1 vasp_std
#将力场参数文件转移到声子计算文件夹中
cp ML_FFN ../ml_phonon/ml/ML_FF
#进行声子机器学习计算
cd ../ml_phonon/
chmod 777 *.sh
./run.sh
cd ../
#绘制对比图
python t.py
INCAR 머신 러닝 피팅 설정
SYSTEM = Si
IVDW = 11 #范德华力
ISMEAR = 0 #费米展宽
SIGMA = 0.02 #展宽
LWAVE = F #不保留波函数
LCHARG = F #不保留电荷
IBRION = 0 #MD (treat ionic degrees of freedom)
NSW = 1 #机器学习需要设置成 1
POTIM = 1 #MD time step in fs
ISIF = 3 #
# 机器学习
ML_LMLFF = T #启用机器学习力场
ML_ISTART = 3 #重新拟合模式(微调模式)
ML_IWEIGHT = 3 #权重选取模式
ML_WTSIF = 1 #权重系数
ML_WTOTEN = 1 #总能权重系数
ML_WIFOR = 1 #力权重系数
ML_SIGW0 = 1E-20 #拟合步长精度
ML_RCUT1 = 8. #径向截断距离
ML_RCUT2 = 6. #夹角截断距离
ML_EPS_LOW = 1E-20 #拟合精度
ML_MB = 5000 #运行内存设置
KPOINTS(머신 러닝이 활성화된 경우 사용되지 않음, 하나만 설정)
K-Spacing Value to Generate K-Mesh: 0.040
0
Gamma
4 4 4
0.0 0.0 0.0
POSCAR
머신 러닝 학습의 슈퍼셀 크기에 대해서는 다음 튜토리얼을 참조하세요.머신 러닝 힘장 훈련을 위한 VASP 사용
포트카
시스템의 해당 요소의 의사 퍼텐셜 조합은 Si의 의사 퍼텐셜입니다.
ML_AB
이는 사전에 계산된 시스템에 해당하는 분자 동역학 데이터입니다. 구체적인 학습 과정은 튜토리얼을 참조하세요.머신 러닝 힘장 훈련을 위한 VASP 사용그런 다음 ML_ABN을 ML_AB로 이름을 바꾸세요. 여기서는 Si의 분자 동역학 데이터가 미리 준비되었습니다.
시작하기
1. 컨테이너를 복제합니다.
튜토리얼 작업 디렉토리를 찾아 컨테이너를 복제합니다.
2. 컨테이너를 설치하세요
4090 선택 - 사용량에 따라 지불 - vasp 6.3.0-cuda11.8 - 작업 공간

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

오픈 터미널

리핏 폴더로 들어가세요
cd refit
준비된 실리콘 의사전위를 업로드하면 여기서 사용할 수 있습니다.공식 웹사이트 예시"이 논문의 의사잠재력 POTCAR.
POTCAR를 디렉토리에 넣고 ml_phonon/ml로 복사하세요.
cp POTCAR ../ml_phonon/ml/

3. Phonopy 환경 설치
conda install -c conda-forge phonopy
그런 다음 y를 입력하고 Enter를 눌러 설치에 동의합니다.

4. 스크립트를 실행하세요
chmod 777 *.sh
./run.sh
5. 매개변수 미세 조정
ml.png 파일을 보세요

refit 폴더로 돌아가서 가중치 모드를 ML_IWEIGHT = 2로 변경하고 스크립트를 다시 실행하여 결과를 확인합니다.

결과가 더 나쁘다는 것을 알 수 있습니다. 돌아가서 가중치 모드를 ML_IWEIGHT = 1로 변경하고 결과를 다시 살펴보세요.

종합적으로 비교해보면 1과 3의 결과가 비슷하고, 1이 더 나은 디테일(광학 지원)을 보입니다. 다음으로, ML_IWEIGHT = 1인 조건에서 개선 작업을 진행해 보겠습니다.
우리는 ML_WIFOR를 더 작게 만들어 맞춤된 힘의 정확도만 높이려고 노력했습니다.

우리는 변화가 크지 않다는 것을 발견했으며, 이는 더 많은 장착 공간을 확보하기 위해 차단 거리를 늘려야 한다는 것을 시사합니다.

보시다시피, 결과는 더 나쁩니다(광학 지원). 이는 매개변수 공간이 너무 크고, 발견된 극점이 최소점이 아니라는 것을 의미합니다. 대신 절단 거리를 줄여야 합니다.

매개변수를 변경하고 다시 실행한 후, 마침내 DFT와 동일한 포논 스펙트럼을 생성할 수 있는 머신 러닝 힘장 매개변수를 얻었습니다.