Навчальний посібник S-Plane (Частина A): Автоматизоване сканування параметрів для об’єктива Cooke Triplet.
1. Вступ
У цьому навчальному посібнику ми демонструємо практичний процес оптимізації лінз і оптичного проєктування з використанням інструменту параметричного сканування в OghmaNano. Зосереджуючись на класичній системі лінз Cooke triplet, ми систематично змінюємо ключові оптичні параметри, такі як кривизна поверхні та товщина елементів, і аналізуємо їхній вплив на якість зображення. Для дослідження простору проєктування та кількісної оцінки характеристик використовуються великі обсяги симуляцій трасування променів, а також такі показники, як середньоквадратичний радіус плями, розмір і центр плями, радіуси плями по головній і другорядній осях, еліптичність і орієнтація плями, а також радіуси охопленої енергії (EE50, EE80, EE90). Крім того, проводиться візуальна перевірка траєкторій променів у тривимірному режимі трасування променів. Цей підхід забезпечує відтворювану структуру для оптимізації оптичної системи, аналізу чутливості та досліджень допустимих відхилень, і його можна безпосередньо застосовувати на початкових етапах проєктування лінз і для швидкої оцінки реальних оптичних компромісів.
2. Запустіть симуляцію потрійної лінзи Кука в OghmaNano.
У цьому навчальному посібнику ми почнемо з запуску попередньо налаштованої симуляції об’єктива Cooke triplet. Для початку запустіть програму OghmaNano з меню «Пуск» у Windows. У головному вікні натисніть кнопку «Нова симуляція», щоб відкрити бібліотеку симуляцій, показану на рисунках 2a–b. У списку категорій пристроїв двічі клацніть на пункт «Трасування променів». Коли з’являться демонстраційні версії оптичних систем S-площини, знайдіть приклад Cooke triplet і двічі клацніть на ньому, щоб відкрити готову до запуску систему лінз.
💡 Порада: для досягнення найкращих результатів збережіть цю симуляцію на локальний диск, наприклад, C:\. У цьому навчальному посібнику ми виконуватимемо масштабні параметричні обчислення, багаторазово зберігатимемо дані трасування променів і файли 3D-сіток на диску. Це створює велику кількість невеликих операцій читання/запису, що може стати значною перешкодою для мережевих, USB-накопичувачів або хмарних синхронізованих папок (наприклад, OneDrive), через що симуляції виконуватимуться значно повільніше.
3. Відкрийте симуляцію системи Cooke triplet і перегляньте її в редакторі S-площини.
Після збереження результатів моделювання потрійної лінзи Кука відкриється головне вікно OghmaNano, і воно має виглядати так, як показано на ??. У тривимірному режимі ви зможете побачити класичне розташування елементів потрійної лінзи: зелене джерело світла, першу червону лінзу, синій отвір діафрагми, другу помаранчеву лінзу, третю жовту лінзу та фіолетову площину детектора.
Далі натисніть кнопку «S-plane» на лівій панелі інструментів, щоб відкрити редактор S-plane, який показано на ??. У цій таблиці перелічено елементи лінзи та їхні параметри (матеріал, радіус поверхні, товщина, діаметр тощо). Як і в будь-якому іншому моделюванні в OghmaNano, ви можете запустити цю модель, натиснувши кнопку «Запуск» (відтворення) (або F9) і переглянути результати на вкладці «Результати»; однак, окремі моделювання не будуть основною темою цього посібника. У наступних кроках ви використовуватимете цей редактор, щоб вибрати, які параметри потрібно проаналізувати.
4. Автоматизація
4.1 Відкриття вікна сканування
У цьому посібнику ми використовуватимемо інструменти автоматизації для виконання систематичного сканування параметрів. Доступ до цих інструментів здійснюється через вкладку «Автоматизація» в головному вікні (див. ??). Натисніть кнопку «Сканування параметрів», щоб відкрити вікно сканування параметрів (див. ??). За замовчуванням ви побачите запис під назвою «new» (новий); подвійне клацання на ньому відкриває окремий редактор сканування параметрів (див. ??).
Інструмент для сканування параметрів описано детальніше в посібнику в розділі сканування параметрів. Для цілей цього навчального посібника достатньо знати, що вікно сканування параметрів дозволяє визначати та керувати кількома незалежними скануваннями за допомогою кнопки «Новий», причому кожне з них відповідає різному автоматизованому дослідженню простору параметрів.
На останньому зображенні ви можете побачити, що сканування вже налаштовано. Змінна Splane.object.lens1 (b).thickness вказує на те, що ми скануємо товщину задньої поверхні першого елемента лінзи, а значення сканування вказано явно в метрах.
4.2 Редагування відсканованого зображення
Для виконання цього завдання ми додамо додатковий рядок сканування, щоб здійснювати сканування параметрів для кількох елементів лінзи. Натисніть кнопку «плюс» в редакторі параметрів сканування, щоб створити новий рядок сканування, як показано на ??. Це додасть новий рядок до таблиці зі стовпцями «Параметр для зміни», «Значення» та «Операція». Ми використаємо цей другий рядок для визначення додаткового сканування, що дозволить змінювати кілька параметрів лінзи під час одного й того ж автоматизованого циклу.
Дуже важливо переконатися, що перед редагуванням обрано правильний рядок для сканування. Натисніть на новий рядок, щоб його виділити, а потім натисніть кнопку з трьома крапками, щоб вибрати параметр. Відкриється діалогове вікно вибору параметра, як показано на ??. Перейдіть за шляхом «Об’єкт → Лінза 2 (b)» і виберіть параметр «Товщина», який відповідає товщині задньої поверхні другого елемента лінзи. Після вибору натисніть кнопку «OK».
Після налаштування обох рядів параметрів сканування, вікно параметрів сканування має виглядати так, як показано на фінальній схемі в ??. На цьому етапі сканування налаштовується таким чином, щоб під час автоматичного процесу одночасно змінювалася товщина двох різних елементів лінзи.
💡 Порада: Об’єкти в OghmaNano існують як частина тривимірного оптичного світу. Площина S — це одновимірна оптична репрезентація цієї тривимірної геометрії. Дерево параметрів, показане на ??, надає зручний спосіб вибору та сканування оптичних параметрів, але ці значення площини S отримуються з основних тривимірних об’єктів, визначених у верхньому рівні дерева даних.
Після того, як налаштування параметрів сканування буде виконано, як показано на ??, натисніть кнопку «Виконати». Це запустить усі симуляції, визначені в процесі сканування. У цьому випадку OghmaNano виконає всі можливі комбінації параметрів сканування: для кожного значення в першому рядку сканування будуть запущені всі значення, визначені в другому рядку сканування. Результатом буде повне дослідження всіх можливих комбінацій параметрів оптичної системи.
Після завершення сканування перейдіть на вкладку «Результати», зображену на ??. Результати організовано у вигляді ієрархічної структури каталогів, яка відображає параметри сканування. На верхньому рівні папки з позначеннями 1.1e-2, 1.2e-2, 1.3e-2 і 1e-2 відповідають значенням першого параметра, який було проскановано. Перехід до одного з цих каталогів відкриває підкаталоги, що відповідають значенням другого параметра сканування, як показано на ??.
Кожна папка, що містить результати моделювання, представляє окремий запуск симуляції, який еквівалентний одному запуску, здійсненому вручну. У цих папках ви знайдете файли, такі як device.csv, який містить триангульовану тривимірну геометрію оптичної системи, і файл ray_trace, який зберігає траєкторії променів для конкретної комбінації параметрів. Ці дані можна безпосередньо візуалізувати, як показано на ?? і ??. Це дає змогу переглядати та аналізувати поведінку окремих симуляцій, що відповідають конкретним точкам у досліджуваному просторі параметрів.
4.3 Файли з кількома графіками
В основній папці, де зберігаються результати сканування (??), ви помітите кілька барвистих піктограм із зображенням багатьох кривих. Вони представляють собою особливий тип файлів, створених під час сканування: це не окремі файли даних, а набори посилань на дані, отримані в процесі повного сканування за всіма параметрами. Наприклад, all_triangles.csv містить посилання на кожну триангульовану сітку, створену для всіх точок сканування, а ray_trace містить посилання на всі результати трасування променів, отримані під час сканування.
Якщо двічі клацнути all_triangles.csv, відкриється візуалізатор сітки (див. ??). За допомогою повзунка внизу вікна можна переглядати окремі симуляції, які були згенеровані. Під час переміщення повзунка геометрія лінзи оновлюється, щоб відобразити поточну комбінацію параметрів, а активний шлях симуляції відображається внизу вікна. На прикладі, який показано, шлях вказує на комбінацію параметрів 1.2e-2 / 1.4e-2, що відповідає двом значенням товщини лінзи, отриманим у результаті сканування (у метрах).
Аналогічно, подвійне клацання по ray_trace відкриває вікно перегляду трасування променів (див. ??). Зазвичай, це вікно містить два повзунки: верхній повзунок дозволяє переглядати різні симуляції в дереві сканування, а нижній – змінювати довжину хвилі. Це дає змогу вивчити, як змінюються траєкторії променів як у просторі параметрів, так і в залежності від довжини хвилі. Другий приклад, показаний на ??, ілюструє той самий сценарій сканування, але в іншому діапазоні довжин хвиль. Якщо спочатку нічого не видно, можливо, потрібно буде натиснути кнопку «плюс» у таблиці графіків, щоб додати файл для відображення.
all_triangles.csv: покрокове відображення триангульованих сіток, згенерованих у процесі повного сканування параметрів.
Як ще один приклад цих метафайлів сканування, перейдіть до папки виводу detector0 і двічі клацніть по ній (див. ??). Ви знову побачите елементи, що містять декілька кривих, які відповідають різним вихідним сигналам детектора. Якщо ви двічі клацнете по detector_efficiency0.csv, OghmaNano відкриє графік, показаний на ??. На цьому графіку відображається, скільки світла пропускає система (у відсотках) в залежності від довжини хвилі, причому для кожної геометрії лінзи, яка досліджувалася під час параметричного сканування, є окрема крива. Зверніть увагу, що в цьому прикладі використовується лише три точки оптичної сітки, тому кожна крива містить лише три значення довжини хвилі.
detector0, яка містить метафайли сканування для результатів роботи детектора (наприклад, дані про ефективність і вхідні параметри).
detector_efficiency0.csv Графік залежності від довжини хвилі: на графіку відображено одну криву для кожної дослідженої геометрії лінзи під час сканування.У цьому розділі ми розглянули, як OghmaNano організовує результати сканування параметрів за допомогою багатокомпонентних метафайлів, які забезпечують структурований спосіб дослідження великих наборів даних моделювання без їх дублювання. Завдяки послідовному перегляду сіток, трасуванням променів і результатів роботи детекторів за допомогою невеликої кількості інтерактивних переглядачів, можна ефективно аналізувати, як геометрія, довжина хвилі та оптичні характеристики змінюються в межах параметричного простору. Такий підхід робить масштабні дослідження можливими, дозволяючи проводити як якісний аналіз, так і кількісне порівняння оптичної поведінки різних варіантів конструкції.
5. Оптимізатор
У попередньому розділі ми використовували інструмент для сканування параметрів, щоб створити велику кількість симуляцій, які ми могли б безпосередньо переглянути, аналізуючи траєкторії променів, геометрію та дані, отримані детекторами. Хоча це дуже корисно для формування фізичної інтуїції, це також призводить до створення великої кількості файлів, значного використання дискового простору та уповільнення загального процесу моделювання. У багатьох випадках вам потрібен швидкий огляд простору параметрів, який зосереджується на кількісних показниках продуктивності, а не на повних даних.
Для цього ми використовуємо оптимізатор. Поверніться до редактора параметрів сканування (див. ??) і натисніть кнопку «Швидкий оптимізатор». У цьому режимі відключається створення детальних вихідних файлів (трасування променів, сітки тощо), але при цьому продовжуються основні обчислення та збір статистичних даних. Важливо, що будь-які вихідні файли, створені під час попередніх сканувань, залишаються без змін і їх можна переглянути; оптимізатор просто не створює нових файлів.
Після ввімкнення швидкого оптимізатора повторно запустіть моделювання. Після завершення відкрийте вкладку «Результати» (див. ??). Ви побачите новий файл під назвою optimizer_output.csv. На відміну від повного сканування, не створюється нова структура каталогів: основним результатом роботи оптимізатора є цей єдиний файл CSV, який містить зведені дані про продуктивність.
optimizer_output.csv, створений за допомогою швидкого оптимізатора.Двічі клацніть optimizer_output.csv, щоб відкрити файл у вибраній програмі для роботи з електронними таблицями (Excel, LibreOffice або будь-якій іншій програмі, яка може відкривати файли CSV). Зміст відображається у ??. У перших стовпцях перелічено параметри, які були проаналізовані (у цьому випадку – товщина лінз S-площини), далі наведено діапазон кількісних показників продуктивності, отриманих для кожної симуляції.
Ці показники включають стандартне відхилення положення точки за координатами x і y, стандартне відхилення радіуса точки (r_std), велику та малу вісі розподілу точки (sigma_major, sigma_minor), кут орієнтації точки (spot_theta), радіуси, що визначають область, в якій зосереджена певна частина енергії (наприклад, EE50, EE80, EE90), та відповідні показники якості. У сукупності вони дають стислий кількісний опис оптичних характеристик для кожної точки в досліджуваному діапазоні параметрів.
optimizer_output.csv наведено зміст, який містить відскановані параметри, а також дані про точність і ефективність.Оскільки дані представлені у вигляді таблиці, їх можна легко відсортувати або відфільтрувати, щоб визначити оптимальні варіанти. Наприклад, у ?? таблиця відсортована за параметром r_std, який відображає стандартне відхилення радіуса плями. З цього одразу можна побачити, яка комбінація товщини лінз дає найменшу пляму: у цьому випадку товщина першої лінзи становить 0.013, а товщина другої лінзи – 0.0106.
6. Аналіз результатів, отриманих від оптимізатора.
Тепер, коли ми провели як систематичний аналіз параметрів, так і оптимізацію, ми можемо детальніше вивчити отримані результати. Оптимізатор дає нам змогу швидко визначити перспективні області в просторі параметрів, а повний аналіз дозволяє більш наочно та комплексно вивчити відповідні результати моделювання.
На першому етапі ми можемо повернутися до результатів трасування променів і знайти симуляцію, яка відповідає мінімальному значенню розміру плями, визначеному оптимізатором. Це показано на ??. За допомогою панелі вибору в програмі для перегляду трасування променів ви можете переміщатися по дереву симуляцій, поки не дійдете до комбінації параметрів, яка дала найменшу пляму.
Після цього ми можемо детальніше вивчити структуру моделювання, щоб порівняти, як оптична система поводиться при різних значеннях параметрів. Наприклад, ?? показує відносно невелику, чітко сфокусовану пляму, що відповідає майже оптимальній конструкції, тоді як ?? показує більшу, менш оптимальну пляму, яка утворюється в іншій точці простору параметрів, що досліджується.
У сукупності, це ілюструє типовий робочий процес: спочатку запускається оптимізатор, щоб швидко дослідити простір параметрів і визначити перспективні області, потім оптимізатор вимикається, і проводиться повне сканування в обраній області. Це дає змогу отримати детальні результати — траєкторії променів, геометричні моделі та зображення детекторів, які можна фізично перевірити, щоб підтвердити, що рішення працює належним чином і відповідає поставленим цілям проєкту.
7. Використання альтернативних форм променя для прискорення моделювання.
У попередніх розділах ми використовували квадратний промінь для проведення як сканування параметрів, так і оптимізації. Хоча це й є розумним варіантом за замовчуванням, квадратний промінь містить велику кількість променів і може значно уповільнювати моделювання. У багатьох випадках вам не потрібен повний профіль квадратного променя, щоб зрозуміти поведінку системи, і простіших форм променя буде достатньо.
Щоб змінити форму променя, клацніть правою кнопкою миші на джерелі світла у тривимірному вікні, як показано на ??, і виберіть «Редагувати об’єкт». У редакторі джерела світла перейдіть на вкладку «Налаштування» (див. ??) і змініть форму променя з «Квадрат» на «Зірка». Отриманий малюнок променів показано на ??.
Якщо зараз повторно запустити оптимізатор, ви помітите, що моделювання завершується швидше. Це пов’язано з тим, що «зоряний» промінь використовує значно менше променів, ніж повний квадратний промінь, але при цьому ефективно досліджує оптичну систему. Також є можливість використовувати форму променя у вигляді хреста, що корисно для окремого дослідження астигматизму вздовж двох головних осей і ще більше зменшує обчислювальні витрати. Отже, ці альтернативні форми променя є практичним способом прискорити попередні сканування та оптимізаційні обчислення.
8. Підсумок.
У цьому навчальному посібнику ми розглянули, як використовувати робочий процес «оптика площини S» в OghmaNano для систематичного дослідження та оптимізації класичної системи лінз Кука. Починаючи з попередньо визначеного прикладу, ми дізналися, як редактор площини S забезпечує компактне, зручне для променевої оптики представлення повністю тривимірної оптичної системи, причому всі параметри площини S послідовно виводяться з базової тривимірної геометрії.
Потім ми використали інструмент для сканування параметрів, щоб здійснити всебічне дослідження простору можливих варіантів конструкції лінз, одночасно змінюючи кілька параметрів лінз і перевіряючи всі можливі комбінації отриманих оптичних систем. Це дало нам змогу детально вивчити окремі моделювання, візуалізувати шляхи проходження променів і геометрію, а також сформувати практичне розуміння того, як зміни товщини та відстані між лінзами впливають на характеристики системи.
Щоб пришвидшити процес дослідження, ми розробили швидкий оптимізатор, який припиняє генерацію великої кількості даних під час збору кількісних показників продуктивності в єдиний файл CSV. Аналізуючи ці показники — такі як середньоквадратичне значення розміру плями, загальна енергія в межах плями та еліптичність плями, — ми змогли ефективно визначити оптимальні комбінації параметрів і пов’язати їх зі специфічними геометричними характеристиками лінз.
Насамкінець, ми продемонстрували, як альтернативні форми променя (у вигляді зірки та хреста) можуть значно зменшити обчислювальні витрати, водночас зберігаючи ключові оптичні характеристики, що робить їх придатними для оптимізації та дослідницьких сканувань.
У сукупності ці інструменти утворюють практичний і відтворюваний цикл оптимізації: спочатку використовуйте оптимізатор для визначення перспективних областей у просторі параметрів, а потім перейдіть до повного сканування параметрів із детальним виведенням результатів, щоб проаналізувати поведінку променів і підтвердити фізичні характеристики. Цей процес легко адаптується від простих оптичних систем до складніших оптичних конструкцій і забезпечує надійну основу для систематичної оптимізації лінз у OghmaNano.
💡 Наступні кроки: після завершення цього навчального посібника ви можете вивчити інші робочі процеси оптичних систем в OghmaNano, наприклад, навчальний посібник з використання об’єктива Cooke triplet, приклад використання об’єктива з фіксованою фокусною відстанню 200 мм або демонстрація мікролінз і оптичного фільтрування, щоб побачити, як ті самі інструменти оптимізації та аналізу застосовуються до різних оптичних систем. Загальну інформацію про оптичні системи та моделювання трасування променів можна знайти в Огляд оптичних систем і моделювання трасування променів.