1.مشبندی
1. مشبندی چیست؟
مشبندی فرایند تقسیم یک ناحیه فیزیکی پیوسته به مجموعهای از نقاط گسسته است که بتوان آنها را توسط رایانه پردازش کرد. برای مثال، جریان گرما را در امتداد یک میله فلزی از شعله شمع در یک انتها تا یک قطعه یخ در انتهای دیگر تصور کنید. در واقعیت، دما بهصورت پیوسته در طول میله تغییر میکند، اما یک شبیهسازی نمیتواند بینهایت مقدار را ذخیره کند. در عوض، میله با تعداد محدودی از نقاط نمونهبرداری (یک مش) نمایش داده میشود، و محاسبات فقط در همان مکانها انجام میشوند (نگاه کنید به ??). با کار کردن با یک مش، یک مسئله ذاتاً پیوسته را به مسئلهای گسسته تبدیل میکنیم که میتوان آن را با استفاده از روشهای عددی حل کرد. این اصل زیربنای روش تفاضل محدود، روش اجزای محدود، و دیگر رویکردهای محاسباتی است که بهطور گسترده در فیزیک و مهندسی استفاده میشوند.
2. مشهای مختلف برای مسائل مختلف
در OghmaNano، سه مدل فیزیکی اصلی حل میشوند: مدل نوری (جذب و انتشار نور)، مدل حرارتی (تولید و جریان گرما)، و مدل الکتریکی (انتقال بار و بازترکیب). هر یک از این فرایندها معمولاً در مقیاسهای طولی بسیار متفاوتی رخ میدهند، بنابراین هر کدام به مش مخصوص خود نیاز دارند. برای مثال:
- سلول خورشیدی آلی: اثرات الکتریکی مهم در لایه فعال (با ضخامت ≈100 nm) متمرکز هستند، بنابراین معادلات drift–diffusion فقط باید در همانجا حل شوند. با این حال، نور با تمام لایههای پشته دستگاه (با ضخامت ≈1 µm) برهمکنش دارد، بنابراین مسئله نوری باید در کل دستگاه حل شود. در این حالت، مش نوری کل پشته را پوشش میدهد، در حالی که مش الکتریکی بر لایه فعال متمرکز است.
- دیود لیزری چاه کوانتومی: دستگاه ممکن است در چاههای کوانتومی خود (با ضخامت ≈30 nm) و لایههای موجبر (با ضخامت ≈1 µm) گرمای قابل توجهی تولید کند، اما این گرما در نهایت از طریق یک هیتسینک بزرگ مسی با ضخامت چند سانتیمتر دفع میشود. در اینجا، اثرات الکتریکی باید در مقیاس نانومتر تا میکرومتر درون دستگاه مدلسازی شوند، در حالی که اثرات حرارتی به مشی نیاز دارند که تا مقیاس سانتیمتری هیتسینک گسترش یابد.
در عمل، این بدان معناست که اثرات فیزیکی مختلف باید در مقیاسهای طولی مختلف شبیهسازی شوند. علاوه بر این، ساختارهای دستگاه اغلب شامل لایههای تماس یا رابط بسیار نازکی هستند که فقط چند نانومتر ضخامت دارند. از نظر نوری، چنین لایههایی بسیار کوچکتر از طول موج نور هستند و اغلب میتوان آنها را نادیده گرفت، اما از نظر الکتریکی بحرانی هستند زیرا رفتار جریان–ولتاژ دستگاه را تعیین میکنند. برای ثبت این اثرات، باید در آن نواحی از یک مش الکتریکی بسیار ریز استفاده کنید، در حالی که مش نوری میتواند درشتتر باقی بماند و از روی آنها عبور کند.
OghmaNano هنگام کوپل کردن مدلها بهطور خودکار بین مشها درونیابی میکند. برای مثال، اگر یک پروفایل حرارتی را روی مش حرارتی تعریف کنید ولی حلگر الکتریکی به مقادیر دمای موضعی نیاز داشته باشد، این مقادیر از طریق درونیابی منتقل میشوند. همین موضوع برای کمیتهای نوری مانند نرخ تولید حامل نیز صادق است، که در صورت نیاز از مش نوری روی مش الکتریکی درونیابی میشوند. شما بهعنوان کاربر نیازی ندارید این انتقالها را بهصورت دستی مدیریت کنید.
3. سه مش OghmaNano
OghmaNano سه مش مستقل ارائه میدهد - حرارتی، نوری، و الکتریکی - که بسته به مسئلهای که حل میشود میتوان آنها را جداگانه تعریف کرد. هر مش از تب ریبون متناظر خود قابل دسترسی است، همانطور که در شکل ?? نشان داده شده است.
3.1 مش الکتریکی
با کلیک روی دکمه Electrical mesh در ریبون Electrical پنجره ویرایشگر مش باز میشود (??). در بالای این پنجره دکمههای X، Y و Z قرار دارند. این دکمهها تعیین میکنند که کدام ابعاد مکانی در شبیهسازی فعال باشند. برای مثال، فعال کردن فقط Y یک شبیهسازی 1D را فعال میکند، در حالی که فعال کردن همزمان X و Y یک شبیهسازی 2D را تنظیم میکند. در مثال نشاندادهشده، هر دو X و Y فعال هستند، بنابراین مش برای یک شبیهسازی 2D OFET پیکربندی شده است. جدولهای مرکزی مانند صفحهگسترده عمل میکنند و ساختار مش را برای هر بعد فعال تعریف میکنند. ستونهای اصلی آنها عبارتاند از:
- Thickness: ضخامت فیزیکی هر ناحیه مش.
- Mesh points: تعداد نقاط گسستهسازی در آن ناحیه.
- Step multiply: میزان رشد فاصله شبکه درون آن ناحیه.
برای مثال، مقدار
1.1هر گام را نسبت به گام قبلی 10% افزایش میدهد. - Left/Right: سمتی از دستگاه را تعیین میکند که مش از آن تولید میشود.
مشهای حاصل در نمودارهای پایین پنجره ترسیم میشوند و بازخورد فوری درباره فاصلهگذاری و توزیع نقاط ارائه میدهند. دکمه Import from layer editor یک میانبر برای دستگاههای پیچیده فراهم میکند. این دکمه مش Y را پاک میکند و بهطور خودکار تمام لایهها را از Layer Editor وارد میکند و برای هر لایه چهار نقطه مش اختصاص میدهد. این ویژگی بهویژه برای ساختارهایی با لایههای زیاد، مانند دیودهای لیزری، مفید است.
جزئیات مش الکتریکی: ?? نشان میدهد که مش الکتریکی چگونه ساخته میشود. مش دقیقاً از مرز دستگاه آغاز نمیشود، بلکه بهجای آن نیم فاصله مش در داخل دستگاه شروع میشود. این کار تضمین میکند که اولین گره محاسباتی درون ناحیه فعال شبیهسازی قرار گیرد و امکان اعمال شرایط مرزی (برای مثال، تماسهای الکتریکی) را در موقعیتهای مشخصی درست بیرون از مش فراهم میکند. همین قرارداد در لبه دور دستگاه نیز اعمال میشود، بنابراین مش نیم گام فراتر از آخرین نقطه فیزیکی امتداد مییابد.
- از مسائل عددی که هنگام تلاش برای ارزیابی مشتقها مستقیماً روی مرزها بهوجود میآیند جلوگیری میکند.
- اولین و آخرین نقاط مش را در موقعیتهایی قرار میدهد که بهترین نمایش از داخل فیزیکی دستگاه را ارائه میکنند، در حالی که همچنان امکان اعمال سازگار شرایط خارجی را فراهم میکنند.
مشبندی خودکار: ضخامت لایهها در layer editor تعریف میشوند. پس از تعریف ساختار فیزیکی دستگاه، کاربر باید electrical mesh را بهروزرسانی کند تا هندسه مش با ابعاد فیزیکی دستگاه منطبق باشد. در عمل، کاربران جدید اغلب متوجه نمیشوند که مش الکتریکی، مانند هر نمایش CAD، باید با اندازه شیء فیزیکی سازگار باشد.
برای کاهش خطاهای تنظیم، OghmaNano در زمان اجرا فرضیات مشبندی خودکار را اعمال میکند. شبیهسازی فرض میکند که عرضها و ارتفاعهای لایه مشخصشده در layer editor صحیح هستند و تلاش میکند این ابعاد را بهطور خودکار روی مش الکتریکی نگاشت کند. برای مثال، اگر یک دستگاه از یک لایه منفرد تشکیل شده باشد و ارتفاع مش متناظر نادرست باشد، شبیهسازی هنگام ساختن مش بهصورت داخلی از ضخامت لایه از layer editor استفاده خواهد کرد.
اگر تعداد لایههای دستگاه با تعداد لایههای عمودی مش یکسان باشد، هر لایه مش بهطور خودکار با ضخامت لایه متناظر دستگاه مرتبط میشود. این تنظیمات در طول شبیهسازی بهصورت داخلی اعمال میشوند و پارامترهای قابلمشاهده مش در ویرایشگر را تغییر نمیدهند. اگر تعداد لایههای مش با تعداد لایههای فعال دستگاه مطابقت نداشته باشد، یا اگر نگاشت مبهم باشد، مشبندی خودکار اعمال نمیشود و شبیهسازی با خطایی خاتمه مییابد که نشان میدهد تعریف مش با ساختار دستگاه سازگار نیست.
3.2 مش نوری
ویرایشگر مش نوری (??) از نظر چیدمان مشابه ویرایشگر مش الکتریکی است اما یک پنل اضافی برای تعریف مش طول موج دارد. در بالای پنجره، دکمههای X، Y و Z تعیین میکنند که کدام ابعاد مکانی فعال باشند، در حالی که دکمه λ (Wavelength) شبکه طیفی را فعال میکند.
پنل سمت چپ گسستهسازی مکانی را بر حسب نانومتر مشخص میکند و از همان ستونهای مش الکتریکی (Thickness، Mesh points، Step multiply و Left/Right) استفاده میکند. پنل سمت راست بازه طیفی را با تنظیم طول موجهای Start و Stop، تعداد points، و ضریب گام تعریف میکند. این نقاط طول موج در همه حلگرهای نوری، از جمله شبیهسازیهای ray tracing، FDTD، و transfer matrix بهطور سازگار استفاده میشوند.
مشبندی خودکار: برای شبیهسازیهای نوری، نرمافزار تلاش خواهد کرد که مش نوری را بهطور خودکار تنظیم کند تا ابعاد آن با مسئله نوری سازگار باشد. در شبیهسازیهای دوبعدی یا سهبعدی پیچیدهتر، اگر مشهای نوری و الکتریکی مطابقت نداشته باشند، حلگر تلاش خواهد کرد آنها را بهطور خودکار بهروزرسانی کند. اگر این کار ممکن نباشد، یا اگر پیکربندی مش مورد نظر را نتوان بدون ابهام تعیین کرد، شبیهسازی با یک خطای واضح خاتمه خواهد یافت که نشان میدهد تعریفهای مش ناسازگار هستند.
3.3 مش حرارتی
ویرایشگر مش حرارتی (??) به همان شیوه ویرایشگرهای مش الکتریکی و نوری کار میکند، با دکمههای X، Y و Z برای فعالسازی ابعاد مکانی. علاوه بر این، یک مش اختصاصی T (Temperature) نیز دارد.
مش دما هر زمان که شبیهسازیها نیاز داشته باشند وابستگی به دما را در نظر بگیرند استفاده میشود، برای مثال هنگام فعالسازی خودگرمایی یا هنگام ارزیابی خواص الکتریکی در یک بازه دمایی. پیش از اجرای شبیهسازی، OghmaNano کمیتهایی مانند چگالی حامل بر حسب تراز فرمی و دما، یا انتگرالهای فرمی–دیراک را از پیش محاسبه و جدولبندی میکند. این جداول به حلگر اجازه میدهند در طول اجرا مقادیر را بهسرعت جستوجو کند، بهجای آنکه آنها را بهطور مکرر محاسبه کند.
در بیشتر موارد مش حرارتی بهصورت خودکار مدیریت میشود، اما کاربران پیشرفته میتوانند بازه و تفکیکپذیری را برای تضمین دقت کافی در مسائل با وابستگی شدید به دما تنظیم کنند.
4. چه زمانی باید درباره مشبندی در OghmaNano نگران باشم؟
مش الکتریکی: Layer Editor یک دستگاه را به لایههایی از مواد مختلف تقسیم میکند (نگاه کنید به بخش 3.1.3). لایههایی که بهعنوان active علامتگذاری شدهاند، لایههایی هستند که مدل الکتریکی روی آنها اعمال میشود. برای این لایهها، باید یک مش تفاضل محدود تعریف شود. طول مش باید دقیقاً با طول لایه فعال مطابقت داشته باشد-در غیر این صورت خطا رخ خواهد داد. OghmaNano معمولاً بهطور خودکار یک مش مناسب تولید میکند، بنابراین برای بیشتر دستگاههای ساده این کار به مداخله دستی نیاز ندارد. با این حال، وقتی چندین لایه فعال وجود دارد، یا وقتی لازم است تعداد نقاط مش برای تسریع یک شبیهسازی کاهش یابد (یا برای دقت بیشتر افزایش یابد)، ممکن است لازم باشد مش الکتریکی بهصورت دستی پیکربندی شود.
مش نوری: مش نوری هم نمونهبرداری مکانی و هم طول موج را کنترل میکند. ممکن است لازم باشد برای تغییر بازه طول موج شبیهسازیشده یا برای ریزتر کردن نحوه برهمکنش نور با لایههای مختلف دستگاه تنظیم شود. افزایش تعداد نقاط مش دقت نوری را بهبود میدهد اما زمان شبیهسازی را افزایش میدهد.
مش حرارتی: مش حرارتی فقط زمانی مرتبط است که خودگرمایی فعال باشد. در این حالت، تفکیکپذیری لازم برای مدلسازی تغییرات دما در سراسر دستگاه و کوپل شدن اثرات حرارتی با تلهها و فرایندهای بازترکیب را فراهم میکند. در غیر این صورت، این مش بهطور خودکار توسط OghmaNano مدیریت میشود.
5. نکات مشبندی
آیا باید در 1D، 2D یا 3D شبیهسازی کنم؟
انتخاب بعد صحیح یکی از مهمترین تصمیمها هنگام تنظیم یک شبیهسازی است. همیشه از حداقل تعداد ابعاد مورد نیاز برای ثبت فیزیک مورد نظر استفاده کنید-این کار در زمان و منابع محاسباتی صرفهجویی میکند.
- سلولهای خورشیدی: معمولاً فقط به مشهای 1D نیاز دارند، زیرا تغییرات عمدتاً در راستای عمودی (ضخامت) هستند.
- فیلترهای نوری: آنها نیز معمولاً 1D هستند، زیرا تداخل نوری اصلی در راستای پشته رخ میدهد.
- OFETها: به 2D نیاز دارند، زیرا هم جریان عمودی از میان نیمرسانا و هم جریان جانبی بین سورس و درین باید حل شوند.
سرعت در برابر دقت
وسوسهانگیز است که فرض کنیم افزودن نقاط مش بیشتر همیشه دقت را بهبود میدهد. در عمل، نقاط بیشتر میتوانند کمک کنند-تا حدی- اما همچنین میتوانند یک شبیهسازی را کمدقتتر یا کمپایدارتر کنند. عامل محدودکننده اغلب قدرت خام محاسباتی نیست، بلکه وضعیت عددی است: بسیاری از شبیهسازیهای دستگاه شامل کمیتهایی هستند که در چندین مرتبه بزرگی با هم تفاوت دارند (برای مثال، چگالیها یا نرخهای بازترکیب بسیار کوچک در کنار میدانها، جریانها یا دوپینگهای بسیار بزرگ). چون رایانهها از حساب با دقت محدود استفاده میکنند، عملیات شامل اعداد بسیار بزرگ و بسیار کوچک میتواند ارقام معنادار را از دست بدهد. این از دست رفتن دقت میتواند بر بودجه خطا غالب شود و نوسانات کاذب، جریانهای نویزی، یا همگرایی ضعیف را تحریک کند.
افزایش چگالی مش میتواند این مشکل را بدتر کند، نه بهتر. یک مش ریزتر اغلب گرادیانهای موضعی تندتر، جملات مشتق بزرگتر، و کوپلینگ قویتر بین گرههای مجاور ایجاد میکند، که میتواند گستره بین کوچکترین و بزرگترین اعداد را در دستگاه خطی که باید حل شود افزایش دهد. نتیجه میتواند مسئلهای با وضعیت بدتر باشد، که در آن حلگر برای تشخیص فیزیک واقعی از نویز عددی دچار مشکل میشود. در چنین مواردی، یک مش کمی درشتتر میتواند میدانهای نرمتر، وضعیت بهتر، و در نتیجه نتایج قابلاعتمادتر تولید کند-حتی اگر تعداد نقاط کمتری داشته باشد.
یک روند کاری خوب این است که با یک مش درشت شروع کنید تا تنظیمات را اعتبارسنجی کرده و تأیید کنید که رفتار کیفی درست است، سپس فقط به اندازه لازم آن را ریزتر کنید. ریزکردن مش باید مبتنی بر شواهد باشد: اگر خروجیهای کلیدی (مثلاً منحنیهای JV، پروفایلهای حامل، تولید نوری) با افزودن نقاط بیشتر دیگر تغییر معناداری نکنند، ریزتر کردن بیشتر بعید است دقت را بهبود دهد.
هنگام تنظیم یک دستگاه در OghmaNano، دستورالعملهای زیر را در نظر داشته باشید:
- از حداقل بعد ممکن استفاده کنید: هر زمان ممکن است 1D؛ فقط زمانی به 2D/3D بروید که فیزیک به آن نیاز داشته باشد.
- در صورت امکان تعداد نقاط مش را کمینه کنید: کمترین تعداد نقاطی را هدف بگیرید که همچنان فیزیک اساسی را ثبت میکند. این کار سرعت را بهبود میدهد و میتواند استحکام عددی را نیز بهبود دهد.
- نقاط بیشتر ≠ همیشه بهتر: اگر افزایش چگالی مش به جریانهای نویزی، مشکلات همگرایی یا پروفایلهای ناپایدار منجر شود، تعداد نقاط را کاهش دهید و/یا فقط در نواحی مهم ریزتر کنید.
- برای اکتشاف از مشهای درشت استفاده کنید: هنگام آزمودن برازشها یا بررسی رفتار کلی دستگاه، چگالی مش را کاهش دهید تا بازخورد سریع بگیرید، سپس برای دقت بهطور انتخابی آن را ریزتر کنید.
- با هدف ریزتر کنید: نقاط را در جایی اضافه کنید که گرادیانها واقعی هستند (مرزها، نواحی تهیشدگی، لایههای نازک)، نه در همهجا. ریزکردن یکنواخت اغلب ناکارآمدترین گزینه است.