Научная статья на тему 'ВИРТУАЛЬНАЯ ЛАБОРАТОРНАЯ РАБОТА «РЕНТГЕНОГРАФИЧЕСКИЙ ФАЗОВЫЙ АНАЛИЗ»'

ВИРТУАЛЬНАЯ ЛАБОРАТОРНАЯ РАБОТА «РЕНТГЕНОГРАФИЧЕСКИЙ ФАЗОВЫЙ АНАЛИЗ» Текст научной статьи по специальности «Математика»

CC BY
0
0
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
рентгенофазовый анализ / алгоритм / виртуальная лабораторная работа / дифрактограмма / условие Брегга-Вульфа / программа / моделирование / рефлексы / образцы / межплоскостные расстояния / X-ray phase analysis / algorithm / virtual laboratory work / diffraction pattern / Bragg-Wulf condition / program / modeling / reflections / samples / interplanar distances

Аннотация научной статьи по математике, автор научной работы — Римлянд В. И., Удалов К. Е.

Разработана виртуальная лабораторная работа по рентгенофазовому анализу для моделирования определения фазового состава одно и двух фазных образцов. В основе работы – моделирование порошкового метода Дебая-Шеррера. Программирование выполнено на языке «Python». Основу алгоритма составляет моделирование рентгеновских дифрактограмм различных образцов. Для реализации пользовательского интерфейса использован пакет PySide2. Дифрактограммы строятся из условия Брегга-Вульфа для Kα и Kβ -линий различных анодов рентгеновских трубок на основе справочных данных межплоскостных расстояний и интенсивностей рефлексов. Форма рефлексов моделируются с помощью формулы Шеррера и плотности вероятности Коши. С помощью созданного интерфейса студенты по дифрактограмме определяют углы и интенсивность рефлексов. Затем рассчитывают межплоскостные расстояния, в соответствие с которыми программно определяется состав виртуальных образцов. Приводится алгоритм работы программы и интерфейса. Лабораторная работа содержит восемь вариантов с двумя заданиями и предназначена для студентов бакалавриата направления «Физика», дисциплины «Физика твердого тела» или аналогичных.

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по математике , автор научной работы — Римлянд В. И., Удалов К. Е.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Virtual Laboratory Work "X-Ray Phase Analysis"

A virtual laboratory work on X-ray phase analysis has been developed to simulate the determination of the phase composition of one and two phase samples. The work is based on modeling of the Debye-Scherrer powder method. Programming is done in Python. The basis of the algorithm is the modeling of X-ray diffraction patterns of various samples. The PySide2 package has been used to implement the user interface. Diffraction patterns are constructed from the Bragg-Wulf condition for the Kα and Kβ lines of various X-ray tube anodes based on reference data for interplanar distances and reflection intensities. The shape of the reflexes is modeled using the Scherrer formula and the Cauchy probability density. Using the created interface, students determine the angles and intensity of reflections from the diffraction pattern. Then the interplanar distances are calculated, in accordance with which the composition of the virtual samples is determined programmatically. An algorithm for the operation of the program and interface is given. The laboratory work contains eight options with two tasks and is intended for undergraduate students in the field of “Physics”, the discipline of “Solid State Physics” or similar.

Текст научной работы на тему «ВИРТУАЛЬНАЯ ЛАБОРАТОРНАЯ РАБОТА «РЕНТГЕНОГРАФИЧЕСКИЙ ФАЗОВЫЙ АНАЛИЗ»»

ВЕСТНИК ТОГУ. 2023. .№ 4 (71)

УДК 519.876.5:53.083 В. И. Римлянд, К. Е. Удалов

ВИРТУАЛЬНАЯ ЛАБОРАТОРНАЯ РАБОТА «РЕНТГЕНОГРАФИЧЕСКИЙ ФАЗОВЫЙ АНАЛИЗ»

