Миллеровские индексы в кристаллографии

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

Re: Миллеровские индексы в кристаллографии

Сообщение Гесс » Ср окт 04, 2023 11:04 pm

Vit Nhoc писал(а):
Ср окт 04, 2023 6:17 pm
Далее я не понял, что такое ортографический slab.
Это моя вина, я на бегу пишу бред.
Как мы уже обсуждали, когда мы создаем slab, альфа и бета углы ячейки - 90 градусов. Я имел в виду это когда хотел написать про ортогональную ячейку. Написал ортогоафическая, был неправ.
Vit Nhoc писал(а):
Ср окт 04, 2023 6:17 pm
Ну ладно если я вас утомил
Вы меня не утомили, это в моих интересах чтоб оно получилось. Просто я пытаюсь одновременно решать больше задач чем могу.

Аватара пользователя
Гесс
Сообщения: 13063
Зарегистрирован: Ср фев 15, 2012 11:19 pm

Re: Миллеровские индексы в кристаллографии

Сообщение Гесс » Ср окт 04, 2023 11:10 pm

Vit Nhoc писал(а):
Ср окт 04, 2023 6:17 pm
вопрос такой: нужно ли добавить обрезание по ячейке в двух вариантах - 1) оставить только атомы с фракционными координатами от 0 до 1, и 2) пересчитать все фракционные координаты в пределы одной ячейки, т.е. координату 1.4 превратить в 0.4 и так далее.
1 - нет
2 - да, это то что я имел в виду выше про project atoms in cell
Vit Nhoc писал(а):
Ср окт 04, 2023 6:17 pm
Я привык делать интерфейс как мне кажется удобнее и интуитивнее, поэтому я наверно сделаю опцию Crystallography tools[слева внизу]/Rebuild cell according to atoms in current molecule, добавится cif в иерархический список слева-вверху, только после этого можно сохранять cif, в котором вы что-то отредактировали вроде удаления атомов.
ок пусть так

Аватара пользователя
Vit Nhoc
Сообщения: 1147
Зарегистрирован: Сб июн 06, 2015 12:28 pm

Re: Миллеровские индексы в кристаллографии

Сообщение Vit Nhoc » Чт окт 05, 2023 9:50 am

Гесс писал(а):
Ср окт 04, 2023 11:10 pm
1 - нет
2 - да, это то что я имел в виду выше про project atoms in cell
Я сделал и то и то, могу прислать новую версию. Только с этой фичей такой момент: часто фракционные координаты атомов как бы строго равны 0 или 1, но при преобразованиях координат, поворотах закладывается небольшая ошибка, в результате это число может быть чуть больше и чуть меньше. В результате при "фракционировании" может получиться по-разному, то добавляется единичка то убирается.
Я столкнулся с этой проблемой при генерации cif файла: иногда после дублирования ячейки появляются накладывающиеся друг на друга атомы. Конечно от них можно избавиться опцией например Increase the distance cutoff, но хочется придумать интуитивное решение.
Сталкиваются ли расчётчики-кристаллографисты с такой проблемой? Насколько важно при генерации ячейки добиться, чтобы строго не было ни одного эквивалентного атома?
Это надо реализовать довольно хитрым алгоритмом: если например фр координата первого атома равна (-0.000000001; 0; 0), а второго (1.000000001; 0; 0), то алгоритм должен понять, что эти атомы эквивалентны, и убрать второй. Или всё это не так обязательно?

Аватара пользователя
Гесс
Сообщения: 13063
Зарегистрирован: Ср фев 15, 2012 11:19 pm

Re: Миллеровские индексы в кристаллографии

Сообщение Гесс » Чт окт 05, 2023 4:01 pm

