فایلهای خروجی
بهطور کلی نوشتن روی دیسک حتی روی مدرنترین رایانهها با SSD هم کند است. سرعت seek در دیسکهای مکانیکی در طول تاریخ آنها افزایش کمی داشته است. بنابراین اغلب نوشتن دادههای خروجی روی هارددیسک زمانبرترین بخش هر شبیهسازی است. بهصورت پیشفرض OghmaNano همه فایلهای خروجی را روی دیسک مینویسد، این کار به این دلیل است که کاربر جدید بتواند درکی از نوع خروجیهایی که OghmaNano میتواند فراهم کند داشته باشد. با این حال برای سریعتر کردن شبیهسازیها باید میزان دادهای را که روی دیسک نوشته میشود محدود کنید. پنجرههای ویرایشگر شبیهسازی (steady state,time domain و غیره..) گزینههایی برای تعیین اینکه چه مقدار داده میخواهید روی دیسک dump شود ارائه میکنند. این موضوع در شکل 19.1 نشان داده شده است.
[H]
گزینه "Output verbosity to disk" را میتوان بین "None" و "write everything to disk" تغییر داد. وقتی "None" انتخاب شود هیچ چیزی روی دیسک خروجی داده نمیشود - حتی نتایج شبیهسازی هم نوشته نمیشوند. وقتی "write everything to disk" انتخاب شود شبیهسازی همهچیز را روی دیسک dump میکند، بنابراین منحنیهای JV و همه متغیرهای داخلی حلگر روی دیسک نوشته میشوند تا کاربر بتواند بررسی کند که چگالی حاملها، fermi-levelها، پتانسیلها و غیره چگونه در طول شبیهسازی تغییر میکنند (بخش 19.1 را ببینید). گزینه دوم زیر "Output verbosity to disk" با نام "dump trap distribution" توزیع تلهها را در فضای انرژی و مکان خواهد نوشت. بخش [sec:trapmap] را ببینید.
دایرکتوری Snapshots - dir
دایرکتوری snapshots (شکل 19.2 را ببینید) به کاربر اجازه میدهد همه پارامترهای داخلی حلگر را رسم کند. برای مثال شکل 19.3 که در آن ابزار snapshots برای رسم باند رسانش، باند ظرفیت و quasi Fermi-levelها بهعنوان تابعی از ولتاژ استفاده میشود. از لغزنده میتوان برای مشاهده ولتاژهای مختلف استفاده کرد.
دایرکتوری Trap_map - dir
دایرکتوری trap map شامل توزیع و چگالی حاملها در تلهها بهعنوان تابعی از موقعیت و عمق انرژی است. یک مثال در شکل 19.4 داده شده است [sec:trapmap]
Snapshots نوری - dir
شامل نتایج شبیهسازیهای نوری است.
Cache - dir
وادار کردن یک رایانه به انجام ریاضیات در مجموع کار کندی است. بسیار سریعتر است که نتایج را از پیش محاسبه کرده سپس پاسخها را در یک جدول look up ذخیره کنیم. این کار میتواند محاسبات را بهطور قابلتوجهی سریعتر کند. دایرکتوری cache نتایج چنین پیشمحاسبههایی را ذخیره میکند، اگر بخواهید میتوانید آن را حذف کنید، OghmaNano هنگام اجرا فقط دوباره آن را خواهد ساخت.
دایرکتوری Equilibrium
پیش از آنکه حلگر هر شبیهسازی را شروع کند، معادلات دستگاه را در تاریکی و با بایاس اعمالشده 0V حل میکند. نتیجه این محاسبه در این دایرکتوری قرار میگیرد. دلیل عملی انجام این کار این است که روش Newton فقط زمانی کار میکند که برای هر مسئله یک حدس اولیه معقول به آن بدهید. بنابراین برای شروع حلگر، ما چگالی حاملها را در 0V و در تاریکی حدس میزنیم، سپس از روش Newton برای محاسبه دقیق پروفایلهای چگالی حامل در 0V و در تاریکی استفاده میکنیم (نتایج در دایرکتوری equilibrium ذخیره میشوند)، سپس از این نقطه میتوانیم به سمت پاسخهای دیگر، مثلاً در +1V و در نور، حرکت کنیم.
شبیهسازی نوری
| JSON token | معنا | واحدها | مرجع |
|---|---|---|---|
| \(J_{photo}\) | چگالی جریان نوری \(Am^{-2}\) | ||
| \(I_{photo}\) | جریان نوری \(A\) |
قالبهای فایل
تقریباً همه فایلهای ورودی و خروجی مرتبط با OghmaNano برای انسان قابل خواندن هستند، به این معنا که آنها صرفاً فایلهای متنیاند. همه فایلهای خروجی را میتوان مستقیماً در gnuplot/excel رسم کرد، همانطور که فایلهای ورودی نیز چنیناند. فایلهای خروجی در حال حاضر .dat نامیده میشوند، اما در واقع فقط فایلهای متنی هستند. همه فایلهای پیکربندی در قالب json هستند، بنابراین میتوان آنها را مستقیماً یا با استفاده از کتابخانه json در python ویرایش کرد.
فایلهای .dat
این نوع فایل یک فایل متنی ساده است که میتوان آن را به excel یا هر برنامه رسم دیگری وارد کرد. این فایل شامل دو ستون داده x و y است. همچنین یک preamble در فایل وجود دارد که شامل اطلاعاتی مانند واحدها و غیره است. OghmaNano در حال گذار از فایلهای .dat به فایلهای .csv است.
فایلهای .csv
این یک فایل csv ساده همانطور که انتظار دارید است که میتوان آن را در هر ویرایشگر متنی وارد کرد. خط اول فایل یک رشته json است که شامل اطلاعاتی مانند واحدها و غیره است. میتوانید آن را نادیده بگیرید. خط دوم فایل دادههای x/y را بهشکل قابلفهم برای انسان توصیف میکند و سپس بقیه فایل شامل دادهها است.
فایلهای .csv باینری - فایلهایی که برای انسان قابل خواندن نیستند
در برخی موارد dump کردن فایلهای متنی عملی نیست. نمونههایی از این حالت هنگام کار با ساختارهای 3D رخ میدهد. در این حالت OghmaNano همان header از نوع json را که در فایل csv استفاده میشود dump خواهد کرد اما سپس مجموعهای از C floatها را که نماینده داده هستند dump میکند.