Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Давыд Цуриков. Диссертация. 2015 г

..pdf
Скачиваний:
17
Добавлен:
21.03.2016
Размер:
1.91 Mб
Скачать

131

является абстрактной и конкретизируется в производных классах. Операция CopyFunP

записывает в двумерный массив c_FunP[][] элементы матрицы P как функции безразмерной энергии на сетке в заданном диапазоне.

Рис. 30. Диаграмма классов UML, используемых для расчёта транспортных свойств низкоразмерных структур, в аспекте реализации на C++. Указаны основные классы, частично их атрибуты и операции в контексте моделирования логического элемента XOR.

Класс CurLB служит для расчёта токов по формуле Ландауэра–Бюттикера по извест-

ному двумерному массиву вероятностей рассеяния FunP[][] как функций безразмерной энергии. Наряду с массивом FunP[][] параметры актуального полупроводника устанав-

132

ливаются при инициализации объекта класса. Помимо операции для расчёта токов FindJ (225) класс содержит операцию для расчёта приближённой проводимости узла при малых напряжениях смещения FindSigApp (227). Класс CurLB агрегирует класс

FastFunRtoR_d, который обеспечивает основные операции над функциями одной переменной, заданными на сетке.

Абстрактный класс OptGA служит для поиска максимума функции многих перемен-

ных с помощью генетического алгоритма. Целевая функция OptFun является абстракт-

ной и конкретизируется в производных классах. Операция GenAlg запускает генетиче-

ский алгоритм до достижения заданной однородности популяции MaxHom заданное число раз RunNum. Класс OptGA агрегирует класс Param, содержащий информацию о конкрет-

ной переменной, и класс Population, реализующий базовые операции над популяцией.

Уровень II. Классы для QIY-сети

Абстрактный класс QIYNet2D организует расчёт S-матрицы двумерной QIY-сети с заданной энергией носителя заряда. Операции, инициализирующие узлы и рукава QIYсети (InitJcs и InitBrs), являются абстрактными. Наряду с операцией родительского класса QuantNet::Combine они используются в операции QIYNet2D::Combine для расчёта по сетевой формуле. Класс QIYNet2D поддерживает загрузку S-матриц Q- и Y-

узлов из файлов. Также он агрегирует класс IJunc2DLin, который является производ-

ным от класса Junc и конкретизирует функцию FindS расчётом S-матрицы I-узла по формулам (121) и (257).

Класс CombQIYNet2D имеет вспомогательное назначение. Он содержит указатель

MainNet на объект производного от QIYNet2D класса, в котором определяется структура конкретной QIY-сети. Через этот указатель происходит обращение к операции QIYNet2D::Combine, которой передаётся указатель на текущий объект класса

CombQIYNet2D, при конкретизации операции FindS. Это становится возможным за счёт того, что класс CombQIYNet2D является производным от Junc.

Уровень III. Классы для логического элемента XOR

Класс Net4Q6I6Y определяет конкретную структуру сети из 4-х Q-, 6-и I- и 6-и Y-

узлов (рис. 23). Он является производным от класса QIYNet2D. В нём происходит кон-

кретизация операций InitJcs и InitBrs, которые используются в операции

QIYNet2D::Combine.

133

Класс XOR реализует вычисления для логического элемента XOR (раздел 3.5). Он яв-

ляется производным от класса OptGA и агрегирует классы Net4Q6I6Y, CombQIYNet2D

и CurLB. Такое решение позволяет рассчитать токи и проводимость, а также оптимизировать параметры устройства.

Процедуры в пакете FreeFem++

В качестве дополнения к программному коду на C++ для прямого численного расчёта S-матриц двумерных узлов были разработаны процедуры в вычислительном пакете FreeFem++. Расчёт реализован методами DN-map (126) и ND-map (127) на основе разработанных для этой цели специализированных макросов. Такой подход позволил реализовать универсальные процедуры FindSbyDN и FindSbyND, не зависящие от конкретной геометрии 2D узла.

Также с помощью макросов было автоматизировано задание произвольных 2D узлов, границы которых состоят из отрезков и дуг. Это решение позволило легко модифицировать геометрию задачи за счёт правки определяющих её числовых параметров без перерисовки границ вручную.

