Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Программы » Программы для разработки, тестирования оптических систем

Модерирует : gyra, Maz

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87

Открыть новую тему     Написать ответ в эту тему

gyra

Moderator
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Предыдущие темы обсуждения: Часть 1 , Часть 2 , Часть 3
Что есть нового в мире оптики?
рекламируем себя, обсуждаем проблемы, ... предлагаем решения...
 
Оптика обсуждается и на этих страничках: http://groups.google.com/group/sci.optics/
 
Вопросы по варезу тут
 
По стандартам есть также специальная тема
 
Вопросы по статьям
 
Примеры ОС
 
Техническая литература
Оптические журналы отечественные:
Оптика и спектроскопия,  
Компьютерная оптика,  
Оптический журнал,  
Успехи физических наук,  
Известия вузов приборостроение,
Фотоника,  
Контенант,  
Светотехника,  
Автометрия,  
Прикладная физика.
 
Список имеющихся книг по оптической тематике  
список книг от 11,05,2020
 
Большинство из них можно найти на сайтах: gigapedia.org, optdesign.narod.ru, poiskknig.ru, optical-help.info, gen.lib.rus.ec
На книголюбе Подробнее... лежат все из списка. Постепенно список обновляется....  
 
На трекере Подробнее...  есть почти все.
 
Японский форум по Zemax
Optical Design with Zemax
Optical design with Zemax for PhD
Ещё Лекции DCS17
Лекции по оптике и др.
Лекции по Zemax 2013г.

Цитата:
 
Что требуется от современного расчётчика оптики:
 
- знание и понимание общей теории оптики (геометрическая, волновая, квантовая), общей физики
- знание и понимание высшей математики, особенно аналитической геометрии, теории функций
- понятие об основных математических алгоритмах и методах программирования
- понятие об алгоритмах оптимизации оптических систем
- знание и понимание современных методов расчёта оптических и оптоэлектронных систем, типовых схем
- история развития методов расчёта оптики
- понимание технологии изготовления, контроля и измерения параметров, современных стандартов качества
- знания и понимание свойств оптических материалов  
- понимание параметров источников света, приёмников света
- умение читать и создавать чертежи

 

Всего записей: 7932 | Зарегистр. 18-02-2006 | Отправлено: 13:19 20-12-2019 | Исправлено: paparazzo, 11:42 11-01-2023
paparazzo



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Это может быть, если файл записывается в асинхронном режиме, т.е. данные на запись пришли, но ещё не все данные записались в файл (с тем же самым именем) с предыдущей команды на запись. Если так, то возможны ошибки наложения данных (если неграмотно запрограммирована запись в файл). Это можно проверить, если каждый раз записывать данные в файлы с разными (случаными) именами.

 
Маловероятно, я ставил PAUSE TIME довольно большие, всё равно.
По сути у меня обновление MF занимает около 7 секунд, т.е. если нажать кнопку обновить, за это время оно трассирует лучи, пишет в файл и выполняет операнды MF.
При PAUSE TIME 5 секунд, 7 секунд всё равно при оптимизации не пишет этот файл.
Хотя макрос конвертации ZRD в SDF отрабатывает нормально. Пишет постоянно при оптимизации.
1 цикл около 8 минут, т.е. за это время SDF перезаписывается много раз, а ZRD только по окончании цикла, когда идёт обновление MF. Т.е. в MF каждый раз создаётся SDF из одного и того же ZRD, отсюда и глюки.
При этом если вызвать NSTR в макросе, пишет всё корректно...
 
Сложно сказать, как не трассировать много одинаковых систем, а упросить сей расчёт...
 
Буду думать.
 
 
 
Добавлено:

Цитата:
каждый раз записывать данные в файлы с разными (случаными) именами.

 
Вот это может иметь смысл, надо пробовать...

Всего записей: 3798 | Зарегистр. 06-04-2003 | Отправлено: 20:08 13-09-2022
Aegis_I

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Вот и вопрос - где этот костыль?

в поддержке не пробовали спросить? или на их форум написать?

Всего записей: 1132 | Зарегистр. 01-06-2016 | Отправлено: 21:19 13-09-2022
paparazzo



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
в поддержке не пробовали спросить? или на их форум написать?

 
Пока нет поддержки

Всего записей: 3798 | Зарегистр. 06-04-2003 | Отправлено: 21:57 13-09-2022
Aegis_I

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Могу спросить, если составите письмо. А вообще за заслуги перед компанией могли бы и неограниченную поддержку дать)

