English
!

Архив публикаций

Тезисы

XIII-ая конференция

Математическое моделирование результатов магнитооптического эксперимента

Каверин А.О., Кузнецова Д.Н.

Елецкий государственный университет им. И.А. Бунина Физико-математический факультет, каф. Физики, Россия, 399770, г.Елец, ул. Спутников, д. 10, кв. 48 E-Mail: aleks-kaverin@yandex.ru

1  стр.

В результате магнитооптического эксперимента имеются большие массивы данных, которые представляют собой зависимость, как правило, спектр, изобилующий особенностями часто резонансного характера. Для того, чтобы выводы делались по всему массиву данных, анализ результатов проводился методом моделирования экспериментальных спектров. При этом количество экспериментальных точек, учитываемых в анализе данных, возросло на два порядка. Для обеспечения изменяемости алгоритма использовалась блочная структура программного комплекса. Такое построение показало свою эффективность в процессе создания, корректировки и апробации пакета программ, однако резко снизило скорость выполнения этого расчёта. Поэтому следующим этапом стало объединение нескольких десятков программ, написанных в языке Фортран и Бейсик, в единую программу, написанную на языке С++.

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

Для работы с комплексными числами использовался стандартный шаблонный класс complex, предоставляющий возможность работать в С++ с комплексными числами как с действительными. Это позволило сделать исходный код более компактным.

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

Класс CFermi предназначен для кэширования значений уровня Ферми в зависимости от индукции магнитного поля.

Для ввода исходных данных и вывода результатов использовались потоковые классы, что упростило ввод данных из специальным образом форматированных текстовых файлов и форматированный вывод результатов в файл.

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

© 2004 Дизайн Лицея Информационных технологий №1533