Римлянд В. И. - д-р техн. наук, проф. кафедры физики ТОГУ, e-mail: riml@pnu.edu.ru; Удалов К. Е. - студент НГТУ НЭТИ, группа СМ-31

Разработана виртуальная лабораторная работа по рентгенофазовому анализу для моделирования определения фазового состава одно и двух фазных образцов. В основе работы - моделирование порошкового метода Дебая-Шер-рера. Программирование выполнено на языке «Python». Основу алгоритма составляет моделирование рентгеновских дифрактограмм различных образцов. Для реализации пользовательского интерфейса использован пакет PySide2. Дифрактограммы строятся из условия Брегга-Вульфа для Ka и Kp -линий различных анодов рентгеновских трубок на основе справочных данных межплоскостных расстояний и интенсивностей рефлексов. Форма рефлексов моделируются с помощью формулы Шеррера и плотности вероятности Коши. С помощью созданного интерфейса студенты по дифракто-грамме определяют углы и интенсивность рефлексов. Затем рассчитывают межплоскостные расстояния, в соответствие с которыми программно определяется состав виртуальных образцов. Приводится алгоритм работы программы и интерфейса. Лабораторная работа содержит восемь вариантов с двумя заданиями и предназначена для студентов бакалавриата направления «Физика», дисциплины «Физика твердого тела» или аналогичных.

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

Введение

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

© Римлянд В. И., Удалов К. Е., 2023

ВЕСТНИК ТОГУ. 2023. № 4 (71)

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

С другой стороны, рентгеноструктурный анализ и его раздел рентгенофа-зовый анализ, являются частью «классического» курса «Физика твердого тела» направления бакалавриата «Физика» [1,2]. Соответственно во многих вузах, где преподается данный курс или аналогичные, в лабораторном практикуме реализуются лабораторные работы (ЛР) по рентгеновскому фазовому анализу. При этом возможны два основных варианта. Первый - постановка лабораторной работы на основе действующего рентгеновского дифрактометра [3, 4]. Второй - на базе специальных стендов имитирующих работу рентгеновских аппаратов [5]. Оба этих варианта предполагают относительно большие материальные затраты, значительное время на подготовку и выполнение лабораторной работы. В случаи, если в рабочей программе дисциплины и расписанием предусмотрено выполнение одной лабораторной работы по рентгено-структурному анализу в течение двух часов, то не целесообразно реализация данных вариантов.

Решением данной проблемы является создание виртуальной ЛР, которая моделирует основные элементы определения фазового состава вещества на основе методов рентгеновского структурного анализа. В сети Интернет представлено большое количество виртуальных ЛР по физике [6-9]. Однако по Физике твердого тела их количество ограничено и авторам не удалось найти доступную в сети виртуальную лабораторную работу по рентгеновскому фазовому анализу.

Алгоритм выполнения виртуальной лабораторной работы

Для лабораторной работы было выбрано моделирование порошкового метода Дебая-Шеррера [1], так как данный метод чаще всего встречается в рентгеновском фазовом анализе. Рентгенофазовом анализе на основе полученных экспериментально дифрактограмм (рис. 1) определяются углы 9 и интенсивности I дифракционных максимумов. Затем рассчитываются межплоскостные расстояния й по формуле Брегга-Вульфа [1, 2]:

где п - порядок максимума, X - длина волны излучения. Значения й и I сравниваются со справочными данными [10-12], и определяется качественный фазовый состав образца.

2й sin 9 = пХ.

(1)

Данная виртуальная ЛР содержит восемь вариантов образцов. Пять вариантов - структура из одного элемента; три - сложная структура из двух фаз. Каждый вариант содержит материал анода рентгеновской трубки и длины волн Ка и Кр -линии. Пример двух вариантов: Первый - вещество ЛЬОъ, материал анода медь (Ха - 1.5406А, Хр - 1.392А); Шестой - вещество Л/2О3 и БЮ2 , материал анода кобальт ( Ха - 1.7902А, Хр - 1.6208А).