Всего записей: 1132 | Зарегистр. 01-06-2016 | Отправлено: 11:04 14-09-2022 | Исправлено: Aegis_I, 11:05 14-09-2022
paparazzo



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Могу спросить, если составите письмо.  

 
Hi, guys!
I have note about NSRD operand.
I want ot build the merit function where I generate ZRD database file each time NSTR operand running. It is possible even use "#-xxxx.sdf" string. Next I manipulate with ZRD using ZPLM macro inside of Merit Function.
But the issue is that NSRD do not work when the optimization is running, it only works when the merit function updated (manual or after each optimization cycle).
What's wrong? How I can fix this issue?
 
Note that using NSTR or NSTR2 within the macro is not possible due to single thread NSTR of ZPL.
 
Добавлено:

Цитата:
even use "#-xxxx.sdf" string

 
Это кстати тоже такое есть, пишешь номер объекта, дефис, имя файла и расширение SDF или DAT. Вместо имени ZRD файла.
Тогда генерирует сам источник, без промежуточного ZRD.
Работает как для ZRD, так и для сохранения при трассировке.
 
Может кому полезно

Всего записей: 3798 | Зарегистр. 06-04-2003 | Отправлено: 12:57 14-09-2022
Aegis_I

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Hi, guys!

В ЛС. ответьте там если хотите развернуть общение

Всего записей: 1132 | Зарегистр. 01-06-2016 | Отправлено: 08:16 15-09-2022
paparazzo



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
В ЛС. ответьте там если хотите развернуть общение

 
Да, спасибо. надо разобраться с этим

Всего записей: 3798 | Зарегистр. 06-04-2003 | Отправлено: 10:18 15-09-2022
paparazzo



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Тут ещё вопрос нарисовался - как вытянуть мощность на заданной длине волны в Merit Function?
 
Т.е. по сути профиль спектра.  
 
Выходит, что тоже только через ZRD, т.к. хотя Detector Color и сохраняет спектр, и позволяет его отображать в Detector Viewer, но нет операнда чтобы достать это число. Или  не прав?

Всего записей: 3798 | Зарегистр. 06-04-2003 | Отправлено: 10:18 20-09-2022
Aegis_I

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Год или Пару лет назад предлагал им добавить параметр спектральной чувствительности на детектор.
На вскидку только через конфигурации и фильтры. Хотя обновления не отслеживал

Всего записей: 1132 | Зарегистр. 01-06-2016 | Отправлено: 18:21 20-09-2022
Igorr

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Год или Пару лет назад предлагал им добавить параметр спектральной чувствительности на детектор.

Тогда это будет уже не оптика, а оптико-электроника (с/ш, распознавание и т.д.) - было бы прекрасно, но земакс вряд ли это потянет.

Всего записей: 2008 | Зарегистр. 01-05-2002 | Отправлено: 20:27 20-09-2022
paparazzo



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Тогда это будет уже не оптика

 
Да зависимость мощности от спеткра можно было ещё в 13 Zemax рисовать, как и на Detector Color, так и через ZRD.
 
Но доступа к этим данным на Detector Color через Merit Function я не имею. Даже в самой новой версии Zemax. Нет такого операнда.
 

 
Добавлено:

Цитата:
оптико-электроника (с/ш, распознавание и т.д.)

 
Как модель чёрного ящика пойдет. Тем паче спектральную чувствительность в Zemax можно описать макросом, имея доступ к данным о спектре излучения.
Ну или тупо поставить перед приемником фильтр, с кривой пропускания равной спектральной чувствительности приёмника. В простейшем случае.

Всего записей: 3798 | Зарегистр. 06-04-2003 | Отправлено: 21:18 20-09-2022 | Исправлено: paparazzo, 21:32 20-09-2022
Aegis_I

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Тогда это будет уже не оптика, а оптико-электроника

как раз для 2022 года было бы неплохо)  
у кого то из конкурентов вроде видел. хотя глубоко не копал. для меня в любом случае сложно оправдать 2 софта .
 
Detector Color вроде только с ВДС работает? что для многих применений недостаточно.

Всего записей: 1132 | Зарегистр. 01-06-2016 | Отправлено: 21:42 20-09-2022
paparazzo



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Detector Color вроде только с ВДС работает?

 
Нет, с полным спектром. Просто люмены и всякие CCT, XYZ не считает для ИК или УФ, спектр пропишет.
Рисует просто чёрным цветом длины волн вне видимого диапазона, ну и как видно на картинке пишет что CRI не применимо длч данного спектра.
 

Всего записей: 3798 | Зарегистр. 06-04-2003 | Отправлено: 22:53 20-09-2022 | Исправлено: paparazzo, 22:54 20-09-2022
paparazzo



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Hi, guys!
I have note about NSRD operand.
I want ot build the merit function where I generate ZRD database file each time NSTR operand running. It is possible even use "#-xxxx.sdf" string. Next I manipulate with ZRD using ZPLM macro inside of Merit Function.
But the issue is that NSRD do not work when the optimization is running, it only works when the merit function updated (manual or after each optimization cycle).
What's wrong? How I can fix this issue?
 
