بهینه سازی یک کریستال فوتونیک برای فیلتر کردن سیگنال
دستگاههای بلور فوتونیک ساختارهای تناوبی از لایههای متناوب مواد با ضریب شکست متفاوت هستند. موجبرهایی که در داخل یک کریستال فوتونیک محصور شدهاند، میتوانند خمشهای بسیار تیز و کم تلفات داشته باشند، که ممکن است باعث افزایش چگالی ادغام چندین مرتبه شود.
معرفی
این مدل نحوه اعمال بهینه سازی شکل را در مدل کریستال فوتونی نشان می دهد . تابع هدف افزایش نسبت انتقال بین دو طول موج است. این با اجازه دادن به ستون های GaAs تغییر موقعیت اما نه شکل به دست می آید. این پیاده سازی از دو ویژگی بهینه سازی شکل، Free Shape Domain و Transformation برای اعمال بهینه سازی مبتنی بر گرادیان استفاده می کند.
تعریف مدل
تابع هدف بر حسب میانگین بزرگی میدان الکتریکی در خروجی برای یک طول موج و هندسه معین، λ و Ω تعریف می شود :
 .
.مسئله بهینه سازی تنظیم شده در این مدل، به حداقل رساندن لاگ نسبت بین این تابع برای دو طول موج است:
 .
.توپولوژی هندسه ثابت است تا امکان بهینه سازی مبتنی بر گرادیان را فراهم کند. برای ساده سازی ساخت، شکل سیلندر نیز ثابت شده است. بنابراین، تنها چیزی که مجاز به تغییر است، موقعیت سیلندر است. اگر به آنها اجازه داده شود دورتر حرکت کنند، ممکن است با هم برخورد کنند و باعث ایجاد پیام های خطا در مورد عناصر معکوس یا مقادیر NaN/Inf شوند. برای جلوگیری از این امر، سیلندرها محدود به حرکت 0.1  میکرومتر در جهت x و y هستند  .
نتایج و بحث
شکل 1 و شکل 2 مولفه z میدان الکتریکی را در هندسه بهینه شده برای دو طول موجنشان می دهد

شکل 1: مولفه z میدان الکتریکی که نحوه انتشار موج در مسیری که توسط ستون ها تعریف شده است را نشان می دهد. هندسه اولیه از یک آرایه مستطیلی از استوانه ها تشکیل شده است، بنابراین بهینه سازی نه تنها موقعیت ستون ها را در نزدیکی مسیر موج تغییر می دهد.
بهینهسازی، انتقال طول موج اول را به طور نهایی افزایش میدهد، در حالی که انتقال طول موج دوم را 99.9 درصد کاهش میدهد.

