Мегаобучалка Главная | О нас | Обратная связь  


Глава 1 Обзор литературы по используемым ИТ




Поможем в ✍️ написании учебной работы
Поможем с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой

Магистрант

Кафедры общей физики

Соколов Евгений Сергеевич

Руководители:

Доцент кафедры общей физики

Канд. физ.-мат. наук

Буров Леонид Иванович,

Старший преподаватель

Кожич Павел Павлович

Минск – 2010 г.

Оглавление

 

Оглавление. 2

Список обозначений. 3

Реферат на тему «Использование ИТ в моделировании процессов генерации излучения в полупроводниковых лазерах». 4

Введение. 4

Глава 1 Обзор литературы по используемым ИТ. 5

1.1 Язык программирования С++. 5

1.2 Среда программирования Visual Studio 2010. 8

1.3 Пакет программ Origin. 9

1.4 Пакет программ LaTeX.. 11

Глава 2 Теоретическая модель и методы моделирования. 13

2.1 Теоретическая модель. 13

2.2 Методы моделирования. 15

Глава 3 Результаты моделирования. 17

3.1 Выходные характеристики излучения в области переключения поляризации. 17

3.2 Влияние внешней оптической инжекции. 21

Заключение. 23

Список литературы к реферату. 23

Предметный указатель к реферату. 24

Интернет ресурсы в предметной области исследования. 25

Действующий личный сайт в WWW... 26

Граф научных интересов. 27

Тестовые вопросы по Основам информационных технологий. 28



Презентация магистерской диссертации. 29

Список литературы к выпускной работе. 30

Приложение. 31

 

Список обозначений

ИТ – информационные технологии

МПК – метод поляризационных компонент

ПО – программное обеспечение

ПП – переключение поляризации

VCSEL  –поверхностно-излучающий лазерный диод

Реферат на тему «Использование ИТ в моделировании процессов генерации излучения в полупроводниковых лазерах »

Введение

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

Использование методов моделирования обусловлено общей тенденцией расширения и углубления исследования процессов в реальном физическом мире; длительностью ряда процессов (например, экологических); практической невозможностью получать необходимую информацию путем исследования объекта-оригинала (объекты микро- и макрокосмоса); неполнотой данных о реальном объекте; сложностью протекания реальных процессов и высокой стоимостью исследований объекта-оригинала, когда с экономических позиций наиболее приемлемо перенести их на объект-модель [1]. Сейчас трудно назвать отрасль знаний, указать сферы человеческой деятельности, где бы ни применялись или куда бы ни внедрялись методы моделирования. Компьютерное моделирование охватывает сферу социально-экономических, международных отношений, сложные экономические, экологические и технологические системы. Этот метод исследования твердо вошел в использование, поскольку является одним из кардинальных путей сокращения затрат на разработку и улучшения качества создаваемых приборов, материалов, агрегатов и т.д. Средством повышения эффективности математического моделирования является универсализация математических моделей, алгоритмов и программ. Такой подход дает возможность оперативно, с минимальными затратами создавать модели различных процессов выбранной предметной области.

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

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

В настоящей работе будет отражено использование ИТ в процессе моделирования процессов генерации излучения в полупроводниковых лазерах, в частности, перспективных поверхностно-излучающих лазеров (VCSEL). Эффект переключения поляризации (ПП) в полупроводниковых лазерах известен достаточно давно и активно изучается на протяжении почти 30 лет. Такой интерес связан с распространенностью эффекта и разнообразием его проявлений в различных лазерных системах. Во многих случаях эффект ПП имеет бистабильный характер, поэтому он нашел широкое применение в разработке разнообразных устройств для систем оптоэлектроники. Также управляемый эффект ПП (в том числе поляризационный гистерезис) позволяет создавать переключатели, элементы логических систем и т.д. [2].

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

Глава 1 Обзор литературы по используемым ИТ

1.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]:

§ Поддерживаются различные стили и технологии программирования, включая традиционное директивное программирование, ООП, обобщённое программирование, метапрограммирование (шаблоны, макросы).

§ Предсказуемое выполнение программ является важным достоинством для построения систем реального времени. Весь код, неявно генерируемый компилятором для реализации языковых возможностей (например, при преобразовании переменной к другому типу), определён в стандарте. Также строго определены места программы, в которых этот код выполняется. Это даёт возможность замерять или рассчитывать время реакции программы на внешнее событие.

§ Автоматический вызов деструкторов объектов при их уничтожении, причём в порядке, обратном вызову конструкторов. Это упрощает (достаточно объявить переменную) и делает более надёжным освобождение ресурсов (память, файлы, семафоры и т. п.), а также позволяет гарантированно выполнять переходы состояний программы, не обязательно связанные с освобождением ресурсов (например, запись в журнал).

§ Пользовательские функции-операторы позволяют кратко и ёмко записывать выражения над пользовательскими типами в естественной алгебраической форме.

§ Язык поддерживает понятия физической (const) и логической (mutable) константности. Это делает программу надёжнее, так как позволяет компилятору, например, диагностировать ошибочные попытки изменения значения переменной. Объявление константности даёт программисту, читающему текст программы дополнительное представление о правильном использовании классов и функций, а также может являться подсказкой для оптимизации. Перегрузка функций-членов по признаку константности позволяет определять изнутри объекта цели вызова метода (константный для чтения, неконстантный для изменения). Объявление mutable позволяет сохранять логическую константность при использовании кэшей и ленивых вычислений.

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

§ Возможность имитации расширения языка для поддержки парадигм, которые не поддерживаются компиляторами напрямую. Например, библиотека Boost.Bind позволяет связывать аргументы функций.

§ Возможность создания встроенных предметно-ориентированных языков программирования. Такой подход использует, например библиотека Boost.Spirit, позволяющая задавать EBNF-грамматику парсеров прямо в коде C++.

§ Используя шаблоны и множественное наследование можно имитировать классы-примеси и комбинаторную параметризацию библиотек. Такой подход применён в библиотеке Loki, класс SmartPtr которой позволяет, управляя всего несколькими параметрами времени компиляции, сгенерировать около 300 видов «умных указателей» для управления ресурсами.

§ Кроссплатформенность: стандарт языка накладывает минимальные требования на ЭВМ для запуска скомпилированных программ. Для определения реальных свойств системы выполнения в стандартной библиотеке присутствуют соответствующие возможности (например, std::numeric_limits <T>). Доступны компиляторы для большого количества платформ, на языке C++ разрабатывают программы для самых различных платформ и систем.

§ Эффективность. Язык спроектирован так, чтобы дать программисту максимальный контроль над всеми аспектами структуры и порядка исполнения программы. Ни одна из языковых возможностей, приводящая к дополнительным накладным расходам, не является обязательной для использования — при необходимости язык позволяет обеспечить максимальную эффективность программы.

§ Имеется возможность работы на низком уровне с памятью, адресами.

Высокая совместимость с языком C, позволяющая использовать весь существующий C-код (код на C может быть с минимальными переделками скомпилирован компилятором C++; библиотеки, написанные на C, обычно могут быть вызваны из C++ непосредственно без каких-либо дополнительных затрат, в том числе и на уровне функций обратного вызова, позволяя библиотекам, написанным на C, вызывать код, написанный на С++).




Читайте также:



©2015-2020 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (125)

Почему 1285321 студент выбрали МегаОбучалку...

Система поиска информации

Мобильная версия сайта

Удобная навигация

Нет шокирующей рекламы



(0.017 сек.)
Поможем в написании
> Курсовые, контрольные, дипломные и другие работы со скидкой до 25%
3 569 лучших специалисов, готовы оказать помощь 24/7