Глава 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-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (199)
|
Почему 1285321 студент выбрали МегаОбучалку... Система поиска информации Мобильная версия сайта Удобная навигация Нет шокирующей рекламы |