일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 양자역학
- 물리화학
- Computational Chemistry
- 타이베이
- 대만
- 양자화학
- 여행
- 유기화학
- Physical Chemistry
- travel
- quantum chemistry
- Organic Chemistry
- Aromaticity
- Gaussian
- Chemistry
- 화학
- Today
- Total
Daily Project
[Gaussian] Single Point Energy Calculation #2 본문
[Gaussian] Single Point Energy Calculation #2
Jun_Hyeong 2020. 12. 4. 18:10
#Job Script
이전 포스팅에서 Gaussian Input 파일에 대해서 알아보았습니다. Input 파일을 이용해서 계산을 돌릴 때 많은 곳에서 서버를 이용하는데, PBS(Portable Batch System) 스케줄러를 사용합니다. 작업 스케줄러를 사용하기 위해서 PBS 작업 스크립트를 작성해야 하는데, 다음과 같은 예시를 보면서 알아봅시다. 1
#!/bin/bash
#PBS -N Formaldehyde Single Point Energy Calculation
#PBS -l nodes=cnode:ppn=16
#PBS -l walltime=1000:00:00
module purge
export INPUT=Formaldehyde.com
## Determine GAUSS_SCRDIR.
NODES=$(cat $PBS_NODEFILE)
export GAUSS_SCRDIR=/scratch/$USER
module purge
module load g16_B.01_AVX
## Execute g16.
cd $PBS_O_WORKDIR
g16 $INPUT
|
#PBS는 PBS 작업 스케줄러의 옵션을 의미합니다. 먼저, #PBS -N 은 작업 이름을 지정해주는 옵션으로 "Formaldehyde Single Point Energy Calculation"라는 이름을 지정했습니다. 두 번째 #PBS -l은 작업에 사용할 리소스를 설정해주는 옵션으로 사용하시는 서버에 지정되어 있는 Node와 Core에 개수에 따라 자신의 작업에 적절한 리소스를 지정하면 됩니다. 또한, walltime은 작업 실행 시간으로 적절하게 지정하면 됩니다. INPUT에는 작성한 Gaussian Input 파일을 지정하고, scratch/$USER에는 자신에게 지정된 scratch 폴더를 적어줍니다. 이 외에도 PBS 작업 스케줄러는 다양한 옵션을 제공해하는데, 국가슈퍼컴퓨팅센터에서 확인할 수 있습니다. 작업 스크립트 작성이 완료되면 qsub 명령어를 이용해서 작업 스크립트를 제출하면 계산이 시작됩니다. 제출한 작업을 확인하기 위해서 qstat 명령어를 이용하면 해당 작업에 부여된 job_id와 작업의 상태를 알 수 있습니다. 만약, 작업을 끝내고 싶다면 qdel 명령어와 job_id를 이용해서 작업을 멈출 수 있습니다. 2
#Job submit
qsub job_script.sh
#Check
qstat
#Delete
qdel job_id
|
cs |
#Gaussian Output File
Input File을 바탕으로 계산을 진행하면 우리가 지정한 옵션에 따라서 결과를 얻을 수 있게 됩니다. 계산이 완료되면 우리는 Formaldehyde.log 파일과 Formaldehyde.chk 파일을 얻게됩니다. log 파일의 경우 계산이 진행되면서 지속적으로 작성됩니다. 만약, Input 파일에 오류가 있거나 계산을 진행하는 도중에 문제가 생기면 log 파일에 오류가 기록되면서 계산이 멈추게 됩니다. 계산이 완료되었다면 다음과 같은 문장이 나오면서 계산이 종료되게 됩니다.
THE TEST OF A FIRST RATE INTELLIGENCE IS THE ABILITY TO HOLD TWO OPPOSED
IDEAS IN THE MIND AT THE SAME TIME, AND STILL RETAIN THE ABILITY TO FUNCTION.
ONE SHOULD, FOR EXAMPLE, BE ABLE TO SEE THAT THINGS ARE HOPELESS AND YET BE
DETERMINED TO MAKE THEM OTHERWISE.
-- F. SCOTT FITZGERALD
Job cpu time: 0 days 14 hours 0 minutes 34.0 seconds.
Elapsed time: 0 days 0 hours 52 minutes 38.3 seconds.
File lengths (MBytes): RWF= 5528 Int= 0 D2E= 0 Chk= 81 Scr= 1
Normal termination of Gaussian 16 at Mon Sep 28 18:05:53 2020.
|
cs |
log 파일에서 정보를 얻을 수 있는 방법은 크게 2가지가 있습니다. 첫 번째는 GaussView를 이용해서 해당 파일을 열고 Result 메뉴의 Summary를 클릭하면 요약된 정보를 표시해줍니다. 계산에 사용된 Method와 Basis set를 비롯해서 Total Energy, Spin, Dipole Moment, 그리고 진동수 계산을 진행했다면 Imaginary frequency의 개수까지 보여줍니다.
두 번째는, Formaldehyde.log 파일에서 정보를 바로 얻어오는 방법입니다. 실제로 연구를 진행하면 많은 계산을 진행해야 하고 GaussView를 활용해서 하나씩 정보를 얻어오는 것은 비효율적입니다. 이때, 리눅스 grep 명령어를 사용하면 효율적으로 정보를 얻을 수 있습니다. log 파일은 많은 정보를 포함하고 있는데, 각 특성에 해당하는 문장이 있습니다. 예를 들어, Formaldehyde의 바닥 상태 에너지와 들뜬 상태 에너지를 얻고 싶다면 'SCF Done'과 'Total Energy'라는 문장을 이용해서 정보를 추출할 수 있습니다.
#Ground State Energy
grep 'SCF Done' Formaldehyde.log
#Excited State Energy
grep 'Total Energy' Formaldehyde.log
|
cs |
이 방법은 특히 많은 계산을 진행하고 결과를 정리할 때 유용합니다. 바닥 상태 에너지와 들뜬 상태 에너지를 비롯해서 분자의 HOMO와 LUMO 에너지 등 매우 다양한 정보를 grep 명령어를 사용해서 간단하게 얻을 수 있습니다. 즉, 하나씩 표에 기록하지 않아도 grep 명령어를 사용해서 얻은 결과를 엑셀과 같은 프로그램을 이용해서 간단하게 표로 정리할 수 있다는 것입니다. 여러모로 활용도가 높으니 grep 명령어 사용법을 숙지하는 것이 많은 도움이 될 것 입니다.
이 포스팅은 Exploring Chemistry with Electronic Structure Methods, Third Edition를 기반으로 합니다.
- Single Point Energy Calculation #1 : d2illy.tistory.com/51 [본문으로]
- www.ksc.re.kr/gsjw/jcs/hd?jwgubuncode=1186&jcskey=28 [본문으로]
'Chemistry Project > Gaussian' 카테고리의 다른 글
[Gaussian] Single Point Energy Calculation #3 (4) | 2020.12.15 |
---|---|
[Gaussian] Single Point Energy Calculation #1 (6) | 2020.11.23 |
[Gaussian] Introduction to Gaussian #2 (0) | 2020.11.22 |
[Gaussian] Introduction to Gaussian #1 (0) | 2020.10.21 |