Gaussian 16

  • Цитаты из Википедии:
    • Gaussian (читается как гауссиан) - программный пакет для расчета структуры и свойств молекулярных систем в газофазном и конденсированном состоянии, включающая большое разнообразие методов вычислительной химии, квантовой химии, молекулярного моделирования.
    • Стандартные возможности:
      • Методы молекулярной механики: AMBER, UFF, DREIDING
      • Полуэмпирические методы: AM1, PM3, PM6, CNDO, INDO, MINDO/3, MNDO, ZINDO
      • Неэмпирические методы: RHF/UHF, MP2 (MPn), CC, CASSCF, CI, GVB, BD, OVGF
      • DFT и TD с использованием большего количества простых и гибридных локальных и градиентно-корректированных функционалов
      • Гибридные методы: ONIOM
      • Неэмпирическая молекулярная динамика: ADMP, BOMD
      • Расчетные методы точных значений термохимических величин и энергий: Gaussian-1, Gaussian-2, Gaussian-3, CBS, W1
  • Установлены две версии Gaussian 16, скомпилированные для процессоров, поддерживающих разные наборы дополнительных инструкций:
    1. В директории /opt/shared/gaussian/avx2 находится версия для узлов с более современными процессорами, поддерживающими инструкции AVX2. Она должна использоваться на серверах HPE поколений Gen9 и Gen10.
    2. В директории /opt/shared/gaussian/sse4_2 находится версия для узлов c более старыми процессорами, поддерживающими только инструкции SSE4.2. Она должна использоваться на серверах HP поколения G7.
  • Перед использованием Gaussian необходимо правильно настроить переменные окружения. Рекомендуется делать это непосредственно в скриптах для qsub:
    1. Переменная g16root должна указывать на директорию с Gaussian:
      export g16root="/opt/shared/gaussian/avx2"

      или

      export g16root="/opt/shared/gaussian/sse4_2"
    2. Переменная GAUSS_SCRDIR должна указывать на директорию для временных файлов. Рекомендуется использовать рабочие области для временных файлов, в качестве уникального имени при этом предлагается использовать номер задачи:
      export GAUSS_SCRDIR=$(ws_allocate $(echo $PBS_JOBID|awk -F\. {'print $1'}) 30)
    3. Для настройки остальных переменных окружения выполнить:
      . $g16root/g16/bsd/g16.profile
  • Создать входной файл test.gjf следующего содержания (осторожно, пустые строки имеют значение):
    %nprocshared=4
    %mem=256mb
    # b3lyp/TZVP Opt Freq
    
    Triplet Dioxygen geometry optimization
    
    0 3
    O
    O 1 R
    
    R 1.220
  • Создать скрипт submit.sh:
    #!/bin/bash
     
    #PBS -l walltime=0:1:0
    #PBS -l select=1:ncpus=4:mem=320M
    #PBS -j oe
     
    cd $PBS_O_WORKDIR
     
    uname -n
    if [ "$(cat /proc/cpuinfo|grep -c avx2)" != 0 ] ; then
        export g16root="/opt/shared/gaussian/avx2"
    elif [ "$(cat /proc/cpuinfo|grep -c sse4_2)" != 0 ] ; then
        export g16root="/opt/shared/gaussian/sse4_2"
    else
        echo 'ERROR: unsupported CPU'
        exit 100
    fi
    echo "g16root = $g16root"
     
    . $g16root/g16/bsd/g16.profile
     
    JOB=$(echo $PBS_JOBID|awk -F\. {'print $1'})
    echo "JOB = $JOB"
     
    export GAUSS_SCRDIR=$(ws_allocate $JOB 30)
    if [ "x$GAUSS_SCRDIR" == "x" ] || [ ! -d $GAUSS_SCRDIR ] ; then
        echo "ERROR: no workspace $GAUSS_SCRDIR"
        exit 101
    fi
    echo "GAUSS_SCRDIR = $GAUSS_SCRDIR"
     
    $g16root/g16/g16 < $PBS_O_WORKDIR/test.gjf >> $PBS_O_WORKDIR/test.$JOB.out
     
    ws_release $JOB
  • Поставить задачу в очередь:
    qsub submit.sh
  • Дождаться завершения задачи. В результате её работы должны появиться 3 файла:




ИВЦ НГУ благодарит сотрудников НГУ Дмитрия Евгеньевича Горбунова и Виталия Георгиевича Киселева за помощь в составлении инструкции.