Моделювання розподілених зворотно-відбиваючих фільтрів і решіток Брэгґа за допомогою методу скінченних різниць і матриці передачі.
У цьому навчальному посібнику ми використовуємо метод скінченних різниць для розв’язання задачі передачі матрицею, реалізований в OghmaNano, щоб змоделювати відбиття, пропускання та оптичне поглинання розподіленого зворотного зв’язку (DFB) дзеркала або дифракційної ґратки. У цих структурах використовується періодична модуляція показника заломлення для створення сильного, селективного за довжиною хвилі відбиття за допомогою когерентного розподіленого розсіювання. У нашому попередньому навчальному посібнику з оптичних фільтрів оптична структура визначалася за допомогою епітаксії пристрою; тут ми натомість використовуємо скрипти Lua для безпосереднього створення ґратки, що дозволяє визначати довільні оптичні шари та геометрії. Система скриптів описана більш детально в документації щодо редактора кроків і скриптів. Потім ми вивчаємо, як двоперіодна DFB-ґратка визначає отримані спектри відбиття, пропускання та поглинання.
1. Передумови
На відміну від металевого дзеркала, яке відбиває світло на одній межі, DFB-дзеркало відбиває світло шляхом багаторазового розсіювання від періодичної структури (див. ??). Коли період ґратки відповідає умові Брегга, відбиті хвилі складаються в фазі, утворюючи сильну смугу відбиття або смугу пригнічення. Положення та ширина цієї смуги в основному визначаються періодом ґратки, контрастом показників заломлення та кількістю періодів.
Смуга відбиття дзеркала типу DFB розташована навколо довжини хвилі Брегга \(\lambda_B\), яка визначається періодом дифракційної решітки \(\Lambda\) та ефективним показником заломлення \(n_{\text{eff}}\) мода, що поширюється в структурі.
\[ m\lambda_B = 2 n_{\text{eff}} \Lambda \]де \(m\) – порядок дифракції. Ефективність дифракційної решітки описується коефіцієнтом зв’язку \(\kappa\), який показує, наскільки сильно хвилі, що поширюються в прямому та зворотному напрямках, пов’язані між собою завдяки модуляції показника заломлення \(\Delta n\). Для решітки з приблизно квадратичним профілем показника заломлення:
\[ \kappa \approx \frac{2\,\Delta n}{\lambda_B} \]Максимальне значення коефіцієнта відбиття однорідної дифракційної решітки довжиною \(L\) визначається за допомогою теорії взаємодії мод, і воно дорівнює:
\[ R = \tanh^{2}(\kappa L) \]щоб збільшення або показника заломлення, або довжини дифракційної ґратки призводило до наближення відбивної здатності до одиниці. Ширина зони пригнічення пропорційна коефіцієнту зв’язку.
\[ \Delta\lambda \approx \frac{\lambda_B^{2}\,\kappa}{\pi\, n_{\text{eff}}} \]отже, висококонтрастні дифракційні ґратки створюють широкі, інтенсивні смуги відбиття, тоді як ґратки з низьким контрастом – вузькі. Ці прості співвідношення достатні для визначення положення зони придушення та оцінки її інтенсивності; для отримання детальної спектральної характеристики, амплітуди коливань і поведінки за межами зони придушення необхідне повне електромагнітне розв’язання.
Класичний метод матриці передачі передбачає наявність шаруватої структури, що складається з плоских, нескінченно періодичних шарів. Однак, реальні дифракційні ґратки рідко бувають ідеально періодичними. Щоб обробляти довільні, неперіодичні або навмисно змінені структури — наприклад, двоперіодичну ґратку, яка моделюється в цьому навчальному посібнику, — OghmaNano застосовує формалізм матриці передачі до скінченно-різницевої сітки. Оптична структура дискретизується в просторі, і розв’язується задача прямого та зворотного поширення поля пошарово на всій сітці. Цей метод матриці передачі на основі скінченних різниць зберігає числову ефективність і стабільність класичного методу матриці передачі, водночас дозволяючи моделювати будь-який просторовий розподіл показника заломлення, включно з ґратками, що мають більше одного періоду, змінний період, апертурну обробку або вбудовані дефекти.
2. Початок роботи
Щоб розпочати перше моделювання за допомогою DFB-дзеркала, відкрийте вікно «Нове моделювання» в меню «Файл» (див. ??). Перейдіть до групи «Метод матриці передачі» та двічі клацніть на прикладі «Дифракційна ґратка Брэгга (1D)» (див. ??), а потім збережіть моделювання в папку на вашому диску. Після цього ви побачите основне вікно (див. ?? і ??), в якому відображається дифракційна ґратка Брэгга з двома періодами. У прикладі завантажується дифракційна ґратка Брэгга з двома періодами. Відстань між вужчими ґратками становить 140 нм, а відстань між дещо ширшими ґратками – 218 нм. Сама ґратка виготовлена з SiO2, а середовище, що її оточує, у цьому прикладі – повітря. Після відкриття моделювання ви можете переглянути структуру в основному вікні (див. ??).
3. Запуск симуляції DFB.
?? показує те саме пристрою, але з дещо іншого ракурсу. Натисніть кнопку «Запустити моделювання» (відтворити), щоб обчислити спектри (див. ??); після завершення результати відображатимуться на вкладці «Результати» (див. ??). Коли ви натискаєте «Запустити моделювання», вирішувач починає поетапно обробляти оптичний спектр, обчислюючи довжину хвилі за раз (див. ??). Кожна кольорова лінія в терміналі (Solve optical slice at … nm) відповідає певній довжині хвилі, для якої проводиться обчислення. Як описано вище, метод, який використовується тут, по суті є методом передачі матриці, спроектованої на скінченно-різницеву сітку, що дозволяє обробляти довільну двоперіодичну дифракційну решітку.
3. Аналіз результатів.
Після завершення моделювання відкрийте вкладку «Результати» (див. ??), щоб переглянути файли, створені в процесі обчислень. Основними результатами, які використовуються в цьому навчальному посібнику, є device.csv, папка optical_output і папка optical_snapshots. Почніть з відкриття device.csv (див. ??). На екрані відобразиться тривимірна сітка пристрою, як її бачить обчислювальний модуль, що дозволить вам перевірити, чи правильно згенеровано та створено сітку дифракційної решітки, перш ніж переглядати оптичні результати.
Далі двічі клацніть на «optical_output», щоб відкрити редактор оптичного моделювання. На вкладці «Швидкість генерації» (див. ??) відображається, де фотони поглинаються всередині структури. Області з незначним або відсутнім поглинанням переважно відповідають навколишньому повітрю, тоді як більш інтенсивне поглинання відбувається всередині дифракційної решітки.
Вкладка «Відбите світло» (див. ??) показує довжини хвиль, які відбиваються дифракційною решіткою, причому чіткі смуги відбиття відокремлені областями з нижчим коефіцієнтом відбиття. Вкладка «Пропущене світло» (див. ??) показує відповідний спектр пропускання, причому високе пропускання спостерігається там, де низьке відбиття.
4. Редагування оптичних матеріалів
Оптичні матеріали, які використовуються в дифракційній решітці, можна перевірити та змінити в редакторі поглинання, який відкривається зі вкладки «Структура пристрою» в головному вікні. Це відкриває редактор поглинання (див. ?? і ??), який відображає показник заломлення \(n\) і дані про поглинання \(\alpha\) як для SiO2, з якого складається дифракційна решітка, так і для повітря, що її оточує. На вкладці «Об’єкт» (див. ??) відображається матеріал самої дифракційної решітки (Oxides/SiO2), а на вкладці «Середовище» (див. ??) – навколишнє середовище (Generic/air). Тут ви можете змінити матеріали на будь-які, які вас цікавлять, натиснувши кнопку «…» у полі «Оптичний матеріал».
5. Редагування структури решітки.
Якщо ви натиснете правою кнопкою миші на саму структуру DFB, вам буде запропоновано кілька варіантів, зокрема редактор сітки та редактор кристалічної структури (див. ??). Натиснувши на редактор сітки (див. ??), ви побачите розміри самої сітки. Варто пам’ятати, що метод передаточної матриці є одномірним, тому не має великого значення, які інші розміри має структура — важливим є лише її ширина вздовж осі поширення, не обов’язково інші розміри сітки. Якщо ви використовуєте метод FDTD у двох вимірах, інші розміри матимуть більше значення.
Оберіть редактор Crystal у тому ж меню (див. ??), щоб переглянути сценарій Lua, який використовується для створення дифракційної структури. Замість того, щоб визначати кожен елемент дифракційної решітки вручну, вся структура створюється програмним шляхом. Натискання кнопки «Оновити» повторно запускає сценарій і відтворює геометрію. У цьому прикладі math.random вносить невелику позиційну зміну, тому дифракційна решітка дещо змінюється кожного разу, коли її відтворюють. Цей ефект можна побачити на ??, де геометрія дифракційної решітки оновлюється кожні дві секунди, щоб продемонструвати випадкову зміну, внесену в період.
clear_points()
N = 200
radius = 1.5e-6
pitch = 3e-6
turns = 6
for i = 1, N do
t = (i / N) * turns * 2 * math.pi
-- first helix strand
x1 = radius * math.cos(t)
y1 = radius * math.sin(t)
z1 = (i / N) * turns * pitch
add_point(x1, y1, z1)
-- second helix strand offset by pi (opposite side)
x2 = radius * math.cos(t + math.pi)
y2 = radius * math.sin(t + math.pi)
add_point(x2, y2, z1)
end
Сценарій починається з видалення всіх попередньо згенерованих точок, а потім визначає параметри, які контролюють геометрію. Основний цикл for послідовно обробляє кожен елемент структури. На кожній ітерації поточне значення i використовується для обчислення координат наступної частини геометрії, і ці координати потім додаються до структури за допомогою add_point(). У межах того ж циклу обчислюється другий набір координат для створення відповідної точки на протилежній стороні. У прикладі з дифракційною решіткою DFB та сама ідея використовується для послідовного розміщення кожного елемента решітки. Змінюючи параметри або додаючи такі члени, як math.random(), сценарій може генерувати різні періоди, розміри або контрольовані зміни в решітці.
6. Вибір напрямку освітлення
Однією з корисних функцій OghmaNano є те, що обчислення матриці передачі не обмежується одним напрямком поширення. У багатьох реалізаціях обчислення застосовуються лише вздовж шаруватої структури, наприклад, під час епітаксії пристрою. В OghmaNano натомість можна явно вибрати напрямок освітлення, що дозволяє моделювати одну й ту саму структуру вздовж будь-якої з головних осей.
Щоб обрати напрямок освітлення, відкрийте вкладку «Оптика» (див. ??) і виберіть «Джерела світла», щоб відкрити редактор джерел світла (див. ??). На вкладці «Налаштування» використовуйте поле «Освітлювати з» для вибору x0, x1, y0, y1, z0 або z1.
z0, при цьому джерело світла розташоване на одному кінці дифракційної решітки.
z1, при цьому джерело світла переміщено до протилежного кінця.У цьому прикладі зміна освітлення від z0 (див. ??) до z1 (див. ??) просто переміщує джерело світла на протилежний бік дифракційної решітки. Для цієї реципрокної структури оптична реакція однакова незалежно від напрямку, але ця можливість корисна під час вивчення асиметричних структур або порівняння поширення світла з протилежних боків.
7. Висновок
У цьому навчальному посібнику ми використали OghmaNano для моделювання розподіленого зворотного зв’язку (DFB) дзеркала та дифракційної ґратки за допомогою методу скінченно-різницевої матриці передачі. Ви дізналися, як створювати дифракційну ґратку з двома періодами за допомогою скриптів Lua, вводити контрольовану випадковість для відображення допустимих відхилень під час виготовлення, виконувати оптичні обчислення та інтерпретувати отримані спектри відбиття, пропускання та поглинання. Ви також побачили, як можна вибирати напрямок освітлення вздовж будь-якої з головних осей, а не обмежуватися фіксованим епітаксіальним напрямком. Ці методи можна використовувати для вивчення DFB- та DBR-дзеркал лазерів, волоконних дифракційних ґраток, оптичних фільтрів, діелектричних дзеркал та інших селективних за довжиною хвилі фотонних структур, а також більш складних ґраток, що містять кілька періодів, неоднорідності або спеціальні геометричні форми.