Моделирование ALCHEMI¶
ALCHEMI (Atom Location by CHannelling-Enhanced MIcroanalysis) определяет, какую позицию занимает примесный атом, измеряя выход характеристического рентгеновского излучения при наклоне кристалла вдоль систематического ряда и анализируя зависимость от ориентации. Симулятор ALCHEMI в ReciPro рассчитывает в прямом направлении качательную кривую (выход ионизации в зависимости от ориентации) по кристаллической структуре и набору гипотез о позициях.
Это функция Preview. В v1 выполняется только одномерный прямой расчёт; подгонка к экспериментальным данным и 2D-карта (2D-HARECXS) не реализованы (соответствующие вкладки скрыты). Насколько известно авторам, других общедоступных прямых симуляторов ALCHEMI не существует. Поскольку сверить результат не с чем, прочитайте раздел Область применимости и известные ограничения, прежде чем использовать результаты количественно.
Открывается из меню Параметры Симулятора дифракции → Симулятор ALCHEMI...
Условия GUI: Wave Length = Electron (кристалл, ускоряющее напряжение и ориентация берутся из родительского симулятора дифракции)
Слева в окне находятся настройки (сканирование, толщина, расчёт, каналы ионизации, гипотезы о позициях), справа — результат (вкладка Кривая).
Что вычисляется¶
Для каждой ориентации падающего пучка волновое поле внутри кристалла решается методом блоховских волн, и для каждой пары «позиция \(s\) — канал ионизации \(c\)» выход ионизации аналитически интегрируется до толщины \(t\).
Матрица ионизации \(\mu\) зависит только от разности двух рефлексов, \(G = \mathbf{g}_h - \mathbf{g}_g\).
- \(\sigma_c\) : полное сечение ионизации, модель Bote–Salvat
- \(F_c(s)\) : нормированный форм-фактор ионизации, собственные таблицы DHFS (та же база данных, что у Взаимодействия пучка и STEM-EDX)
- \(e^{-M_a(G)}\) : фактор Дебая—Валлера (анизотропные ADP поддерживаются)
Это соответствует приближению локального форм-фактора ICSC (Oxley & Allen 2003). Двухимпульсная MDFF не используется.
Неканалированная составляющая¶
Электроны, выбывшие из когерентного блоховского поля из-за теплового диффузного поглощения, проходят оставшуюся толщину как электроны со случайным направлением и ионизируют атомы и там.
Снятие флажка Учитывать неканалированную составляющую в блоке Расчёт убирает это слагаемое. При типичных толщинах оно даёт десятки процентов полного выхода, поэтому без него контраст позиций выглядит сильнее, чем он есть.
Выходная величина¶
Первичная величина — число вакансий во внутренней оболочке, создаваемых на один падающий электрон. Преобразование в рентгеновские фотоны (выход флуоресценции и ветвление линий), самопоглощение рентгеновского излучения в образце, а также эффективность и телесный угол детектора НЕ учитываются.
⚠ Вакансии — это не отсчёты. Между этой величиной и измеренной интенсивностью EDX лежат ещё три ступени — атомная, образца и приборная, — ни одну из которых ReciPro не выполняет.
- вакансия → фотон : выход флуоресценции и ветвление линий оболочки
- фотон → фотон, покинувший образец : самопоглощение рентгеновского излучения; оно зависит от глубины, на которой фотон возник, и от угла отбора
- фотон → отсчёт : эффективность детектора, телесный угол и обработка спектра
Ступень 2, в частности, нельзя восстановить задним числом, умножив готовую кривую на один коэффициент поглощения: выход пришлось бы сначала разрешить по глубине. Поэтому сравнение этих кривых с измеренными интенсивностями, k-факторами или составами требует выполнить указанные ступени вне ReciPro.
Обратите внимание, какие из них переживают нормировку. Ступени 1 и 3, а также любое поглощение, принятое за константу, мультипликативны и не зависят от ориентации, поэтому они выпадают при нормировке ICP (на среднее по скану) — даже для двух линий с сильно разной энергией. Самопоглощение в общем случае не выпадает: каналирование меняет распределение по глубине, на которой создаются вакансии, поэтому сама поглощённая доля меняется вдоль скана и переживает нормировку. Именно против этого остатка помогает выбор линий с близкими энергиями.
Левая панель: настройки¶
Качательное сканирование¶
| Параметр | Описание | По умолчанию |
|---|---|---|
| Ряд g = ( h k l ) | Систематический ряд для сканирования, заданный индексами рефлекса \((h\,k\,l)\) его вектора обратной решётки \(\mathbf{g} = h\mathbf{a}^* + k\mathbf{b}^* + l\mathbf{c}^*\) — не направлением \([u\,v\,w]\). Ось наклона берётся перпендикулярной и пучку, и этому \(\mathbf{g}\), поэтому сканирование проводит ряд через его брэгговские условия | (1 0 0) |
| Диапазон ± | Полуширина наклонного сканирования (мрад). Свыше примерно 10 мрад фиксированный объединённый базис уже не гарантируется, а свыше 30 мрад это за пределами гарантии v1 | 8 мрад |
| Точки | Число точек сканирования (3–1001) | 101 |
Строкой ниже показаны брэгговский угол \(\theta_B\) выбранного ряда, скольким \(\theta_B\) соответствует ширина сканирования, и шаг наклона — так что ещё до запуска видно, насколько далеко действительно уходит сканирование.
⚠ Значение по умолчанию ±8 мрад — это удобная отправная точка, а не оптимум из литературы. Обзор Jones (2002) не задаёт численной ширины качательного сканирования в мрад, а верхние значения, указанные в таблице выше, — это пределы численной схемы v1, а не рекомендации. Оценивайте размах в единицах \(\theta_B\) (именно это выводится в строке под таблицей) и выбирайте его так, чтобы динамические особенности, которые вы собираетесь сравнивать, попадали внутрь скана.
⚠ Утверждение о том, что освещение можно раскрыть примерно до брэгговского угла — данное Jones для оптимизированного условия систематического ряда, — относится к полууглу сходимости падающего конуса, то есть к параметру Угловое размытие в блоке Расчёт ниже. Это не рекомендуемая полуширина качательного сканирования. Это разные величины, и смешивать их нельзя.
Толщина¶
Задайте начало, конец и шаг (нм). Все толщины рассчитываются вместе за один запуск, а результат переключается полем Толщина под кривой (кнопки-стрелки перебирают рассчитанные толщины; введённое значение округляется до ближайшей). Если начало и конец дают единственную толщину, переключать нечего и поле отключается.
Контраст позиций сильно меняется — вплоть до смены знака — между тонкими и толстыми образцами, поэтому проверьте несколько толщин, прежде чем делать выводы. Именно поэтому переключатель толщины расположен прямо под кривой.
Расчёт¶
| Параметр | Описание | По умолчанию |
|---|---|---|
| Макс. пучков | Верхняя граница числа блоховских волн на одну ориентацию (1–1600). Объединение по всему сканированию больше | 120 |
| Решатель | Вычислительное ядро задачи на собственные значения: Нативный (Eigen C++) или Управляемый (.NET). Там, где нативный решатель недоступен, выбор фиксируется на Управляемом | Нативный |
| Учитывать неканалированную составляющую | Добавлять ли \(Y_\text{dech}\) (см. выше) | вкл. |
| Угловое размытие | Свёртка кривой с угловым размытием падающего пучка: Нет или Gaussian с полной шириной на полувысоте в мрад. Это постобработка по оси ориентаций, применяемая до нормировки отображения | Нет |
Предел в 1600 пучков — это пара к табулированному диапазону \(s \le 16\ \text{Å}^{-1}\) форм-фактора ионизации. На практике даже 1600 пучков требуют лишь около 10,5 Å⁻¹, поэтому при соблюдении предела табулированный диапазон никогда не исчерпывается. Фактически достигнутое значение выводится в первой строке поля диагностики базиса под графиком.
Каналы ионизации¶
Список элементов и оболочек для ионизации. Каждая строка читается как элемент (Z) оболочка энергия края U = перенапряжение, а там, где нужна осторожность, добавляется пометка в скобках.
- Каналы, которые невозможно возбудить (энергия пучка ниже края поглощения), или выходящие за пределы табулированного диапазона, перечисляются с указанием причины и не могут быть отмечены
- Каналы с перенапряжением \(U = E_0/E_\text{края}\) ниже 1,2 получают предупреждение, поскольку там сечение менее надёжно
Гипотезы о позициях¶
Список атомных позиций, выход для которых рассчитывается отдельно; отображается как метка элемент (x, y, z) ×кратность Occ заселённость.
⚠ В трассерном приближении канал можно сочетать с любой позицией. Сочетание канала ионизации примеси с геометрией позиции матрицы (координаты, ADP, заселённость) — это и есть предусмотренное использование; ограничивать сочетания совпадающими элементами было бы ошибкой. Рассчитываются все комбинации отмеченных каналов и позиций.
Рассчитать / Стоп¶
Рассчитать запускает сканирование. Ход выполнения показывается в строке состояния в пять этапов (разрешение данных ионизации → построение объединённого базиса → построение матриц ионизации → расчёт ориентаций → проверка расширенного базиса), а Стоп прерывает в любой момент.
Правая панель: вкладка Кривая¶
По завершении расчёта для каждой пары «позиция × канал» строится одна кривая. Легенда читается как метка позиции / канал.
| Параметр | Описание |
|---|---|
| Толщина | Выбор отображаемой толщины; кнопки-стрелки перебирают рассчитанные толщины, введённое значение округляется до ближайшей (ничего не пересчитывается) |
| Нормировка | Среднее по скану (ICP) = делить на среднее по всему сканированию (величина, обычно используемая в ALCHEMI) / Максимум = 1 / Сырое (на электрон) |
| Ось X | Переключение между мрад и θ_B (в единицах брэгговского угла сканируемого ряда) |
| Условия Брэгга | Проводит вертикальные линии при \(\theta = n\,\theta_B\) |
| Экспорт CSV | Записывает сырые кривые для всех ориентаций, толщин, позиций и каналов в файл CSV (ниже) |
⚠ Нормировка — это только преобразование отображения. Сохраняется всегда число вакансий на один падающий электрон, а Максимум = 1 предназначен только для отображения — его нельзя использовать как опорную величину ICP.
Контраст и корреляция¶
В последних строках доступного только для чтения поля диагностики под кривой (остальное — прокруткой; текст можно выделить и скопировать) для каждой серии приводятся контраст \((\max-\min)/\text{среднее}\) и коэффициент корреляции \(r\) относительно первой серии. Это сводка, позволяющая с одного взгляда понять, какая позиция работает: две серии с \(r\) близким к \(+1\) имеют одинаковую зависимость от ориентации, то есть по этим данным разделить такие позиции нельзя.
Диагностика базиса¶
Первые строки поля диагностики сообщают состояние базиса, по одному пункту в строке.
basis 347 (184 + 163) F(s) ≤ 6.20 Å⁻¹ expanded-basis 6.7e-3
⚠ пригодность для подгонки НЕ оценивалась (v1 не гарантирует количественную подгонку заселённостей)
⚠ Experimental: сверено только с multislice-кодом (beta-AlCo [001], 250 кэВ)
- basis N (только центр + добавлено объединением) : размер истинного объединения рефлексов по всем ориентациям сканирования
- F(s) ≤ … Å⁻¹ : наибольший аргумент форм-фактора, фактически потребовавшийся базису
- expanded-basis : максимальная относительная разность при повторном решении центра и обоих краёв сканирования с базисом в 1,25 раза больше. Это косвенная мера погрешности сходимости
- пригодность для подгонки : v1 всегда сообщает НЕ оценивалась. У диагностики три известных изъяна — её знаменатель есть максимум по всему тензору, её числитель есть абсолютный выход, и она проходит тривиально, когда базис в 1,25 раза на деле не растёт, — поэтому объявить результат «пригодным» значило бы ошибиться в опасную сторону
- Experimental : каждый запуск несёт эту пометку вместе с проверенным диапазоном, поскольку количественно проверен только β-AlCo
⚠ v1 не гарантирует количественную подгонку заселённостей. Сырое значение диагностики по-прежнему выводится, и чем оно меньше, тем лучше, но воспринимайте его как ориентир, а не как отметку о зачёте. Учтите также, что оно определено по абсолютному выходу, поэтому при рассмотрении только ICP (который делится на среднее по скану) оно оказывается консервативным.
В следующих ситуациях в поле диагностики добавляются дополнительные предупреждения отдельными строками (каждая с ⚠).
- Ускоряющее напряжение ниже 80 кВ : при таком напряжении таблица форм-факторов не гарантирует \(s\) до \(16\ \text{Å}^{-1}\). Сам расчёт остаётся корректным, пока требуемое базисом \(s\) остаётся в гарантированном диапазоне, поэтому это уведомление, а не отказ
- Обрезание форм-фактора : там, где \(F(s)\) за пределами гарантированного диапазона был обнулён, соответствующая граница погрешности \(|F| \le \varepsilon\) выводится численно. Ничего не экстраполируется молча
Экспорт CSV¶
Экспорт CSV записывает таблицу в длинном формате, предваряемую заголовком вида # key: value (ниже сокращён). Заголовок составлен так, чтобы уже сам файл сообщал условия, необходимые для воспроизведения.
# generator: ReciPro ALCHEMI, ver 4.947 (2026-08-09)
# model: LocalFormFactor (local form-factor approximation; NOT the two-momentum MDFF)
# quantity: IonizationVacanciesGenerated (PerIncidentElectron)
# crystal: MgAl2O4 (spinel) / F d -3 m
# cell_nm: a 0.808000 b 0.808000 c 0.808000 alpha 90.0000 beta 90.0000 gamma 90.0000 deg
# accelerating_voltage_kV: 200.000
# scan_row_hkl: 1 0 0
# theta_B_mrad: 1.552030
# thicknesses_nm: 10.0000 20.0000 ... 100.0000
# angular_spread: Gaussian1D FWHM 1.0000 mrad (kernel renormalized at the scan ends)
# processing_order: forward yield -> angular spread convolution -> (display normalization, NOT applied to these columns)
# basis: 202 beams (120 centre-only + 82 added by the union), hash 1F3A...
# expanded_basis_max_rel_diff: 9.500e-004
# fit_eligibility: NotEvaluated (v1 does not certify quantitative occupancy fits; raw diagnostic AcceptedForFit=True at tolerance 3e-3)
# occupancy_coupling: Tracer (dilute limit; site responses may be combined linearly). VCA is not implemented
# verification: Experimental. Quantitatively verified only for beta-AlCo [001] at 250 keV (Al-K / Co-K / Co-L). ...
# not_modelled: X-ray self-absorption, detector efficiency and solid angle, fluorescence yield and line branching, background, specimen thickness distribution, specimen bending
# channel[Al-K]: edge 1.5596 keV, sigma 1.95e-007 nm2, sigma_source ... , F(s)_source ... (tabulated to s = 16.0 A^-1), not truncated
# site[AlM]: atom indices 0, occupancy from the crystal
# conventions: tilt is the signed rotation about the axis perpendicular to both the beam and g(scan_row_hkl), positive toward +g; angles in mrad; lengths in nm; ...
tilt_mrad,thickness_nm,site,channel,dynamic,dechannelled,total,dynamic_conv,dechannelled_conv,total_conv
dynamic / dechannelled / total сохраняются раздельно, поэтому вклад неканалированной составляющей можно оценить постфактум. Столбцы *_conv появляются только при включённом угловом размытии и содержат свёрнутые кривые: файл несёт и воспроизводимый сырой результат, и тот, что сравнивают с экспериментом. Значения сырые (на один падающий электрон) и не проходят через нормировку отображения; десятичный разделитель — всегда точка.
Область применимости и известные ограничения¶
«Может быть рассчитано» и «проверено количественно» — разные вещи. В этом разделе указано второе.
Никакой общей точности ±% — три вещи, которые надо различать¶
ReciPro сознательно не приводит общей точности вида «заселённости позиций с точностью ±N %». Обзор Jones (2002) также не сообщает универсальной погрешности заселённости, а опубликованные числа такого рода относятся к одной системе, измеренной одной методикой: они не являются свойством метода и тем более данного симулятора.
Оценивая результат, различайте три разные вещи.
Прецизионность (precision) : насколько число воспроизводимо — статистика счёта, погрешность, возвращаемая регрессией, разброс между повторами. Малый остаток подгонки или коэффициент корреляции, близкий к 1, сам по себе не доказывает правильности модели. В разобранном Jones случае добавление свободной константы в подгонку улучшило её прецизионность, но не показало улучшения правильности.
Смещение модели (model bias) : систематическая погрешность самого прямого расчёта — отсутствие корреляции с позициями у неканалированного слагаемого, приближение локального форм-фактора, неучтённые распределение по толщине и изгиб (всё это ниже). Такая «недостающая физика» не уменьшается ни от большего числа отсчётов, ни от увеличения числа точек скана. (Расширение базиса — другое дело: оно снижает численную погрешность обрезания, которую отдельно выводит диагностика базиса.)
Независимые проверки : согласие с чем-то, что не разделяет тех же допущений, — и здесь два уровня. Сравнение с независимо сформулированной реализацией (код против кода) проверяет формулировку и программирование; именно это и сделано здесь, для одной системы. Сравнение с экспериментом, которое и проверяет физику на соответствие реальности, не проводилось.
Количественно проверенная область¶
β-AlCo [001] при 250 кэВ, каналы Al-K / Co-K / Co-L — и ничего больше. Сравнение с расчётом методом многослойного приближения с замороженными фононами (py_multislice), динамическая формулировка которого полностью независима:
- Позиция Al (лёгкая колонка) : СКО остатка относительно модуляции ICP ≤3,2 % при всех толщинах, ≤0,6 % при \(t \ge 10\) нм
- Позиция Co (тяжёлая колонка) : ≤3 % при \(t \le 4\) нм, но 6–17 % при \(t \gtrsim 10\) нм
Любая другая система, элемент, оболочка или напряжение «поддаются расчёту», но не «проверены количественно».
Сравнение с экспериментальными данными не проводилось. Приведённое выше сравнение — это сопоставление двух программ в диапазоне \(t\) = 2–30 нм. Величина 10–19 пунктов, указанная в следующем разделе, — это диагностический показатель для выявления причины расхождения: это не поправка, применяемая симулятором, и достигнутое после её применения согласие не заявляется как верификация.
Известная систематическая погрешность — у неканалированного слагаемого нет корреляции с позициями¶
Неканалированное слагаемое v1 — константа, не зависящая от ориентации, поэтому его единственное действие на ICP — притягивать его к 1. В действительности часть термически рассеянных электронов вновь каналируется в колонки и, будучи сильными рассеивателями, возвращается преимущественно в тяжёлые колонки. В приведённом сравнении эффективная величина этого вклада была занижена на 10–19 пунктов для тяжёлых колонок.
→ Для лёгких или слабо рассеивающих позиций, а также при \(t \lesssim 5\) нм согласие с независимой реализацией составляет 1–3 %. Для тяжёлых колонок при \(t \gtrsim 10\) нм имеется систематическая погрешность 6–17 % от модуляции ICP. Модель повторного вброса с корреляцией по позициям отложена до v1.1 или позже.
Не входит в прямую модель¶
Одной свёртки с угловым размытием недостаточно, чтобы воспроизвести эксперимент. Ничего из перечисленного не учитывается.
- Распределение толщины и изгиб образца
- Самопоглощение рентгеновского излучения
- Эффективность и телесный угол детектора
- Фон (тормозное излучение, наложение линий)
Угловое размытие падающего пучка (полуугол сходимости, дрейф) моделируется — см. Угловое размытие в блоке Расчёт — но свёртка с ним не заменяет ни один из перечисленных выше пунктов.
Низкоэнергетические линии — где локальное приближение слабее всего¶
Матрица ионизации v1 — функция единственного вектора \(G = \mathbf{g}_h - \mathbf{g}_g\) (приближение локального форм-фактора). ICSC указывает, что это разумно для сильно связанных внутренних оболочек, характеристическое излучение которых лежит выше примерно 3–4 кэВ (Oxley & Allen 2003, с. 941).
⚠ Это эмпирический, зависящий от модели ориентир, а не жёсткая граница, и ReciPro ничего по нему не отклоняет. Линии ниже неё считаются как обычно, и часто именно они и представляют интерес: Al-K — это 1,49 кэВ, Co-L — 0,79 кэВ, и обе входят в набор β-AlCo, использованный для сравнения кодов выше.
Эта величина отмечает, где сведение к одному вектору \(G\) начинает становиться недостаточным. Событие ионизации происходит не на ядре: его вероятность максимальна на конечном расстоянии от ядра, и это расстояние растёт по мере снижения требуемой энергии. Обратите внимание, что приближение сохраняет, а что отбрасывает: \(F_c(|G|/2)\) зависит от импульса, поэтому конечный радиус взаимодействия сохраняется; отбрасывается же раздельная зависимость от двух переданных импульсов, то есть нелокальная структура полной MDFF. По мере роста делокализации начинает сказываться именно эта отброшенная структура.
Одна лишь энергия линии не может гарантировать результат: важны пространственная протяжённость оболочки, ориентация, толщина и те векторы обратной решётки, которые реально требуются базису. Считайте 3–4 кэВ поводом присмотреться внимательнее, а не отметкой о зачёте. Там, где есть выбор, сравнение линий с близкими энергиями делает их делокализационные смещения более сопоставимыми; именно это Jones (2002) рекомендует как первый практический шаг, а вторым — предпочесть систематический ряд оси зоны, и именно эту геометрию считает v1 (ось зоны каналирует сильнее, но требует большей поправки на делокализацию).
⚠ Низкие энергии излучения к тому же сильнее всего страдают от самопоглощения рентгеновского излучения — хотя насколько сильно, зависит от состава образца и его краёв поглощения, длины пути и угла отбора, а не от одной лишь энергии излучения. Это отдельный источник погрешности, вовсе не моделируемый (см. Выходная величина выше), и он искажает сравнение с экспериментом независимо от того, что делает локальное приближение.
Допущения модели¶
- Только трассерное приближение : линейная суперпозиция откликов позиций справедлива только в разбавленном пределе, когда примесь не искажает упругое волновое поле. VCA при конечной концентрации в v1 не рассматривается
- Приближение локального форм-фактора : \(\mu\) — функция только от \(G = \mathbf{g}_h - \mathbf{g}_g\), а не двухимпульсная MDFF (Модель A из OAR 1999). Приближение наиболее слабо для K-оболочек лёгких элементов и низкоэнергетических краёв — см. выше
- Вакансии, а не рентгеновские фотоны : выход флуоресценции и ветвление линий не применяются
- Нижняя граница ускоряющего напряжения — 80 кВ : это наименьшее напряжение, при котором можно гарантировать \(s = 16\ \text{Å}^{-1}\), а не порог отказа
См. также¶
- Симулятор дифракции (обзор)
- Моделирование CBED
- Динамический расчёт (общее ядро)
- Моделирование STEM — STEM-EDX, использующий ту же базу данных ионизации
- Взаимодействие пучка — данные о сечениях и краях поглощения
