Новосибирский институт органической химии им. Н.Н. Ворожцова СО РАН

Лаборатория изучения механизмов органических реакций

pri

Usage: pri [-np=N] input.in [input1.in ...]

Dependencies: perl, Priroda


Прежде всего отредактируйте значения переменных в начале скрипта.

Опции: 
  -h     help
  -help  подробный help
  -np=N  Запускать на N ядрах (по умолчанию на одном)
  -log   Печать будет не на консоль, а в log-файл
  
Скрипт для последовательных запусков квантово-химической программы Природа.
Последовательность запусков определяется строкой после task= в группе $control
input-файла. Строка состоит из последовательности задач, разделенных знаком +, 
и не должна содержать пробелов. После каждой задачи могут быть в круглых скобках
уточнения вида (метод/фунционал/базис).

Примеры (b1 и L22 -- "легкий" и "тяжелый" базисы):
task=optimize+hessian+nmr(L22)
task=hessian(b1)+optimize(b1)+optimize
task=hessian(b1)+saddle+hessian+irc
  
Не нужно указывать названия output-файлов, input-файлы можно задавать по маске.
На основании названия input-файла определяется имя и расширение output-файла.
Если input-файл кончается на '.in' или '.inp', то расширения у output-файла не
будет. В противном случае именем будет полное название input-файла, 
расширением -- '.out'. Между именем и расширением будет суффикс, свой для каждой
задачи в соответствии со следующей таблицей
  Optimize => Opt     dipole => D       energy => E     gradient => G   
   hessian => H         irc0 => IRC0      irc1 => IRC1       nmr => NMR 
  optimize => O       saddle => TS        scan => SCAN
Суффиксы в этой таблице можно отредактировать в тексте скрипта.
Суффикс, совпадающий с одним из предыдущих, будет инкрементироваться.

В основном задачи совпадают с таковыми для самой "Природы". Исключения:
irc -- это irc0+irc1 (task=irc, back=0 для irc0, back=1 для irc1)
TS -- это синоним saddle (task=optimize, saddle=1)
Optimize -- оптимизация с рестартами, см. ниже
В отличие от "Природы" регистр символов важен.

Если задача указана без уточнения (в круглых скобках), то метод/фунционал/базис
берутся из input-файла (или умолчаемые "Природы"). Уточнения м.б. вида
(метод/фунционал/базис) либо (фунционал/базис) либо (базис). Если методу не
нужен фунционал, то (метод//базис). Базис -- это файл базиса. Если он с полным
путем, то д.б. в двойных кавычках. Если не нужны разные базисные наборы для
разных атомов, удобно использовать файлы с короткими именами, по названию
базисного набора, помещенные в специальную директорию (см. начало скрипта).
См. о базисах http://limor1.nioch.nsc.ru/priroda.html

Некоторые особенности:
--Всегда используется последняя оптимизированная геометрия.
--Перед irc и saddle д.б. посчитан hessian и в нем д.б. мнимая частота 
  (или в input-файле д.б. группа с $Energy).
--Предварительно посчитанный hessian использется и для optimize за исключением
  случая, когда он уже не актуален, типа hessian(b1)+optimize(b1)+optimize (для
  второго optimize).
--Планируется сделать особую обработку некоторых полезных сочетаний:
  scan+saddle, scan+nmr, irc+nmr.

На консоль скрипт печатает название input-файла и строку задач для него и
для каждой задачи метод/фунционал/базис, команду запуска расчета "Природой" и
краткую информацию о памяти/времени счета.

Особый случай оптимизации геометрии -- Optimize (optimize с заглавной буквы).
  Делает следующее.
  --Включает запись файла векторов (если save= в группе $control не было 
    задано в явном виде, этот файл потом удаляется).
  --Если за заданное количество циклов (iterations= в группе $scf) градиент SCF
    остается слишком большим ( SCF is far from  convergence) и Природа вылетает,
    то она перезапускается с текущей геометрией и последними векторами (read=1 в
    группе $guess). Говорят, в сложных случаях помогает умеренное кол-во циклов
    (iterations=10) с последующим перезапуском.
  --Если оптимизация геометрии не сходится за заданное количество шагов 
    (steps= в группе $optimize, 50 by default), то перестартовывает Природу 
    с последней геометрией. Это полезно, когда оптимизация не сходится даже 
    за 300 шагов, "зацикливаясь" около некоторой геометрии.
  Все output'ы Природы после перезапусков разделяются строкой из решеток и 
  записываются в один файл с суффиксом Opt. На консоль скрипт печатает 
  циклы SCF, градиенты оптимизации геометрии и некоторую информацию о своих 
  действиях. Также на консоль попадают сообщения Природы в stderr, если их не 
  перенаправить.
    
  
Последняя модификация: Fri Mar 5 16:12:22 2010

Download

Source