شکل 2: طول موج بلندتر از طریق راهنما منتشر نمی شود.
ارجاع
1. JD Joannopoulos، RD Meade، و JN Winn، بلورهای فوتونیک (مدلسازی جریان نور) ، انتشارات دانشگاه پرینستون، 1995.
مسیر کتابخانه برنامه: Wave_Optics_Module/Waveguides_and_Couplers/photonic_crystal_filter_optimization
دستورالعمل مدلسازی
کتابخانه های کاربردی
| 1 | از منوی File ، Application  Libraries را انتخاب کنید . | 
| 2 | در پنجره Application  Libraries ، Wave  Optics  Module>Waveguides  and  Couplers>photonic_crystal را در درخت انتخاب کنید. | 
| 3 |  روی Open کلیک کنید . | 
جزء 1 (COMP1)
یک کاوشگر برای بزرگی میدان الکتریکی روی مرز خروجی اضافه کنید تا به عنوان تابع هدف استفاده شود.
تعاریف
تابع هدف
| 1 | در پنجره Model  Builder ، گره Component  1  (comp1) را گسترش دهید . | 
| 2 | روی Component  1  (comp1)>Definitions کلیک راست کرده و Probes>Boundary  Probe را انتخاب کنید . | 
| 3 | در پنجره تنظیمات برای کاوشگر مرزی  ، تابع هدف را در قسمت متن برچسب تایپ کنید . | 
| 4 | در قسمت متن نام متغیر  ، obj را تایپ کنید . | 
| 5 | قسمت Probe  Type را پیدا کنید . از لیست Type ، Integral را انتخاب کنید . | 
| 6 | فقط مرز 45 را انتخاب کنید. | 
| 7 | روی نوار ابزار بخش  در گوشه سمت راست بالای بخش Expression کلیک کنید . از منو، Component 1 (comp1)> Waves Electromagnetic , Frequency Domain> Energy and power>ewfd.nPoav – جریان برق ، میانگین زمانی – W/m² را انتخاب کنید . | 
مطالعه 1
مرحله 1: دامنه طول موج
| 1 | در پنجره Model  Builder ، گره Study  1 را گسترش دهید ، سپس روی Step  1:  Wavelength  Domain کلیک کنید . | 
| 2 | در پنجره تنظیمات برای دامنه طول موج  ، برای گسترش بخش Results while Solving کلیک کنید . | 
| 3 | از لیست Probes ، هیچکدام را انتخاب کنید . | 
| 4 | در پنجره Model  Builder ، روی Study  1 کلیک کنید . | 
| 5 | در پنجره تنظیمات برای مطالعه ، طرح اولیه را در قسمت متن برچسب تایپ کنید . | 
مقادیر اولیه تابع هدف را محاسبه کنید و پارامترهای مربوط به این مقادیر را تعریف کنید.
| 6 | در نوار ابزار صفحه اصلی ،   روی محاسبه کلیک کنید . | 
نتایج
انتقال
| 1 | در نوار ابزار نتایج ، روی   Evaluation  Group کلیک کنید . | 
| 2 | در پنجره تنظیمات برای گروه ارزیابی  ، Transmission را در قسمت متن برچسب تایپ کنید . | 
ارزیابی جهانی 1
| 1 | روی Transmission کلیک راست کرده و Global  Evaluation را انتخاب کنید . | 
| 2 | در پنجره تنظیمات برای ارزیابی جهانی  ، روی Add Expression در گوشه سمت راست بالای بخش عبارات کلیک کنید . از منو، Component 1 (comp1)>Definitions>obj – Objective Function – W/m را انتخاب کنید . | 
| 3 | در نوار ابزار انتقال ،   روی ارزیابی کلیک کنید . | 
هندسه 1
راه اندازی بهینه سازی شکل را با افزودن دو انتخاب به دنباله هندسه ساده کنید.
دامنه هایی برای جابجایی
| 1 | در نوار ابزار Geometry ، روی   Selections کلیک کنید و Box  Selection را انتخاب کنید . | 
| 2 | در پنجره تنظیمات مربوط به Box  Selection ، Domains to Move را در قسمت نوشتار Label تایپ کنید . | 
| 3 | قسمت Box  Limits را پیدا کنید . در قسمت متن x  حداقل ، 0.2e-6 را تایپ کنید . | 
| 4 | در قسمت متن حداکثر x ،  3.2e-6 را تایپ کنید . | 
| 5 | در قسمت حداقل متن y ،  0.2e-6 را تایپ کنید . | 
| 6 | در قسمت متن حداکثر y ،  3.2e-6 را تایپ کنید . | 
| 7 | قسمت Output  Entities را پیدا کنید . از فهرست Include  entity  if ، Entity  inside  کادر را انتخاب کنید . | 
تغییر شکل دامنه ها
| 1 | در نوار ابزار Geometry ، روی   Selections کلیک کنید و گزینه Adjacent  Selection را انتخاب کنید . | 
| 2 | در پنجره تنظیمات برای انتخاب مجاور  ، Deforming Domains را در قسمت نوشتار Label تایپ کنید . | 
| 3 | قسمت Output  Entities را پیدا کنید . از لیست سطح نهاد هندسی  ، دامنههای مجاور را انتخاب کنید . | 
| 4 | قسمت Input  Entities را پیدا کنید .   روی افزودن کلیک کنید . | 
| 5 | در کادر محاورهای افزودن ، Domains  to  Move را در فهرست انتخابهای ورودی  انتخاب کنید . | 
| 6 | روی OK کلیک کنید . | 
جزء 1 (COMP1)
دامنه شکل رایگان 1
| 1 | در نوار ابزار تعاریف ، روی   Optimization کلیک کنید و Shape  Optimization>Free  Shape  Domain را انتخاب کنید . | 
| 2 | در پنجره تنظیمات برای دامنه شکل آزاد  ، بخش انتخاب دامنه را پیدا کنید . | 
| 3 | از لیست انتخاب ، تغییر شکل  دامنه ها را انتخاب کنید . | 
تحول 1
| 1 | در نوار ابزار تعاریف ، روی   Optimization کلیک کنید و Shape  Optimization>Transformation را انتخاب کنید . | 
| 2 | در پنجره تنظیمات برای تبدیل ، قسمت انتخاب موجودیت هندسی  را پیدا کنید . | 
| 3 | از لیست انتخاب ، دامنه هایی را  برای  انتقال انتخاب کنید . | 
| 4 | بخش ترجمه را پیدا کنید . در جدول تنظیمات زیر را وارد کنید: | 
| قفل کردن | کران پایین (متر) | کران بالا (متر) | |
| ایکس | -0.1 [یک] | 0.1 [یک] | |
| Y | -0.1 [یک] | 0.1 [یک] | 
| 5 | بخش Scaling را پیدا کنید . از لیست نوع مقیاسبندی  ، بدون مقیاسبندی را انتخاب کنید . | 
اضافه کردن مطالعه
| 1 | در نوار ابزار Home ، روی   Add  Study کلیک کنید تا پنجره Add  Study باز شود . | 
| 2 | به پنجره Add  Study بروید . | 
| 3 | زیربخش مطالعات را پیدا کنید . در درخت انتخاب  مطالعه ، مطالعات پیشفرض  برای واسطهای فیزیک انتخاب شده > دامنه طول موج را انتخاب کنید . | 
| 4 | روی Add  Study در نوار ابزار پنجره کلیک کنید . | 
| 5 | در نوار ابزار Home ، روی   Add  Study کلیک کنید تا پنجره Add  Study بسته شود . | 
طراحی اولیه
مرحله 1: دامنه طول موج
| 1 | در پنجره Model  Builder ، گره طراحی اولیه  را گسترش دهید ، سپس روی Step 1: Wavelength Domain کلیک کنید . | 
| 2 | در پنجره تنظیمات دامنه طول موج  ، قسمت Physics and Variables Selection را پیدا کنید . | 
| 3 | در جدول، چارگوش حل  برای هندسه تغییر شکل یافته  (کامپوننت 1) را پاک کنید . | 
مطالعه 2
بهینه سازی شکل
| 1 | در نوار ابزار مطالعه ، روی   Optimization کلیک کنید و Shape  Optimization را انتخاب کنید . | 
حد پیشفرض حرکت 0.1 اغلب بسیار محافظهکار است، مگر اینکه راهاندازی مسئله بهینهسازی شکل آزادی طراحی بیش از حد را ایجاد کند. در این صورت برای صرفه جویی در زمان محاسباتی آن را دو برابر می کنیم.
| 2 | در پنجره تنظیمات برای Shape  Optimization ، بخش Optimization  Solver را پیدا کنید . | 
| 3 | در قسمت حداکثر  تعداد  تکرار ،  20 را تایپ کنید . | 
| 4 | در قسمت متنی Move  limits ، 0.2 را تایپ کنید . | 
| 5 | قسمت Objective  Function را پیدا کنید . در جدول تنظیمات زیر را وارد کنید: | 
| اصطلاح | شرح | 
| if(lambda0<1.15[um],-1,1)*log(comp1.obj[m/W]) | 
این مربوط به به حداقل رساندن انتقال در 1.3 میکرومتر تقسیم بر انتقال در 1 میکرومتر است.
| 6 | از لیست مقیاس بندی هدف  ، گزینه Initial solution based را انتخاب کنید . | 
| 7 | قسمت Output  while  Solving را پیدا کنید . از لیست Probes ، هیچکدام را انتخاب کنید . | 
| 8 | در پنجره Model  Builder ، روی Study  2 کلیک کنید . | 
| 9 | در پنجره تنظیمات برای مطالعه ، Shape Optimization را در قسمت نوشتار Label تایپ کنید . | 
مطالعه را آغاز کنید تا یک نمودار برای استفاده در حین بهینه سازی ایجاد کنید.
| 10 | در نوار ابزار مطالعه ،   روی دریافت  مقدار اولیه  کلیک کنید . | 
| 11 | در پنجره Model  Builder ، روی Shape  Optimization کلیک کنید . | 
| 12 | در پنجره تنظیمات برای بهینه سازی شکل  ، بخش خروجی هنگام حل را پیدا کنید . | 
| 13 | کادر Plot را انتخاب کنید . | 
| 14 | از لیست گروه Plot  ، Shape Optimization را انتخاب کنید . | 
تنظیمات حل کننده
همگرا کردن مسئله با استفاده از یک حل کننده جدا شده آسان تر است .
در پنجره Model  Builder ، گره Shape  Optimization>Solver  Configurations را گسترش دهید .
راه حل 2 (sol2)
| 1 | در پنجره Model  Builder ، گره Shape  Optimization>Solver  Configurations>Solution  2  (sol2) را گسترش دهید ، سپس روی Optimization  Solver  1 کلیک کنید . | 
| 2 | در پنجره تنظیمات برای حل بهینه سازی  ، برای گسترش بخش پیشرفته کلیک کنید . | 
| 3 | از لیست Compensate  for  nojac  terms ، خاموش را انتخاب کنید . | 
| 4 | در پنجره Model  Builder ، گره Shape  Optimization>Solver  Configurations>Solution  2  (sol2)>Optimization  Solver  1>Stationary  1 را گسترش دهید . | 
| 5 | روی Stationary  1 کلیک راست کرده و Segregated را انتخاب کنید . | 
| 6 | در پنجره تنظیمات برای Segregated ، بخش General را پیدا کنید . | 
| 7 | از لیست تکنیک پایان  ، Iterations را انتخاب کنید . | 
| 8 | روی Segregated  1 کلیک راست کرده و Segregated  Step را انتخاب کنید . | 
| 9 | در پنجره تنظیمات برای مرحله جدا شده  ، فیلدهای الکتریکی را در قسمت متن برچسب تایپ کنید . | 
| 10 | قسمت General را پیدا کنید . در قسمت متغیرها ، روی   افزودن کلیک کنید . | 
| 11 | در کادر محاورهای افزودن ، در لیست متغیرها ، فیلد الکتریکی  ( فریمهای فضایی و مادی ) (comp1.E) و ترجمه ( فریم هندسی ) (comp1.tsf1.move) را انتخاب کنید . | 
| 12 | روی OK کلیک کنید . | 
| 13 | در پنجره Model  Builder ، روی Segregated  Step کلیک کنید . | 
| 14 | در پنجره تنظیمات برای مرحله جدا شده  ، بخش عمومی را پیدا کنید . | 
| 15 | در لیست متغیرها ، فیلد الکتریکی  (قاب های فضایی و متریال ) (comp1.E) را انتخاب کنید . | 
| 16 | در قسمت متغیرها ،   روی حذف کلیک کنید . | 
| 17 | در قسمت نوشتار Label ، Optimization را تایپ کنید . | 
مرحله 1: دامنه طول موج
| 1 | در پنجره Model  Builder ، در قسمت Shape  Optimization روی مرحله  1:  دامنه طول موج  کلیک کنید . | 
| 2 | در پنجره تنظیمات دامنه طول موج  ، بخش تنظیمات مطالعه را پیدا کنید . | 
| 3 | در قسمت متن طول موج ، 1[um] 1.3[um] را تایپ کنید . | 
این یک راه حل برای طول موج فضای آزاد 1  میکرومتر و یک راه حل برای طول موج فضای آزاد 1.3  میکرومتر به شما می دهد .
| 4 | در نوار ابزار مطالعه ،   روی محاسبه کلیک کنید . | 
نتایج
میدان الکتریکی (ewfd) 1
در نوار ابزار Electric Field (ewfd) 1 ، روی  Plot کلیک کنید .
 Plot کلیک کنید .
 Plot کلیک کنید .
 Plot کلیک کنید .سطح 1
