Внимание!

Мы используем cookie для сохранения в вашем браузере информации о ваших предыдущих посещениях. Это необходимо для более удобной работы с сайтом.
Если Вы с этим не согласны, вы можете отключить использование cookie в настройках браузера.
Принять

Квантовохимическая программа ПРИРОДА

Просмотр 15 сообщений - с 1 по 15 (из 35 всего)
Хранитель
Zheka
Хранитель

Квантовохимическая программа Priroda
Автор: Дмитрий Лайков;
Условия распространения: бесплатная;
ОС: Linux, Windows (используется cygwin dll);
Основные методы расчёта: DFT, MP, CC;
Последняя известная версия: 32- и 64-битные версии с использованием MPI от 2006.08.20;
Страница загрузки: свободное распространение отсутствует.

Описание: Одна из самых быстрых и малотребовательных квантовохимических программ для DFT-расчётов.

Ссылки на статьи:
1. Laikov D.N. Fast evaluation of density functional exchange-correlation terms using the expansion
of the electron density in auxiliary basis sets. // Chem. Phys. Lett., 1997, 281, pp.151-156 (скачать).
  — ускорение, применяемое в программе Priroda для DFT-расчётов;

2. Laikov D.N., Ustynyuk Yu.A., PRIRODA-04: a quantum-chemical program suite. New possible
in the study of molecular systems with the application of parallel computing. // Russ. Chem. Bull.,
Int. Ed., 2005, V. 54, №3, pp.820-826 (скачать).

(Д.Н.Лайков, Ю.А.Устынюк. Система квантовохимических программ "ПРИРОДА-04". Новые возможности
исследования молекулярных систем с применением параллельных вычислений. // Известия академии
наук, Серия химическая, 2005, №3, 804-810.) (скачать)
  — ссылка на Priroda 4;

3. Perdew J.P., Burke K., Ernzerhof M. Generalized Gradient Approximation Made Simple. // Phys. Rev.
Lett., 1996, 77, pp.3865-3868.
  — DFT-функционал PBE;

4. Laikov D. N. PhD dissertation, Moscow State University, 2000
(Д.Н.Лайков. Развитие экономного подхода к расчету молекул методом функционала плотности, его
применение к решению сложных химических задач. Диссертация на соискание ст. к.ф.-м.н., МГУ, 2000.) (скачать)
  — ссылка на 3z (трёхэкспоненциальный базисный набор);

5. Laikov D. N. A new class of atom basis functions for accurate electronic structure calculations
of molecules. // Chemical Physics Letters 2005, 416, pp. 116-120 (скачать).
  — ссылка на новые лямбда-базисы;

6. D.N. Laikov, PRIRODA, Electronic Structure Code, Version 6, 2006.
  — ссылка на Priroda 6 (отдельной статьи не было).

Другие страницы по Priroda на нашем сайте:
1. Практикум — ПРИРОДА — Знакомство с основами расчёта на примере конформационного анализа NH2-OH.
2. Практикум — ПРИРОДА — Визуализация молекулярных орбиталей (версия 0.0.1).

Priroda в Интернете:
1. Страница СЦКП КазНЦ РАН;
2. Страница ЛИМОР НИОХ РАН.

Визуализаторы (

Zheka писал(а):

):
1. QCC Front-End;
2. ChemCraft;
3. Priroda Simple Viewer;
4. ViewMol3D;
5. PMViewMol.

Особенности запуска программы Priroda:
1. При работе в Windows нужно в обязательном порядку указывать путь к временным файлам.
а)Для указания текущей директории нужно установить "path=." в группе "$system".
б)Для указания постоянной директории нужно либо задать её в виде "path=/cygdrive/c/temp",
(в данном случае будет использоваться директория c:temp), либо установить переменную
окружения "TMPDIR" командой set TMPDIR="c:temp"

