Skip to content

Latest commit

 

History

History
248 lines (182 loc) · 30.8 KB

File metadata and controls

248 lines (182 loc) · 30.8 KB

ReciPro

Documentation Latest Release Total downloads GitHub Stars GitHub Forks License: MIT

English | 日本語 | Deutsch | Français | Español | Italiano | Русский | 简体中文 | 繁體中文 | 한국어 | Português

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

ReciPro непрерывно разрабатывается с 2002 года и доступна на GitHub с марта 2020 года. Программа была загружена с GitHub более 27 000 раз и используется сотнями пользователей более чем в десятке лабораторий университетов и компаний.

Как пользоваться программой, см. в руководстве!

Recipro_Demo.mp4

Авторы

ReciPro разрабатывается Seto Y. и Ohtsuka M.. Функции и алгоритмы описаны в статье.

Цитирование

Если вы используете ReciPro в научной работе, воспользуйтесь ссылкой Cite this repository на странице репозитория GitHub. Метаданные для цитирования содержатся в файле CITATION.cff; предпочтительной является следующая статья:

При необходимости можно также сослаться на сам репозиторий программы:


Установка

  • Загрузите ReciPro-setup.msi (прямая ссылка на последнюю версию) и запустите файл. Его также можно найти на странице выпусков. (До версии 4.939 установщик назывался ReciProSetup.msi.)
  • ReciPro работает в Windows при наличии .Net Desktop Runtime 10.0 (НЕ .Net Runtime 10.0), который можно установить отсюда.
  • Если запустить установщик невозможно (например, на компьютерах с ограниченными правами), на странице выпусков доступен портативный ZIP-пакет (ReciPro-v.X.XXX.zip): он самодостаточен, не требует установки и среды выполнения .NET — достаточно распаковать и запустить.
  • ReciPro распространяется по лицензии MIT (любой может свободно использовать, изменять и распространять программу).
  • О состоянии подписи кода и проверке установщика см. политику подписи кода.
  • Сведения о включённых или используемых сторонних компонентах и данных приведены в уведомлениях о стороннем ПО.

macOS (неофициально)

  • Официально ReciPro поддерживает только Windows, однако сообщалось о её работе на macOS (Apple Silicon) при сочетании портативного ZIP-пакета с оболочкой Wine Sikarugir и драйвером OpenGL Mesa3D — без лицензии Windows и виртуальной машины.
  • См. пошаговое руководство, опубликованное Ryo Fukushima (JAMSTEC): https://github.com/Ryo-fkushima/ReciPro_macOS_memo
  • Такая конфигурация официально не поддерживается и полностью не проверена. Известное ограничение: некоторые символы (Å, надстрочные знаки, стрелки) могут отображаться неправильно.
  • Искажённые символы можно исправить, установив в префикс Wine шрифты с широким набором глифов (DejaVu Sans/Serif, а для японского интерфейса — Noto Sans CJK JP): ReciPro определяет среду Wine и автоматически переключается на них. Подробности см. в разделе устранение неполадок.

О предупреждениях безопасности Windows

  • Загружайте ReciPro только с официальной страницы GitHub Releases: https://github.com/seto77/ReciPro/releases/latest
  • В некоторых системах Windows перед запуском установщика может появиться предупреждение Microsoft Defender SmartScreen или Smart App Control. Это возможно для недавно собранного или узко распространяемого научного ПО, и само по себе предупреждение не означает, что установщик вредоносный.
  • Если вы хотите самостоятельно проверить загруженный установщик, его можно просканировать мультидвижковым сервисом, например VirusTotal.

Политика подписи кода

SignPath Бесплатная подпись кода для Windows предоставлена SignPath.io, сертификат — SignPath Foundation.

Начиная с версии 4.942 артефакты выпуска (установщик ReciPro-setup.msi и портативный ReciPro.exe) подписываются с помощью Windows Authenticode в рамках автоматизированного конвейера выпуска, а каждый запрос на подпись перед публикацией проверяется и вручную утверждается сопровождающим. Полная политика — включая область подписи, способ проверки установщика и порядок сообщения о подозрительных файлах — приведена в CODE_SIGNING.md.

Конфиденциальность

ReciPro — локальное настольное приложение. Оно не собирает, не хранит и не передаёт никаких персональных данных или сведений об использовании и не содержит телеметрии или аналитики. После установки программа работает полностью автономно.

Единственные сетевые соединения ReciPro — это необязательные загрузки, инициируемые пользователем, и ни одна из них не передаёт ваши данные:

  • Проверка обновлений (команда меню): сравнивает установленную версию с последним выпуском на GitHub и, по вашему выбору, загружает новый установщик с официальной страницы GitHub Releases.
  • База данных COD (Crystallography Open Database): загружается при первом использовании (~880 МБ) с GitHub-зеркала автора, далее используется автономно.
  • Библиотека Intel MKL (необязательное ускорение): загружается (~55 МБ) с nuget.org только при включении параметра Use MKL — для ускорения расчётов динамической дифракции.

Встроенная база данных AMCSD и все основные функции работают полностью автономно.

