Моделирование фотонных кристаллов в программной среде MEEP. Знакомство со средой программирования

Курсовой проект - Компьютеры, программирование

Другие курсовые по предмету Компьютеры, программирование

м шаге на любом промежутке времени. Существует несколько способов их задания. Одним из них являются условия PML. Именно этим способом я пользовался при написании программ.

PML (Perfect Matched Layer) - идеально согласованный слой. Основным достоинством PML является наличие маленького коэффициента отражения, который практически не зависит от угла падения луча. Расчетная область окружается слоем заданной толщины. Все лучи, попавшие в него, со временем поглощаются. Идеальным считается задавать толщину PML-слоя порядка 10% от размера расчетной области.

При этом уравнения Максвелла заменяются следующими 12-ю уравнениями:

 

(11)

 

В этих условиях параметр ? является коэффициентом затухания и показывает степень затухания волны при ее проникновении внутрь PML-слоя. Если толщины PML слоя будет недостаточно, то произойдет отражение волны от границы PML и волна пойдет назад. Двигаясь в обратном направлении она также будет затухать, но если толщины слоя будет недостаточно, то отраженная волна может попасть в расчетную область. Чтобы этого избежать, коэффициент ? обычно делают постоянно возрастающим. Зависимость бывает логарифмической, параболической, степенной и т.д.

(12)

 

3. Описание программных продуктов

 

.1 Установка дополнений для гостевой операционной системы

 

Первой с чего мы должны начать после установки системы на виртуальную машину - это с установки дополнений для гостевой операционной системы. Эти дополнения нужны для более удобной работы программиста на виртуальной машине(ВМ). Особенно важные операции это использование общего буфера как для хоста, так и для гостевой операционной системы(ОС). Еще одной важной функцией дополнений гостевой ОС является: более оптимальные настройки ВМ под ресурсы компьютера. С ними гостевая ОС будет работать быстрее, что очень важно при моделировании прохождения световых волн через фотонные кристаллы. Сам процесс моделирования занимает много времени(порядка 30 секунд при моделировании простейших структур кристаллов и нескольких минут при 3D-моделировании). Размер, создаваемых временных файлов в процессе компиляции может достигать нескольких сотен мегабайт.

Опишем процесс подготовки виртуальной машины. В первую очередь монтируем файл VBoxGuestAdditions.iso через меню УстановкаДобавить виртуальный образ. Затем, находясь в смонтированной папке вбиваем команду sudo sh ./VBoxLinuxAdditions-x86.run. И после установки всех драйверов - перезагружаем гостевую операционную систему. Если перед установкой была обнаружена старая версия Дополнений гостевой операционной системы, то вначале будет выполнено удаление старой версии. Система перезагрузится, но без установки новой версии. После того как будет удалена старая версия процесс установки необходимо повторить.

В случае установки на мою ОС возникли проблемы. Программа установки не смогла определить версию X11. По указанным путям в скрипте необходимых папок не оказалось, а структура самих папок, которые были найдены в других директориях, отличались от предложенных. Эту проблему удалось решить путем обновления самого Virtual Box. При обновлении был также закачен новый образ гостевой ОС. После полного обновления VirtualBox и дополнений гостевой операционной системы, все настройки были спешно закончены.

 

.2 Папки с общим доступом на локальном компьютере

 

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

Из гостевой ОС наш хост будет рассматриваться как удаленный компьютер. Обращение к хосту из гостевой ОС осуществляется по протоколу smb. Обращение к хосту идет не по сетевому имени, а по ip адресу. IP адрес хоста можно узнать с помощью команды ipconfig. Введя в адресную строку:

smb://

можно увидеть все доступные для общего доступа папки

Настройка VirtualBox и дополнений к ней закончена. Теперь можно приступить к установке программ.

 

.3. Установка программы

 

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

Второй способ гораздо проще и не требует абсолютно ни каких затрат сил и времени. Так уж случилось, что программы Meep и MPB уже входят в пакет обновлений для Linux версии Ubuntu 10.0 и выше.

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

Восполь