آموزش S-Plane (بخش A): پیمایشهای پارامتر خودکار برای یک Cooke triplet
1. مقدمه
در این آموزش، یک روند عملی برای بهینهسازی عدسی و طراحی نوری با استفاده از ابزار پیمایش پارامتر در OghmaNano را نشان میدهیم. با تمرکز بر یک سامانه عدسی کلاسیک Cooke triplet، پارامترهای نوری کلیدی مانند انحنای سطح و ضخامت عنصر را بهصورت نظاممند تغییر میدهیم و اثر آنها را بر عملکرد تصویربرداری تحلیل میکنیم. دستههای بزرگی از شبیهسازیهای رهگیری پرتو برای کاوش فضای طراحی و کمیسازی عملکرد با استفاده از معیارهایی شامل شعاع لکه RMS، اندازه و مرکز لکه، شعاعهای لکه در محورهای اصلی و فرعی، بیضویبودن و جهتگیری لکه، و شعاعهای انرژی محصور (EE50، EE80، EE90)، در کنار بازرسی دیداری مسیر پرتوها در نمای رهگیری پرتو سهبعدی استفاده میشوند. این رویکرد یک چارچوب بازتولیدپذیر برای بهینهسازی سامانه نوری، تحلیل حساسیت، و مطالعات تلرانس فراهم میکند و مستقیماً برای طراحی اولیه عدسی و ارزیابی سریع مصالحههای نوری دنیای واقعی قابلاستفاده است.
2. اجرای شبیهسازی Cooke triplet در OghmaNano
در این آموزش، کار را با اجرای یک شبیهسازی عدسی Cooke triplet از پیش پیکربندیشده آغاز میکنیم. ابتدا OghmaNano را از منوی Start ویندوز اجرا کنید. در پنجره اصلی، روی دکمه New simulation کلیک کنید تا کتابخانه شبیهسازی باز شود که در شکلهای 2a–b نشان داده شده است. از فهرست دستههای دستگاه، روی Ray tracing دوبار کلیک کنید. وقتی دموی اپتیک S-plane ظاهر شد، مثال Cooke triplet را پیدا کرده و روی آن دوبار کلیک کنید تا یک سامانه عدسی آماده اجرا باز شود.
💡 نکته: برای بهترین کارایی، این شبیهسازی را روی یک درایو محلی مانند
C:\ ذخیره کنید. در این آموزش ما پیمایشهای پارامتر بزرگی را اجرا خواهیم کرد و بهطور مکرر
دادههای رهگیری پرتو و فایلهای مش سهبعدی را روی دیسک تخلیه خواهیم کرد. این کار حجم زیادی از عملیات
خواندن/نوشتن کوچک تولید میکند که میتواند در پوشههای شبکه، USB، یا همگامسازیشده با فضای ابری
(مثلاً OneDrive) به یک گلوگاه مهم تبدیل شود و باعث شود شبیهسازیها
بهطور قابلتوجهی کندتر اجرا شوند.
3. باز کردن شبیهسازی Cooke triplet و بررسی آن در ویرایشگر S-plane
پس از ذخیره شبیهسازی Cooke triplet، پنجره اصلی OghmaNano باز میشود و باید شبیه ?? باشد. در نمای سهبعدی میتوانید چیدمان کلاسیک triplet را ببینید: یک منبع نور سبز، اولین عنصر عدسی قرمز، دیافراگم آبی، دومین عنصر عدسی نارنجی، سومین عنصر عدسی زرد، و صفحه آشکارساز بنفش.
سپس روی دکمه S-plane در نوار ابزار سمت چپ کلیک کنید تا ویرایشگر S-plane باز شود که در ?? نشان داده شده است. این جدول عناصر عدسی و پارامترهای آنها را فهرست میکند (ماده، شعاع سطح، ضخامت، قطر، و غیره). مانند هر شبیهسازی دیگر در OghmaNano، میتوانید این مدل را با فشردن دکمه Run (پخش) (یا F9) اجرا کنید و نتایج را در زبانه Output بررسی کنید؛ با این حال، اجرای شبیهسازیهای منفرد تمرکز این آموزش نخواهد بود. در گامهای بعدی، از این ویرایشگر برای انتخاب پارامتر(های) قابل پیمایش استفاده خواهید کرد.
4. خودکارسازی
4.1 باز کردن پنجره پیمایش
در این آموزش، از ابزارهای Automation برای اجرای پیمایشهای پارامتر نظاممند استفاده خواهیم کرد. این ابزارها از نوار Automation در پنجره اصلی قابل دسترسی هستند (نگاه کنید به ??). روی دکمه Parameter scan کلیک کنید تا پنجره پیمایش پارامتر باز شود (نگاه کنید به ??). بهطور پیشفرض، ورودیای با نام new خواهید دید؛ با دوبار کلیک روی آن، یک ویرایشگر پیمایش پارامتر منفرد باز میشود (نگاه کنید به ??).
ابزار پیمایش پارامتر با جزئیات بیشتر در راهنما در parameter scan توضیح داده شده است. برای مقاصد این آموزش، کافی است بدانید که پنجره پیمایش پارامتر به شما اجازه میدهد با استفاده از دکمه New چندین پیمایش مستقل را تعریف و مدیریت کنید که هرکدام متناظر با یک کاوش خودکار متفاوت از فضای پارامتر هستند.
در شکل نهایی میتوانید ببینید که یک پیمایش از قبل پیکربندی شده است.
نام متغیر Splane.object.lens1 (b).thickness نشان میدهد که در حال پیمایش
ضخامت سطح پشتی اولین عنصر عدسی هستیم و مقادیر پیمایش
بهصورت صریح بر حسب متر مشخص شدهاند.
4.2 ویرایش یک پیمایش
برای این کار، میخواهیم یک خط پیمایش اضافی اضافه کنیم تا پارامترها را روی بیش از یک عنصر عدسی پیمایش کنیم. روی دکمه plus در ویرایشگر پیمایش پارامتر کلیک کنید تا یک ردیف پیمایش جدید ایجاد شود، همانطور که در ?? نشان داده شده است. این کار یک خط جدید به جدول با ستونهای Parameter to change، Values، و Operation اضافه میکند. از این ردیف دوم برای تعریف یک پیمایش اضافی استفاده خواهیم کرد تا امکان تغییر چندین پارامتر عدسی در همان اجرای خودکار فراهم شود.
بسیار مهم است که پیش از ویرایش، اطمینان حاصل کنید ردیف پیمایش درست انتخاب شده است. روی ردیف جدید کلیک کنید تا هایلایت شود، سپس روی دکمه three dots کلیک کنید تا یک پارامتر انتخاب شود. این کار گفتوگوی انتخاب پارامتر را باز میکند که در ?? نشان داده شده است. از مسیر object → Lens 2 (b) عبور کنید و Thickness را انتخاب کنید که متناظر با ضخامت سطح پشتی دومین عنصر عدسی است. پس از انتخاب، روی OK کلیک کنید.
پس از پیکربندی هر دو ردیف پیمایش، پنجره پیمایش پارامتر باید شبیه پیکربندی نهایی نشاندادهشده در ?? باشد. در این مرحله، پیمایش طوری تنظیم شده است که ضخامت دو عنصر عدسی متفاوت را بهطور همزمان در طول اجرای خودکار تغییر دهد.
💡 نکته: اشیا در OghmaNano بهعنوان بخشی از یک جهان نوری سهبعدی وجود دارند. S-plane یک بازنمایی یکبعدی و ویژه اپتیک از این هندسه سهبعدی است. درخت پارامتر نشاندادهشده در ?? راهی مناسب برای انتخاب و پیمایش پارامترهای نوری فراهم میکند، اما این مقادیر S-plane از اشیای سهبعدی زیربنایی تعریفشده در درخت سطحبالای data بهصورت مشتقشده به دست میآیند.
هنگامی که پیمایش پارامتر مطابق ?? پیکربندی شد، روی دکمه Run کلیک کنید. این کار تمام شبیهسازیهای تعریفشده توسط پیمایش را اجرا خواهد کرد. در این حالت، OghmaNano تمام ترکیبهای پارامترهای پیمایش را اجرا میکند: برای هر مقدار در ردیف اول پیمایش، تمام مقادیر تعریفشده در ردیف دوم پیمایش را اجرا خواهد کرد. نتیجه، یک کاوش کامل از تمام جایگشتهای پارامتر سامانه نوری است.
وقتی پیمایش تمام شد، به زبانه Output بروید که در
?? نشان داده شده است.
خروجی بهصورت یک درخت پوشه سازماندهی شده است که بازتابدهنده پارامترهای پیمایششده است.
در سطح بالا، پوشههای دارای برچسب 1.1e-2، 1.2e-2،
1.3e-2، و 1e-2 متناظر با مقادیر اولین پارامتری هستند
که پیمایش شده است. با ورود به یکی از این شاخهها، زیرفهرستهایی متناظر با
مقادیر پارامتر دوم پیمایش ظاهر میشود، همانطور که در
?? نشان داده شده است.
هر پوشه نهایی یک اجرای منفرد شبیهسازی را نمایش میدهد که معادل یک شبیهسازی
دستی منفرد است. درون این پوشهها فایلهایی مانند device.csv را خواهید یافت
که شامل هندسه سهبعدی مثلثبندیشده سامانه نوری است، و خروجی ray_trace
که پرتوهای رهگیریشده برای آن ترکیب خاص پارامتر را ذخیره میکند.
اینها را میتوان مستقیماً دیداریسازی کرد، همانطور که در
?? و
?? نشان داده شده است.
این امکان را میدهد که رفتار شبیهسازیهای منفرد متناظر
با نقاط خاص در فضای پارامتر پیمایششده را بررسی و تحلیل کنید.
4.3 فایلهای multiplot
در پوشه اصلی خروجی پیمایش (??) چندین آیکون رنگی با multiple-curves روی آنها مشاهده خواهید کرد.
اینها نوع ویژهای از فایلهای تولیدشده توسط پیمایش را نمایش میدهند: آنها فایلهای داده منفرد نیستند، بلکه مجموعههایی
از پیوندها به دادههای تولیدشده در سراسر درخت کامل پیمایش پارامتر هستند.
برای مثال، all_triangles.csv به تمام مشهای مثلثبندیشده تولیدشده برای همه نقاط پیمایش
پیوند میدهد، در حالیکه ray_trace به همه خروجیهای رهگیری پرتوی تولیدشده در طول پیمایش پیوند میدهد.
اگر روی all_triangles.csv دوبار کلیک کنید، نمایشگر مش باز میشود
(نگاه کنید به ??).
با استفاده از لغزنده پایین پنجره، میتوانید بین شبیهسازیهای منفرد تولیدشده
جابهجا شوید. با حرکت دادن لغزنده، هندسه عدسی برای بازتاب ترکیب پارامتر جاری
بهروزرسانی میشود و مسیر شبیهسازی فعال در پایین پنجره نشان داده میشود.
در مثال نمایشدادهشده، مسیر ترکیب پارامتر
1.2e-2 / 1.4e-2 را نشان میدهد که متناظر با دو مقدار ضخامت عدسی پیمایششده (بر حسب متر) است.
بهطور مشابه، با دوبار کلیک روی ray_trace نمایشگر رهگیری پرتو باز میشود
(نگاه کنید به ??).
این نمایشگر معمولاً دو لغزنده فراهم میکند: لغزنده بالایی میان شبیهسازیهای مختلف
در درخت پیمایش جابهجا میشود، در حالیکه لغزنده پایینی میان طولموج جابهجا میشود.
این امر امکان بررسی چگونگی تحول مسیر پرتوها را هم در فضای پارامتر و هم در طولموج فراهم میکند.
مثال دوم، که در
??
نشان داده شده است، همان پیمایش را در یک بازه طولموج متفاوت نمایش میدهد.
اگر در ابتدا چیزی دیده نمیشود، ممکن است لازم باشد روی دکمه plus در جدول نمودار
کلیک کنید تا فایلی برای ترسیم اضافه شود.
all_triangles.csv: جابهجایی میان مشهای مثلثبندیشده تولیدشده در سراسر پیمایش کامل پارامتر.
بهعنوان نمونهای دیگر از این فرادادهفایلهای پیمایش، به پوشه خروجی detector0 بروید و روی آن دوبار کلیک کنید
(نگاه کنید به ??).
دوباره مواردی با multiple-curves خواهید دید که متناظر با خروجیهای مختلف آشکارساز هستند. اگر روی
detector_efficiency0.csv دوبار کلیک کنید، OghmaNano نمودار نشاندادهشده در
?? را باز خواهد کرد.
این نمودار نشان میدهد که سامانه چه مقدار نور را (بهصورت درصد) بهعنوان تابعی از طولموج عبور میدهد، بهطوریکه برای
هر هندسه عدسی کاوششده در پیمایش پارامتر یک منحنی وجود دارد.
توجه داشته باشید که این مثال فقط از سه نقطه مش نوری استفاده میکند، بنابراین هر منحنی فقط شامل سه نمونه طولموج است.
detector0 که فرادادهفایلهای پیمایش برای خروجیهای آشکارساز (مثلاً بازده و ورودی) را در بر دارد.
detector_efficiency0.csv برحسب طولموج ترسیم شده است: یک منحنی برای هر هندسه عدسی کاوششده در پیمایش.
در این بخش، دیدیم که OghmaNano چگونه نتایج یک پیمایش پارامتر را با استفاده از فرادادهفایلهای multiplot سازماندهی میکند؛ فایلهایی که راهی ساختیافته برای کاوش مجموعههای بزرگ شبیهسازی بدون تکرار داده فراهم میکنند. با جابهجایی میان مشها، رهگیریهای پرتو و خروجیهای آشکارساز با استفاده از تعداد کمی نمایشگر تعاملی، میتوان بهطور کارآمد بررسی کرد که چگونه هندسه، طولموج، و عملکرد نوری در فضای پارامتر تکامل مییابند. این رویکرد مطالعات بزرگ پیمایش را قابلمدیریت میکند و هم بازرسی کیفی و هم مقایسه کمی رفتار نوری را در میان بسیاری از گونههای طراحی ممکن میسازد.
5. بهینهساز
در بخش قبل، از ابزار پیمایش پارامتر برای تولید brute-force تعداد زیادی شبیهسازی استفاده کردیم که میتوانستیم با نگاه کردن به مسیر پرتوها، هندسهها و خروجیهای آشکارساز مستقیماً بررسی کنیم. اگرچه این کار برای ساخت شهود فیزیکی بسیار مفید است، اما تعداد زیادی فایل نیز تولید میکند، فضای دیسک قابلتوجهی مصرف میکند و روند کلی شبیهسازی را کند میسازد. در بسیاری از موارد، در عوض یک پیمایش سریع در فضای پارامتر میخواهید که بر معیارهای عملکرد کمی تمرکز داشته باشد نه دادههای کامل خروجی.
برای این کار، از بهینهساز استفاده میکنیم. به ویرایشگر پیمایش پارامتر برگردید (نگاه کنید به ??) و روی دکمه Fast optimizer کلیک کنید. این حالت تولید فایلهای خروجی تفصیلی (رهگیری پرتو، مشها، و غیره) را غیرفعال میکند، در حالیکه همچنان شبیهسازیهای زیربنایی را اجرا کرده و معیارهای آماری را جمعآوری میکند. مهمتر از همه، هر فایل خروجی تولیدشده توسط پیمایشهای قبلی دستنخورده باقی میماند و همچنان قابل بررسی است؛ بهینهساز فقط از ایجاد فایلهای جدید جلوگیری میکند.
پس از فعالسازی fast optimizer، شبیهسازی را دوباره اجرا کنید. وقتی کامل شد، زبانه Output را باز کنید
(نگاه کنید به ??).
فایل جدیدی به نام optimizer_output.csv خواهید دید.
برخلاف پیمایش کامل، هیچ درخت پوشه جدیدی ایجاد نمیشود: نتیجه اصلی بهینهساز این
فایل CSV منفرد است که دادههای عملکرد تجمیعشده را در بر دارد.
optimizer_output.csv که توسط fast optimizer تولید میشود.
روی optimizer_output.csv دوبار کلیک کنید و آن را در برنامه صفحهگسترده دلخواه خود
(Excel، LibreOffice، یا هر ابزاری که بتواند فایلهای CSV را بخواند) باز کنید. محتوا در
?? نشان داده شده است.
ستونهای اول پارامترهایی را که پیمایش شدهاند فهرست میکنند (در این مورد ضخامتهای عدسی S-plane)،
و پس از آنها مجموعهای از معیارهای عملکرد کمی استخراجشده از هر شبیهسازی میآیند.
این معیارها شامل انحراف معیار موقعیت لکه در x و y، انحراف معیار شعاع لکه (r_std)، محورهای اصلی و فرعی توزیع لکه (sigma_major، sigma_minor)، زاویه جهتگیری لکه (spot_theta)، شعاعهای انرژی محصور (مثلاً EE50، EE80، EE90)، و معیارهای مرتبط شایستگی هستند. اینها در کنار هم یک خلاصه کمی فشرده از عملکرد نوری را برای هر نقطه در فضای پارامتر پیمایششده فراهم میکنند.
optimizer_output.csv که پارامترهای پیمایششده را در کنار معیارهای لکه و بازده نشان میدهد.
چون دادهها بهصورت جدولی هستند، میتوانید بهآسانی آنها را مرتب یا فیلتر کنید تا طرحهای بهینه را شناسایی کنید.
برای مثال، در ??
صفحهگسترده بر اساس r_std، یعنی انحراف معیار شعاع لکه، مرتب شده است.
از این طریق میتوانیم فوراً ببینیم کدام ترکیب ضخامتهای عدسی کوچکترین لکه را ایجاد میکند:
در این مورد ضخامت عدسی اول 0.013 و ضخامت عدسی دوم
0.0106 است.
6. بررسی نتایج بهینهساز
اکنون که هم پیمایش پارامتر نظاممند و هم بهینهساز را اجرا کردهایم، میتوانیم نتایج را با جزئیات بیشتری بررسی کنیم. بهینهساز به ما اجازه میدهد نواحی امیدوارکننده فضای پارامتر را بهسرعت شناسایی کنیم، در حالیکه پیمایش کامل به ما امکان میدهد شبیهسازیهای متناظر را به شکلی فیزیکیتر و دیداریتر بررسی کنیم.
بهعنوان نخستین گام، میتوانیم به خروجیهای رهگیری پرتو برگردیم و شبیهسازی متناظر با پاسخ کمینه اندازه لکه که توسط بهینهساز شناسایی شده است را پیدا کنیم. این مورد در ?? نشان داده شده است. با استفاده از میلههای انتخاب در نمایشگر رهگیری پرتو، میتوانید در درخت شبیهسازی حرکت کنید تا به ترکیب پارامتری برسید که کوچکترین لکه را تولید کرده است.
سپس میتوانیم درخت شبیهسازی را بیشتر واکاوی کنیم تا رفتار سامانه نوری را برای انتخابهای پارامتری مختلف مقایسه کنیم. برای مثال، ?? یک لکه نسبتاً کوچک و خوبمتمرکز را نشان میدهد که متناظر با یک طراحی نزدیک به بهینه است، در حالیکه ?? لکهای بزرگتر و کمبهینهتر را نشان میدهد که توسط نقطهای دیگر در فضای پارامتر پیمایششده تولید شده است.
در مجموع، این یک روند کاری معمول را نشان میدهد: ابتدا بهینهساز را اجرا کنید تا فضای پارامتر را سریع کاوش کرده و نواحی امیدوارکننده را شناسایی کنید، سپس بهینهساز را غیرفعال کرده و یک پیمایش کامل را در ناحیه مورد علاقه انجام دهید. این کار به شما اجازه میدهد خروجیهای تفصیلی—رهگیریهای پرتو، هندسهها، و تصاویر آشکارساز—را تولید کنید که میتوان آنها را بهصورت فیزیکی بررسی کرد تا تأیید شود راهحل همانگونه که انتظار میرود رفتار میکند و اهداف طراحی شما را برآورده میسازد.
7. استفاده از شکلهای پرتو جایگزین برای افزایش سرعت شبیهسازیها
در بخشهای قبل، از یک پرتو مربعی برای اجرای هر دو حالت پیمایش پارامتر و بهینهساز استفاده کردیم. اگرچه این یک پیشفرض معقول است، اما پرتو مربعی شامل تعداد زیادی پرتو است و میتواند شبیهسازیها را بهطور قابلتوجهی کند کند. در بسیاری از موارد، برای درک رفتار سامانه به یک پروفایل کامل پرتو مربعی نیاز ندارید و شکلهای سادهتر پرتو کافی هستند.
برای تغییر شکل پرتو، روی منبع نور در نمای سهبعدی راستکلیک کنید، همانطور که در ?? نشان داده شده است، و Edit object را انتخاب کنید. در ویرایشگر منبع نور، به زبانه Configure بروید (نگاه کنید به ??) و Beam shape را از Square به Star تغییر دهید. الگوی پرتو حاصل در ?? نشان داده شده است.
اگر اکنون بهینهساز را دوباره اجرا کنید، متوجه خواهید شد که شبیهسازی سریعتر کامل میشود. این به این دلیل است که پرتو ستارهای نسبت به یک پرتو مربعی کامل از پرتوهای بسیار کمتری استفاده میکند، در حالیکه همچنان سامانه نوری را بهطور مؤثر نمونهبرداری میکند. همچنین گزینهای برای استفاده از شکل پرتو Cross وجود دارد که برای بررسی آستیگماتیسم بهطور مستقل در امتداد دو محور اصلی مفید است و هزینه محاسباتی را حتی بیشتر کاهش میدهد. بنابراین این شکلهای جایگزین پرتو راهی عملی برای افزایش سرعت پیمایشهای اکتشافی و اجراهای بهینهسازی هستند.
8. جمعبندی
در این آموزش، بررسی کردیم که چگونه میتوان از روند کاری اپتیک S-plane در OghmaNano برای مطالعه نظاممند و بهینهسازی یک سامانه عدسی کلاسیک Cooke triplet استفاده کرد. با شروع از یک مثال از پیش تعریفشده، یاد گرفتیم که ویرایشگر S-plane چگونه یک نمای فشرده و سازگار با اپتیک پرتو از یک سامانه نوری کاملاً سهبعدی فراهم میکند، بهطوریکه همه پارامترهای S-plane بهطور سازگار از هندسه سهبعدی زیربنایی مشتق میشوند.
سپس از ابزار parameter scan برای انجام کاوش brute-force در فضای طراحی عدسی با تغییر همزمان چندین پارامتر عدسی و اجرای همه جایگشتهای سامانههای نوری حاصل استفاده کردیم. این کار به ما اجازه داد شبیهسازیهای منفرد را با جزئیات بررسی کنیم، مسیرهای پرتو و هندسهها را دیداریسازی کنیم، و شهود فیزیکی درباره اینکه چگونه تغییرات ضخامت و فاصلهگذاری عدسی بر عملکرد سامانه اثر میگذارند، بسازیم.
برای امکانپذیر کردن کاوش سریعتر، fast optimizer را معرفی کردیم که تولید خروجیهای سنگین را غیرفعال میکند، در حالیکه معیارهای عملکرد کمی را در یک فایل CSV منفرد گردآوری میکند. با تحلیل این معیارها—مانند اندازه لکه RMS، انرژی محصور، و بیضویبودن لکه—توانستیم ترکیبهای پارامتری بهینه را بهطور کارآمد شناسایی کنیم و آنها را به هندسههای مشخص عدسی پیوند دهیم.
در پایان، نشان دادیم که چگونه شکلهای جایگزین پرتو (star و cross) میتوانند هزینه محاسباتی را بهشدت کاهش دهند در حالیکه همچنان رفتار نوری کلیدی را ثبت میکنند، و آنها را برای بهینهسازی و پیمایشهای اکتشافی بسیار مناسب میسازند.
این ابزارها در کنار هم یک حلقه بهینهسازی عملی و بازتولیدپذیر را شکل میدهند: از بهینهساز برای یافتن نواحی امیدوارکننده فضای پارامتر استفاده کنید، سپس به پیمایشهای کامل پارامتر با خروجی تفصیلی بروید تا رفتار پرتو را بررسی کرده و عملکرد فیزیکی را اعتبارسنجی کنید. این روند کاری بهطور طبیعی از سامانههای عدسی ساده به طراحیهای نوری پیچیدهتر گسترش مییابد و یک پایه محکم برای بهینهسازی نظاممند عدسی در OghmaNano فراهم میکند.
💡 گامهای بعدی: پس از تکمیل این آموزش، ممکن است بخواهید دیگر روندهای کاری سامانه نوری در OghmaNano را بررسی کنید، مانند آموزش عدسی Cooke triplet، مثال عدسی prime با فاصله کانونی 200 mm، یا دموی میکرولنز و فیلترگذاری نوری تا ببینید چگونه همان ابزارهای بهینهسازی و تحلیل در سامانههای نوری مختلف به کار میروند.