Руководство


Основные возможности

Кристаллографическая база данных

  • AMCSD (American Mineralogist Crystal Structure Database): более 21 000 кристаллических структур встроены и доступны сразу после установки.
    • База данных сильно сжата (~5 МБ) и включена в установочный файл, поэтому доступна и без подключения к сети.
    • Кристаллы можно искать по названию, химическому составу, параметрам решётки, плотности, симметрии и входящим элементам.
    • Ссылка: Downs & Hall-Wallace, 2003, American Mineralogist 88, 247-250
  • COD (Crystallography Open Database): также доступно около 525 000 кристаллических структур, включая органические кристаллы.
  • Импорт и экспорт файлов в форматах CIF и AMC.

Кристаллографические расчёты

  • Поддерживается 530 обозначений пространственных групп: 230 стандартных установок ITA + 300 нестандартных установок осей.
    • Общие условия (правила погасания), позиции Вайкоффа и кратности для всех пространственных групп.
    • Геометрический расчёт периодичности и/или углов между плоскостями и/или осями.
    • Генерация эквивалентных положений атомов.
    • Простое преобразование между нестандартными установками осей (например, Pbnm в Pnma) и сдвигами начала координат.

Свойства атомов

  • Длины волн и энергии характеристического рентгеновского излучения для элементов от 1H до 98Cf.
  • Атомные факторы рассеяния для рентгеновского излучения, электронов и нейтронов.

Просмотр структуры

  • Трёхмерная визуализация кристаллических структур на основе архитектуры OpenGL (GLSL).
    • Отрисовка атомов, связей, координационных полиэдров, элементарных ячеек, кристаллографических плоскостей, граничных поверхностей и подписей легенды.
    • Даже сложные структуры с десятками тысяч атомов отрисовываются плавно и в реальном времени.
    • Цвета и размеры атомов по умолчанию совместимы с VESTA.
    • Область отрисовки задаётся кратностью элементарной ячейки либо индексами кристаллической плоскости и расстоянием от центра.
    • Произвольный габитус кристалла можно передать раскраской граничных плоскостей.
    • Можно отобразить любые кристаллографические плоскости, что помогает начинающим понять их роль в дифракционных явлениях.
    • Вращение, перемещение и масштабирование свободно управляются мышью.
    • По щелчку на атоме отображаются расстояния и валентные углы до соседних атомов.
    • Состояние вращения немедленно отражается в других функциональных окнах (стереографическая проекция, симулятор дифракции и т. д.).
    • Встроенный видеокодировщик (Windows Media Foundation) позволяет создавать видеоролики с анимацией вращения (H.264/H.265 MP4) для докладов.

Стереографическая проекция

  • Отображает кристаллографические плоскости и оси на стереографической проекции.
    • Поддерживаются как равноугольная (сетка Вульфа), так и равноплощадная (сетка Шмидта) проекции с линиями широты и долготы.
    • Индексы можно задать числовым диапазоном или конкретными значениями.
    • Большие круги отображаются заданием осей зоны.
    • Построенные объекты можно сохранить или скопировать в векторном формате и позднее редактировать без потери разрешения.
    • Трёхмерная визуализация геометрии стереографической проекции в учебных целях.

Симулятор дифракции

  • Моделирует дифракционные картины монокристалла для рентгеновского излучения, электронов и нейтронов.

    • Кинетическую энергию падающего пучка можно задавать произвольно.
    • Встроены энергии характеристического рентгеновского излучения от 1H до 98Cf.
    • Область построения задаётся разрешением изображения (размером пикселя) и длиной камеры.
    • Поддерживается геометрия с наклонным детектором.
    • Поддерживается наложение экспериментально полученных изображений.
    • Вращение кристалла (условие дифракции) можно задавать, и оно немедленно синхронизируется с другими окнами.
  • Поликристаллическая дифракция: моделирование дебаевских колец в предположении поликристаллического образца.

  • Прецессионная камера (рентген): моделирование картин прецессионной камеры для нулевой зоны Лауэ.

  • Камера обратного отражения Лауэ (рентген): моделирование лауэграмм на отражение.

Кинематическая теория дифракции

  • Доступна для всех источников (рентген, электроны, нейтроны).
  • Интенсивности дифракции оцениваются по квадрату модуля структурного фактора кристалла и ошибке возбуждения.
  • Учитывается влияние фактора Дебая — Валлера на интенсивности дифракции.

