상길! 홈페이지 상길이를 만나요| ZanNavi's space
  현재위치 ► ZanNavi's space : Research : G94-FREQ  

----------------------------------------------------------------------
1997-1999 @KAIST

Gaussian94의 frequency계산에서 vibrational mode를 보는 방법


Gaussian94의 freqency 계산 결과를 가지고 HyperChemCerius2을 이용하여 vibrational mode를 보여주는 방법을 알아본다.
  먼저 G94로 계산을 할때 반드시 checkpoint 파일을 만들어둔다. HyperChem의 script 파일구조를 잘 알고 있다면 G94의 log 파일로부터 정보를 얻어낼수도 있지만 checkpoint 파일을 만들어두는 것이 여러모로 편리하다.

  1. HyperChem을 이용하는 방법
    freqchk라는 Gaussian 유틸리티를 이용한다. 사용법은 매우 간단하여
              freqchk 또는
              freqchk [chk file]
    
    하면 된다. 명령행에서 파일이름을 지정해주지 않으면 checkpoint 파일이름을 물어보게 된다. 그 다음은
              Write Hyperchem files? 
    
    간단히 y라고 쳐주면 된다. 정말 쉽지 않은가?
      다음 질문은 isotope mass를 물어본다. y라고 쳐주면 principal isotope mass를 알아서 넣어주게 되고 n으로 답하면 각 atom마다 isotope mass를 물어본다. 근처의 정수값을 넣어주면 알려져있는 isotope mass값 중 하나를 택하여 정확한 값을 입력해준다. 한가지 아쉬운 것은 isotope mass값을 임의로 정해줄수 없다.
      입력이 끝났으면 같은 디렉토리에 freqchk.entfreqchk.scr이 생긴다. 앞의 것은 분자의 geometry를 담고있는 PDB파일이고, 뒤의 것은 HyperChem에서 사용하는 script파일이다.
      HyperChem을 실행한후 Script메뉴에서 freqchk.scr을 open하면 알아서 PDB파일을 불러오고 어떤 vibrational mode를 선택할 것인지 물어보며, 선택한 mode를 동영상으로 보여준다. 다른 mode를 선택하려면 Cancel메뉴로 script를 멈춘 다음, Compute메뉴에 Vibrational Spectrum...을 선택한다.
      freqchk는 항상 freqchk.entfreqchk.scr라는 이름의 파일만을 만든다. 이 이름을 바꾸려면 freqchk.scr파일의 두번째 줄을 바꿀 이름으로 고쳐주어야 한다. 이러한 작업은 다음과 같은 freq2hyper란 shell script를 만들어서 사용하면 편리하다.
    freq2hyper
    ---------------------------------------------------------------------------
    #!/usr/local/bin/bash
    
    function error() {
      echo -e "$1"
      exit
    }
    
    # 아무 인자가 주어지지 않으면 사용방법을 출력하고 끝냄
    [ $1 ] || error "USAGE : freq2hyper chk_file[.chk]";
    
    FILE_ROOT="${1%.chk}"
    CHK=$FILE_ROOT.chk
    
    # 명령행 인자로 주어진 chk파일이 있는지 검사
    [ -f $CHK ] || error "$CHK 파일이 없습니다.";
    
    # chkchk : checkpoint 파일에 대한 정보를 알려주는 Gaussian 유틸리티
    # freq에 대한 정보가 있는지 검사한다.
    (chkchk $CHK | grep "Cartesian force constants present." > /dev/null) \
      || error "$CHK 파일에 cartesian force constant에 대한 정보가 없습니다.\nfrequency 계산이 맞는지 확인해 주십시오.";
    
    # freqchk : frequency정보를 뽑아내는 Gaussian 유틸리티
    # HyperChem형식으로 출력
    echo " ----------------------------------------------------------"
    echo -e "y\ny" | freqchk $CHK | tail +2
    
    # 생성된 freqchk.* 파일을 주어진 이름으로 변경
    mv freqchk.ent $FILE_ROOT.ent
    sed "s/freqchk.ent/$FILE_ROOT.ent/" freqchk.scr > $FILE_ROOT.scr
    rm -f freqchk.scr
    ---------------------------------------------------------------------------
    
    
  2. Cerius2을 이용하는 방법
    formchk라는 Gaussian 유틸리티를 이용한다.
              formchk 또는
              formchk [chk file]
    
    라고 하면 .fchk 파일이 생성되며 이 파일을 Cerius2에서 직접 읽을수 있다. fchk 파일은 text형식이므로 내용을 볼수도 있으며 다른 기종의 컴퓨터로 가져가기도 쉽다.
      Cerius2의 Gaussian module에서 AnalyzeFile메뉴에서 fchk 파일을 읽은 다음, Vibrations메뉴에서 Calculate Vibrational Normal Modes를 누르면 각 mode가 계산되면서 선택을 할수 있게 되고 ANIMATE를 누르면 동영상으로 보여준다. translation과 rotation도 같이 포함된다는 점이 HyperChem과 다른 점이다.
----------------------------------------------------------------------

이 페이지의 최종수정일: 1998.7.1
Copyright (C) 2000-2025 손상길
저작권에 대한 본 사항이 명시되는 한, 어떠한 정보 매체에 의한 본문의 전재나 발췌도 무상으로 허용됩니다. [copyleft]