Vit Nhoc писал(а):
Чт окт 05, 2023 9:50 am
Сталкиваются ли расчётчики-кристаллографисты с такой проблемой? Насколько важно при генерации ячейки добиться, чтобы строго не было ни одного эквивалентного атома?
Это надо реализовать довольно хитрым алгоритмом: если например фр координата первого атома равна (-0.000000001; 0; 0), а второго (1.000000001; 0; 0), то алгоритм должен понять, что эти атомы эквивалентны, и убрать второй. Или всё это не так обязательно?
Да, сталкиваются, да, это важно. Скажем VASP будет крешиться с сообщением "The distance between some ions is very small"
Это достаточно типовая ошибка для тех кто знакомится с периодическими условиями, поскольку кристаллические ячейки очень часто имеют атомы в углах, на ребрах или гранях.
То есть люди визуализируют в чем нибудь вот такое:
Sphalerite-unit-cell-3D-balls.png
И потом вкидывают в инпут 4 цинка и 14 серы (желтые круги).
Ну можно попробовать отбиться на основе готовых решений: Скажем при генерации новой ячейки автоматически и не демонстрируя ничего пользователю (ну или плашка "Идет проверка") - генерировать из имеющейся ячейки 2x2x2 суперячейку и в ней проводить контроль наличия близкорасположенных атомов, если такие есть - выкидывать пользователю сообщение "В системе есть атомы расстояние которые будут близкорасположенными при использовании периодических условий" (пользователю суперячейка не показывается и нигде в координатах не отображается, чисто технический файл). Более продвинутое решение - это еще и указать пользователю какие именно атомы вызовут проблему.
У вас нет необходимых прав для просмотра вложений в этом сообщении.

Аватара пользователя
Vit Nhoc
Сообщения: 1147
Зарегистрирован: Сб июн 06, 2015 12:28 pm

Re: Миллеровские индексы в кристаллографии

Сообщение Vit Nhoc » Пт окт 06, 2023 6:48 am

Я наверно сделаю такой алгоритм. Сначала координаты "фракционируются", т.е. 1.4 превращается в 0.4 и так далее. Далее составляется список дублирующихся (неуникальных) атомов; неуникальным называется атом, координата которого отличается от координаты другого атома меньше чем на 0.0001A. А далее создаётся временный массив с координатами, которые подвинуты: к каждой координате прибавляется 0.5, т.е. -0000000.1 превращается в 0.49999999, а 0.0000000001 превращается в 0.5000000001. После этого эти вторые координаты фракционируются, и создаётся второй список неуникальных атомов. Далее из молекулы удаляются атомы, неуникальные по первому или по второму списку.
...Дописал и потом подумал, что возможно такой алгоритм тоже неидеален, теоретически он может пропустить неуникальные атомы. Сейчас ещё поскриплю мозгами.

Аватара пользователя
Vit Nhoc
Сообщения: 1147
Зарегистрирован: Сб июн 06, 2015 12:28 pm

Re: Миллеровские индексы в кристаллографии

Сообщение Vit Nhoc » Пт окт 06, 2023 6:48 am

[]

Аватара пользователя
Гесс
Сообщения: 13063
Зарегистрирован: Ср фев 15, 2012 11:19 pm

Re: Миллеровские индексы в кристаллографии

Сообщение Гесс » Вс окт 08, 2023 2:40 am