Динамическая теория дифракции (электроны)

  • Основана на методе блоховских волн (Bethe, 1928), который допускает произвольную ориентацию кристалла без ограничения низкоиндексными осями зоны.

  • Доступны два подхода к расчёту:

    • Метод собственных значений Бете: диагонализация матрицы для получения собственных значений и векторов блоховских состояний. Подходит при изменении толщины образца.
    • Метод матрицы рассеяния: прямое вычисление матричной экспоненты методом масштабирования и возведения в квадрат с аппроксимацией Паде. Подходит для быстрых расчётов при одной толщине.
  • Наиболее быстрый алгоритм и оптимальная математическая библиотека (Eigen, Intel MKL или Math.NET) выбираются автоматически.

  • Поглощающий потенциал теплового диффузного рассеяния (TDS) вычисляется аналитически ради высокой производительности.

  • SAED (дифракция электронов с выделенной области): моделирование дифракции электронов в параллельном пучке с учётом эффектов динамического рассеяния.

  • PED (прецессионная электронная дифракция): моделирует картины PED по заданным углу прецессии и азимутальному угловому разрешению. Полезно для анализа кристаллической структуры и оптимизации квазикинематических условий PED.

  • CBED (дифракция сходящегося электронного пучка): моделирует картины CBED при задаваемых пользователем полуугле сходимости и числе разбиений. Поддерживается расчёт по толщине для её определения.

    • Картины CBED, усреднённые по положению (PACBED).
    • Моделирование широкоугловой CBED (LA-CBED).

Симулятор ВРЭМ (HRTEM)

  • Моделирование изображений просвечивающей электронной микроскопии высокого разрешения в рамках той же теории блоховских волн.
  • Оптические параметры (ускоряющее напряжение, коэффициент сферической аберрации, дефокусировка, толщина образца и др.) задаются через графический интерфейс.
  • Встроены типовые наборы оптических параметров ПЭМ, вызываемые щелчком правой кнопкой мыши.
  • Две модели формирования изображения для частичной когерентности:
    • Линейная теория передачи контраста: меньшие вычислительные затраты; подходит для тонких образцов, удовлетворяющих приближению слабого фазового объекта.
    • Нелинейная теория передачи контраста (модель TCC): основана на перекрёстном коэффициенте пропускания первого порядка (Ishizuka, 1980); надёжна и для более толстых образцов и материалов с большим Z.
  • Возможно построение функции передачи контраста с огибающими функциями.
  • Серии изображений по толщине и дефокусировке могут рассчитываться одновременно.
  • При стандартных условиях расчёт обычно завершается менее чем за секунду.

Симулятор СПЭМ (STEM)

  • Моделирование изображений сканирующей просвечивающей электронной микроскопии.
    • Режимы светлого поля (BF), кольцевого тёмного поля (ADF) и кольцевого тёмного поля больших углов (HAADF).
    • Сходящийся пучок рассматривается как суперпозиция множества плоских волн с точным расчётом перекрытий.
    • Неупруго рассеянные электроны рассчитываются по модели поглощающего потенциала.
    • Возможно создание серий изображений по толщине и дефокусировке.

Spot ID

  • Полуавтоматическое индицирование дифракционных рефлексов на экспериментальных картинах SAED.
  • Spot ID v1: поиск осей зоны по геометрической конфигурации (расстояниям и углам) дифракционных рефлексов. Поддерживает одновременный анализ 2–3 изображений.
  • Spot ID v2: прямая загрузка изображений картин SAED.
    • Поддерживаются стандартные форматы изображений: TIFF (.tif), Digital Micrograph 3/4 (.dm3, .dm4) и другие.
    • Автоматическое обнаружение рефлексов и их аппроксимация двумерными функциями псевдо-Фойгта.
    • Полный перебор ориентаций кристалла, согласующихся с расположением векторов обратной решётки.
    • Точное определение даже высокоиндексных осей зоны.

Геометрия вращения (гониометр)

  • Связывает углы Эйлера в ReciPro с гониометром в лаборатории.
  • Показывает, как нужно повернуть гониометр, чтобы получить требуемую ориентацию кристалла (например, низкоиндексную ось зоны).
  • Поддерживает произвольные определения гониометра.

Макросы

  • Макросы с синтаксисом Python для автоматизации задач.
    • Пример: вращать кристалл с шагом 1° и на каждом шаге сохранять дифракционные картины или изображения STEM.
    • Специфические функции ReciPro доступны в пространстве имён «ReciPro».
    • Примеры использования приведены в руководстве.

Прочие возможности

  • Симулятор пробега электронов: моделирование пробега электронов в веществе методом Монте-Карло.
  • EBSD (дифракция обратно рассеянных электронов): в разработке.

Технические подробности

  • Написано на C++, C# и OpenGL Shading Language (GLSL).
  • Многопоточное распараллеливание для высокопроизводительных расчётов на современных многоядерных процессорах.
  • Все функциональные окна обновляются синхронно и в реальном времени при изменении ориентации кристалла.
  • Используется правая декартова система координат (X — вправо, Y — вверх, Z — вперёд) с соглашением об углах Эйлера Z–X–Z.
  • Определения координат совместимы с ПО для EBSD компании Thermo Fisher Scientific.

Научное влияние

Показатель Значение
Всего загрузок с GitHub более 27 000 загрузок
Цитирования в Google Scholar более 170 цитирований
Цитирования в Dimensions более 160 цитирований
Читатели в Mendeley более 90 читателей

Снимки экрана

Главное окно

Кристаллографическая база данных

Сведения о симметрии

Взаимодействие пучка

Просмотр структуры

Стереографическая проекция

Симулятор дифракции

Симулятор HRTEM/STEM

Spot ID v2

Макросы

Симулятор пробега электронов