Реализованный в пакете FreeFem++ прямой численный расчёт S-матриц 2D узлов позволил провести верификацию вероятностей рассеяния в переключателе и логическом элементе XOR (разделы 3.4 и 3.5). Она состояла в сравнении значений, полученных на основе сетевой формулы (167), со значениями, полученными на основе триангуляции всей сети как единого узла. Также расчёты показали, что метод ND-map является предпочтительным в сравнении с методом DN-map. Это связано с лучшим выполнением свойства унитарности рассчитанной с его помощью потоковой матрицы рассеяния C++ (200).

Генетический алгоритм

Оптимизация параметров квантовой сети для достижения её целевых транспортных свойств в работе происходит с помощью генетического алгоритма [72, с. 125]. Генетические алгоритмы – это процедуры поиска, основанные на механизмах естественного отбора и наследования. Их базовые отличия от традиционных методов оптимизации состоят в следующем:

1.обработка не значений параметров самой задачи, а их закодированной формы;

2.поиск решения, исходя не из единственной точки, а из их некоторой популяции;

3.использование только целевой функции, а не её производных либо иной дополнительной информации;

4.применение вероятностных, а не детерминированных правил отбора.

134

Эти свойства приводят к устойчивости генетических алгоритмов и их превосходству над другими широко применяемыми технологиями.

В иерархии наследования (рис. 30) генетический алгоритм выполняют классы Population и OptGA. Популяция является конечным множеством хромосом, в которых закодированы значения параметров задачи в виде упорядоченной последовательности генов (битов). Используемый в классе Population генетический алгоритм близок к классическому [72, с. 130], который можно представить в виде блок-схемы (рис. 31).

НАЧАЛО

Инициализация – выбор

исходной популяции хромосом

 

Оценивание приспособленности хромосом в популяции

 

Условие завершения

 

НЕТ

 

выполнено?

ДА

 

 

 

 

 

Выбор

Селекция хромосом

 

 

 

 

 

«наилучшей»

 

 

 

 

 

 

хромосомы

Применение генетических

 

 

 

 

 

операторов

 

 

 

 

 

 

КОНЕЦ

 

 

 

Создание новой популяции

 

 

 

 

 

 

 

 

 

Рис. 31. Блок-схема классического генетического алгоритма.

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

Оценка приспособленности хромосом – расчёт для каждой хромосомы значения функции, у которой ищется максимум (целевой функции). Чем больше значение функции, тем выше «качество» хромосомы.

Проверка условия остановки алгоритма. Для этого класс OptGA проверяет, достигну-

та ли заданная однородность популяции MaxHom. Однородность популяции – количественная характеристика степени родства хромосом в популяции по образующим их генам. Она изменяется от 0 (отсутствие родства) до 1 (вырождение). Близкая к вырождению популяция теряет возможность эволюционировать (воспроизводить более «качественные» хромосомы). В этом случае можно считать, что алгоритм сошёлся, и из популяции выби-

135

рается «наилучшая» хромосома, которая декодируется в конечный результат. Если условие остановки не соблюдается, то выполняется селекция.

Селекция хромосом заключается в выборе наиболее «качественных» хромосом. Применение генетических операторов к выбранным родительским хромосомам при-

водит к формированию новой популяции потомков. Основные операторы в классическом генетическом алгоритме: оператор скрещивания и оператор мутации. Классический оператор скрещивания состоит в разрыве двух родительских хромосом в случайной точке и обмене между ними получившимися участками. В результате получаются две новые хромосомы потомков. Оператор мутации состоит в случайной инверсии (замене «0» на «1» либо «1» на «0») с малой вероятностью генов в хромосомах.

Формирование новой популяции. В классическом генетическом алгоритме вся предыдущая популяция хромосом заменяется новой популяцией потомков той же численности.

Приложение H. Основные обозначения диссертации

В этом приложении приведены основные обозначения диссертации. Их перечень организован на основе аналогий с понятиями языка программирования C++ [73].

Область видимости