Назадокументированные функции:
Группы:
$integral:
Пример: $integral direct=1 rout=2 $end
direct=1 выбирает пересчёт кулоновских интегралов в методах theory=riMP2 и theory=riDFT;
routine=0 или 1 выбирает разные алгоритм расчёта двухэлектронных интегралов в методах с учётом корреляции, routine=0 по умолчанию, =1 считает немного медленнее, но лучше параллелизуется на большом числе процессоров.

Задачи (task=):
extremal — экстремальная оптимизация (после каждого шага оптимизации считается гессиан);

Методы (theory=):

Начальное приближение волновой функции (секция $guess):
mix=1 — неравнозначность электронов на верхней занятой молекулярной орбитали

Пояснения по входным данным:
1. В документации к ПРИРОДА-06 есть пример входного файла для сканирования, общий вид которого
fix=(fix1), (fix2), (fix3)
val(1)=x1, y1
val(4)=xN, yN
points=20

Это равнозначно value=x1,y1,z1, xN,yN,z1
Т.е. val(1) — заполнение множества параметров value, начиная с 1-го,
а val(4) — заполнение, начиная с четвёртого.

2. Визуализация орбиталей в пакете ПРИРОДА:

Во входном файле добавить "print=+vectors+molden"
Из входного файла вырезать секцию, начинающуюся на "mos>", из этой секции вырезать в начале каждой строки "mos>", сохранить в виде нового файла file.mos и смотреть с помощью визуализатора Molden. В связи с размером базисов Molden может подтормаживать.

Хранитель
Zheka
Хранитель

Ошибки в программе Priroda 06:
1. При запуске расчёта колебательной задачи на 4-х ядрах не некотором шаге
"Solving for responses …" программа зависает. Нужно указывать использование не более 2-х ядер.
2. Если помимо параметра "steps" в группе $optimize указать ещё и "step", то максимальное число шагов
оптимизации будет определятся из второго параметра.
3. После каждого шага оптимизации пишется "time: Geomtery Optimization". Описка в слове геометрия.
4. В значении энтальпийного вклада для одноатомной молекулы ошибка (нужно вычесть RT).

Ошибки в программе Priroda 08:

Участник
penumbra
Участник

Evgeniy, вопрос как к спецу по КХ пакету Природа (по крайней мере так рекламировали 😉 ): Можно ли последнюю распараллелить на кластере, если да то с какими ограничениями или особенностями.

Хранитель
Zheka
Хранитель
penumbra писал(а):
Evgeniy, вопрос как к спецу по КХ пакету Природа (по крайней мере так рекламировали 😉 ): Можно ли последнюю распараллелить на кластере, если да то с какими ограничениями или особенностями.

Скорее нельзя, чем можно  😉

Участник
SeriousSem
Участник
Можно ли последнюю распараллелить

На единичном компьютере параллелится на ура (проверено на 4 ядрах, при возможности протестируем на 8-ми)

Хранитель
Zheka
Хранитель
SeriousSem писал(а):
На единичном компьютере параллелится на ура (проверено на 4 ядрах, при возможности протестируем на 8-ми)

Используется MPICH с разделением памяти (shared-memory).

Хранитель
Zheka
Хранитель

В пакете Priroda полно всяких разных незадокументрированных функций. Кто какие знает?

Если указать в качестве task=extremal, то начинается вроде как экстремальная оптимизация (если это то, что я думаю, то после каждого шага оптимизации должен считаться гессиан).

Участник
SeriousSem
Участник

$guess mix=1 (т.е. указание на неравнозначность 2-х электронов ВЗМО) в Priroda: в группе $guess выставляется параметр mix=1. Данный прием полезен при расчете систем с синглетной открытой оболочкой (например, синглетных бирадикалов)

Участник
Tarquinn
Участник

Вот часть вывода команды (после избавления от большей части очевидного мусора)
strings p6_32 |grep "^[0-9ABCDEFGHIJKLMNOPQRSTUVWXYZ]*$"

