Разные вопросы по FF

вопросы строения молекул и квантовой химии
Shadin
Сообщения: 490
Зарегистрирован: Вт фев 05, 2008 3:16 pm

Разные вопросы по FF

Сообщение Shadin » Вт янв 24, 2012 9:15 pm

Здравствуйте уважаемые форумчане!

Прошу помочь в разрешении моей проблемы.
Имею аммоний-катион R1R2NH2 с оптимизированной геометрией. Теперь мне необходимо
фиксируя одну из длин связей NH (увеличиваю с определенным шагом) оптимизировать геометрии. Я не могу заморозить координату r(NH) и система опять скатывается в первоначально найденный минимум. Считаю методом ХФ в 6-31G-базисе.
Координаты задаю в виде z-матрицы и IFREEZ(1)=10. Координата №10 - это как раз необходимая мне длина связи NH.
Что неправильного в моих действиях?

Спасибо большое!
Очень жду откликов!
Последний раз редактировалось Shadin Пн фев 20, 2012 2:04 pm, всего редактировалось 1 раз.

Аватара пользователя
Lantano
Сообщения: 183
Зарегистрирован: Чт окт 09, 2008 10:35 pm

Re: Проблемы с замораживанием координаты

Сообщение Lantano » Вт янв 24, 2012 10:25 pm

Если пришлете input и output, то можно надеяться на помощь. А так данных мало для ответа.
"Если миру не нужен свет - Не беда, проживёт и так.
Если стал не нужен поэт - Не беда, он наймётся в кабак..."

Аватара пользователя
sanya1024
Сообщения: 1668
Зарегистрирован: Чт янв 20, 2011 3:24 pm

Re: Проблемы с замораживанием координаты

Сообщение sanya1024 » Вт янв 24, 2012 10:29 pm

Все неправильно :)
Нужно задавать примерно так: IFREEZ(1)=1(1 здесь означает "заморозить длину связи"),1,2 (1 и 2 -- номера атомов, составляющих связь). У Вас, конечно, номера атомов будут другими -- подставите какие нужно.
Можно и не z-матрицу задавать, а декартовы координаты (а также DLC и автоматическую генерацию оных -- посмотрите в мануале). Если покажете здесь инпут, подскажу, как его модифицировать для более эффективной работы.
Вот и вся моя работа. Стеречь ребят над пропастью во ржи. (Дж. Д. Сэлинджер)

Ferom
Сообщения: 1048
Зарегистрирован: Чт дек 16, 2010 11:43 am

Re: Проблемы с замораживанием координаты

Сообщение Ferom » Вт янв 24, 2012 11:43 pm

Shadin писал(а): Координаты задаю в виде z-матрицы и IFREEZ(1)=10. Координата №10 - это как раз необходимая мне длина связи NH.
Что неправильного в моих действиях?
Если Вы используете COORD=ZMTMPC или COORD=ZMT и хотите чтобы IFREEZ работал в соответствии с Вашими ожиданиями, то обязательно укажите в группе $CONTRL опцию NZVAR=3*N-6 (N – число атомов).

Shadin
Сообщения: 490
Зарегистрирован: Вт фев 05, 2008 3:16 pm

Re: Проблемы с замораживанием координаты

Сообщение Shadin » Ср янв 25, 2012 10:51 am

Спасибо!
sanya1024 писал(а):Нужно задавать примерно так: IFREEZ(1)=1(1 здесь означает "заморозить длину связи"),1,2 (1 и 2 -- номера атомов, составляющих связь).
Сделала так как Вы посоветовали, в результате получила геометрию с большей, чем у исходного катиона, энергией, но обе связи NH хотя и больше, но примерно одинаковые и равны 1,05 А (задавала заморозку связи длиной 1,2; в исходной геометрии было 1,0).
Я фиксировала связь N6H2. Геометрию для начала оптимизации с заморозкой получала движением Н2-атома вдоль прямой N6H2.
Файлы прикладываю:
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Последний раз редактировалось Shadin Ср янв 25, 2012 1:17 pm, всего редактировалось 3 раза.