В любом месте программы на C++ каждое используемое имя относится к определенной сущности – переменной, функции, типу и т.д. Это понятие является аналогом понятия «обозначение» в научных работах, а сущности, к которым относится каждое обозначение – физическая величина, геометрическое тело, математический оператор и т.д. Имя может быть использовано многократно для обращения к различным сущностям в разных точках программы. В свою очередь, обозначение может иметь различную семантику в разных частях одной работы.

Область видимости (scope) – часть программы, в которой имя имеет определённую семантику [73, с. 120]. Данное понятие применимо также к обозначениям в научных работах. В отличие от языка C++, в традиционных правилах оформления научных работ отсутствует гибкий механизм для оперирования с областями видимости. Это усложняет чтение материала и может привести к конфликту обозначений. Для решения данных проблем в настоящей диссертации помимо пояснений в тексте используется система таблиц.

136

Таблицы обозначений

Области видимости в научных работах формируются на основе разбиения текста на главы, разделы, подразделы. Согласно традиционному оформлению, обозначения вводятся непосредственно в тексте по мере изложения материала. Обозначения, введённые, например, в текущей главе могут использоваться и в последующих главах. Поэтому области видимости нуждаются в дополнительном уточнении входящих в них участков текста. Для этого в диссертации используется система таблиц (табл. 21–27). Каждая таблица состоит из пяти столбцов:

«№» – номер обозначения;

«об.» – обозначение;

«название» – наименование объекта, «–» для вспомогательных объектов;

«опр.» – формальное определение объекта либо пояснение к определению (число, интервал, ссылка), «~» для контекстно-зависимых определений (параметров материала, расчёта и пр.);

«разм.» – размерность объекта в системе единиц СИ, «–» для безразмерных объектов, «~» для объектов с контекстно-зависимой размерностью.

Также, по аналогии с языком C++, введём следующие понятия:

локальное обозначение – обозначение, актуальное в конкретной области видимости;

глобальное обозначение – обозначение, актуальное во всех областях видимости.

Таблица 21. Глобальные обозначения

об.

название

опр.

разм.

 

 

 

 

 

1

 

постоянная Планка

=1.05459 1034

Дж с

2

k0

постоянная Больцмана

=1.38066 1023

Дж/К

3

m0

масса свободного электрона

= 9.10953 1031

кг

4

e0

элементарный заряд

=1.60219 1019

Кл

5

ε0

электрическая постоянная

= 8.85419 1012

Ф/м

6

m

эффективная масса носителя заряда

кг

 

 

 

 

 

7

λ

средняя длина волны де Бройля носителя заряда

(300), (301)

м

 

 

 

 

 

8

 

длина свободного пробега носителя заряда

м

 

 

 

 

 

9

Eg

ширина запрещённой зоны

Дж

 

 

 

 

 

10

Llat

постоянная решётки

м

11

Lmin

минимальный размер структуры

Llat

м

137

12

Lmax

максимальный размер структуры

м

13

p

квазиимпульс носителя заряда

R3

кг м/с

14

s

спиновое квантовое число

= 1, 2

 

 

 

 

 

15

Fk

интеграл Ферми–Дирака порядка k

(280)

 

 

 

 

 

16

 

оператор Лапласа

= ∂12 +∂22 +∂32

~

 

 

 

 

 

17

δ

дельта-функция Дирака

δ ϕ =ϕ(0)

~

 

 

 

 

 

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

 

 

 

 

 

Таблица 22. Обозначения раздела 1.1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

об.

название

 

опр.

разм.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

g

плотность одночастичных состояний

 

(1)

Дж–1

 

 

 

 

 

2

EM

энергия одночастичного состояния M

 

табл. 4

Дж

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3

M

мультииндекс одночастичного состояния

 

табл. 3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4

Lx

размер структуры вдоль оси X

 

табл. 3

м

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

5

Ly

размер структуры вдоль оси Y

 

табл. 3

м

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

6

Lz

размер структуры вдоль оси Z

 

табл. 3

м

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Таблица 23. Обозначения раздела 1.2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

об.

 

 

 

название

 

 

опр.

 

разм.

 

 

 

 

 

 

 

 

 

1

VS

 

электростатический потенциал на лицевой стороне

 

 

рис. 1

 