Рис. 1. Дифрактограмма нанокомпозита V2O5/Fe/LiF [13].

Студент в соответствие с методическими указаниями выполняет два задания: Задание 1 - определяется состав простой структуры из одного элемента (возможно 5 вариантов). Студент с помощью интерфейса вводит необходимые параметры для данного варианта, и на экране ПК строится соответствующая дифрактограмма. Далее по экрану ПК помощью курсора определяет углы 26 и значения интенсивностей I максимумов. Затем, зная длины волн и используя условие Брегга-Вульфа (1), рассчитывает межплоскостные расстояния d для каждого угла максимума 6. Значения 6, d и I заносятся студентом в таблицу интерфейса экрана. Далее по команде «Сравнить результаты» в таблице высвечиваются правильные значения d и химический символ элемент структуры. Если студент определил d с большой ошибкой (> 5%) правильные значения d и химический символ не возникают. Для того чтобы увидеть, как меняется ди-фрактограмма при наличии фильтра и без него, студент может получить ди-фрактограмму без фильтра Кр -линии. Задание 2 - определяется состав сложной структуры из двух фаз (возможно 3 варианта); студент выполняет пункты Задания 1 для сложной двухфазной структуры.

Программная реализация виртуальной лабораторной работы.

Для написания программы, моделирующей рентгеновский фазовый состав, был выбран язык «Python». Данный выбор обусловлен тем, что данный язык поддерживает пакеты, позволяющие расширить базовые функции языка.

ВЕСТНИК ТОГУ. 2023. № 4 (71)

Используются следующие пакеты: «NumPy» [14] - расширяет работу с массивами; «Pandas» [15] - позволяет расширено работать с файлами; «PySide2» [16] - для создания графического интерфейса (GUI) виртуальной лабораторной работы; «math» - для работы с математическими функциями; «sys» -для функций системы «Windows>; «random» - генерации случайных чисел; «io» -расширенной работы со строковыми типами переменных; «PyQtGraph» - работа с графиками и вывода их на GUI.

Основные пакеты в программе подключаются с помощью команды import <название пакета> as <префикс для вызова пакета>. Программа работает через основное тело, которое представлено на рисунке 2.

В основном теле содержится класс MainWindow(), который содержит в себе четыре функции: 1. Функция init(self) — главная функция, которая позволяет вызывать остальные функции через GUI; 2. Функция difract(self) — математическое моделирование рентгеновского фазового анализа; 3. Функция clear(self) — очистка дифрактограммы и таблицы; 4. Функция onFill(self) — функция для работы с таблицей результатов.

Для построения дифрактограммы создается нулевой массив на 1800 точек, что обусловлено максимальным брегговским углом - 180°. Данное количество точек дает цену деления в 0.1 градуса. Для объявления массива используется функция из пакета «NumPy» zeros, которая заменяет объявление цикла на одну команду. Массив значений ординат на 1800 точек, объявляется через функцию того же пакета NumPy linspace. Функция принимает три аргумента: начальная точка, конечная точка, количество точек. Первый массив будет объявлен через переменную arr, второй через x.

Так как на реальных дифрактограммах нулевая амплитуда не постоянна, был добавлен шум через функцию uniform пакета random .

Далее через оператор if объявляются 8 вариантов заданий. Каждый вариант содержит межплоскостные расстояния для элементов и длины а- и р-волн для рентгеновских трубок с конкретным материалом анода. Для сложной структуры вариант еще содержит процентное содержание для каждого элемента. Пример двух вариантов: Первый - Вещество: AI2O3 , материал анода: медь (Ла - 1.5406А, Хр - 1.392А); Шестой - Вещество: AI2O3 , SiO2 , материал анода: кобальт ( Ха - 1.7902А, Хр - 1.6208А). Значения dи Iвзяты из работы [10].

if name

mam

app = Qapplication(sys.argv)

window = MainWindow() window.show()

sys.exit(app.exec_())