Shadin
Сообщения: 490
Зарегистрирован: Вт фев 05, 2008 3:16 pm

Re: Проблемы с замораживанием координаты

Сообщение Shadin » Ср янв 25, 2012 10:55 am

Еще пробовала COORD=UNIQUE вместе с $ZMAT DLC=.T. AUTO=.T. $END, но снова скатилась в исходный минимум.
Если я работаю с DLC-координатами, то нужно по-другому замораживать? Есть ли какой-нибудь мануал по замораживанию параметров, в мануале программы FF очень скудная информация по этому вопросу.
Также мне не понятно, как задается диэдральный угол (величина и знак) при ручном создании z-матрицы. Пробовала проверить z-матрицу, которую показывает MacMolPlt с теми данными, которые выдает ChemCraft, когда я выделяю определенное количество атомов. Расстояния между атомами и углы согласуются. а вот диэдральные углы никак.

Аватара пользователя
sanya1024
Сообщения: 1668
Зарегистрирован: Чт янв 20, 2011 3:24 pm

Re: Проблемы с замораживанием координаты

Сообщение sanya1024 » Чт янв 26, 2012 12:34 am

Ну, проблем много. Начну не по важности, а прямо по мере их появления в выдаче.

PARALLEL VERSION (UNIFIED) RUNNING IN SERIAL MODE USING SINGLE PROCESS
Вы не смогли запустить FireFly в параллель, программа работает на 1 ядре -- получается медленно. Чтобы запустить на 2 ядрах (у Вас 2-ядерник), нужно в запускающую ком. строку добавить -np 2

OPTTOL=0.0000001 -- это чересчур! У Вас численные погрешности ССП расчета уже начнут влиять на градиент. Дефолтный OPTTOL=0.0001 -- для жестких молекул его бывает достаточно. Для расчета гессиана можно поставить OPTTOL=0.00001, если почему-то при расчете гессиана программа ругается, что NOT A STATIONARY POINT.

Теперь DLC. Координаты атомов все-таки удобнее задавать декартовы (COORD=UNIQUE) вместе с $ZMAT DLC=.T. AUTO=.T. $END и NZVAR=<любое ненулевое число> в $CONTRL. Добавьте еще METHOD=GDIIS в $STATPT -- тоже улучшает эффективность оптимизации.

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

Код: Выделить всё

 $CONTRL COORD=unique NZVAR=1 $END
 $statpt opttol=1.0e-4 hssend=.t. nstep=2000
  METHOD=GDIIS
! Следующая строчка нужна, чтобы оптимизация в DLC не вылетала слишком часто
  NOREG=5
 $end
 $zmat dlc=.t. auto=.t. ifzmat(1)=1,2,6 
! Следующая строчка нужна, если программа не может сгенерить DLC, значение можно уменьшать до 1.0D-15
  ORTTOL=1.0D-12
 $END 
Прочие строчки (метод, базис и т.п.) -- без изменения.

Каюсь, это я ввела Вас в заблуждение. IFREEZ Вы в самом начале задавали правильно (т.е., IFREEZ(1)=10 действительно должен был соответствовать заморозке связи N(6)-H(2)), а так, как я Вам сказала (тип координаты,атом1,атом2,атом3,атом4), работают IXZMAT, IRZMAT, IFZMAT. Почему при этом все-таки при этом связь N(6)-H(2) не фиксировалась (а Вы уверены?) -- не знаю, вероятно, не хватало чего-то еще, как сказал Ferom.
С IFREEZ(1)=1,2,6 у Вас заморозились расстояние H(1)-H(2), C(3)-H(2) и торсионный угол C(4)-C(3)-H(1)-H(2). Определенно это не то, что нужно.

Для того, что Вы собирались сделать (релаксированный скан по длине связи N-H) есть отличная опция RSURFACE. Включается так:

