Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Моделирование физических процессов методом молекулярной динамики. Учебное пособие

.pdf
Скачиваний:
0
Добавлен:
12.08.2026
Размер:
884 Кб
Скачать

6. Программа моделирования Lammps

существующими атомами. Команда записывается следующим образом: replicate nx ny nz, где nx, ny, nz – число повторений по осям.

Команда create_box позволяет сгенерировать ячейку моделирования на основе региона.

Команда create_atoms создает одиночный атом или атомы на основе области моделирования, региона или создает атомы случайным образом.

Команда delete_atoms позволяет удалить указанные атомы. Команда group определяет набор атомов как принадлежащих к

группе.

Команда pair_style применяется для того, чтобы задать потенциал межатомного взаимодействия. В программе LAMMPS заложены сотни различных потенциалов.

Команда pair_coeff считывает файл, который содержит данные по потенциалу межатомного взаимодействия.

Команда mass задает атомную массу.

Команда neighbor устанавливает параметры, оказывающие влияние на смежные пары атомов.

Команда neigh_modify задает частоту проверки списка ближайших соседей.

Команда velocity определяет скорости атома или группы атомов. Команда timestep определяет время одного шага моделирования. Команда if предоставляет возможность if-then-else во входном

скрипте. Команда оценивает логическое выражение, и результат – истина или ложь.

Команда fix служит для описания действия, зависящего от параметров, определенных после нее. Данная команда помогает, например, задать температуру в начале и конце моделирования, применить к области моделирования зеркальное отражение частиц при ударении и ряд других. Для отмены этой команды существует команда unfix.

Команда fix print используется для вывода и записи переменных в файл. Данная команда имеет следующую структуру: fix <имя> <имя груп-

пы> print <количество шагов, через которое будут выводиться данные> <строка данных, которую надо выводить> file <имя файла>.

Например,

fix coord all print 100 “$x $y $z” file coord.txt

61

6. Программа моделирования Lammps

Для нахождения равновесной структуры атомов необходим этап минимизации энергии, т.е. процесс минимизации потенциальной энергии направлен на уменьшение несовершенств в системе атомов после их создания. Команда minimize применяется для этой цели. Данная команда имеет следующий синтаксис:

minimize etol ftol maxiter maxeval

где etol – значение изменения энергии, после которого останавливается минимизаця, ftol – допуск длины глобального вектора силы, maxi-ter – максимальное число итераций минимизации, maxeval – максимальное количество оценок энергии. Например,

minimize 1.0e-4 1.0e-6 100 100

Процесс минимизации завершается в случае выполнения одного из условий остановки. В данный момент система должна достигнуть локального минимума потенциальной энергии.

Команда compute применяется для вычисления значений в LAMMPS (например, кинетической энергии) с атома, группы атомов, всей системы. Данная команда имеет следующую структу:

compute <имя> <имя группы, с которой берутся показания> <стиль, например, angle, bond, reduce и другие> <аргументы>

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

Команда log закрывает текущий файл журнала LAMMPS, открывает новый файл с указанным именем и начинает запись в него информации. Команда имеет следующую структуру:

log file keyword

где file – имя нового файла журнала, ключевое слово append, если вывод должен быть добавлен в файл журнала. Если указанное имя файла – none, новый файл журнала не открывается. Если указано необязательное ключевое слово append, то вывод будет добавлен к существующему файлу журнала вместо его перезаписи.

62

6. Программа моделирования Lammps

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

Команда run запускает моделирование на определенное число шагов. Команда python определяет функцию Python или выполняет ранее определенную функцию, или выполняет произвольный код Python. Аргументы, включая переменные LAMMPS, могут быть переданы функции из входного сценария LAMMPS, а значение, возвращаемое функцией Python, переменной LAMMPS. Код Python для функции может быть включен непосредственно во входной скрипт или в отдельный файл Python. Функция может быть стандартным кодом Python или может выполнять «обратные вызовы» LAMMPS через интерфейс своей библиотеки для запроса или установки внутренних значений в LAMMPS. Это мощный механизм для выполнения сложных операций во входном скрипте LAMMPS, которые невозможны с простым входным скриптом и синтаксисом переменных, которые определяет LAMMPS. Таким образом, сценарий ввода мо-

жет работать как настоящий язык программирования.

Команда variable используется для задания переменных и имеет следующую структуру:

<имя переменной> <стиль, например, equal, delete, loop> <аргументы>

Например,

variable sigma equal 6.0

Для обращения к переменной в скрипте необходимо перед именем переменной в скрипте использовать символ $. Например, $b. Если имя переменной включает несколько символов, то его берут в фигурные скоб-

ки. Например, ${t_total}.

