پنجره پیمایش پارامتر
سادهترین روش برای تغییر نظاممند یک پارامتر شبیهسازی، استفاده از پنجره پیمایش است. در این مثال، ما قصد داریم تحرکپذیری لایه فعال یک سلول خورشیدی PM6:Y6 را بهصورت نظاممند تغییر دهیم؛ این مثال را میتوانید در شبیهسازیهای نمونه تحت Scripting and fitting/Scan demo (PM6:Y6 OPV) پیدا کنید. پس از اینکه این شبیهسازی را پیدا و باز کردید، باید پنجره پیمایش پارامتر را باز کنید؛ این کار با کلیک روی آیکون Parameter scan در نوار Automation انجام میشود (نگاه کنید به ??). سپس با کلیک روی دکمه new scan (1) یک پیمایش جدید بسازید (در شبیهسازی نمونه این کار از قبل برای شما انجام شده است). پیمایش جدید را با دوبار کلیک روی آیکونی که نماینده پیمایش است (2) باز کنید؛ نگاه کنید به ??. این کار پنجره پیمایش را باز میکند، نگاه کنید به ??.
1. انتخاب یک پارامتر برای تغییر
پس از باز شدن scan window، با کلیک روی آیکون plus (1) در شکل 17.1 یک خط پیمایش جدید بسازید، سپس این خط را انتخاب کنید تا برجسته شود (2)، و بعد روی سه نقطه (3) کلیک کنید تا مشخص شود کدام پارامتر را میخواهید پیمایش کنید. دوباره، اگر از شبیهسازی نمونه استفاده میکنید این کار از قبل برای شما انجام شده است.
در این مثال، تحرکپذیری الکترونی یک سلول خورشیدی PM6:Y6 برای پیمایش انتخاب میشود. این کار با رفتن به epitaxy\(\rightarrow\) PM6:Y6\(\rightarrow\) Drift diffusion\(\rightarrow\) Electron mobility y انجام میشود. پارامتر را برجسته کرده و روی OK کلیک کنید. سپس پارامتر انتخابشده در فهرست پیمایش ظاهر خواهد شد. معنای هر سطح در این مسیر پارامتر در زیر توضیح داده شده است:
-
epitaxy: همه پارامترهایی که در فایل
.oghmaتعریف شدهاند از طریق پنجره انتخاب پارامتر در دسترس قرار میگیرند (نگاه کنید به [fig:scanselect]). ساختار کلی دستگاه، شامل لایههای آن، تحت عنوان epitaxy تعریف میشود. -
PM6:Y6: درون epitaxy، هر لایه دستگاه با نام مشخص میشود. در این مثال، لایه فعال PM6:Y6 نام دارد. اگر لایه فعال نام دیگری داشت (برای مثال Perovskite یا P3HT:PCBM)، همان نام لایه بهجای آن انتخاب میشد.
-
Drift diffusion: همه پارامترهای انتقال الکتریکی مربوط به یک لایه مشخص، تحت زیرعنوان drift diffusion گروهبندی شدهاند.
-
Electron mobility y: میتوان تحرکپذیری نامتقارن را در جهتهای z، x و y تعریف کرد - این موضوع برای شبیهسازیهای OFET مفید است. با این حال، بهصورت پیشفرض مدل یک تحرکپذیری متقارن را فرض میکند که در همه جهتها یکسان است. این مقدار توسط Electron mobility y تعریف میشود.
اگرچه این جریان کاری ممکن است در ابتدا نسبتاً پیچیده به نظر برسد، اما در اصل یک روش ساختارمند برای
ویرایش مقادیر و مسیرها در فایل JSON زیربنایی .oghma است.
پنجره انتخاب پارامتر صرفاً یک رابط گرافیکی برای پیمایش و ویرایش این
فایل بهصورت ایمن و سازگار فراهم میکند.
یک توصیف دقیق از ساختار فایل را میتوان در مستندات مربوط به
قالب فایل OghmaNano
.
2. تنظیم مقادیر
در مرحله بعد، مقادیر تحرکپذیریای را که میخواهید پیمایش کنید وارد کنید؛ در اینجا ما 1e-5 1-6 1e-7 1e-8 1e-9 را وارد میکنیم، سپس روی run scan کلیک کنید (نگاه کنید به شکل 17.2 2). OghmaNano یک شبیهسازی را روی هر هسته از رایانه شما اجرا میکند تا همه شبیهسازیها تمام شوند.
3. مشاهده نتایج شبیهسازی
برای مشاهده نتایج شبیهسازی روی تب output کلیک کنید؛ این کار خروجیهای شبیهسازی را نشان میدهد، نگاه کنید به شکل 17.3. میتوانید ببینید که برای هر متغیری که پیمایش کردیم یک دایرکتوری ایجاد شده است، یعنی 1e-5، 1e-6، 1e-7، 1e-8 و 1e-9. اگر داخل هر دایرکتوری را نگاه کنید، یک کپی دقیق از دایرکتوری شبیهسازی پایه خواهد بود. اگر روی فایلهایی که منحنیهای JV چندرنگ دارند دوبار کلیک کنید، نگاه کنید به کادر قرمز در شکل 17.3. OghmaNano بهطور خودکار همه منحنیهای هر شبیهسازی را در یک نمودار رسم خواهد کرد، نگاه کنید به شکل 17.4.
4. تکرار پارامترها – تغییر ضخامت لایه فعال
بسیار معمول است که بخواهیم یک پارامتر را تغییر دهیم و سپس پارامتر دیگری را برابر با همان مقدار تغییریافته قرار دهیم. یک مثال ساده، پیمایش همزمان تحرکپذیری الکترون و حفره هنگام شبیهسازی دستگاهی با خواص انتقال متقارن است. این کار را میتوان با استفاده از تابع Duplicate در پنجره پیمایش انجام داد، همانطور که در ?? نشان داده شده است. در این مثال، یک مسئله کمی ظریفتر را در نظر میگیریم. بهجای تکرار تحرکپذیریها، ضخامت فیزیکی لایه فعال را تغییر میدهیم و همزمان مش الکتریکی را طوری تنظیم میکنیم که با آن مطابقت داشته باشد. همانطور که در بخش مشبندی بحث شد، عرض لایه فعال باید با عرض مش الکتریکی مطابقت داشته باشد. بهتر است این دو سازگار نگه داشته شوند تا از ناسازگاریهای عددی و هندسی در شبیهسازی جلوگیری شود.
وقتی عرض لایه بهصورت دستی در ویرایشگر لایه تغییر داده میشود، OghmaNano بهطور خودکار مش الکتریکی را بهروزرسانی میکند. با این حال، وقتی مدل از طریق اسکریپتنویسی یا پیمایش پارامترها تغییر داده میشود، ممکن است این بهروزرسانی بهطور خودکار انجام نشود. بنابراین، در مثال زیر، ما صراحتاً پارامترهای مربوطه را تکرار میکنیم.
ابتدا روی این پارامتر پیمایش انجام میدهیم:
epitaxy\(\rightarrow\)PM6:Y6\(\rightarrow\)dy of the object
سپس یک خط پیمایش دیگر اضافه میکنیم و در قسمت Parameter to scan این مورد را انتخاب میکنیم:
mesh\(\rightarrow\)mesh_y\(\rightarrow\)segment0\(\rightarrow\)len
سپس این پارامتر روی این مقدار تنظیم میشود:
epitaxy\(\rightarrow\)PM6:Y6\(\rightarrow\)dy of the object
با استفاده از منوی کشویی Operation. پس از انتخاب، واژه duplicate در ستون Values ظاهر خواهد شد.
وقتی شبیهسازی اجرا میشود، پارامتر “epitaxy\(\rightarrow\)PM6:Y6\(\rightarrow\)dy of the object” پیمایش میشود، و “mesh\(\rightarrow\)mesh_y\(\rightarrow\)segment0\(\rightarrow\)len” بهطور خودکار از آن تبعیت میکند، و تضمین میکند که ضخامت مش با ضخامت فیزیکی لایه سازگار باقی بماند.
5. تنظیم مقادیر ثابت
علاوه بر پیمایش پارامترها، از ویرایشگر parameter scan میتوان برای تنظیم صریح پارامترها روی مقادیر ثابت با استفاده از عملگر constant نیز استفاده کرد. این موضوع زمانی مفید است که چندین پارامتر باید بدون تغییر باقی بمانند، در حالی که پارامتر دیگری در حال تغییر است.
در این مثال، ضخامت لایه فعال با پیمایش پارامتر dy مربوط به لایه دستگاه تغییر داده میشود. همزمان، طول segment عمودی مش متناظر نیز تکرار میشود تا مش الکتریکی با تغییر ضخامت لایه سازگار باقی بماند. در کنار این پارامترهای پیمایششده، هم تحرکپذیری الکترون و هم تحرکپذیری حفره با استفاده از گزینه constant در ستون Operation روی مقادیر ثابت تنظیم میشوند.
استفاده از constant تضمین میکند که این پارامترها در هر شبیهسازی در پیمایش، صرفنظر از اینکه سایر پارامترها چگونه تغییر میکنند، مقدار مشخصشده را بگیرند. این کار امکان جداسازی تمیز اثر تغییرات هندسی (مانند ضخامت لایه) از پارامترهای انتقال را فراهم میکند، و از کوپلشدن ناخواسته بین کمیتهای پیمایششده جلوگیری میکند.
6. معادل حلقهها
وقتی روی یک بازه پارامتر پیمایش انجام میدهید، اغلب مطلوب است که تعداد زیادی شبیهسازی اجرا شود. در چنین مواردی، وارد کردن دستی تکتک مقادیر عملی نیست. برای حل این مسئله، OghmaNano معادل یک حلقه را درون پنجره پیمایش فراهم میکند.
برای مثال، برای تغییر یک پارامتر از 100 تا 400 با گام 1، میتوانید وارد کنید:
[100 400 1]
7. محدودیتهای پنجره پیمایش
پنجره پیمایش یک روش عملی و ساده برای تغییر یک پارامتر ماده یا دستگاه و بصریسازی سریع نتایج فراهم میکند. برای مطالعات ساده—که هدف، درک این است که یک کمیت چگونه تغییر میکند و بهدستآوردن نتایج در عرض چند ثانیه است—این روش اغلب مؤثرترین رویکرد است.
با این حال، وقتی تعداد شبیهسازیها زیاد شود، یا وقتی به برهمکنشهای پارامتری پیچیدهتری نیاز باشد، پنجره پیمایش میتواند محدودکننده شود. در چنین مواردی، ممکن است مناسبتر باشد که OghmaNano را بهصورت برنامهنویسیشده از طریق یک رابط اسکریپتنویسی کنترل کنید، برای مثال با استفاده از Python یا MATLAB، که کنترل کامل بر تولید پارامترها، منطق اجرا، و جمعآوری دادهها را فراهم میکنند.
بهطور مشابه، اگر هدف بهینهسازی یک پشته دستگاه باشد—و نه صرفاً مشاهده اینکه منحنیها چگونه با یک پارامتر تغییر میکنند—معمولاً بهتر است از ابزارهای بهینهسازی داخلی استفاده شود. این ابزارها در بخش بهینهساز چندپارامتری دستگاه در راهنما توصیف شدهاند.
👉 گام بعدی: اکنون ادامه دهید به بهینهسازی چندپارامتری، جایی که میتوانید بیاموزید چگونه چندین پارامتر دستگاه را بهطور همزمان بهینهسازی کنید.