Вы находитесь на странице: 1из 11

федеральное государственное автономное образовательное учреждение высшего

образования «Санкт-Петербургский национальный исследовательский


университет информационных технологий, механики и оптики»

ОТЧЕТ ПО ЛАБОРАТОРНОЙ РАБОТЕ №1

Тема: «Моделирование точечных дефектов в кристаллах методом молекулярной


динамики»

Вариант №___

Выполнил студент группы ___


_______

Проверил
Рожков М.А.

Санкт-Петербург
2021
1. Постановка задачи

Целью настоящей работы является:


1. Получение численного решения методом молекулярной динамики с
помощью программного пакета LAMMPS.
2. Сравнение результатов численного эксперимента с табличными
значениями.

Рассматривается кристалл меди, неопределенного размера. Необходимо


определить энергию формирования вакансии в кристалле меди, а также
сравнить со значениями энергий формирования вакансий, приведенными в
литературе.
Для меди параметр решетки задан как 3.615 Å.

2. Моделирование в среде LAMMPS

Для модели возьмем куб размером n × n × n параметров решетки, с


приложенными периодическими граничными условиями. Вакансия будет
создаваться путем удаления атома из центра кристалла. Энергия
формирования вакансии будет определяться по формуле:

N0 − 1
Evf = E f − Ei , (1)
N0

где Evf - энергия формирования вакансии;


Ef – энергия кристалла, после введения вакансии;
Ei – энергия идеального кристалла;
N0 – количество атомов, до введения вакансии.

Листинг программного кода, приведен в конце отчета, в приложении А.


Исследование сходимости по количеству атомов приведено в таблице 1.
Таблица 1 – Исследование сходимости решения от количества атомов
n Количество атомов Энергия формирования вакансии, эВ
2 32 1.28599
4 256 1.27370
6 864 1.27281
8 2048 1.27259
10 4000 1.27252
12 6912 1.27248
20 32000 1.27245

Как видно из таблицы 1, достаточно взять куб размера 10 × 10 × 10


параметров решетки.
Скриншот программы, после завершения вычислений приведен на
рисунке 1.

Рисунок 1 - Скриншот завершенного расчета в программе LAMMPS

Как видно из рисунка 1, результатом моделирования является значение


энергии формирования вакансии в меди, которое равно 1.273 эВ. Табличное
значение равно 1.33 эВ. Для нахождения теоретической оценки энергии
формирования вакансии, воспользуемся формулой:

Evf  9kTmelt , (2)

где k – постоянная Больцмана;


Tmelt – температура плавления;
Evf  9kTmelt  9  1,38  10−23  1356,55 = 16848.351 Дж
Переведем в электрон вольты, и получим 1,053 эВ.
Вычислим разницу между табличными, аналитическими и численными
значениеями:
(1,33 − 1,273)
𝛿𝐿𝐴𝑀𝑀𝑃𝑆 = 100% = 4,29%
1,33
(1,33 − 1,053)
𝛿𝑡ℎ𝑒𝑜𝑟𝑦 = 100% = 20,83%
1,33

Теоретическая оценка энергии образования вакансии является очень


грубой, и имеет разницу более 20%.
Визуализация решения выполнялась в программе OVITO. На рисунке 2
показан разрез кристалла, с обозначенной цветом энергией для каждого атома.

Рисунок 2 – Визуализация результатов моделирования в программном пакете


OVITO. Цветом обозначена потенциальная энергия для каждого атома

В случае междоузельного атома необходимо внедрить в кристаллическую


решетку атом того же химического элемента. Вычисление энергии
формирования междоузелья будет выполняться по следующей формуле:
N0 + 1
Ei f = E f − Ei , (4)
N0

Скриншот программы, после завершения вычислений приведен на


рисунке 3.

Рисунок 3 - Скриншот завершенного расчета в программе LAMMPS

Как видно из рисунка 1, результатом моделирования является значение


энергии формирования вакансии в меди, которое равно 3.251 эВ. Табличное
значение равно 3.2 эВ. Для нахождения теоретической оценки энергии
формирования вакансии, воспользуемся формулой:
Формула энергии формирования междоузельного атома:
Ei f  27kTmelt , (2)

Таким образом,
Ei f  27kTmelt  27 1,38 10 −23 1356,55 = 50545.053 Дж
Переведем в электрон вольты, и получим 3,159 эВ.
Вычислим разницу между табличными, аналитическими и численными
значениеями:
(3,2 − 3,251)
𝛿𝐿𝐴𝑀𝑀𝑃𝑆 = 100% = 1,59%
3,2
(3,2 − 3,159)
𝛿𝑡ℎ𝑒𝑜𝑟𝑦 = 100% = 1,13%
3,2

Для случая междоузельного атома теоретическая оценка и численное


решение хорошо соотносятся с табличными значениями, и разница не
превышает 2%.
На рисунке 4 и 5 показаны разрезы кристалла с внедренным
междоузельным атомом до минимизации энергии и после, соответственно.

Рисунок 4 – Результат внедрения междоузельного атома в кристалл, до


