Нужна ли команда purify в двух строках инпута?

вопросы строения молекул и квантовой химии
Ответить
АлександрI
Сообщения: 378
Зарегистрирован: Ср мар 23, 2011 5:09 pm

Нужна ли команда purify в двух строках инпута?

Сообщение АлександрI » Вт июн 28, 2011 7:04 pm

Согласно инпуту для $force команда purify зануляет T&R "моды" и их интенсивности при задании $zmat. Но то же обещается и в $stapt ! И тоже по дефолту .F. Правда,
purify в $statpt всегда по дефолту .F., а в $force purify=0, если $zmat задано. Но если $zmat не задано, то не имеет место преобразования из декарта во внутренние, какая там тогда очистка? Какая то казуистика... Помогите, пожалуйста, разобраться. Или ставить везде ( процедура $zmat тоже везде) purify и не балдеть ещё над этим :issue: (как мне уже советовали на форуме, правда, по другому поводу - "вам нужно ехать, или шашечки?" ) :shuffle:

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

Re: Нужна ли команда purify в двух строках инпута?

Сообщение amge » Ср июн 29, 2011 8:56 am

purify в $statpt действует на этапе оптимизации геометрии, а purify в $force - при вычислении гессиана, т.е. они не пересекаются.
В документации purify в $statpt находится под рубрикой "---- the following parameters are quite specialized ----", поэтому я бы оставил там все по умолчанию.
purify в $force - полезная вещь, ее рекомендуют делать. Но, естественно, если не задана $zmat, то внутренних координат, в которые преобразовывать, нет, и никакой очистки не будет, даже если purify=.T.

АлександрI
Сообщения: 378
Зарегистрирован: Ср мар 23, 2011 5:09 pm

Re: Нужна ли команда purify в двух строках инпута?

Сообщение АлександрI » Ср июн 29, 2011 4:50 pm

О!!! Спасибо!! Действительно,
amge писал(а):purify в $statpt действует на этапе оптимизации геометрии
и чистит (безусловно) APPROXIMATE HESSIAN, который на этапе оптимизации получается не последовательным дёрганьем атомов, а в результате пошагового изменения координат последних в процессе оптимизации (для чего он потом нужен - это особый разговор...). Но и (исходные?) градиенты в vib=0 тоже (ужЕ!) получаются чищенными!! И если тут же hssend=1, то начинается дёрганье, вычисление для гессиана градиентов, которые будут грязные, если не поставить в $force команду чистки. А что в этом случае будет потом :shock:!!: для расчёта вторых производных грязные градиенты начнут сравниваться с чистыми из vib=0..., и наоборот, если в statpt нет чистки и градиенты из vib=0 грязные, а в force чистка есть. то В обоих случаях это может привести к распространённым ситуациям с возникновением Im freq...? Поэтому напрашивается рекомендация: либо ставить purify в обоих строках, либо не ставить нигде? Правильны ли мои рассуждения теперь, после Ваших советов? :roll:
amge писал(а):если не задана $zmat
Конечно, всё это для случая заданной $zmat.
И ещё, из мануала для $force:

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

Purification does change the
Hessian slightly, frequencies at a stationary
point can change by a wave number or so.
Мои скудные знания буржуазного языка подсказывают мне, что "Очистка лишь слегка изменяет гессиан, а частоты в (для) стационарной точке(и) могут измениться волновым числом или что то в этом роде"... Не подскажете ли мне, что тут имеется в виду ? :issue:

VTur
Сообщения: 7360
Зарегистрирован: Пт авг 31, 2007 1:36 pm

Re: Нужна ли команда purify в двух строках инпута?

Сообщение VTur » Ср июн 29, 2011 7:39 pm

Частоты практически не изменятся. Но на первых 6 позициях будут стоять нули, чтобы не смущать население.
После отстоя требуйте долива

АлександрI
Сообщения: 378
Зарегистрирован: Ср мар 23, 2011 5:09 pm

Re: Нужна ли команда purify в двух строках инпута?

Сообщение АлександрI » Ср июн 29, 2011 10:14 pm

VTur писал(а):Частоты практически не изменятся
Да, это правда. И чем больше частота, тем меньше изменения от очистки. Вот пример из только что закончившегося расчёта (частоты после шести нулей, соответственно первая строка без, вторая с очисткой):
27.95 32.72 43.82 53.85 [...] 3456.82
21.87 30.90 43.68 53.65 [...] 3456.82
Спасибо за внимание к моим вопросам, но всё же, не могли бы уточнить мой безобразный перевод текста со словами типа or so, а также выразить своё отношение к моему предложению о purify.
Между прочим, я не так давно получил от сотрудника компании CambridgeSoft письмо, где встретилось выражение snow under (занесённый снегом - там не подходило по смыслу и никто не смог мне объяснить, что имелось здесь в виду, или не захотели из деликатности) :D ...

alxyppv
Сообщения: 560
Зарегистрирован: Сб апр 07, 2007 11:23 am

Re: Нужна ли команда purify в двух строках инпута?

Сообщение alxyppv » Чт июн 30, 2011 7:07 pm

"wave number or so"
wave number - волновое число - здесь имеется в виду 1 см-1. Т.е. частоты должны измениться на 1 см-1 или что-то около того :)
А.П.

АлександрI
Сообщения: 378
Зарегистрирован: Ср мар 23, 2011 5:09 pm

Re: Нужна ли команда purify в двух строках инпута?

Сообщение АлександрI » Чт июн 30, 2011 9:05 pm

alxyppv писал(а):частоты должны измениться на 1 см-1 или что-то около того
Спасибо, да, в среднем, так и получится или "около того".
Однако позвольте добавить ложку дёгтя...
Таблицу
АлександрI писал(а):27.95 32.72 43.82 53.85 [...] 3456.82
21.87 30.90 43.68 53.65 [...] 3456.82
я привёл, чтобы сравнить очищенные частоты и немного неправильно сказал, что в обоих строках слева по шесть нулей. Это после очистки шесть нулей, а до очистки (первая строка) там частоты, соответствующие T&R модам, да ещё не упорядоченные по величине. Но самое неприятное, что вторая строка (без очистки) начинается со мнимой частоты:

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

                       1           2           3           4           5
       FREQUENCY:        39.35 I     32.72       11.52       10.14        5.19  
    REDUCED MASS:      9.68624     7.85271     9.98020     9.90881    10.23046
    IR INTENSITY:      0.74036     0.01830     0.09260     0.05687     0.04484
и так далее. Но я никогда не узнал бы об этой мнимой частоте, со всеми тогда из этого вытекающими последствиями, если бы специально не сделал расчёт гессиана без очистки. Напрашивается вывод, что применение purify позволяет (смягчим, иногда, в ряде случаев и т.п.: это ещё не проверялось на достаточном количестве примеров) нивелировать (небольшие) погрешности оптимизации геометрии. И тогда уже обсуждавшаяся ранее тема на форуме о небольших мнимых частотах приобретёт более ясные очертания?
Хочу услышать мнение форумчан об этой ситуации...
Между прочим, я что то припоминаю, где то такое об очистке уже прозвучало на форуме, но как то вскользь... Тогда вывод: каждое слово знатоков для нас, экспериментаторов, должно быть на вес Au. :!:

VTur
Сообщения: 7360
Зарегистрирован: Пт авг 31, 2007 1:36 pm

Re: Нужна ли команда purify в двух строках инпута?

Сообщение VTur » Пт июл 01, 2011 9:19 pm

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

Ответить

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

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

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