Команда reset_atom_ids сбрасывает идентификаторы атомов для системы, включая все глобальные идентификаторы, хранящиеся для данных связи, угла, двугранности и неправильной топологии. Это создаст набор идентификаторов, пронумерованных непрерывно от 1 до N для си-

63

6. Программа моделирования Lammps

стемы из N атомов. Это может быть полезно сделать после выполнения команды «delete_atoms» для молекулярной системы.

Команда reset_timestep имеет формат reset_timestep N, где N – значение временного шага. Команда устанавливает счетчик временного шага на указанное значение. Эта команда обычно используется после того, как временной шаг был установлен путем чтения файла перезапуска с помощью команды read_restart, или после того, как предыдущее моделирование продвинуло временной шаг. Команды read_data и create_box устанавливают временной шаг равным 0; команда read_restart устанавливает временной шаг равным значению, которое было при записи файла перезапуска.

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

restart 0 # не записывать данные в рестарт файл restart N root keyword value …

restart N file1 file2 keyword value

где N – число шагов моделирования, после чего данные записываются в рестарт-файл; root – имя файла, к названию которого добавляется номер шага моделирования; file1, file2 – два полных имени файла, в которые попеременно записываются данные.

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

Для обработки выходных данных применяются средства визуализации и анализа проведенных исследований методом молекулярной динамики и Монте-Карло (OVITO, VMD и другие). OVITO может обрабатывать файлы данных с несколькими временными шагами, что позволяет визуализировать эволюцию системы со временем [11]. OVITO – свободно распростра-

64

6. Программа моделирования Lammps

няемый программный продукт. Применяя набор функций визуализации и анализа, пользователь определяет последовательность шагов обработки данных, которые используются для атомистических данных [24–25].

Представлен пример скрипта для моделирования oтжига меди:

units metal # определяются единицы измерения atom_style atomic # определяется тип атомов boundary p p p # задаются граничные условия lattice fcc 3.61# определяется параметр решетки

region box block 0 10 0 10 0 10 units lattice# определяются размеры кристалла

create_box 1 box# создается область

create_atoms 1 box units lattice # область заполняется ато-

мами

timestep 0.002 # определяем шаг по времени

pair_style eam # определяется тип потенциала – метод погруженного атома

pair_coeff * * Cu_u6.eam # добавляется файл с параметрами потенциала

minimize 1.0e-4 1.0e-6 100 100 # минимизация энергии write_data restart.data # указываем название файла, куда сохраняются данные

thermo 100 # определяется вывод на экран каждую 100 итерацию

thermo_style custom step temp vol press enthalpy etotal pe ke lx ly lz pxx pyy pzz pxy pxz pyz # указываются параметры для вывода результатов на экран

thermo_modify flush yes # применяется операция очистки всякий раз, когда файл журнала записывается

dump dump all atom 100 experiment.*.dump # формируется файл experiment.dump

log logCu.data # применяется для создания файла logCu.data velocity all create 300 8728007 rot yes mom yes dist gaussian # задается температура 300 К

fix 1 all npt temp 300.0 2000.0 0.2 iso 0.0 0.0 0.2 # ука-

зывается нагрев структуры

run 20000 # указывается число шагов для расчета

unfix 1 #удаление исправления, которое было ранее определено с помощью команды fix

fix 2 all npt temp 2000.0 2000.0 0.2 iso 0.0 0.0 0.2 run 1000

unfix 2

fix 3 all npt temp 2000.0 300.0 0.2 iso 0.0 0.0 0.2 run 20000 # скорость охлаждения 4.25·1013 K/s

65

6. Программа моделирования Lammps

На рис. 6.1 представлена полученная структура при температуре 300 К (a) и после отжига полученной структуры при скорости охлаждения 4,25·1013 K/s (б) в свободно распространяемом программном про-

дукте OVITO.

а б

Рис. 6.1. Полученная структура меди (100 % fcc) до отжига при температуре 300 К (a) и после отжига полученной структуры при скорости oхлаждения

4,25·1013 K/s (99,1 % other, 0,1 % fcc, 0,2 % hcp, 0,1 % bcc, 0,5 % ico) (б)

в свободно распространяемом программном продукте OVITO

а

б

Рис. 6.2. Функция радиального распределения полученной структуры меди до отжига (a) и после отжига (б)

66

7.Программа Ovito для визуализации и анализа исследований

7.ПРОГРАММА OVITO ДЛЯ ВИЗУАЛИЗАЦИИ

ИАНАЛИЗА ИССЛЕДОВАНИЙ

Для визуализации и анализа данных исследований моделирования частиц широко применяется программа моделирования OVITO [11, 29]. Open Visualization Tool (OVITO) – это новое программное обеспечение для трехмерной визуализации, разработанное для последующей обработки атомистических данных, полученных в результате моделирования методами молекулярной динамики или Монте-Карло. Уникальные функции анализа, редактирования и анимации интегрированы в простой в использовании графический интерфейс пользователя. Программное обеспечение написано на объектно-ориентированном языке C++, управляемом с помощью скриптов Python и легко расширяемым с помощью интерфейса подключаемого модуля. Данная программа помогает лучше понять многие явления и физические процессы материалов.