Рис. 2. Основное тело программы

Для каждого химического элемента «используемого» в ЛР создана своя база данных в формате .txt. Программа считывает базу данных при ее вызове и образует массив с помощью функции NumPy loadtxt. В качестве аргументов данная функция принимает название файла в формате .txt, тип данных dtype, разделитель delimiter, пропуск строки skiprows и номера колонок usecols, которые надо считывать. В тип данных подается float, т. к. в базе содержатся нецелочисленные значения межплоскостных расстояний. Значения интенсивно-стей рефлексов (I0) в дальнейшем будут конвертированы в целочисленный int тип. Значения длин а - и ß -волн присваиваются через переменные lambdal и lambdbt. Длины волн и межплоскостные расстояния задаются в ангстремах.

С помощью оператора if - else функция difract(self) делится на две части: математическое моделирование рентгеновского фазового анализа для простой и сложной структуры. Однако основные части кода для них совпадают. Считывание файлов происходило по колонкам: массив имеет размерность 2 xN , где N - количество элементов. Поэтому, массив транспонируется и разделяется на два с помощью NumPy-функции hsplit. Для дальнейшей работы с массивами их тип меняется на list.

Заполнение массива происходит с помощью расчета брегговских углов 9 для d через условие Брегга-Вульфа. Индекс элемента в массиве с межплоскостными расстояниями задается через функцию randint из пакета random. Межплоскостное расстояние подставляется в условие Брегга-Вульфа, и рассчитывается синус брегговского угла. Дальнейший расчет происходит, если синус меньше или равен 1, т. к. при больших значениях рефлексы не образуются. Для сокращения кода, арксинус синуса брегговского угла присваивается переменной угла одновременно с переводом значения арксинуса из радиан в градусы. Результат умножается на 10, чтобы правильно внести его как индекс элемента в нулевом массиве. Данному элементу присваивается соответствующее значение интенсивности Io. Также, если был убран фильтр ß -волн (фильтр задан через переменную state), то происходит расчет брегговского угла и для ß -волны, при этом, значение интенсивности берется как 40% от интенсивности с фильтром.

Рефлексы (пики) на реальной дифрактограмме имеют конечную ширину. Ширина пиков, находится с помощью формулы Шеррера [17]:

Ад = (2)

d cos в v '

где А9 — полуширина рефлекса (в градусах), X — длина волны (ангстремы), K = 1.15 — коэффициент Шеррера.

Данная формула в коде объявляется через отдельную функцию (рис. 3).

def gamma(labd, d, thet): return labd * 1.15 / (d * math.cos(thet / 2))

Рис. 3. Объявление функции формулы Шеррера

ВЕСТНИК ТОГУ. 2023. № 4 (71)

Построение пиков с определенной шириной происходит с помощью плотности вероятности Коши [18]:

= 2<0-0Го)2 +У2 (3)

где у- полуширина, равная АО (2); Оо - координата вершины, которая тоже объявлена с помощью отдельной функции:

def caushi(x, x_0, gamma): return 1 / math.pi * gamma / 2 / ((x - x_0)**2 + (gamma / 2) **2)

Нормальное распределение Коши не учитывает значение интенсивности в максимуме пика - Io. Поэтому, был введен коэффициент, который позволяет строить рефлексы с учетом их ширины

* = 1Г (4)

где f — значение распределения при угле О, fo — максимальное значение распределения (О = Оо). Соответственно интенсивность при угле О равна

1(9) = klo (5)

Пользовательский интерфейса виртуальной лабораторной работы

Пользовательский интерфейс (GUI) (рис. 4) является неотъемлемой частью программы. Для реализации GUI был использован пакет PySide2.

Рис. 4. Интерфейс программы