релаксации энергии. Цветом обозначена потенциальная энергия для каждого
атома

Рисунок 5 – Результат внедрения междоузельного атома в кристалл, после


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

Результаты работы приведены втаблице:

LAMMPS Аналитическая Табличное


формула значение
Энергия 1, 273 1,053 1,3
образования
вакансии
Энергия 3,251 3,159 3,2
образования
междоузельного
атома

Теоретическая оценка энергии образования вакансии в данном случае


является очень грубой, и имеет разницу более 20%. Для случая
междоузельного атома теоретическая оценка и численное решение хорошо
соотносятся с табличными значениями, и разница не превышает 2%.
Приложение А
Листинг программного кода для нахождения энергии формирования
вакансии

# Энергия образования вакансии в меди.


# *********** Блок начальных параметров *********

units metal
dimension 3
boundary p p p
atom_style atomic

# **************** Создание атомов **************

lattice fcc 3.615


region SimulationBox block -4 4 -4 4 -4 4
create_box 1 SimulationBox
create_atoms 1 region SimulationBox

# ***** Определение межатомного потенциала взаимодействия и вычисляемых


параметров *****
pair_style eam/alloy
pair_coeff * * FeCuNi.eam.alloy Cu
compute csym all centro/atom fcc
compute eng all pe/atom
compute eatoms all reduce sum c_eng

# ************* минимизация энергии *************


thermo 10
thermo_style custom step pe lx ly lz press pxx pyy pzz c_eatoms
dump 1 all custom 400 dump.relax.1.* id type xs ys zs c_csym c_eng

min_style cg
minimize 1e-15 1e-15 5000 5000
undump 1

variable N equal count(all)


variable No equal $N
variable E equal "c_eatoms"
variable Ei equal $E

# ******* зарождение вакансии ********


variable Ratom equal 1.2
region select sphere 0 0 0 ${Ratom} units box
delete_atoms region select compress yes

# ******** минимизация энергии после зарождения вакансии ********


reset_timestep 0
thermo 10
thermo_style custom step pe lx ly lz press pxx pyy pzz c_eatoms
dump 1 all custom 400 dump.relax.2.* id type xs ys zs c_csym c_eng

min_style cg
minimize 1e-15 1e-15 5000 5000

# ******* Расчет энергии формирования вакансии и вывод результата *****


variable Ef equal "c_eatoms"

variable Ev equal (${Ef}-((${No}-1)/${No})*${Ei})

print "The simulation is done!"


print "Total number of atoms = ${No}"
print "Initial energy of atoms [eV] = ${Ei}"
print "Final energy of atoms [eV] = ${Ef}"
print "Vacancy formation energy [eV] = ${Ev}"
Приложение Б
Листинг программного кода для нахождения энергии формирования
междоузельного атома

# =================== ИНИЦИАЛИЗАЦИЯ МОДЕЛИРОВАНИЯ


====================

units metal
dimension 3
boundary p p p
atom_style atomic

# ======================== СОЗДАНИЕ АТОМОВ


===========================

variable LatticeParameter equal 3.615


lattice fcc ${LatticeParameter}
variable Coub equal 5
region SimulationBox block -${Coub} ${Coub} -${Coub} ${Coub} -${Coub} ${Coub}
create_box 1 SimulationBox
create_atoms 1 region SimulationBox

# ============= ОПРЕДЕЛЕНИЕ ПОТЕНЦИАЛА ВЗАИМОДЕЙСТВИЯ


================
pair_style eam/alloy
pair_coeff * * FeCuNi.eam.alloy Cu

# ================ Настройка вычисляемых параметров ==================


compute csym all centro/atom fcc
compute eng all pe/atom
compute eatoms all reduce sum c_eng

# ================== Запуск минимизации энергии ======================


reset_timestep 0

thermo 10
thermo_style custom step pe lx ly lz press pxx pyy pzz c_eatoms

dump 1 all custom 400 dump.relax.int.1.* id type xs ys zs c_csym c_eng

min_style cg
minimize 1e-15 1e-15 5000 5000

run 0
undump 1

variable N equal count(all)


variable No equal $N

variable E equal "c_eatoms"


variable Ei equal $E

# ==================== создание междоузелья =====================

create_atoms 1 single 0 -1.8075 0 units box

# =================== минимизация энергии ====================

reset_timestep 0

thermo 10
thermo_style custom step pe lx ly lz press pxx pyy pzz c_eatoms

dump 1 all custom 400 dump.relax.int.2.* id type xs ys zs c_csym c_eng

min_style cg
minimize 1e-15 1e-15 5000 5000

# ============== вычисление энергии вакансии ================

variable Ef equal "c_eatoms"


variable Einter equal (${Ef}-((${No}+1)/${No})*${Ei})

# ================== вывод результатов ======================


print "The simulation is done!"
print "Total number of atoms = ${No}"
print "Initial energy of atoms = ${Ei}"
print "Final energy of atoms = ${Ef}"
print "Interstitial formation energy = ${Einter}"

Вам также может понравиться