Гесс писал(а):
Пн окт 02, 2023 3:09 pm
Vit Nhoc писал(а):
Пн окт 02, 2023 11:50 am
Вообще мне хотелось бы лучше представлять, какие задачи стоят перед кристаллографистами, когда они создают cif или vasp файлы. Просьба рассказать, для чего вам потребовалось обрезать эту молекулу в ячейке.
Я отвечу неколько позже с бОльшим количеством ссылок и/или картинок, я бы все же сказал это не для кристаллографов а для расчетчиков в периодике - поверхностей. То есть гетерогенный катализ, computational material science, и практически что угодно где слова DFT и Surface идут рядом.
God made the bulk; the surface was invented by the devil. Wolfgang Pauli
Нельзя сказать что bulk никто не считает. Но химии там сравнительно мало, там больше физика: stress tensors, density of states, band structure и пр.
Для bulk расчета много информации не надо, и получить ее от рентгенщиков обычно сравнительно легко, как минимум если речь идет о кристаллической неорганике. Бывают безусловно и неприятные случаи когда симметрия кристалла известна, но распределение вакансий в нем из эксперимента не выковыривается и создать модель этого кристалла получается очень плохо. Это случай gamma-Al2O3. Из эксперимента известно что атомы алюминия находятся в положениях соответствующих кубической шпинели. Это когда часть атомов находится в тетраэдрических позициях а другая часть в октаэдрическом окружении и описывается формулой AB2O4. Ну например MgAl2O4. Проблема состоит в том что если в MgAl2O3 заняты все нужные позиции, то в gamma-Al2O3 атомов алюминия на все позиции не хватает (тупо исходя из электронейтральности). И кого именно не хватает - тетраэдрических или октаэдрических или и тех и тех и как вообще нарисовать кубический кристалл - загадочно и непонятно. Ну да ладно, я отвлекся, вообщем обычно с bulk все хорошо.
Но все хорошее когда нибудь заканчивается, и кристалл всегда заканчивается какой то поверхностью (ок, иногда еще переходом во чтото аморфное но туда расчетчики не полезут).
Поверхности могут быть самые разные, можно для начала поговорить о металлах. Очень много d-металлов имеют fcc упаковку, это когда элементарная ячекйа выглядит как куб в центре каждой грани которого находится еще один атом.
main-qimg-37ff565458c86f57d3dda666c9903d67.jpeg
Это называется плотной упаковкой
https://ru.wikipedia.org/wiki/Плотная_у ... авных_сфер
https://en.wikipedia.org/wiki/Close-pac ... al_spheres
в условиях термодинамического равновесия кристалл старается уменьшить свою энергию и быть максимально покрыт поверхностью с минимальной энергией поверхности.
Поклацайте на http://crystalium.materialsvirtuallab.org - это на мой взгляд увлекательно. Энергию поверхности можно посчитать - ее отсчитывают как энергию разрыва bulk на две поверхности (с делением на площадь разрыва). И вот на кристалиуме энергии всех поверхностей для чистых металлов посчитаны (разумеется на некотором уровне теории и с другим уровнем можно получить другие цифры но это детали). Кстати там же можно скачать образцы (cif) каждой из поверхностей. Ну так не металлами ж едиными живы. Вон например B2O3 мусолят https://pubs.acs.org/doi/10.1021/acs.jpcc.7b01347 Впринципе если загуглить "любой_распространенный_оксид surface energy" то наверняка будет статья где ктото чтото считал.
Дальше-больше - на поверхности может адсорбироваться всяко-разное. Иногда это меняет стабильность поверхности. То есть скажем в отсутствие воды MnO имеет наинизшую энергию для 100 поверхности, что соответствует кубическим наночастицам. А в присутствиии влаги - вода разлагается на поверхности и предпочтительной оказывается 111-поверхность MnO покрытая гидроксильными группами, что соответствует уже октаэдрическим частицам. И людям часто интересна например энергия адсобрции.
Помалу мы приближаемся к лучшей части - гетерогенный катализ. Чтото порядка 90% всех процессов химической промышленности - каталитические. И промышленность выбирая между гомогенными и гетерогенными катализаторами всегда стремится иметь гетерогенный. Отделить от продукта легче, стабильность обычно выше, регенерировать проще, и пр. И расчетчикам встает вопрос - какие наночастицы катализатора нам надо иметь чтоб катализатор работал как надо? Ну вот скажем есть промышленно-интересный процесс пропан превращается в пропилен и водород. Ну и побочное скажем коксование на катализаторе. Идет ли реакция на 111 поверхности или на 100? А может на ступеньках типа 211? Лучше ли платина или палладий? Или их сплав? Какой барьер целевой реакции на каждой из поверхностей? До какой температуры греть? Какова энергия десорбции продукта (легко ли он снимается?). Как в этих же условиях будет вести себя бутан?
Вопросы, вопросы, и чтобы на все это отвечать приходится расчетчику первым делом оптимизировать bulk требуемого материала. После этого вырезать поверхности. Потом на них класть правильной стороной нужные молекулы и пытаться найти интермедиаты и переходные состояния процесса.
У вас нет необходимых прав для просмотра вложений в этом сообщении.

Аватара пользователя
Vit Nhoc
Сообщения: 1147
Зарегистрирован: Сб июн 06, 2015 12:28 pm

Re: Миллеровские индексы в кристаллографии

Сообщение Vit Nhoc » Пн окт 09, 2023 1:24 pm

Я доделал алгоритм устранения неуникальных атомов, вроде всё работает нормально. Могу прислать вам последнюю версию Chemcraft.
Осталось доделать опцию Build miller indeces или как её назвать. Я по-прежнему не до конца понял: верно ли, что в принципе достаточно пересчитать три числа миллеровского индекса в девять чисел для опции Redefine lattice? Как я уже писал, последняя тройка чисел (для C) обычно совпадает с самим миллеровским индексом, а первую и вторую тройку можно выбрать произвольно, т.к. можно вращать A и B вокруг C.
Например, если миллеровский индекс 111, то имеем такие параметры Redefine lattice:

-1 0 1
0 1 0
1 1 1

Как тут:
miller111.jpg
Если миллеровский индекс 1 0 0, то имеем
0 0 1
0 1 0
1 0 0
miller100.jpg
Всё так?
Дальше ещё надо разобраться с указанием толщины ячейки по C, это чуть позже.
У вас нет необходимых прав для просмотра вложений в этом сообщении.

