Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
15
Добавлен:
16.04.2013
Размер:
399.87 Кб
Скачать

Характеристическое уравнение

Рассмотрим матричные уравнения (14), (16), (18)

(19)

Из уравнений (19) получаем матричное уравнение

(20)

Раскрываем это уравнение и получаем систему

(21)

Эта система имеет отличные от нуля решения, если ее определитель равен нулю

(22)

В результате получаем характеристическое уравнение

(23)

Из этого нелинейного уравнения находим корни E – дискретные уровни энергии.

Волновая функция заданного уровня энергии

Решая уравнение (23) находим E – энергию одного из уровней. Затем из формул (1), (2) находим параметры

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

(24)

Учитывая формулы (13) мы получаем амплитуды

Последнюю амплитуду можно найти с помощью формул (19). В результате получим

(25)

Или же BR можно найти из системы (21). Кстати, совпадение или несовпадение результатов вычисления BR по этим двум путям, может служить проверкой правильности вычислений.

После того, как для заданной энергии E вычислены все параметры и амплитуды, по формулам (5), (7), (8), (9) можно построить волновую функцию.

Отметим что найденная волновая функция, вообще говоря, не нормирована на единицу.

Нормирование волновой функции на единицу это отдельная задача.

1. Задание на выполнение лабораторной работы 5. Нахождение дискретных уровней энергии гетероструктуры.

Пусть гетероструктура состоит из трех ям и двух барьеров между ними как показано на рисунке 1.

Рис. 1

Параметры гетероструктур удобно задавать через списки, как показано в коде программы.

Все основные параметры гетероструктуры заносим в список Lst.

Создадим список координат внутренних областей гетероструктуры.

Удобно для наглядности создать функцию рисующую потенциальную энергию гетероструктуры.

На рисунке 1 показан результат работы программы.

Чтобы найти дискретные уровни гетероструктуры, надо создать функцию зависимости определителя (22) от энергии E .

(26)

Для вычисления определителя (22) нужно уметь вычислять матрицу M (14), и два вектора L (16) и R (18). Матрица M является произведением матриц Mn переходов между отдельными областями гетероструктуры. Поэтому нужно уметь вычислять матрицы переходов Mn (13). И, наконец, для вычисления матричных элементов и для нахождения волновых функций надо уметь вычислять базисные функции гетероструктуры (5)-(8).

Ниже приведен код для вычисления этих функций.

Используя рассмотренные формулы написать самим код функции (26).

Ниже приводится часть кода – начало и конец.

Здесь надо обратить внимание на фрагмент m=mm.m; - так с помощью оператора «точка» в пакете Mathematica выполняется умножение векторов и матриц.

Для контроля поиска дискретных уровней, и для наглядности удобно построить график функции Delta(E), чтобы увидеть, где эта функция имеет корни. Ниже приводится код построения этого графика.

Результат показан на рисунке 2.

Рис. 2

На рисунке виден корень около точки –0.2 eV. В области энергий больше нуля выбранный масштаб не позволяет рассмотреть другие корни. Поэтому выберем подходящие размеры поля вывода графика, чтобы посмотреть поведение функции Delta(E) для E > 0 . Результат показан на рисунке 3.

Рис. 3

Из графиков на рисунках 2 и 3 мы видим, что гетероструктура имеет, пять дискретных уровней энергии. Один уровень меньше нуля и четыре больше нуля. Если выбирать область вывода графика вблизи нужного корня, то можно вручную найти все пять уровней энергии. Но такой способ достаточно утомителен, поэтому будем искать корни характеристического уравнения в автоматическом режиме.

Самым простым способом нахождения всех корней на заданном интервале [xb, xe] является следующий способ. Двигаемся слева направо по заданному интервалу с небольшим шагом. Шаг step должен быть меньше расстояния между соседними корнями. На каждом шаге ищем корень на отрезке равном шагу. Если корня нет, то движемся дальше, если же есть, то заносим в список найденных корней. Ниже приведен фрагмент кода поиска корней.

Здесь используется библиотечная функция FindRoot . Как всякая универсальная программа она в одних случаях работает хорошо, а в других плохо. Для наших целей лучше написать свою функцию поиска корней. Самый простой и самый надежный алгоритм – это деление отрезка пополам. Ниже приводится код функции ZeroTwo, которая заменяет библиотечную функцию FindRoot .

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

Далее приведен фрагмент кода для нахождения всех дискретных уровней гетероструктуры.

В результате работы программы получаем следующие пять уровней энергии.

Можно сравнить полученные значения с нулями функции Delta(E) на графиках (Рис.2, Рис.3). Полученные уровни энергии обычно принято изображать на графике потенциальной энергии в виде горизонтальных линий.

Нарисуем эти линии с помощью следующего кода.

Результат показан на рисунке 4.

Рис. 4

Соседние файлы в папке Мат Моделирование (ЭКТ-37, Корнеев)