БЕЛОРУССКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ
Выпускная работа по
«Основам информационных технологий»
3ФР92
Магистрант
кафедры общей физики
Соколов Евгений Сергеевич
Руководители:
доцент кафедры общей физики
канд. физ.-мат. наук
Буров Леонид Иванович,
старший преподаватель
Кожич Павел Павлович
Минск – 2010 г.
Глава 1 Обзор литературы по используемым ИТ. 5
1.1 Язык программирования С++. 5
1.2 Среда программирования Visual Studio 2010. 8
Глава 2 Теоретическая модель и методы моделирования. 13
Глава 3 Результаты моделирования. 17
3.1 Выходные характеристики излучения в области переключения поляризации. 17
3.2 Влияние внешней оптической инжекции. 21
Список литературы к реферату. 23
Предметный указатель к реферату. 24
Интернет ресурсы в предметной области исследования. 25
Действующий личный сайт в WWW... 26
Тестовые вопросы по Основам информационных технологий. 28
Презентация магистерской диссертации. 29
Список литературы к выпускной работе. 30
ИТ – информационные технологии
МПК – метод поляризационных компонент
ПО – программное обеспечение
ПП – переключение поляризации
VCSEL –поверхностно-излучающий лазерный диод
Современные физические исследования невозможно представить без интенсивного использования компьютерных технологий, которые охватывают большую часть процесса работы: от управления экспериментом и процесса обработки результатов до компьютерного моделирования. Последнее является отнсительно новым методом исследования, что в свое время породило недоверие к компьютерному моделированию и многочисленные дискуссии о его обоснованности.
Использование методов моделирования обусловлено общей тенденцией расширения и углубления исследования процессов в реальном физическом мире; длительностью ряда процессов (например, экологических); практической невозможностью получать необходимую информацию путем исследования объекта-оригинала (объекты микро- и макрокосмоса); неполнотой данных о реальном объекте; сложностью протекания реальных процессов и высокой стоимостью исследований объекта-оригинала, когда с экономических позиций наиболее приемлемо перенести их на объект-модель [1]. Сейчас трудно назвать отрасль знаний, указать сферы человеческой деятельности, где бы ни применялись или куда бы ни внедрялись методы моделирования. Компьютерное моделирование охватывает сферу социально-экономических, международных отношений, сложные экономические, экологические и технологические системы. Этот метод исследования твердо вошел в использование, поскольку является одним из кардинальных путей сокращения затрат на разработку и улучшения качества создаваемых приборов, материалов, агрегатов и т.д. Средством повышения эффективности математического моделирования является универсализация математических моделей, алгоритмов и программ. Такой подход дает возможность оперативно, с минимальными затратами создавать модели различных процессов выбранной предметной области.
Разумеется, работа с моделями не может привести к открытию совершенно нового явления, скажем, элементарной частицы с неожиданными свойствами. Однако именно компьютерное моделирование привело, например, к возникновению нового взгляда на интересное и сложное явление – турбулентность. Кроме того, в работах, приводящих к открытию новых элементарных частиц и исследованию их свойств, моделирование не только используется на этапе проектирования экспериментальных установок, но и является непременной составной частью обработки экспериментальных данных.
Сфера использования ИТ при обработки данных, возможно, является наиболее широкой, поскольку обеспечивает пользователей мощными и достаточно простыми инструментами обработки и визуализации результатов. Специальное ПО выполняет математические расчеты с использованием теории вероятности, теории ошибок, математической статистики, векторного и растрового анализа изображений.
В настоящей работе будет отражено использование ИТ в процессе моделирования процессов генерации излучения в полупроводниковых лазерах, в частности, перспективных поверхностно-излучающих лазеров (VCSEL). Эффект переключения поляризации (ПП) в полупроводниковых лазерах известен достаточно давно и активно изучается на протяжении почти 30 лет. Такой интерес связан с распространенностью эффекта и разнообразием его проявлений в различных лазерных системах. Во многих случаях эффект ПП имеет бистабильный характер, поэтому он нашел широкое применение в разработке разнообразных устройств для систем оптоэлектроники. Также управляемый эффект ПП (в том числе поляризационный гистерезис) позволяет создавать переключатели, элементы логических систем и т.д. [2].
Таким образом, актуальность проблемы с одной стороны и дороговизна производства подобных лазеров с другой стороны приводят к необходимости численного моделирования процессов генерации излучения в VCSEL.
Глава 1 Обзор литературы по используемым ИТ
Для создания численной модели генерации лазерного излучения был использован язык программирования С++. Это компилируемый статически типизированный язык программирования общего назначения. Поддерживая разные парадигмы программирования, сочетает свойства как высокоуровневых, так и низкоуровневых языков. В сравнении с его предшественником — языком C, — наибольшее внимание уделено поддержке объектно-ориентированного и обобщённого программирования. Название «C++» происходит от языка C, в котором унарный оператор ++ обозначает инкремент переменной.
Являясь одним из самых популярных языков программирования, C++ широко используется для разработки программного обеспечения. Область его применения включает создание операционных систем, разнообразных прикладных программ, драйверов устройств, приложений для встраиваемых систем, высокопроизводительных серверов, а также развлекательных приложений (например, видеоигры). Существует довольно много компиляторов к C++, как бесплатных, так и коммерческих. Их производят GNU Project, Microsoft, Intel и Embarcadero (Borland). C++ оказал огромное влияние на другие языки программирования, в первую очередь на Java. C# же попросту является производным от С++.
При создании C++ стремились сохранить совместимость с языком C. Большинство программ на C будут благополучно компилироваться и компилятором C++, в том числе потому, что C++ имеет синтаксис, основанный на синтаксисе C. [3].
Нововведениями C++ в сравнении с C являются:
- поддержка объектно-ориентированного программирования;
- поддержка обобщённого программирования через шаблоны;
- дополнительные типы данных;
- исключения;
- пространства имён;
- встраиваемые функции;
- перегрузка операторов;
- перегрузка имён функций;
- ссылки и операторы управления свободно распределяемой памятью;
- дополнения к стандартной библиотеке.
Язык C++ во многом является надмножеством C. Новые возможности C++ включают объявления в виде выражений, преобразования типов в виде функций, операторы new и delete, тип bool, ссылки, расширенное понятие константности, подставляемые функции, аргументы по умолчанию, переопределения, пространства имён, классы (включая и все связанные с классами возможности, такие как наследование, функции-члены, виртуальные функции, абстрактные классы и конструкторы), переопределения операторов, шаблоны, оператор ::, обработку исключений, динамическую идентификацию и многое другое. Язык C++ также во многих случаях строже относится к проверке типов, чем C.
В C++ появились комментарии в виде двойной косой черты (//), которые были в предшественнике C — языке BCPL.
C++ – чрезвычайно мощный язык, содержащий средства создания эффективных программ практически любого назначения, от низкоуровневых утилит и драйверов до сложных программных комплексов самого различного назначения. В частности [4]:
- Поддерживаются различные стили и технологии программирования, включая традиционное директивное программирование, ООП, обобщённое программирование, метапрограммирование (шаблоны, макросы).