Интерфейс в пакете PySide2 строится с использованием виджетов, которые выполняют определенные функции. Основное окно имеет размер 1042x399 пикселей. Размер окна может изменяться пользователем. В нижний виджет-контейнер добавляются две кнопки: «Получить дифрактограмму» и «Счистить дифрактограмму». Настройка эксперимента, значение длины волны для Ka -линии и материал анода указываются под дифрактограммой. Для настройки эксперимента были добавлены выбор варианта (используется метод QSpinBox) и возможность установки фильтра Kp -линии (используется метод QChackBox).

При нажатии на кнопку «Получить дифрактограмму» происходит построение дифрактограммы (рис. 5), расчет которой происходит в основном файле. В файле GUI дифрактограмма объявляется через метод QGraphicsView.

- . _ - у 1 1 . 1 1_________________

_i_i_i_i_i_i_i_i_i_i_

40 SO 120 160 2 в

Рис. 5. Пример построенной дифрактограммы

Для удобной обработки дифрактограммы был добавлен курсор, который отображает значения интенсивности I и брегговского угла 29 в ангстремах. Он реализовывается с помощью считывания курсора мыши и отображения ее координат относительно координат дифрактограммы.

Основное окно программы содержит таблицу результатов (рис. 6). Таблица состоит из 5 колонок: 9 и I определенные студентом по дифрактограмме, d рассчитанное студентом, вещество, на основе которого построена дифрактограмма и его значения d. В таблице десять строк. Таблица результатов объявлена с помощью метода QTableWidget.

ВЕСТНИК ТОГУ. 2023. № 4 (71)

Угол максимума (градусы) 40.8 I 50 d расчитанное студентом (ангтсремы) 2.21 d табличное (ангстремы) 2.213 Вещество Fe3C

43 62 2.102 2.104 Fe3C

44.6 100 2,03 2.0268 Fe

48.8 50 1.865 1.867 Fe3C

82.4 30 1.169 1.1702 Fe

83.4 62 1л sa 1.16 Fe3C

115.1 37 0.913 0.9156 Fe3C

Рис. 6. Итоговая таблица результатов

Нажатие кнопки «Сравнить результаты ручного счета с табличными» (объявлена тем же методом, как кнопки «Получить дифрактограмму» и «Очистить дифрактограмму») запускает функцию поиска onFill(self), кото- рая объявлена в основном файле программы. Данная функция считывает элементы таблицы, занося их в два отдельных массива. Так как общая база данных содержит все элементы и их значения d и I , то для уменьшения использованной памяти считывание файла происходит через пакет pandas. Далее, через цикл происходит поиск значений, которые более всего подходят к веденным. При этом, индексы найденных значений должны совпадать. По этому индексу в таблице выводится соответствующий элемент. Если студент определил d с большой ошибкой (> 5%) правильные значения d и химический символ не возникают.

Заключение

Созданная виртуальная лабораторная работа позволяет моделировать процесс определения фазового состава вещества на основе методов рентгенофазо-вого анализа. Тестирование лабораторной работы показало ее работоспособность. Подготовлено соответствующее методическое указание для студентов. Лабораторная работа может использоваться в учебном лабораторном практикуме по курсом «Физика твердого тела»» или «Физика конденсированного состояния» направления бакалавриата «Физика» или аналогичных дисциплин других направлений, а также создания десктопного приложения с реализацией в сети Интернет.

Библиографические ссылки

1. Kиттель Ч. Введение в физику твердого тела : учеб. пособие по физике. М.: ^ига по Требованию, 2012. 789 с.

2. Зиненко В.И., Сорокин Б.П., Турчин П.П. Основы физики твердого тела. М.: Физ.-мат. лит., 2001. 336 с.

3. Kурзина И. А., Годымчук А. Ю., ^чаев А. А. Рентгенофазовый анализ нанопорошков : метод. указания к вып. лаб. работы по курсу «Отрасли нано-индустрии. Области применения наноматериалов». Томск : Изд-во Томского политехн. ун-та, 2010. 14 с.