Код: Выделить всё

 $CONTRL RUNTYP=RSURFACE COORD=unique NZVAR=1 $END
 $statpt opttol=1.0e-4 hssend=.t. nstep=2000
  METHOD=GDIIS
  NOREG=5
 $end
 $zmat dlc=.t. auto=.t. ifzmat(1)=1,2,6 scan=.t. 
  ORTTOL=1.0D-12
 $END 
 $surf ndisp1=<сколько шагов сканирования хотите> disp1=<величина шага сканирования> reuse=.t. $end
А зачем, если не секрет, понадобилось делать сканирование по длине связи N-H?

Да, ChemCraft показывает знаки торсионных углов с точностью до наоборот -- имейте это в виду.
Вот и вся моя работа. Стеречь ребят над пропастью во ржи. (Дж. Д. Сэлинджер)

Shadin
Сообщения: 490
Зарегистрирован: Вт фев 05, 2008 3:16 pm

Re: Проблемы с замораживанием координаты

Сообщение Shadin » Чт янв 26, 2012 11:18 am

sanya1024 огромное спасибо за подробный ответ! Но у меня снова вопросы :very_shuffle: .
Чтобы запустить на 2 ядрах (у Вас 2-ядерник), нужно в запускающую ком. строку добавить -np 2
У меня не получилось этого сделать. Обычно запускаю расчет такой строкой:

Код: Выделить всё

firefly.exe -i *.inp -o *.out -r -f -p -stdext
Когда же добавляю в конце -np 2 программа ругается, а файл выдачи содержит "FATAL ERROR INITIALAZING FF! проверьте командную строку".
NZVAR=<любое ненулевое число> в $CONTRL
Вы его задаете равным 1, но исходя из мануала

Код: Выделить всё

          NZVAR  = 0  Use Cartesian coordinates (default).
                 = M  If COORD=ZMT or ZMTMPC and a $ZMAT is not given:
                      the internal coordinates will be those defining
                      the molecule in $DATA.  In this case, $DATA must
                      not contain any dummy atoms.  M is usually 3N-6,
                      or 3N-5 for linear.
                 = M  For other COORD choices, or if $ZMAT is given:
                      the internal coordinates will be those defined
                      in $ZMAT.  This allows more sophisticated
                      internal coordinate choices.  M is ordinarily
                      3N-6 (3N-5), unless $ZMAT has linear bends.
должно быть 3N-6?
Добавьте еще METHOD=GDIIS в $STATPT
То есть у меня был Quadratic Approximation, а теперь Direct Inversion in the Iterative Subspace. Последнее название мне пока мало о чем говорит, но если улучшается эффективность оптимизации, то буду пользоваться. Таким образом, при любых процедурах OPTIMIZE и SADPOINT нужно использовать алгоритм оптимизации GDIIS?

Я модифицировала файл для оптимизации геометрии с фиксированной длиной связи как Вы предложили, пока все получается. Только не понятно как расшифровывается параметр NOREG, в каких единицах указываются NOREG и ORTTOL?

Shadin
Сообщения: 490
Зарегистрирован: Вт фев 05, 2008 3:16 pm

Re: Проблемы с замораживанием координаты

Сообщение Shadin » Чт янв 26, 2012 1:14 pm

Запустила программу на 2-х ядрах!

Код: Выделить всё

PARALLEL VERSION (UNIFIED) RUNNING USING    2 PROCESSES (NODES)
Все-то навсего нужно было переименовать файл mpibind.nt-mpich-smp.dll из папки BINDINGS и скопировать его (с заменой) в рабочую папку FF. После этого команда -np 2 заработала.

Аватара пользователя
sanya1024
Сообщения: 1668
Зарегистрирован: Чт янв 20, 2011 3:24 pm

Re: Проблемы с замораживанием координаты

Сообщение sanya1024 » Чт янв 26, 2012 1:43 pm

Честно говоря, я практически не использую FF под Виндой, поэтому каких-то деталей установки могу и не помнить.

Из мануала:
NOREG = number of steps before delocalized coordinates are regenerated. Selecting a low value for NOREG is advised when your DLC based optimization aborts after a few steps due to failure to generate good delocalized coordinates.