В

 

 

 

плёнки

 

 

 

 

 

 

 

2

Q

 

поверхностная плотность заряда в плёнке

 

 

(4)

 

Кл м–2

3

ρ

 

объёмная плотность заряда в плёнке

 

 

(5)

 

Кл м–3

4

nd

 

концентрация ионизованной донорной примеси

 

 

~

 

м–3

5

na

 

концентрация ионизованной акцепторной примеси

 

 

~

 

м–3

6

n

 

концентрация электронов

 

 

(6)

 

м–3

138

7

n+

концентрация дырок

(7)

м–3

8

z

координата перпендикулярно к плёнке

рис. 1b

м

 

 

 

 

 

9

L

толщина плёнки

рис. 1b

м

 

 

 

 

 

10

n±

(8)

м–2

11

m±

эффективные массы носителей заряда в плоскости

~

кг

 

 

плёнки

 

 

12

T

температура плёнки

~

К

 

 

 

 

 

13

EF

уровень Ферми плёнки

(20)

Дж

 

 

 

 

 

14

EC

энергия края зоны проводимости

~

Дж

 

 

 

 

 

15

EV

энергия края валентной зоны

~

Дж

 

 

 

 

 

16

ϕ±

волновые функции носителей заряда

(9)

м–1/2

17

E±

уровни энергии носителей заряда

(9)

Дж

 

 

 

 

 

18

U ±

потенциалы для носителей заряда

(10)

Дж

19

m±

эффективные массы носителей заряда перпендикулярно

~

кг

 

 

плёнке

 

 

20

V

электростатический потенциал

(11)

В

 

 

 

 

 

21

ε

диэлектрическая проницаемость плёнки

~

 

 

 

 

 

22

E±

уровни энергии прямоугольной потенциальной ямы

(19)

Дж

 

 

 

 

 

23

δQ

заданная относительная погрешность вычисления

~

 

 

поверхностной плотности заряда

 

 

 

 

 

 

 

24

ξ

координата перпендикулярно к плёнке

= z / LD

 

 

 

 

 

25

λ

толщина плёнки

= L / LD

 

 

 

 

 

26

LD

длина дебаевского экранирования

[19]

м

 

 

 

 

 

27

ε

энергия носителя заряда

(28)

 

 

 

 

 

28

υ

потенциал

(28)

 

 

 

 

 

29

ψ

волновая функция

(30)

 

 

 

 

 

30

υmax

максимальное значение потенциала в плёнке

= max υ(ξ)

ξ (0,L)

31

υmin

минимальное значение потенциала в плёнке

= min υ(ξ)

ξ (0,L)

32

ξ+

правая точка поворота

ψ (ξ+ ) = ε

 

 

 

 

 

33

ε

начальное приближение к собственному значению ε

(47), (49)

 

 

 

 

 

34

ψ

усреднённое нулевое квазиклассическое приближение

(34)

 

 

 

 

 

35

κ

(35)

 

 

 

 

 

139

36

κ

 

 

(36)

 

 

 

 

 

 

 

 

 

 

 

37

exp

 

максимальный показатель экспоненты для данной ЭВМ

 

~

 

 

 

 

 

 

 

 

 

 

 

38

λ<

 

смещённое положение правой границы плёнки

 

(40)

 

 

 

 

 

 

 

 

 

 

 

39

κ

<

 

 

(43)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Таблица 24. Обозначения раздела 2.1

 

 

 

 

 

 

 

 

 

 

 

 

об.

 

название

 

опр.

 

разм.

 

 

 

 

 

 

 

 

1

E

 

кинетическая энергия шара/электрона

 

(51)

 

Дж

 

 

 

 

 

 

 

 

2

m

 

масса шара/электрона

 

~

 

кг

 

 

 

 

 

 

 

 

3

p

 

импульс шара/электрона

 

(52)

 

кг м/с

 

 

 

 

 

 

 

4

p

 

продольная составляющая импульса шара/электрона

 

рис. 3

кг м/с

 

 

 

 

 

 

 

5

p

 

поперечная составляющая импульса шара/электрона

 

рис. 3

кг м/с

 

 

 

 

 

 

 

 