ENERGY
GRADIENT
OPTIMIZE
HESSIAN
ANHARMONIC
SCAN
DYNAMIC
SADDLE
IRC4
EXTREMAL
PATHX
TRANSIT
STERIC
DIPOLE
POLARIZABILITY
COMPARE
RITEST
RIOPT
MULTIPLY
SCRIPT
LEDFT
RIDFT
ESCF
IMNN
OSDFT
DFCIS
TDDFT
DUAL
FINITE
ANALYTIC
PRINT
MMDATA
PATHR
VGGA
VWN5
BLYP
SLYP0
OLYP
MPBE
BPBE
PBE1
HFLSD
HFPBE
B2PBE
B3PBE
HFLYP
B1LYP
B2LYP
B3LYP
BFGS
DIIS
MCSCF
CASSCF
NCPSCF
GRID
CASPT2
CASMP2
MRCISD
RIHFDF
PT4DQ
PT4SDQ
PT4SDTQ
CCD4S
CCD4ST
CCSD4T
LEHF
MOLDEN
RIMP2
UUUUUU
ENERGIES
BONDS
CHARGES
ISODENSITY
MATRIX
MINIMAL
VECTORS
LOCALIZE
RIHF
CISDT
CISPT2
RILHF
RIMP3
OCID
CC0D
MP2S
RIMP4D
RIMP4DQ
RIMP4SDQ
RIMP4SDTQ
RICID
RICISD
RICCD
RICCSD
CISDI
CCSDI
OMP2
RIMP2DF
RILMP2
LCCD
RIMP4
RICCSDSD
YCISM
TCISM
XCIS
YCIS
TCIS
TCSCF
9UUUUUU
UUUUUU
UUUUUU
OLMP2
MMP2
MMP2J
RLOCAL
DECOMP
MP4T
CIS2
CIS2DT
CISDT1
CISDTQ
CI12345
CCSDT
CISS
CISSD
CIDS
CISDSD
CCSDSDI
CISDTI
CISDTQI
BMP2
BMP2C
CIDAB
CCDAB
CCDAA
CCD1
333333
BASIS
ATOMIC
TMPDIR

А вот вывод команды
cat kwords.txt |while read a ; do echo $a $(grep -ic $a input.txt); done |grep -i 0 |cut -f1 -d' '
где kwords.txt — файл с вышеуказанным списком,
а в результате мы получаем список ключевых слов, которые не встречаются в документации к Природе.

ANHARMONIC
DYNAMIC
IRC4
EXTREMAL
PATHX
TRANSIT
STERIC
POLARIZABILITY
COMPARE
RITEST
RIOPT
MULTIPLY
SCRIPT
LEDFT
ESCF
IMNN
OSDFT
DFCIS
DUAL
ANALYTIC
MMDATA
PATHR
VGGA
VWN5
SLYP0
BPBE
HFLSD
HFPBE
B2PBE
B3PBE
HFLYP
B1LYP
B2LYP
DIIS
MCSCF
CASSCF
NCPSCF
CASPT2
CASMP2
MRCISD
RIHFDF
PT4DQ
PT4SDQ
PT4SDTQ
CCD4S
CCD4ST
LEHF
UUUUUU
ENERGIES
ISODENSITY
LOCALIZE
RIHF
CISDT
CISPT2
RILHF
RIMP3
OCID
CC0D
MP2S
RIMP4D
RIMP4DQ
RIMP4SDQ
RIMP4SDTQ
RICID
RICISD
RICCD
RICCSD
CISDI
CCSDI
OMP2
RIMP2DF
RILMP2
LCCD
RIMP4
RICCSDSD
YCISM
TCISM
XCIS
YCIS
TCIS
TCSCF
9UUUUUU
UUUUUU
UUUUUU
OLMP2
MMP2
MMP2J
RLOCAL
DECOMP
MP4T
CIS2
CIS2DT
CISDT1
CISDTQ
CI12345
CCSDT
CISS
CISSD
CIDS
CISDSD
CCSDSDI
CISDTI
CISDTQI
BMP2
BMP2C
CIDAB
CCDAB
CCDAA
CCD1
333333