Т.е. это число шагов, через к-рые заново создается набор DLC.

ORTTOL (этого в нынешней версии мануала нет) -- Tolerance/threshold used to check the quality/completeness of DLCs after imposing geometry constrains. Default is ORTTOL=1.0D-5. One may need to lower it to up to e.g. 1.0D-8 and below in some cases (e.g., when getting "Unable to project DLC" error message).

Т.е., это порог проверки качества DLC. Когда возникает ошибка "Unable to project DLC", его нужно уменьшить ниже дефолтного 1.0D-5, уменьшать можно до 1.0D-15.

По поводу NZVAR в мануале сказано, что обычно это 3N-6, но в принципе не обязательно, достаточно любого ненулевого значения, если координаты заданы декартовы. Обязательно ставить 3N-6 надо, если координаты заданы в виде z-матрицы. В принципе, безопасный способ -- ставить 3N-6 всегда.
Вот и вся моя работа. Стеречь ребят над пропастью во ржи. (Дж. Д. Сэлинджер)

Shadin
Сообщения: 490
Зарегистрирован: Вт фев 05, 2008 3:16 pm

Re: Проблемы с замораживанием координаты

Сообщение Shadin » Чт янв 26, 2012 2:18 pm

Опробовала функцию RSURFACE. Изначально я и хотела ей воспользоваться, но так как в мануале ее не нашла (там только surface описана), подумала, что она есть только в GAMESS US (UK). Все получилось так, как надо. Спасибо!
А вот по поводу ifzmat(1)=(тип координаты,атом1,атом2,атом3,атом4). Тип координаты: 2 - это угол, образуемый тремя атомами, 3 - диэдральный угол?
Зачем при RUNTYP=RSURFACE нужно hssend=.t. в $STATPT?

Я понимаю, что злоупотребляю вашей отзывчивостью, но мне больше не у кого спросить.
Спасибо большое за помощь!

Аватара пользователя
sanya1024
Сообщения: 1668
Зарегистрирован: Чт янв 20, 2011 3:24 pm

Re: Проблемы с замораживанием координаты

Сообщение sanya1024 » Чт янв 26, 2012 11:06 pm

Shadin писал(а): А вот по поводу ifzmat(1)=(тип координаты,атом1,атом2,атом3,атом4). Тип координаты: 2 - это угол, образуемый тремя атомами, 3 - диэдральный угол?
Да, совершенно верно. А тип 4 -- out-of-plane угол, т.е. отклонение одного атома от плоскости, задаваемой тремя другими.
Зачем при RUNTYP=RSURFACE нужно hssend=.t. в $STATPT?
Ой, это я нечаянно оставила! не нужно, конечно. Это нужно только для оптимизаций и поисков переходных состояний. Для сканов не нужно.
Вот и вся моя работа. Стеречь ребят над пропастью во ржи. (Дж. Д. Сэлинджер)

Shadin
Сообщения: 490
Зарегистрирован: Вт фев 05, 2008 3:16 pm

Re: Проблемы с замораживанием координаты

Сообщение Shadin » Пн янв 30, 2012 8:53 pm

Здравствуйте!
И снова у меня вопросы :very_shuffle:
Если в выходном файле выдается сообщение о плохих DLC и уменьшение ORTTOL не помогает, то нужно уменьшать NOREG? Можно ли в группу $ZMAT добавить NONVDW(1)=2,6,если расстояние между этими атомами увеличилось до больших значений? NONVDW означает наличие достаточно удаленных друг от друга двух частиц? Если вводится NONVDW, то обязательно должны быть два удаленных фрагмента в исходной геометрии или они должны появляться, например, в ходе сканирования ППЭ?

Аватара пользователя
sanya1024
Сообщения: 1668
Зарегистрирован: Чт янв 20, 2011 3:24 pm

Re: Проблемы с замораживанием координаты

Сообщение sanya1024 » Вт янв 31, 2012 11:59 am

