[Guide] Генерация и визуализация зарядов. Часть первая. Bader-VASP

вопросы строения молекул и квантовой химии
Ответить
Аватара пользователя
Гесс
Сообщения: 11801
Зарегистрирован: Ср фев 15, 2012 11:19 pm

[Guide] Генерация и визуализация зарядов. Часть первая. Bader-VASP

Сообщение Гесс » Вт мар 24, 2020 4:29 pm

Давненько мы не писали ничего ненужного, пора это компенсировать. А то я через 2 дня это знание сам забуду.
Итак что сложного может быть с зарядами? Берем наш любимый Гаусиан (или Орку), открываем в Кемкрафте и сразу видим цифири. Раньше даже можно было прокрашивать атомы согласно зарядам но в последних доступных мне билдах фича сломана, о чем мы еще пожалуемся VItNhok-y. Но что делать если подобно мне вы дурак и считаете в VASPe? Там зарядов нет вааабще, никаких. Сегодня мы попробуем это решить двумя способами (потому как я это решал вчера). Во первых мы посмотрим перенос зарядовой плотности между молекулой и поверхностью, а во вторых сгенерируем хоть какие то циферки на атомах.

Для изменения зарядовой плотности будем вцелом следовать http://renqinzhang.weebly.com/uploads/9 ... erence.pdf с отклонениями по необходимости. Первым делом мы оптимизируем комплекс и об этом писать гайд я не хочу. Далее мы делаем single-point расчет (NSW=0) с указанием что CHGCAR следует генерировать (LCHARG=T), а потом делаем его еще раз на этот раз копируя CHGCAR в папку запуска с ноды (как я уже говорил не стоит переоценивать мои умственные возможности). Теперь делаем из одной системы 2 независимых - собираем из "общего" POSCAR два отдельных относящихся к адсорбату и поверхности. Это можно сделать либо вручную ориентируясь по координате перпендикулярной поверхности, либо с помощью кемкрафта, Select нужное и потом Delete все ненужное, копировать координаты и убрать из них колонку с названием атома, не забыть поменять количество и тип атомов в шапке POSCAR. Не забыть удалить ненужные типы атомов из POTCAR. Считаем такие же single-points для подсистем. Теперь у нас два CHGCAR для подсистем и один общий. Все они как ни странно одного размера. Указанный выше PDF рекомендует использовать для манипуляции с файлами VESTA, но у меня она почему то при виде 300-Мб файлов вешалась. Поэтому берем VTST-скрипты, http://theory.cm.utexas.edu/vtsttools/scripts.html нам нужны chgsum.pl и chgdiff.pl. Их надо сделать "chmod +x" и 1) суммируем зарядовую плотность подсистем, 2) вычитаем эту сумму из плотности общей системы. Результат имеет формат CHGCAR и визуализируется в VMD, но нужно дополнительно подгрузить POSCAR чтоб видеть атомы. Изоповерхностей разумеется над 2 - положительная и отрицательная с (предпочтительно) одинаковыми критериями отсечки. Получается примерно вот такое уродство:
ChargeDensityDifference.jpg
Можно играться чтобы сделать это приличнее.

Теперь цифры. Тут все еще сложнее. Традиционных зарядов по Малликену или менее традиционных по Лёвдину и Хиршфельду (кстати было бы круто если бы ктото написал на повседневно-пигмейском чем этот зоопарк отличается), так вот их всех у VASPа НЕТ. По Бейдеру тоже нет но их можно сделать чем мы и займемся. Вцелом процедура достаточно хорошо прописана на http://theory.cm.utexas.edu/henkelman/code/bader/ (оттуда берется бейдеровский код) или на https://www.researchgate.net/post/How_t ... ASP_output. Нам опять потребуется chgsum.pl. Вообщем получить цифирки не так сложно, но как их визуализировать?
Превратить ACF.dat в пятиколоночный xyz не сложно, например с помощью экселя, необходимо добавить колонку с полным числом электронов элемента, колонку с числом электронов спрятанных в псевдопотенциал, вычислить заряд на каждый атом и на всякий случай просуммировать заряды всех атомов дабы получить 0. А то например у калия в псевдопотенциал прячется не 10 электронов как могло бы показаться, а 12. Но ни Chemcraft, ни VMD, ни Chimera мне его открыть не смогли. На мой взгляд цифры на атомы хорошо прописываются в Chemcraft в режиме BigAtoms, но для этого нам нужно скормить заряды программе. По моему опыту Chemcraft нормально отображает заряды из аутпутов, например гауссиана или орки. Я потратил некоторое время пытаясь вставить в посторонний аутпут мои геометрии и заряды, но кемкрафт отчаянно сопротивлялся и я решил пойти другим путем. На основе ACF.dat я сделал инпут для ORCA [учтите, теперь мы будем делать фейковый расчет молекулы, но координаты у атомов как из периодики, поэтому если молекула торчит с разных сторон ячейки - получится некрасиво. Это надо решать или еще на этапе последнего VASP расчета (смещать все атомы так чтобы целевая молекула оказывалась полностью в ячейке) или придется потом переставлять заряды в правильном порядке]. Расчет из орки нам нужен лишь как шаблон с правильными атомами, поэтому я ставлю B97-3c SLOPPYSCF и 600 шагов scf, на мой взгляд это 1) быстро 2) сможет свести SCF и соответственно дойти до блока зарядов несмотря на то как выглядят края бывшей периодики. Получив аутпут, мы меняем например Маликеновы заряды (они идут первыми) полученные из этого фейка на свои честные бейдеровы заряды и просим Chemcraft их нам показать.
BaderCharges.jpg
Как я уже писал раньше прокрасить атомы по заряду в Chemcraft у меня не получилось (возможно это починят и вам не придется извращаться как мне), ну или у вас нет Chemcraft. Это можно сделать в VMD в упоротом формате pqr.
1) Открываем свой xyz в VMD, и сохраняем его в PQR
2) Открываем этот файл в VMD и охреневаем ибо атомы перемешаны.
PQR1.jpeg
Проблема в том что PQR очень чувствителен к положению цифрей в файле (их позициям). Поэтому
willnot work.jpg
работать не будет, а
will work.jpg
почему то да. Как видите тут мы уже вставили и заряды из бейдера.
3) Собственно прокрас в VMD, имхо достаточно интуитивно, разве что рекомендую добавлять Extensions-Visualisation-ColorScaleBar
chargecolor.jpg



В планах на будущее написать хоррор-стори про визуализацию из VASP-a чего-то отдаленно похожего на орбитали. Но эта история еще не закончена.
У вас нет необходимых прав для просмотра вложений в этом сообщении.

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

Re: [Guide] Генерация и визуализация зарядов. Часть первая. Bader-VASP

Сообщение amge » Ср мар 25, 2020 6:14 am

Гесс писал(а):
Вт мар 24, 2020 4:29 pm
Превратить ACF.dat в пятиколоночный xyz не сложно, ... Но ни Chemcraft, ни VMD, ни Chimera мне его открыть не смогли.
Заряды из пятиколоночного xyz умеет показывать molden (в Molden Control кнопка Label и atom+charge там).
Screenshot_2020-03-25_08-58-43.png
Мне лично заряды нужны крайне редко, зато часто требуется посмотреть расчетные хим. сдвиги ЯМР. Поэтому в пятой колонке xyz-файла у меня обычно хим. сдвиги (на картинке как раз они).
У вас нет необходимых прав для просмотра вложений в этом сообщении.

Ответить

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

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

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