Аватара пользователя
Гесс
Сообщения: 13063
Зарегистрирован: Ср фев 15, 2012 11:19 pm

Re: Миллеровские индексы в кристаллографии

Сообщение Гесс » Пн окт 09, 2023 1:33 pm

Vit Nhoc писал(а):
Пн окт 09, 2023 1:24 pm
Я по-прежнему не до конца понял: верно ли, что в принципе достаточно пересчитать три числа миллеровского индекса в девять чисел для опции Redefine lattice? Как я уже писал, последняя тройка чисел (для C) обычно совпадает с самим миллеровским индексом, а первую и вторую тройку можно выбрать произвольно, т.к. можно вращать A и B вокруг C.
Это не тот подход с которым я знаком но да, он кажется работает.
Vit Nhoc писал(а):
Пн окт 09, 2023 1:24 pm
Например, если миллеровский индекс 111, то имеем такие параметры Redefine lattice:

-1 0 1
0 1 0
1 1 1
Я сильно прошу по возможности не делать первый индекс отрицательным. Но вроде бы да.

Аватара пользователя
Vit Nhoc
Сообщения: 1147
Зарегистрирован: Сб июн 06, 2015 12:28 pm

Re: Миллеровские индексы в кристаллографии

Сообщение Vit Nhoc » Вт окт 10, 2023 10:42 am

Гесс писал(а):
Пн окт 09, 2023 1:33 pm
Это не тот подход с которым я знаком но да, он кажется работает.
Тогда следующий вопрос: нужна ли возможность задать положение и глубину слоя, как в Materials studio?
Я это вижу так. Предположим, мы редефайнили латтис по миллеровским индексам. Пусть будет миллеровский индекс 111, редефайнили латтис с параметрами

0 1 0
-1 0 1
1 1 1
naclmiller111_pra.jpg
naclmiller111_prb.jpg
Первое: нужна ли возможность сместить молекулу по фракционной координате z? На рисунке левый атом натрия (розовый) имеет фракционную координату 0.5. Надо ли сделать так, чтобы он имел координату 0.0 или 1.0? Второе: нужна ли возможность вырезать по оси C область, большую 1.0 по фракционной координате z? Скажем вырежем 1.5, начало на 0.0: тогда имеем в ячейке два атома натрия, первый с координатой 0.5, второй с координатой 1.5 или 0.0.
Это не имеет смысл для bulk, но может быть важно для поверхностей, т.к. если мы имеем плоский слой на поверхности кристалла, мы не знаем, какие конкретно атомы торчат на его передней или задней поверхности.
У вас нет необходимых прав для просмотра вложений в этом сообщении.

Аватара пользователя
Гесс
Сообщения: 13063
Зарегистрирован: Ср фев 15, 2012 11:19 pm

Re: Миллеровские индексы в кристаллографии

Сообщение Гесс » Вт окт 10, 2023 4:05 pm

Я предлагаю оставить это пользователю, пользователь сам решит по какому уровню резать, а толщину можно задать в ходе redefine.
В рамках улучшизмов я бы скорее попросил сделать процесс с превращением углов альфа и бета в 90 градусов и добавление вакуума скажем 20 ангстремов от текущего. Вот это на одну кнопку (чтоб не лазить в edit cell) было бы хорошо.

Аватара пользователя
Vit Nhoc
Сообщения: 1147
Зарегистрирован: Сб июн 06, 2015 12:28 pm

Re: Миллеровские индексы в кристаллографии

Сообщение Vit Nhoc » Ср окт 11, 2023 10:15 am

Значит в окне надо будет вводить следующие параметры: Cleave plane (три миллеровских индекса), Position/Top и Position/Thickness и Position/New gap (по умолчанию скажем 30 ангстрем). Всё так?
А что за превращение углов в 90 градусов?

Аватара пользователя
Гесс
Сообщения: 13063
Зарегистрирован: Ср фев 15, 2012 11:19 pm

Re: Миллеровские индексы в кристаллографии

Сообщение Гесс » Ср окт 11, 2023 5:44 pm

В той версии где я последний раз строил - я сначала делал redefine а потом переделывал параметры ячейки. Вручную задавал углы альфа и бета в 90 градусов и длину вектора с. Я вот про это. Видимо оно у вас в кнопке Cleave plane

Аватара пользователя
Vit Nhoc
Сообщения: 1147
Зарегистрирован: Сб июн 06, 2015 12:28 pm

Re: Миллеровские индексы в кристаллографии

