본 매뉴얼은 리눅스(UBUNTU 20.04)환경에서 Terminal에 명령을 내리는 방식으로 작성되었습니다.
사용자는 UBUNTU 20.04 이상의 환경에서 리눅스 환경에 익숙해지는 과정을 거치면서 매뉴얼을 사용하시기 바랍니다.
https://sites.google.com/view/seoulqmt
University of Seoul QMT
Quantum materials theory at the University of Seoul
sites.google.com
동일한 input file을 이용하여 shellscript 파일을 만들 것이다. 이번에는 확장자가 .sh이다. Terminal 창에 vi Kpoints.sh 라고 입력하고, 그 안에는 다음과 같이 입력하면 된다. 다른 부분은 앞서 입력한 것들과 다를 것이 없으나, 하이라이트 된 부분만 약간 다르다.
저장한 뒤, 터미널 창에서 chmod +x Kpoints.sh 라고 치면 이 파일이 노랑색으로 바뀌는 것을 볼 수 있다. 그런 다음에 ./Kpoints.sh 라고 입력하면 자동으로 계산을 시작한다.
사실 앞서 수행하였던 작업도 이 방식을 이용하면 빠르게 계산할 수 있다. 계산이 끝난 뒤에는 또 grep 명령어를 이용해서 total energy 데이터들을 뽑아낸다. 그것을
#!/bin/sh for i in 4 8 12 16 20 24 28 32 36 do cat > MoS2_$i.in <<! &control calculation = 'scf' restart_mode='from_scratch' prefix='MoS2' etot_conv_thr = 1.0D-8 forc_conv_thr = 1.0D-4 tstress = .true. tprnfor = .true. pseudo_dir = '(당신의 pseudopotential 파일들이 있는 위치)' outdir='./tmp' / &system ibrav= 4 A=3.161 C = 20 nat= 3 ntyp= 2 ecutwfc = 80 occupations='smearing' smearing='gaussian' degauss=0.020000 / &electrons conv_thr = 1.0d-10 mixing_beta = 0.3 / ATOMIC_SPECIES Mo 95.94 Mo_ONCV_PBE-1.2.upf S 32.065 S_ONCV_PBE-1.2.upf ATOMIC_POSITIONS (crystal) Mo 0.666666619 0.333333314 0.750000039 S 0.333333360 0.666666714 0.627500011 S 0.333333360 0.666666714 0.872499989 K_POINTS automatic $i $i 1 0 0 0 ! #Executatble mpirun -np (프로세서 개수, 컴퓨터가 가용 가능한 최대 숫자를 입력) (pw.x프로그램 디렉토리)/pw.x < MoS2_$i.in > MoS2_$i.out done |
가지고 그래프를 그릴 수 있다.
위와 같이 for 문을 넣어서 k point 를 변화시키고, 맨 아래에 input file을 계산하고 output file을 저장하는 명령어를 넣어서 자동으로 실행을 시킨다. 이후, 아까 ecutwfc를 변화시키며 outputfile을 얻은 결과에서 total energy를 grep해 온것과 똑같은 방식으로 데이터를 얻고 그래프를 그린다.
'DFT > Calculation' 카테고리의 다른 글
10. Energy band of monolayer MoS2(2023년 7월 30일 수정) (0) | 2020.09.14 |
---|---|
9. Relaxing (2023.08.03 오타 및 내용 수정 완료) (0) | 2020.09.11 |
7. Total Energy 그래프 그리기 (2023.08.03 보충 설명 추가) (0) | 2020.09.07 |
6. Output File (0) | 2020.09.07 |
5. Input File (오타 수정 완료 2023.08.03) (0) | 2020.09.04 |