6

E

 

продольная кинетическая энергия шара/электрона

 

(54)

 

Дж

 

 

 

 

 

 

 

 

7

E

 

поперечная кинетическая энергия шара/электрона

 

(54)

 

Дж

 

 

 

 

 

 

 

 

8

E n

 

энергия n-го канала

 

(55)

 

Дж

9

I

 

электрический ток

 

(58)

 

А

 

 

 

 

 

 

 

 

 

10

Tnm

 

вероятность прохождения электрона между рукавами

 

~

 

 

из открытого канала m в открытый канал n (прозрачность)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

11

fα

 

функция распределения электронов в резервуаре α

 

(59)

 

 

 

 

 

 

 

 

 

12

μα

 

электрохимический потенциал (уровень Ферми) резервуара α

 

~

 

Дж

 

 

 

 

 

 

 

 

13

Θα

 

температура резервуара α в энергетических единицах

 

~

 

Дж

 

 

 

 

 

 

 

 

 

 

 

 

 

 

14

DN

 

Dirichlet-to-Neumann map (DN-map)

 

[24]

 

~

 

 

 

 

 

 

 

 

15

ND

 

Neumann-to-Dirichlet map (ND-map)

 

[24]

 

~

 

 

 

 

 

 

 

 

16

S

 

матрица рассеяния (S-матрица)

 

~

 

 

 

 

 

 

 

 

 

17

K

 

диагональная матрица волновых чисел каналов

 

[24]

 

~

 

 

 

 

 

 

 

 

18

R

 

R-матрица

 

[36]

 

~

 

 

 

 

 

 

 

 

19

...

...

 

 

...

 

...

 

 

 

 

 

 

 

 

 

 

В таблице 24 приведена только часть обозначений раздела 2.1. Это связано с конфликтами обозначений вследствие сохранения оригинальной нотации их первоисточников.

140

Таблица 25. Обозначения разделов 2.2 и 2.3

об.

название

опр.

разм.

 

 

 

 

 

1

O

нулевая матрица

{Omnkl = 0}mnkl

~

 

 

 

 

 

2

I

единичная матрица

{Imnkl =[mk =ln ]}mnkl

~

 

 

 

 

 

3

f

производная функции f по первому

= ∂1 f

~

аргументу

 

 

 

 

 

 

 

 

 

4

Ω[A]

узел

рис. 6

5

{Ωk }k A

рукава, примыкающие к узлу Ω[A]

рис. 6

6

Γ[A]k

граница узла Ω[A] с k-м рукавом

= ∂Ω[A] ∩∂Ωk

7

Γ[A]

граница узла Ω[A] с рукавами

= k AΓ[A]k

8

I

кортеж номеров внутренних рукавов

~

9

E

кортеж номеров внешних рукавов

~

10

N

кортеж идентификаторов внутренних узлов

~

 

 

 

 

 

11

Ω[E]

сеть (единый узел)

~

12

Ω A

узел типа «A»

~

13

A

кортеж идентификаторов внутренних узлов

N

типа «A»

 

 

 

 

 

 

 

 

 

 

 

 

 

 

14

ϕ

волновая функция носителя заряда

(76)

м–3/2

15

V

потенциал в сети

~

Дж

 

 

 

 

 

16

E

энергия носителя заряда

~

Дж

17

Ψ

волновая функция носителя заряда

(78)

 

 

 

 

 

18

υ

потенциал в сети

(78)

 

 

 

 

 

19

ε

энергия носителя заряда

(78)

 

 

 

 

 

20

L

характерная длина при переходе

~

м

к безразмерной задаче

 

 

 

 

 

 

 

 

 

21

Ψk

волновая функция носителя заряда

(79)

в рукаве Ωk

 

 

 

 

22

υk

потенциал в рукаве Ωk

~

23

Ψ[A]

волновая функция в узле Ω[A]

(80)

24

υ[A]

потенциал в узле Ω[A]

~

25

Γk

граница рукава Ωk с прилегающими к нему

~

узлами

 

 

 

 

 

 

 

 

 

26

[E]

глобальная система координат (ГСК),

~

[XYZ]

связанная с сетью Ω[E]