Сообщение Vit Nhoc » Пн окт 16, 2023 1:04 pm

Я тут ломаю голову, как всё-таки строить векторы A и B, если известен C. Похоже выше я написал неправильно для случая C=(1 1 1). Судя по этому рисунку, правильнее вроде так:
0 1 -1
-1 1 0
1 1 1

Изображение

превращается в

Изображение

В данном случае A и B ортогональны C, но не ортогональны друг другу. Так и должно быть?

Аватара пользователя
Гесс
Сообщения: 13063
Зарегистрирован: Ср фев 15, 2012 11:19 pm

Re: Миллеровские индексы в кристаллографии

Сообщение Гесс » Вт окт 17, 2023 1:24 am

Vit Nhoc писал(а):
Пн окт 16, 2023 1:04 pm
В данном случае A и B ортогональны C, но не ортогональны друг другу. Так и должно быть?
Если вы делаете 111 на кубическую ячейку то минимальная - гексагональная, вектор C перепендикулярен обоим другим векторам, вектор между А и B - 60 или 120 градусов. Эту ячейку можно перестроить чтобы получить угол межжду А и B в 90 градусов но при этомее обьем вырастет в 2 раза.
Так что судя по всему у вас все правильно.

Аватара пользователя
Vit Nhoc
Сообщения: 1147
Зарегистрирован: Сб июн 06, 2015 12:28 pm

Re: Миллеровские индексы в кристаллографии

Сообщение Vit Nhoc » Ср окт 25, 2023 8:02 am

Гесс писал(а):
Вт окт 17, 2023 1:24 am
Так что судя по всему у вас все правильно.
Как я понимаю, вы тоже не знаете алгоритм, по которому можно по вектору C найти также перпендикулярные ему вектора A и B. Я спрашивал об этом алгоритме на научных форумах (mattermodeling.stackexchange.com, physicsforums.com), ответа тоже не получил, а один написал что вопрос давний и до конца не ясный.
Поэтому я думаю решить эту задачу банальным перебором. Зная вектор C в целых числах, надо найти вектора A и B в целых числах, такие что они оба перпендикулярны C, но не параллельны друг другу (лучше если перпендикулярны друг другу).
Ещё раз спрошу про то, как должен выглядеть финальный интерфейс. Я это вижу так: пользователь вводит три числа, обозначающих миллеровский индекс, и ещё три вещественных числа: начальное положение слоя по новой координате C (по умолчанию 0 во фракционных координатах), толщина слоя по новой координате C (по умолчанию 1 во фракционных координатах), и расстояние между слоями (по умолчанию 30 в ангстремах). Всё ок?

Аватара пользователя
Гесс
Сообщения: 13063
Зарегистрирован: Ср фев 15, 2012 11:19 pm

Re: Миллеровские индексы в кристаллографии

Сообщение Гесс » Ср окт 25, 2023 8:20 am

Да

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

Re: Миллеровские индексы в кристаллографии

Сообщение amge » Ср окт 25, 2023 9:33 am

Vit Nhoc писал(а):
Ср окт 25, 2023 8:02 am
алгоритм, по которому можно по вектору C найти также перпендикулярные ему вектора A и B.
Хмм... В такой формулировке задача представляется предельно простой (по крайней мере, в декартовых координатах). Наверное, еще какие-то условия/тонкости?

Аватара пользователя
Гесс
Сообщения: 13063
Зарегистрирован: Ср фев 15, 2012 11:19 pm

Re: Миллеровские индексы в кристаллографии

Сообщение Гесс » Ср окт 25, 2023 10:26 am

amge писал(а):
Ср окт 25, 2023 9:33 am
Vit Nhoc писал(а):
Ср окт 25, 2023 8:02 am
алгоритм, по которому можно по вектору C найти также перпендикулярные ему вектора A и B.
Хмм... В такой формулировке задача представляется предельно простой (по крайней мере, в декартовых координатах). Наверное, еще какие-то условия/тонкости?
cохранение периодичности в обоих направлениях. То есть новые векторы являются некоей суммой/разностью векторов старых. И минимальный результирующая площадь среза.

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

Re: Миллеровские индексы в кристаллографии

Сообщение amge » Ср окт 25, 2023 10:34 am

Гесс писал(а):
Ср окт 25, 2023 10:26 am
cохранение периодичности в обоих направлениях. То есть новые векторы являются некоей суммой/разностью векторов старых. И минимальный результирующая площадь среза.
Ой... Я пас.

Ответить

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

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

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