Выводы делаем самостоятельно 🙂 Впрочем, не могу не обратить внимание на ключевые слова TCSCF, MCSCF, CASSCF,
CASPT2, CASMP2, MRCISD и CISDTQ

Хранитель
Zheka
Хранитель
Tarquinn писал(а):
Вот часть вывода команды (после избавления от большей части очевидного мусора)

Да, я эти команды видел. Только надо проверять, что из этого работает.

Хранитель
Zheka
Хранитель

Хартри-Фок-Рутаан (task=HF) с релятивистским гамильтонианом (лямбда-базисы из basis4.in) не работает, зависает.

Также зависает вычисление хим. сдвигов ЯМР в случае релятивистского гамильтониана при всех базисах и методах. Хим. сдвиги у меня получалось расчитывать только в случае нерялитивистского DFT (всякие MP2 и т.п. не выводят значения хим. сдвигов).

Хранитель
Zheka
Хранитель

Похоже, что установленные ограничения на дисковую память во входном файле действуют только на один процесс ПРИРОДЫ. И если указать disk=10 и запустить ПРИРОДУ на 4-х ядрах, то может быть занято до 40 ГБ.

С оперативной памятью пока не понятно. Она же разделяемая (shared memory), значит должна указываться одна на все процессы? Или я ошибаюсь.

Участник
moriand
Участник

память на каждый процессор нужно писать, т.е. если всего 4Гб памяти, и 4 ядра и желание выделить например только 2Гб, пишем memory=512 (512х4=2Гб). Так оно и работает…

Хранитель
Zheka
Хранитель

Вручную правил вклад симметрии во вращательную поправку к Энтропии. Проверил сегодня параметр sigma в группе $thermo. Расчитанные значения совпадают с ручной правкой.

А правка заключается всего-лишь в вычитании от энтропии R*ln S, где S — число симметрии.
Как определяется это число можно посмотреть в презентации по термохимии у Сергея Леонидовича Хурсана.

Участник
amg
Участник

Добавлю немного из собственного опыта.

Ошибки в программе Priroda
Во всех версиях Природы диэдральные углы имеют противоположный знак по сравнению с общепринятым (по крайней мере, с тем что в molden, mopac, gamess). Это важно учитывать, например, когда пускаете сканирование по диэдральному углу, а начальное его значение определяете с помощью других программ.

Назадокументарованные функции
Геометрические параметры для сканирования могут быть не только 1 (расстояние), 2 (валентный угол) и 3 (диэдральный угол), но и 4,i,j,k,l (угол между прямой l-k и нормалью к плоскости k-j-i) и 5 (не знаю, что такое). (По крайней мере, в Природе-2 так).

В Природе-2 работало task=optimize+hessian, было удобно, но в последующих версия это работать перестало. Поэтому я сделал скрипт (на bash, для системы очередей NQS), который такое реализует. С этим скриптом задачи вроде той, что превосходно изложена в http://www.qchem.ru/practice/priroda/, число последовательных запусков сокращается с 8 до 4:
task=optimize+hessian+nmr
task=scan
task=hessian+saddle+hessian
task=irc

При массовых расчетах это крайне полезно. Кто заинтесован, пишите.

Просмотр 15 сообщений - с 1 по 15 (из 35 всего)

Для ответа в этой теме необходимо авторизоваться.

abcdefghijklmnopqrstuvwxyz абвгдеёжзийклмнопрстуфхцчшщьыъэюя
abcdefghijklmnopqrstuvwxyz абвгдеёжзийклмнопрстуфхцчшщьыъэюя
Сменить аватар
Секретный вопрос
<%= q %>
Наложить бан
Пользователь
USER
Сделать предупреждение
Пользователю
USER