Note that using NSTR or NSTR2 within the macro is not possible due to single thread NSTR of ZPL.

 
Кстати, кому интересно.
Поддержка ответила, что нет возможности писать файл ZRD при каждом обращении к NSTR используя NSRD, это связано с особенностями организации оптимизации, не может использовать внешние файлы.
 
Оптимизировать массив оптических систем, трассируя только одну систему, можно двумя способами:
1. Через API, писать свой алгоритм оптимизации... Путь длинный, и сложный.
2. В некоторых случаях, особенно для плоских детекторов, можно размножить один источник на 4, используя опцию детектора "MIRRORING". Если ставить детекторы разного размера один за одним максимально близко, то можно размножить и на большее число источников. Такой вот костыль.
 
Пользуюсь методом 2, вроде работает. Считает, да, много быстрее, чем массив систем трассировать.

Всего записей: 3798 | Зарегистр. 06-04-2003 | Отправлено: 13:23 23-09-2022
Igorr

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
paparazzo

Цитата:
Оптимизировать массив оптических систем, трассируя только одну систему, можно двумя способами:
1. Через API, писать свой алгоритм оптимизации... Путь длинный, и сложный.

Не такой уж он длинный и сложный, как может показаться на первый взгляд (из собственного опыта оптимизации нескольких типов ОЭС), но универсальный - быть хозяином алгоритма и иметь возможность макимально его приспосабливать/оптимизировать под свой круг появляющихся задач. Несложно также создать собственную библиотеку из нескольких оптимизаторов с вариациями по темам, если предполагается этим пользоваться часто и длительное время. Главное/начало - выбрать 2-3 претендента из доступных алгоритмов нелинейной оптимизации с ограничениями и определить [опытным путём] наиболее подходящий/е, внося свои небольшие корректировки. API конечно делать в многопоточном режиме на Фортране и/или С++, но никак не на С#, MС++ и т.д, и обязательно с привлечением выгрузки расчётов на GPU.

Всего записей: 2008 | Зарегистр. 01-05-2002 | Отправлено: 11:33 24-09-2022
paparazzo



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Главное/начало - выбрать 2-3 претендента из доступных алгоритмов нелинейной оптимизации с ограничениями и определить [опытным путём] наиболее подходящий/е, внося свои небольшие корректировки.  

 
На моих системах хорошо работает только OD.
Надо что-то подобное искать...
В целом идея хорошая, вопрос многопоточности только. Если можно макросы вынести в API, с многопотоком, то ещё лучше.

Всего записей: 3798 | Зарегистр. 06-04-2003 | Отправлено: 11:42 24-09-2022 | Исправлено: paparazzo, 11:44 24-09-2022
Igorr

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
вопрос многопоточности только

В каком смысле? - Чем её реализовывать или что?

Всего записей: 2008 | Зарегистр. 01-05-2002 | Отправлено: 16:38 24-09-2022
paparazzo



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
В каком смысле? - Чем её реализовывать или что?

 
Да, чем реализовывать. Трассировка лучей да, будет многопоток. А оптимизация?
Алгоритмы в макросах...
Ну это всё нюансы.

Всего записей: 3798 | Зарегистр. 06-04-2003 | Отправлено: 19:36 24-09-2022
Igorr

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Да, чем реализовывать. Трассировка лучей да, будет многопоток. А оптимизация?

Для начала я бы "нарисовал" функционально-структурную (блочную) схему API - без неё не видно предмета для разработки. По ней уже можно будет определить последовательные и параллельные блоки, технологии распараллеливания и взаимодействия и т.д.
Сейчас могу лишь высказать своё представление о распараллеливании в Windows (хотя есть много чего другого): 1) для Фортрана: Intel Fortran с использованием OpenMP (для CPU и некоторых GPU), OpenCL Fortran (интерфейс Фортрана к OpenCL) (для GPU), Coarrays (для расчёта на более, чем 1 компе); 2) для С++ (я использую именно его, а не чиcтый С, т.к. мне всегда нужен GUI): Visual C++/MFC с использованием OpenMP и/или AfxBeginThread (для CPU), OpenCL C/C++ (для GPU), MPI (для расчёта на более, чем 1 компе). Это - из личного опыта.

Всего записей: 2008 | Зарегистр. 01-05-2002 | Отправлено: 22:12 24-09-2022
paparazzo



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Это - из личного опыта.

 
Спасибо! Очень полезно, пока я до API не дорос, не было надобности. Но всё впереди.

Всего записей: 3798 | Зарегистр. 06-04-2003 | Отправлено: 14:20 25-09-2022
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87

Компьютерный форум Ru.Board » Компьютеры » Программы » Программы для разработки, тестирования оптических систем


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru