Магнитные моменты относительно осей кристалла? - PullRequest
0 голосов
/ 17 октября 2018

Я использую pymatgen для записи файлов .mcif.Мои структуры всегда имеют коллинеарные магнитные моменты величиной 4 вдоль z, но перед записью их в файл я заметил, что pymatgen преобразует их с помощью функции Magmom.get_moment_relative_to_crystal_axes ().Мои вопросы:

  • Что именно делает эта функция?
  • Почему для некоторых решеток мои магнитные моменты остаются (0, 0, 4), а для других я получаю три ненулевые компоненты и даже величины больше не равны 4?

1 Ответ

0 голосов
/ 17 декабря 2018

Я на самом деле отвечаю за этот код, поэтому я надеюсь, что смогу ответить на ваш вопрос:)

Короче говоря, есть несколько вещей, которые следует иметь в виду:

• Предположим, когда выскажем «коллинеарные магнитные моменты всегда вдоль z», вы имеете в виду, что это скалярные коллинеарные моменты, например, из расчета DFT, стоит иметь в виду, что текущий стандарт .mcif не предназначен для представления скалярных моментов,именно поэтому мы произвольно выбираем ось Z.Однако это условно и не имеет физического смысла.Мне сказали, что будущая версия стандарта .mcif будет поддерживать скалярные моменты.

• Обычно мы представляем магнитные моменты, относящиеся к векторам кристаллографической решетки, потому что это обычно более научно обоснованно.Это означает, что мы должны иметь преобразование из декартовой x , y , z в решетку a , b , c основание.Это то, что делает метод Magmom.get_moment_relative_to_crystal_axes().

• Величина результирующего момента должна быть одинаковой;если это не так, то это ошибка (пожалуйста, поделитесь, если у вас есть пример!) Однако обратите внимание, что основа решетки может быть не ортогональной, что может сделать математику немного сложнее.

Что касается вопросовв целом, на pymatgen обратите внимание, что у нас также есть группа Google, у Материала Project тоже есть форум, и в целом мы стараемся реагировать (однако я не уверен, что кто-то в настоящее время следит за переполнением стека).Вы также можете написать мне напрямую.Если вы нашли ошибку, пожалуйста, сообщите об этом на страницу проблем pymatgen GitHub, и мы постараемся исправить ее как можно скорее.

...