آموزش FDTD: دو شکاف (موج سینوسی پیوسته)
1. مقدمه
آزمایش دو شکاف، نمایش کلاسیک این است که نور مانند موج رفتار میکند. یک منبع همدوس دو روزنه باریک را روشن میکند و میدانهای عبوری به ناحیه فراتر از شکافها گسترش مییابند. چون هر دو روزنه جبههموجهای همدوس گسیل میکنند، با یکدیگر تداخل دارند: نواحیای که فاز در آنها همراستا است، بیشینههای شدت را تشکیل میدهند، در حالی که نواحی با فاز مخالف، کمینهها را ایجاد میکنند. نتیجه یک الگوی پراش بادبزنیشکل مشخص است که توسط نوارهای تداخل مدوله شده است.
شما مثال داخلی Double slit را اجرا خواهید کرد، تأیید میکنید که یک دستگاه OpenCL شناسایی شده است (تا شبیهسازی در صورت وجود روی GPU اجرا شود)، و سپس snapshotهای چگالی توان را بررسی میکنید تا ببینید جبههموجها چگونه از دو بازشدگی پراش مییابند و الگوی تداخل مورد انتظار را در ناحیه فضای آزاد تشکیل میدهند.
2. ساخت یک شبیهسازی جدید
از پنجره اصلی OghmaNano شروع کنید و روی New simulation کلیک کنید. در مرورگر New simulation، روی FDTD examples دوبار کلیک کنید و سپس روی Double slit دوبار کلیک کنید (??, ??). این کار پنجره اصلی شبیهسازی نشاندادهشده در ?? را باز میکند.
3. آشنا شدن با پنجره اصلی
پس از بارگذاری مثال، هندسه در تب Device structure نمایش داده میشود (??). تب Terminal خروجی حلگر را در حین اجرا نمایش میدهد، از جمله فاصله شبکه، گام زمانی، و اینکه کدام دستگاه OpenCL انتخاب شده است. تب Output فایلهای تولیدشده توسط شبیهسازی را فهرست میکند، از جمله پوشه snapshotها که شامل دادههای چگالی توان وابسته به زمان است.
4. اجرای شبیهسازی
محاسبه را با کلیک روی Run simulation (▶) یا فشار دادن F9 شروع کنید. خروجی حلگر در تب Terminal ظاهر میشود (??). در این مثال میتوانید یک خط وضعیت سبز ببینید که نشان میدهد OghmaNano در حال searching for OpenCL devices است، و یک دستگاه OpenCL پیدا شده و انتخاب شده است.
این موضوع برای کارایی مهم است. اگر یک GPU سازگار با OpenCL موجود باشد (یکپارچه یا مجزا)، OghmaNano میتواند گامهای بهروزرسانی FDTD را بهجای CPU روی GPU اجرا کند، که معمولاً برای این محاسبات شبکهمبنا بهطور قابل توجهی سریعتر است. بیشتر رایانههای مدرن حداقل یک دستگاه OpenCL فراهم میکنند، بنابراین در بسیاری از موارد دستگاهی بهطور خودکار انتخاب میشود. اگر هیچ دستگاه سازگاری پیدا نشود، شبیهسازی همچنان روی CPU اجرا میشود؛ فقط زمان بیشتری خواهد برد.
5. بررسی خروجیها
وقتی اجرا کامل شد، تب Output را باز کنید تا فایلهای تولیدشده توسط شبیهسازی را ببینید. فهرست خروجی در
??
نشان داده شده است.
از اینجا میتوانید پوشه snapshots/ را باز کنید که شامل کمیتهای وابسته به میدان
ذخیرهشده در طول اجرا است.
snapshots/ را باز کنید.
6. مشاهده snapshotهای چگالی توان
در تب Output روی پوشه snapshots/ دوبار کلیک کنید تا نمایشگر snapshot باز شود. سپس
power_density.csv را بهعنوان فایل برای ترسیم انتخاب کنید. نوار لغزنده در پایین نمایشگر در طول زمان گام برمیدارد و به شما امکان میدهد
ببینید چگالی انرژی الکترومغناطیسی چگونه با پیشرفت شبیهسازی تکامل مییابد.
توالی نشاندادهشده در ??– ?? فیزیک مورد انتظار را نشان میدهد. موج سینوسی پیوسته وارد ساختار میشود، به دو روزنه میرسد، و سپس به ناحیه فراتر از شکافها پراش مییابد. چون دو گسیلکننده همدوس وجود دارند، جبههموجهای گسترشیابنده روی هم میافتند و تداخل میکنند و یک ناحیه پراش بادبزنیشکل با نوارهای متناوب متناظر با تداخل سازنده و مخرب تولید میشود.
طرح رنگ نمایشگر snapshot را میتوان با کلیک روی Colors تغییر داد. این کار نتیجه شبیهسازی را تغییر نمیدهد، بلکه فقط نحوه نگاشت همان دادهها به پالت نمایشی را عوض میکند. برای انتشار یا آموزش، ممکن است تغییر پالت مفید باشد تا نوارهای تداخل در برابر پسزمینه بهتر دیده شوند.
7. تفسیر آنچه میبینید
ویژگی کلیدی نتیجه دو شکاف، ترکیب دو اثر است. نخست، هر روزنه پراش ایجاد میکند، بنابراین حتی یک شکاف منفرد نیز میدان عبوری را به توزیعی گسترشیابنده پهن میکند. دوم، چون دو روزنه وجود دارد که از همان منبع همدوس تغذیه میشوند، میدانهای عبوری با فاز مرتبط باقی میمانند، بنابراین برهمنهی آنها نوارهای تداخل ایجاد میکند. در snapshotها این موضوع بهصورت یک الگوی ساختاریافته در ناحیه فراتر از شکافها ظاهر میشود، جایی که نوارهای چگالی توان بالا با نواحی کمتوانتر از هم جدا شدهاند.
در یک اجرای موج سینوسی پیوسته (CW)، معمولاً یک گذرای اولیه وجود دارد که دامنه با میدان تزریقشده پر میشود، و سپس رژیمی دنبال میشود که در آن میدان بهصورت سینوسی نوسان میکند و الگوی چگالی توان در زمان پایدار به نظر میرسد وقتی با آهنگ snapshot مشاهده میشود. اگر بازتابهای کاذب قوی، نوارهای روشن غیرمنتظره نزدیک مرزها، یا میدانی ناپایدار و رو به رشد ببینید، مظنونهای معمول عبارتاند از شرایط مرزی، ضخامت ناکافی لایه جذبکننده، یا گام زمانی بیشازحد تهاجمی برای تفکیکپذیری شبکه انتخابشده.
8. بررسیهای سریع و حالتهای خرابی متداول
- بازتابهای غیرمنتظره: بررسی کنید که مرزهای جذبکننده (CPML) فعال و بهاندازه کافی ضخیم باشند و منابع بیشازحد به مرز نزدیک نباشند.
- الگو «بلوکبلوک» یا اعوجاجدار به نظر میرسد: تفکیکپذیری مکانی را نزدیک شکافها افزایش دهید، زیرا ویژگیهای تیز بیشترین حساسیت را به پاشندگی شبکه دارند.
- اجرای کند: خروجی Terminal را برای انتخاب دستگاه OpenCL بررسی کنید؛ اگر اجرا روی CPU باشد، کندتر خواهد بود.
- عدم وجود بادبزن تداخلی واضح: مطمئن شوید تحریک همدوس است و در حال ترسیم
power_density.csvازsnapshots/هستید نه یک خروجی نامرتبط.
9. فعالسازی آشکارسازهای نوری
مثال دو شکاف میتواند بهصورت اختیاری توان نوری فرودی بر نواحی آشکارساز تعریفشده توسط کاربر را ثبت کند. این آشکارسازها مانند پنجرههای کوچک پایش قرارگرفته در دامنه شبیهسازی عمل میکنند: در طول اجرا، OghmaNano توان عبوری از هر ناحیه آشکارساز را انتگرالگیری میکند و یک ردّ زمانی را در پوشه خروجی ذخیره میکند.
برای فعالسازی آشکارسازها، به نوار Optical بروید و دکمه Optical Detectors را پیدا کنید، که با نماد دوربین بهسبک CCD نشان داده شده است (??).
با کلیک روی Optical Detectors ویرایشگر آشکارساز باز میشود. در این مثال دو آشکارساز وجود دارد (با نامهای one و two) و هر دو در ابتدا غیرفعال هستند. وقتی آشکارساز غیرفعال باشد، نوار ابزار یک وضعیت قرمز Disabled را نشان میدهد. روی دکمه غیرفعال کلیک کنید تا فعال شود؛ نشانگر سبز میشود تا نشان دهد آشکارساز فعال است (??, ??). این کار را برای آشکارساز دوم نیز تکرار کنید تا هر دو فعال شوند.
در ویرایشگر آشکارساز همچنین میتوانید موقعیت آشکارساز (x، y، z) و اندازه آن بر حسب میکرومتر را ببینید. برای این آموزش نیازی به تغییر هیچیک از این مقادیر ندارید؛ مثال از پیش پیکربندی شده است تا یک نکته فیزیکی مهم را نشان دهد: یک آشکارساز در ناحیهای با شدت پراشیافته بالا قرار گرفته است، در حالی که آشکارساز دیگر در ناحیهای قرار دارد که میدان پراشیافته در آن نسبتاً ضعیف است.
10. اجرا دوباره و مشاهده خروجیهای آشکارساز
پس از فعالسازی آشکارسازها، شبیهسازی را دوباره اجرا کنید (▶ یا F9). وقتی اجرا کامل شد، تب Output را باز کنید.
اکنون باید دو ورودی خروجی اضافی متناظر با نتایج آشکارساز ببینید (برای مثال detector0 و
detector1)، همانطور که در
??
نشان داده شده است.
روی هر ورودی آشکارساز دوبار کلیک کنید تا نمودار توان-برحسب-زمان آن باز شود
(??,
??).
تفاوت بین دو ردّ زمانی با مقایسه مقیاسهای عمودی آنها سادهتر درک میشود. یک آشکارساز توان را در سطح تنها چند میکرووات (یا کمتر) ثبت میکند، در حالی که دیگری پس از رسیدن میدان پراشیافته به آن یک سیگنال بهمراتب بزرگتر ثبت میکند. شروع با تأخیر در هر دو ردّ زمانی مورد انتظار است: شبیهسازی در t=0 با روشن شدن منبع شروع میشود و آشکارسازها تا زمانی که موج الکترومغناطیسی از منبع، از میان شکافها و در طول ناحیه فضای آزاد به مکان آنها نرسد، نمیتوانند پاسخ دهند.
11. تفسیر فیزیکی: آشکارسازها و لوبهای پراش
هدف از قرار دادن دو آشکارساز، اتصال دادههای حوزه زمان به الگوی پراش فضایی است. در یک سامانه دو شکاف، ساختار میدان دور یکنواخت نیست: جهتهایی وجود دارند که در آن سهم دو شکاف بهصورت سازنده جمع میشود (شدت بالا)، و جهتهایی که در آن سهمها بهصورت مخرب جمع میشوند (شدت پایین). به بیان دیگر، میدان پراشیافته لوبها و فرورفتگیهایی تشکیل میدهد و توان اندازهگیریشده توسط آشکارساز بهشدت به این بستگی دارد که آشکارساز در یک ناحیه روشن قرار گرفته باشد یا در یک صفر.
این موضوع مستقیماً در نمای snapshot با حضور آشکارسازها قابل مشاهده است (??). یک آشکارساز در مسیر یک لوب پراش قوی قرار دارد و بنابراین توان نوری قابل توجهی جمع میکند. آشکارساز دیگر در ناحیهای قرار دارد که تداخل عمدتاً مخرب است (یک فرورفتگی در الگو)، بنابراین توان نسبتاً کمی از ناحیه پایش آن عبور میکند. به همین دلیل است که دو ردّ خروجی حتی با وجود یکسان بودن سایر ویژگیهای آشکارسازها، چندین مرتبه بزرگی با هم تفاوت دارند.
از نظر مفهومی، این همان فیزیکی است که در اندازهگیری نوری و تصویربرداری استفاده میشود: آشکارساز یک «توان کل» انتزاعی از شبیهسازی را اندازه نمیگیرد، بلکه هر بخشی از میدان را که از سطح محدود آن در مکان مشخصش عبور میکند اندازه میگیرد. جابهجا کردن آشکارساز فقط بهاندازهای کوچک میتواند آن را از یک نوار روشن به نوار تاریک مجاور منتقل کند، که این امر میتواند توان اندازهگیریشده را بهطور چشمگیری تغییر دهد. در سامانههای عملی، این حساسیت دقیقاً همان دلیلی است که الگوهای پراش و تداخل مفید هستند: آنها اطلاعات هندسی (فاصله شکافها، اندازه روزنه، طول موج) را به توزیعهای شدت قابل اندازهگیری رمزگذاری میکنند.
12. تنظیم شکاف
یکی از مزیتهای آزمایش عددی FDTD این است که هندسه را میتوان بهصورت تعاملی تغییر داد و رفتار نوری حاصل را بلافاصله بررسی کرد. در این بخش موقعیت المان مرکزی مسدودکنندهای را که روزنه دوشکاف را تشکیل میدهد تغییر میدهیم و مشاهده میکنیم که این کار چگونه الگوی پراش و توان آشکارشده توسط دو آشکارساز نوری را تغییر میدهد.
با استفاده از ماوس در پنجره دستگاه 3D، بلوک مرکزی تشکیلدهنده دو شکاف را انتخاب کنید و آن را به سمت چپ ساختار بکشید، همانطور که در ?? نشان داده شده است. بهطور معمول اشیاء هنگام کشیده شدن نمیتوانند از یکدیگر عبور کنند، اما اگر بلوک با شیء دیگری برخورد کرد، میتوانید هنگام کشیدن کلید Shift را نگه دارید. این کار اجازه میدهد بلوک از میان هندسههای دیگر عبور کند تا بتوان آن را بهراحتی جابهجا کرد.
پس از جابهجایی بلوک، شبیهسازی را دوباره اجرا کنید (▶ یا F9). توزیع میدان نوری حاصل در ?? نشان داده شده است.
در این پیکربندی، پرتو نوری دیگر به دو منبع پراشیافته قابل مقایسه تقسیم نمیشود. در عوض، نور عمدتاً از یک بازشدگی عبور میکند و بهصورت مستقیمتر رو به جلو منتشر میشود. مقداری پراش همچنان رخ میدهد، زیرا هر روزنه محدود مطابق با اپتیک موجی باعث گسترش میشود، اما الگوی تداخلی که پیشتر توسط دو شکاف همدوس تولید میشد اکنون بسیار ضعیفتر است. در نتیجه، آشکارسازها نسبت به هندسه اولیه توان نوری بسیار کمی دریافت میکنند.
13. جابهجایی بلوک به سمت منبع
در ادامه هندسه را به روشی دیگر تغییر میدهیم. دوباره با استفاده از ماوس، بلوک مرکزی را به عقب و به سمت منبع نوری بکشید، همانطور که در ?? نشان داده شده است. مانند قبل، میتوانید هنگام کشیدن کلید Shift را نگه دارید تا بلوک در صورت نیاز از میان اشیای دیگر عبور کند.
وقتی بلوک در موقعیت جدید قرار گرفت، شبیهسازی را دوباره اجرا کنید. توزیع میدان حاصل در ?? نشان داده شده است.
نزدیکتر کردن المان مسدودکننده به منبع، هندسه مؤثر روزنه را تغییر میدهد و بنابراین توزیع فضایی میدان نوری عبوری را دگرگون میکند. چون پراش به شکل و موقعیت روزنه نسبت به جبههموج ورودی حساس است، حتی تغییرات هندسی نسبتاً کوچک نیز میتوانند ساختار تداخلی حاصل را بهطور معنیداری تغییر دهند. در این حالت پرتوهای پراشیافته با زاویههای متفاوتی خارج میشوند و الگوی تداخل متناسب با آن تغییر میکند.
این موضوع یکی از ویژگیهای کلیدی شبیهسازیهای اپتیک موجی را نشان میدهد: الگوهای پراش کاملاً توسط هندسه و طول موج تعیین میشوند. با تغییر چیدمان فیزیکی ساختار، میتوانید بررسی کنید که شکل روزنه، فاصله شکافها و جایگذاری موانع چگونه توزیع میدان نوری حاصل و توان اندازهگیریشده توسط آشکارسازهای قرارگرفته درون دامنه شبیهسازی را تحت تأثیر قرار میدهند.
14. افزودن یک عدسی با استفاده از ویرایشگر مش
در بخشهای قبل بررسی کردیم که چگونه تغییر هندسه روزنه، الگوی پراش را تغییر میدهد. در این بخش پایانی یک گام جلوتر میرویم و نشان میدهیم چگونه میتوان یک شیء ساده را با استفاده از Mesh editor به یک مش پیچیدهتر تبدیل کرد. این یک روند کاری قدرتمند در OghmaNano است: میتوانید با اشکال ساده شروع کنید تا درک اولیه شکل بگیرد، سپس بهتدریج مؤلفههای نوری واقعگرایانهتری مانند عدسیها، سطوح خمیده، و مشهای CAD واردشده را اضافه کنید.
ابتدا نمای دستگاه را دوباره طوری تنظیم کنید که با ?? مطابقت داشته باشد. سپس روی بلوک مرکزی ساختار دوشکاف راستکلیک کرده و Mesh editor را باز کنید. این کار ویرایشگر نشاندادهشده در ?? را باز میکند. در ویرایشگر مش، روی دکمه Lens کلیک کنید و پارامترها را دقیقاً همانطور که در ?? نشان داده شده است وارد کنید.
با این مقادیر میتوانید یک شیء عدسیشکل ایجاد کنید. اگر عدسی را در جهت پیشفرض خود رها کنید، در نمای دستگاه بهصورت یک عدسی «تخت» ظاهر میشود، همانطور که در ?? نشان داده شده است. برای این آموزش نمیخواهیم عدسی بهصورت تخت در صفحه شبیهسازی قرار گرفته باشد، زیرا در این حالت میدان نوری بهصورت معناداری با آن برهمکنش نخواهد داشت. عدسی باید چرخانده شود تا عمود قرار گیرد و جبههموج در حال انتشار را قطع کند.
15. چرخاندن عدسی و تنظیم یک ماده نوری
برای چرخاندن شیء عدسی جدید، روی عدسی راستکلیک کرده و Object editor را باز کنید. این کار ویرایشگر نشاندادهشده در ?? را باز میکند. زاویههای چرخش را دقیقاً مطابق شکل روی 90، 90 و 0 (x، y، z) تنظیم کنید. این کار عدسی را طوری میچرخاند که در مسیر انتشار عمود بایستد و بتواند با میدان ورودی برهمکنش قوی داشته باشد.
در حالی که هنوز در ویرایشگر شیء هستید، با انتخاب ماده نوری نشاندادهشده در شکل، عدسی را از نظر نوری شفاف کنید: inorganic/Si/Green-2008. این یک پروفایل مناسب ضریب شکست پهنباند برای سیلیکون است که برای نشان دادن رفتار شکست و کانونیسازی مناسب است. با تخصیص این ماده، عدسی به یک شیء شکستدهنده واقعی تبدیل میشود، نه صرفاً یک مانع هندسی.
پس از تنظیم چرخش و ماده، هندسه باید مانند ?? به نظر برسد، جایی که عدسی بهصورت عمودی در ناحیه شبیهسازی قرار دارد.
16. اجرای شبیهسازی FDTD با عدسی
شبیهسازی را با حضور عدسی دوباره اجرا کنید. یک snapshot نماینده از چگالی توان در ?? نشان داده شده است. بهوضوح میتوان دید که جبههموج ورودی با سطح شکستدهنده خمیده برهمکنش میکند: بخشی از میدان از عدسی عبور کرده و شکسته میشود، و بخشی نیز به سمت منبع بازتاب میشود.
میدان عبوری ناحیهای با ساختار جبههموج بسیار متراکمتر درون و اطراف عدسی تشکیل میدهد، و میدان خروجی شواهدی از کانونیسازی نشان میدهد: انرژی عبوری بهجای اینکه مانند حالت روزنه بدون عدسی آزادانه پخش شود، به سمت ناحیه کوچکتری متمرکز میشود. در عین حال، بازتاب از عدسی بخش قابل توجهی از توان نوری را به سمت ناحیه روزنه بازمیگرداند، که این امر مقدار توان رسیده به آشکارسازهای قرارگرفته در پاییندست را کاهش میدهد. این دقیقاً همان چیزی است که از نظر فیزیکی انتظار میرود: یک المان شکستدهنده در مرزهای خود ناهماهنگی امپدانس ایجاد میکند، و مگر آنکه عدسی پوشش ضدبازتاب داشته باشد یا از نظر ضریب شکست تطبیقیافته باشد، بازتاب فرنل میتواند قابل توجه باشد.
این مثال نشان میدهد که چرا ابزارهای «تبدیل مش» در شبیهسازیهای عملی اهمیت دارند. حتی سامانههای ساده نیز بهسرعت تحت تأثیر سطوح خمیده و مؤلفههای نوری مهندسیشده قرار میگیرند. توانایی تبدیل یک بلوک ساده به یک عدسی (یا هر شیء مش دیگر) به شما امکان میدهد اپتیک را مستقیماً در همان روند کاری مورد استفاده برای FDTD بسازید. از همین رویکرد میتوان برای ایجاد و مطالعه ریزعدسیها، متمرکزکنندهها، عناصر نوری پراشی، ساختارهای شکلدهی جبههموج، یا هندسههای CAD واردشده برای دستگاههای واقعگرایانه استفاده کرد.