Программа для численного моделирования и анализа оптических свойств мультипризматических рентгеновских линз с графическим интерфейсом. Позволяет исследовать влияние геометрических параметров и дефектов на фокусирующие характеристики линз.
- 📊 Визуализация профиля линзы с возможностью поворота
- 🔍 Анализ функции толщины материала (реальной и теоретической)
- 🌊 Моделирование амплитуды и фазы прошедшего излучения
- 📈 Сравнение реальных и теоретических характеристик
- 💾 Сохранение результатов в различных форматах
- Язык программирования: Python 3.12
- Библиотеки:
- NumPy - для научных вычислений
- SciPy - для оптимизации и интерполяции
- Matplotlib - для визуализации данных
- Pandas - для работы с данными
- Среда разработки: Neovim с LSP (pyright для Python)
- Убедитесь, что у вас установлен Python 3.12
- Установите необходимые зависимости:
pip install numpy scipy matplotlib pandas tkinter
- Запустите программу:
python app.py
Программа использует CSV-файл с координатами профиля линзы (по умолчанию line.csv). Формат файла:
x1,y1
x2,y2
...
xn,yn
Основные параметры задаются в программе пользователем:
- Энергия фотонов (кэВ)
- Фокусное расстояние (мм)
- Угол рассеяния (градусы)
- Длина образца (мм)
- Параметры материала (плотность, атомный номер, атомная масса)
Программа генерирует:
- Графики профилей линзы (теоретического и реального)
- Графики амплитуды и фазы волнового фронта
- Сравнительные графики интенсивности излучения
- Таблицу с расчетными параметрами линзы
Первоначальная форма в программе для ввода параметров МПЛ

Форма загрузки данных профилометрии через CSV-файл

Форма расчетных параметров МПЛ

Форма для исследования интенсивности излучения после прохождения МПЛ

Форма для исследования функции толщины МПЛ

Программа организована по модульному принципу:
- Блок физических расчетов (распространение волн, фазовые преобразования)
- Блок обработки данных (загрузка и подготовка профиля линзы)
- Блок визуализации (построение графиков и диаграмм)
- Вычислительное ядро (реализация математических моделей)