Программа OVITO Basic бесплатно доступна для всех основных платформ по лицензии с открытым исходным кодом. Программа OVITO доступна для систем Windows, Linux и macOS. Программное обеспечение разрабатывается, распространяется и поддерживается OVITO GmbH, Германия. Она служит в качестве мощного инструмента для анализа, понимания и иллюстрации результатов моделирования в огромном числе исследований компьютерного моделирования.

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

67

7. Программа Ovito для визуализации и анализа исследований

OVITO – это программное обеспечение для визуализации и анализа выходных данных, генерируемых в молекулярной динамике, атомистическом методе Монте-Карло и других симуляциях на основе частиц.

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

OVITO требует 64-битной операционной системы и работает на процессорах с архитектурой x86-64. Для графического пользовательского интерфейса OVITO требуется оборудование для трехмерной графики с поддержкой интерфейса программирования OpenGL (OpenGL 2.1 или новее). Как правило, перед запуском OVITO рекомендуется установить последнюю версию графического драйвера, предоставленную поставщиком оборудования, поскольку некоторые старые драйверы могут не полностью поддерживать современные спецификации OpenGL, что может привести к проблемам совместимости.

Для установки программы в Linux загрузите архивный файл с сайта www.ovito.org и распакуйте его с помощью команды tar: tar xJfv ovito- 3.5.0-x86_64.tar.xz. Это создаст новый подкаталог, содержащий файлы программы. Перейдите в этот каталог и запустите OVITO, запустив исполняемый файл ./bin/ovito.

Для установки программы в Windows загрузите программу установки ovito-x.y.z-win64.exe и запустите её, чтобы установить OVITO в каталог по вашему выбору. Обратите внимание, что Windows может спросить, действительно ли вы хотите запустить установщик, поскольку он был загружен из Интернета и не имеет цифровой подписи.

Чтобы загрузить файл моделирования с локального компьютера, выберите «Загрузить файл» в меню или используйте соответствующую кнопку на панели инструментов. OVITO автоматически определяет формат файла. Сжатые текстовые файлы с суффиксом .gz могут быть прочитаны OVITO напрямую.

68

7. Программа Ovito для визуализации и анализа исследований

Импортированный набор данных будет отображаться в трехмерных видовых экранах как визуальный объект, а также появится в разделе «Источник данных» редактора конвейера (рис. 7.1).

Рис. 7.1. Панель источника файла в OVITO

По умолчанию, всякий раз, когда вы импортируете новый файл моделирования, OVITO пытается определить, является ли файл частью пронумерованной последовательности файлов с похожими именами в том же каталоге. С этой целью последняя числовая последовательность символов (если есть) в выбранном вами имени файла заменяется символом подстановки * для создания шаблона поиска, который впоследствии будет использоваться для поиска других файлов в том же каталоге, принадлежащих последовательности траектории. Например, если вы открыли файл с именем experiment_5000.dump, OVITO автоматически сгенерирует шаблон поиска experiment_*.dump для поиска дополнительных снимков (например, experiment _0.dump, experiment_1000.dump, experiment_2000.dump и так далее). Можно вручную переопределить сгенерированный шаблон файла в поле ввода, выделенном на снимке экрана, или отключить автоматиче-

69

7. Программа Ovito для визуализации и анализа исследований

ское обнаружение последовательностей файлов, сняв флажок в поле автоматического создания.

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

OVITO отобразит временную шкалу и ползунок времени под окнами просмотра, если была загружена последовательность моделирования с более чем одним кадром.

OVITO позволяет вставлять несколько объектов или наборов данных в одну трехмерную сцену. Вы можете импортировать и визуализировать несколько наборов данных вместе на одном изображении. Вы также можете визуализировать один и тот же набор данных несколькими разными способами: рядом или совмещая разные режимы визуализации.

OVITO помещает все импортированные наборы данных в одну и ту же стандартную позицию в глобальной системе координат сцены. Таким образом, несколько наборов данных сначала будут отображаться наложенными в одном и том же пространственном местоположении, что может быть не тем, что вам нужно. Чтобы изменить это, вы можете перемещать отдельные объекты и размещать их в сцене по мере необходимости.

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

Свойства частиц – это числовые значения, связанные с отдельными частицами. Они играют центральную роль в модели данных OVITO и в способе представления молекулярных и других структур. Типичными свойствами частицы являются положение частицы, химический тип и скорость. Пользователь может назначать частицам любое количество дополнительных свойств либо явно, либо в результате вычислений, выполняемых программой.

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

70

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]