/vampire-RUS

Численное моделирование атомистического спина в магнитных материалах

Primary LanguageC++GNU General Public License v2.0GPL-2.0

Vampire

Этот раздел является любительским переводом и делался для версии 5.0. Оригинал в этом репозитории. Главный, но не единственный разработчик пакета Ричард Эванс.

Vampire — это высокопроизводительный программный пакет общего назначения для атомистического моделирования магнитных материалов. В нём вы можете использовать разнообразные общие методы моделирования, в Vampire вы можете рассчитать равновесные и динамические магнитные свойства самых разных магнитных материалов и явлений, включая ферро-, ферри- и антиферромагнетики, наночастицы ядро-оболочка, сверхбыструю спиновую динамику, магнитную запись, магнитную запись с подогревом (heat-assisted или HAMR), обменное смещение, магнитные многослойные плёнки и комплектные устройства.

Возможности

Vampire разработан так, чтобы он мог быть очень гибким и мог справляться с широким спектром задач, с помощью разнообразного набора инструментов и методов моделирования. Возможности кода можно обобщить, говоря в широком смысле, с точки зрения методов моделирования, стандартных задач, структурных свойств и функциональных особенностей кода, эти вещи можно комбинировать так, чтобы решить практически любую проблему.

Методы моделирования

  • Стохастическое уравнение Ландау-Лифшеца-Гильберта (спиновая динамика)
  • Алгоритм Метрополиса (метод Монте-Карло)
  • Ограниченный алгоритм Метрополиса (метод Монте-Карло)

Стандартные вычисления

  • Сверхбыстрая спиновая динамика
  • Петли гистерезиса
  • Температура Кюри
  • Температурная анизотропия
  • Энергетическая барьеры, зависимые от температуры
  • Охлаждение в поле
  • Магнитная запись с подогревом (HAMR) и обычная магнитная запись
  • Индуцированная лазером спиновая динамика

Структурные свойства

  • Объемная бесконечная система, имитированная при помощи периодических граничных условий (PBC)
  • Тонкие плёнки
  • Наночастицы — сферы, кубы, усечённые октаэдры, цилиндры
  • Зернистые структуры Вороного
  • Массивы наночастиц
  • Наночастицы ядро-оболочка
  • Многослойные тонкие плёнки
  • Шероховатые границы раздела и взаимное перемешивание
  • Разбавленные магнитные системы
  • Определённая литографическим способом геометрия
  • Кристаллические структуры: простая кубическая, ГЦК, ГПУ, и ОЦК (SC, FCC, HCP, и BCC, соответственно)
  • Определённые пользователем атомные структуры -- например, полученные из моделирования молекулярной динамики

Магнитные свойства

  • Ферромагнетики
  • Антиферромагнетики
  • Ферримагнетики
  • Спиновое стекло
  • Одноионная, двухионная и кубическая анизотропия
  • Скалярная, векторная и тензорная форма обменного взаимодействия, включая взаимодействие Дзялошинского-Мория (DMI)
  • Определённый пользователем гамильтониан из расчётов первых принципов (ab-initio) методом теории функционала плотности (DFT)
  • Поля размагничивания (приближение макроячейки)

Особенности кода

  • Модульный, объектно-ориентированный C++
  • Простой ввод посредством текстового файла
  • Высокая производительность
  • Распараллеливание вычислений с помощью библиотеки MPI
  • Разнообразие алгоритмов геометрической декомпозиции
  • Работает и на ноутбуке, и на суперкомпьютере с тысячами ядер
  • Вывод в PoVRAY для визуализации и создания качественной графики в ваших публикациях
  • Вывод в rasmol/jmol для проверки структуры
  • Для лучшей переносимости с устройства на устройство у пакета минимальная зависимость от внешних библиотек
  • Свободно доступный пакет с открытым исходным кодом

Лицензия

Смотрите файл license (вкратце файл говорит о том, что это лицензия GNU General Public License, что на русском значит "халява" — прим. пер.).

Дополнения в форк от 101Room для тех, кто видит программу в первый раз

Мне известно, что господина Эванса спрашивали (и не раз) в обсуждениях пользователей Vampire в Google Groups о том, как же установить Vampire. Он всегда отправлял людей к мануалу. Однако, предполагаю, что люди спрашивают не из-за того, что они ленивые жопы и не открыли мануал, а потому что информации из мануала им недостаточно. Должна сказать, это реально трудно понять тем, кто не использовал ранее Linux на уровне терминала. А тем, кто так и не подтянул свой английский сложнее на порядок (сочувствую), ведь решения проблем, сопряжённых с установкой такого специализированного пакета, зачастую можно найти лишь на английском. Поэтому я написала гайд для русских пользователей о том, как установить программу. Гайд очень поможет тем, кто не использовали ранее Linux и даже тем, кто вообще не использовали до этого научные пакеты (всё бывает в первый раз).

Гайд по Vampire скоро появится в этом репозитории: vampire-workshop-RUS-guide-for-beginners