4. Рентгеноструктурный анализ наноматериалов : метод. рекомендации к выполнению лаб. работ для студентов направления подготовки 28.03.01«Нано-технологии и микросистемная техника» / А. В. ^зько и др. ^рск : Юго-Западный гос. ун-т, 2017. 52 с.

5. Рентгеновская физика. URL: https://www.phywe.com/ru/fizika/ sovremen-naya-fízika/rentgenovskaya-fízika/ (дата обращения: 23.06.2023).

6. Прохоренко А.В., Римлянд В.И. Использование виртуальных лабораторных работ по физике при дистанционной форме образования // Материалы XIX региональной научной конференции. Благовещенск : Изд-во Амурского гос. ун-та, 2021. С. 153-156.

7. LabXchange. URL: https://www.labxchange.org (дата обращения: 23.06.2023).

8. Labster. URL: https://www. labster.com/simulations?subIect=Physics (дата обращения: 23.06.2023).

9. Efizika. URL: https://efizika.ru/course/view.php?id=44 (дата обращения: 23.06.2023).

10. Храмов А.С., Лукьянов И.В. Рентгеноструктурный анализ поликристаллов : учеб.-метод. пособие для студентов Ин-та физики. Kазань : ЩЩФУ, 2010. Ч. IV. 76 с.

11. ^вба Л.М., Трунов В.К Рентгенофазовый анализ. 2-е изд. М. : Изд-во Моск. ун-та, 1976. 231 с.

12. ICDD. URL: https://www.icdd.com (дата обращения: 23.06.2023).

13 . Динамика наноразмерной атомной структуры новых наноструктуриро-ванных конденсированных материалов для возобновляемых источников тока на основе нанокомпозита V2O5/Fe/LiF в цикле зарядка-разрядка. URL: http://www.ivdon.ru/magazine/archive/n4p2y2012/1465 (дата обращения: 23.06.2023).

14. NumPy. URL: https://numpy.org (дата обращения: 23.06.2023).

15. Pandas. URL: https://pandas.pydata.org (дата обращения: 23.06.2023).

16. PySide2. URL: https :// pyside . readthedocs . io / en / latest / index . html (дата обращения: 23.06.2023).

17. Cullity B.D., Stock S.R. Elements of X-Ray Diffraction. 3rd Ed. Prentice-Hall Inc, 2001.

18. Прикладная статистика: Основы моделирования и первичная обработка данных / С.А. Айвазян и др. М. : Финансы и статистика, 1983. 471 с.

ВЕСТНИК ТОГУ. 2023. № 4 (71)

Title: Virtual Laboratory Work "X-Ray Phase Analysis" Authors' affiliation:

Rimlyand V. I. - Pacific National University, Khabarovsk, Russian Federation Udalov K.E. - Novosibirsk State Technical University, Russian Federation

Abstract: A virtual laboratory work on X-ray phase analysis has been developed to simulate the determination of the phase composition of one and two phase samples. The work is based on modeling of the Debye-Scherrer powder method. Programming is done in Python. The basis of the algorithm is the modeling of X-ray diffraction patterns of various samples. The PySide2 package has been used to implement the user interface. Diffraction patterns are constructed from the Bragg-Wulf condition for the Ka and Kp lines of various X-ray tube anodes based on reference data for interplanar distances and reflection intensities. The shape of the reflexes is modeled using the Scherrer formula and the Cauchy probability density. Using the created interface, students determine the angles and intensity of reflections from the diffraction pattern. Then the interplanar distances are calculated, in accordance with which the composition of the virtual samples is determined programmatically. An algorithm for the operation of the program and interface is given. The laboratory work contains eight options with two tasks and is intended for undergraduate students in the field of "Physics", the discipline of "Solid State Physics" or similar.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Keywords: X-ray phase analysis, algorithm, virtual laboratory work, diffraction pattern, Bragg-Wulf condition, program, modeling, reflections, samples, interplanar distances.

i Надоели баннеры? Вы всегда можете отключить рекламу.