| 1 | در پنجره Model  Builder ، گره Electric  Field  (ewfd)  1 را گسترش دهید ، سپس روی Surface  1 کلیک کنید . | 
| 2 | در پنجره تنظیمات برای Surface ، روی Replace  Expression در گوشه سمت راست بالای بخش Expression کلیک کنید . از منو، Component  1  (comp1)>Electromagnetic  Waves،  Frequency  Domain>Electric>Electric (  قاب های  فضایی  و  مادی  )  –  V/m>ewfd.Ez  –  Electric  field،  z-component را انتخاب کنید . | 
| 3 | قسمت Coloring  and  Style را پیدا کنید .   روی تغییر  جدول رنگ  کلیک کنید . | 
| 4 | در کادر محاوره ای Color  Table ، Wave>WaveLight را در درخت انتخاب کنید. | 
| 5 | روی OK کلیک کنید . | 
| 6 | در نوار ابزار Electric Field (ewfd) 1 ، روی   Plot کلیک کنید . | 
| 7 | در پنجره تنظیمات برای Surface ، روی   Plot  Previous کلیک کنید . | 
ارزیابی جهانی 2
هدف را برای طراحی بهینه محاسبه کنید تا بررسی کنید که انتقال برای مورد 1 میکرومتر افزایش یافته و برای مورد 1.3 میکرومتر کاهش یافته است.
| 1 | در پنجره Model  Builder ، در Results>Transmission روی Global  Evaluation  1 کلیک راست کرده و Duplicate را انتخاب کنید . | 
| 2 | در پنجره تنظیمات برای ارزیابی جهانی  ، بخش داده را پیدا کنید . | 
| 3 | از لیست Dataset ، Shape  Optimization/Solution  2  (sol2) را انتخاب کنید . | 
| 4 | در نوار ابزار انتقال ،   روی ارزیابی کلیک کنید . | 
بند انگشتی
یک نمودار برای تصویر کوچک مدل بسازید.
| 1 | در نوار ابزار صفحه اصلی ، روی   Add  Plot  Group کلیک کنید و 2D  Plot  Group را انتخاب کنید . | 
| 2 | در پنجره تنظیمات برای گروه طرح دو بعدی  ، Thumbnail را در قسمت نوشتار برچسب تایپ کنید . | 
| 3 | قسمت Plot  Settings را پیدا کنید . کادر بررسی لبه های مجموعه داده Plot را  پاک کنید . | 
خط 1
| 1 | روی Thumbnail کلیک راست کرده و Line را انتخاب کنید . | 
| 2 | در پنجره تنظیمات برای Line ، قسمت Coloring  and  Style را پیدا کنید . | 
| 3 | از لیست نوع خط  ، لوله را انتخاب کنید . | 
| 4 | در قسمت متن بیان شعاع لوله  ، 3e-9 را تایپ کنید . | 
| 5 | چک باکس Radius  scale  factor را انتخاب کنید . | 
| 6 | از لیست Coloring ، Uniform را انتخاب کنید . | 
| 7 | از لیست رنگ ، خاکستری را انتخاب کنید . | 
فیلتر 1
| 1 | روی خط  1 کلیک راست کرده و Filter را انتخاب کنید . | 
| 2 | در پنجره تنظیمات برای فیلتر ، قسمت انتخاب عنصر  را پیدا کنید . | 
| 3 | در قسمت عبارت Logical  for inclusion متن، (5e-7<Xg)*(Yg<28e-7)*(7e-7<Yg) را تایپ کنید . | 
خط 2
| 1 | در پنجره Model  Builder ، در Results>Thumbnail روی خط  1 کلیک راست کرده و Duplicate را انتخاب کنید . | 
| 2 | در پنجره تنظیمات برای خط ، بخش داده را پیدا کنید . | 
| 3 | از لیست Dataset ، Shape  Optimization/Solution  2  (sol2) را انتخاب کنید . | 
| 4 | قسمت Coloring  and  Style را پیدا کنید . از لیست رنگ ، سیاه را انتخاب کنید . | 
پیکان خط 1
| 1 | در پنجره Model  Builder ، روی Thumbnail کلیک راست کرده و Arrow  Line را انتخاب کنید . | 
| 2 | در پنجره تنظیمات برای خط پیکان  ، بخش داده را پیدا کنید . | 
| 3 | از لیست Dataset ، Shape  Optimization/Solution  2  (sol2) را انتخاب کنید . | 
| 4 | قسمت Expression را پیدا کنید . در قسمت متن X-component ، material.dX را تایپ کنید . | 
| 5 | در قسمت متن Y-component ، material.dY را تایپ کنید . | 
| 6 | قسمت تعیین موقعیت پیکان  را پیدا کنید . در قسمت متنی Number of arrows ، 1e3 را تایپ کنید . | 
| 7 | قسمت Coloring  and  Style را پیدا کنید . از لیست پایه پیکان  ، Head را انتخاب کنید . | 
| 8 | تیک گزینه Scale  factor را انتخاب کنید . در فیلد متن مرتبط، 1 را تایپ کنید . | 
فیلتر 1
در پنجره Model  Builder ، در Results>Thumbnail>Line  1 روی Filter  1 راست کلیک کرده و Copy را انتخاب کنید .
فیلتر 1
در پنجره Model  Builder ، روی Arrow  Line  1 کلیک راست کرده و Paste  Filter را انتخاب کنید .
بیان رنگ 1
| 1 | روی Arrow  Line  1 کلیک راست کرده و Color  Expression را انتخاب کنید . | 
| 2 | در پنجره تنظیمات برای Color  Expression ، بخش Expression را پیدا کنید . | 
| 3 | در قسمت متن Expression ، sqrt(material.dX^2+material.dY^2) را تایپ کنید . | 
| 4 | قسمت Coloring  and  Style را پیدا کنید . تیک Color  legend را پاک کنید . | 
| 5 | در نوار ابزار Thumbnail ، روی   Plot کلیک کنید . | 
 