NONVDW(1) на всякий случай добавьте, вреда не будет. Если после этого пропадет ошибка с DLC, то и хорошо. Если нет, то ORTTOL можно уменьшать до 1.0D-15.
NOREG -- number of steps before delocalized coordinates are regenerated. Selecting a low value for NOREG is advised when your DLC based optimization aborts after a few steps due to failure to generate good delocalized coordinates.
Т.е., это означает "пересчитывать заново DLC каждые NOREG шагов". Не уверена, что пересчет DLC на каждом шагу поможет.
Вот и вся моя работа. Стеречь ребят над пропастью во ржи. (Дж. Д. Сэлинджер)

Shadin
Сообщения: 490
Зарегистрирован: Вт фев 05, 2008 3:16 pm

Re: Проблемы с замораживанием координаты

Сообщение Shadin » Пт фев 03, 2012 4:30 pm

sanya1024 писал(а): А тип 4 -- out-of-plane угол, т.е. отклонение одного атома от плоскости, задаваемой тремя другими.
Правильно ли я понимаю?
Если обозначить out-of-plane угол как 1,2,3,4, то это есть угол между прямой 4-2 и плоскостью 1,3,4?
Спасибо!

Ferom
Сообщения: 1048
Зарегистрирован: Чт дек 16, 2010 11:43 am

Re: Проблемы с замораживанием координаты

Сообщение Ferom » Пт фев 03, 2012 5:31 pm

Читаем здесь:
GAMESS Manual писал(а): IZMAT is an array of integers defining each coordinate.
The general form for each internal coordinate is
code number,I,J,K,L,M,N

IZMAT =1 followed by two atom numbers. (I-J bond length)
=2 followed by three numbers. (I-J-K bond angle)
=3 followed by four numbers. (dihedral angle)
Torsion angle between planes I-J-K and J-K-L.
=4 followed by four atom numbers. (atom-plane)
Out-of-plane angle from bond I-J to plane J-K-L.
В Вашей нотации 1,2,3,4 будет: I-J = 1-2, J-K-L = 2-3-4.

Ferom
Сообщения: 1048
Зарегистрирован: Чт дек 16, 2010 11:43 am

Re: Проблемы с замораживанием координаты

Сообщение Ferom » Пт фев 03, 2012 6:13 pm

Добавочка: I-J это связь, J-K-L это плоскость.

П.С. Блин, зачем я это пишу? :dontknow: По-моему итак всё очевидно.

Shadin
Сообщения: 490
Зарегистрирован: Вт фев 05, 2008 3:16 pm

Re: Проблемы с замораживанием координаты

Сообщение Shadin » Ср фев 15, 2012 5:08 pm

Здравствуйте!
Продолжаю осваивать квантово-химические расчеты. И новые вопросы (наверное, как всегда, ответ на поверхности - поэтому сразу прошу извинить).
1. При процедуре IRC параметр FORWRD может принимать значение TRUE и FALSE. Это относительные значения, то есть если при FORWRD=.T. из ПС получаются исходные вещества, то ничего страшного, лишь бы при FORWRD=.F. получились продукты? Да?
Спасибо!

o-oxhem
Сообщения: 425
Зарегистрирован: Вт июл 08, 2008 10:33 pm

Re: Проблемы с замораживанием координаты

Сообщение o-oxhem » Ср фев 15, 2012 8:30 pm

Да. Так.

Аватара пользователя
amge
Сообщения: 2021
Зарегистрирован: Вт июл 31, 2007 11:42 am

Re: Проблемы с замораживанием координаты

Сообщение amge » Чт фев 16, 2012 7:19 am

В принципе, если нужно идти по IRC только в одну сторону, то можно попытаться определить, что нужно ставить, TRUE или FALSE. Для этого внимательно вглядывайтесь в анимацию "мнимого" колебания. То направление, которое будет в самом начале, сразу после нажатия кнопки "Анимировать", и будет соостветствовать TRUE (или наоборот, но для каждой комбинации программа/вьювер единообразно). Чтобы было легче, можно увеличить размах колебания и задержку между кадрами.

Ответить

Вернуться в «квантовая химия и моделирование»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 9 гостей