A A A A Автор Тема: Мой LINZIK еще не ZEMAX, но ...  (Прочитано 50377 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн serega2007

  • ...
  • *
  • Сообщений: 67 117
  • Благодарностей: 1127
    • Сообщения от serega2007
Re: Мой LINZIK еще не ZEMAX, но ...
« Ответ #40 : 08 Мар 2008 [16:18:25] »
               Аркадий ! Рисунок системы получаю , но :
         1  как завести марки стекол ?
         2  как вводить десятичную запятую ( точку )
               Еще лучше будет если ВЫ нарисуете пример :

         101.88    5   К8
          -65.78    3   ТФ1
        -200.96
                      Диаметр 30   Половинка поля 3 град . Фокус прим. 160                               Серега .
До встречи на Астрофесте !
Ибо на Астрофоруме жизни нет .
                                            Серега .

Оффлайн serega2007

  • ...
  • *
  • Сообщений: 67 117
  • Благодарностей: 1127
    • Сообщения от serega2007
Re: Мой LINZIK еще не ZEMAX, но ...
« Ответ #41 : 08 Мар 2008 [17:45:12] »
             Аркадий ! Работает !!!                                       Серега .
До встречи на Астрофесте !
Ибо на Астрофоруме жизни нет .
                                            Серега .

Оффлайн Дрюша

  • *****
  • Сообщений: 4 946
  • Благодарностей: 99
  • Вы сышите только мой голос...
    • Сообщения от Дрюша
Re: Мой LINZIK еще не ZEMAX, но ...
« Ответ #42 : 09 Мар 2008 [01:10:04] »
Я так и не понял, есть ли тут такая возможность (а если есть, то где она закопана), но чего мне остро не хватало в Земаксе, так это возможности задавать какие-то параметры фоммулами. Не примитивным Pick Up зависимостями, когда аналогичный (и только такой) параметр другой поверхности берётся с каким-то коэффициентом и сдвигом - то есть, если зависимость, то самая примитивно-линейная, а произвольная формула с умножением, делением, сложением и вычитанием, корнями, синусами, косинусами, логарифмами, экспонентами и т.п. Или чтобы вообще можно было описывать свои функции (подпрограммы) с циклами, ветвлениями и реализацией ЧМА, и юзать их в этих формулах. А ещё лучше - возможность завести свои собственные именованные переменные, которые вычисляются по хитрым формулам, либо задаются, а параметры поверхностей (радиусы, толщины, коник и т.п.) могут быть заданы формулами, зависящими от этих переменных. Разумеется, если переменные задаются (для них формируется пое вода или ячейка таблицы), то они могут быть объявлены варьируемыми параметрами, которые подлежат оптмизации.

Оффлайн serega2007

  • ...
  • *
  • Сообщений: 67 117
  • Благодарностей: 1127
    • Сообщения от serega2007
Re: Мой LINZIK еще не ZEMAX, но ...
« Ответ #43 : 09 Мар 2008 [01:56:35] »
             Андрэ ! Сожалею , но пока занимаюсь поиском взаимопонимания с этой программой .
    Вот объектив , который я считал в 80х . Расчетчики пересчитали его и немного ухудшили т.к. я просил взять только радиуса из первого ряда . Помню , что при расчете я слегка подхимичил , зная эмпирически
 вторичный спектр и сферохроматизм . Оригинала не сохранилось . Объектив помещаю т.к. это лучшее решение из простых стекол ( чуть подправить, но необязательно) и ядерно годится для гида ( можно слегка профильтровать ) и искателя .
 Поле заведомо больше необходимого .                                  Серега .
             
« Последнее редактирование: 10 Мар 2008 [00:22:32] от serega2007 »
До встречи на Астрофесте !
Ибо на Астрофоруме жизни нет .
                                            Серега .

datumn

  • Гость
Re: Мой LINZIK еще не ZEMAX, но ...
« Ответ #44 : 09 Мар 2008 [08:43:36] »
             Аркадий ! Работает !!!                                       Серега .

Это хорошо!

Насчет введения своих стекол. Просто вписываете наименование стекла в ячейку таблицы. Если такое стекло присутствует в файле glasses.dat, то в левом нижнем углу окна появятся его коэффициенты преломления, иначе там будут единицы. Чтобы ввести свои показатели преломления, нажмите кнопку "Edit Glass" - и поля ввода показателей станут доступны для редактирования. После ввода требуемых чисел нажмите кнопку "Save Glass" (или "Cancel" - чтобы отказаться от изменений).

datumn

  • Гость
Re: Мой LINZIK еще не ZEMAX, но ...
« Ответ #45 : 09 Мар 2008 [09:07:13] »
Я так и не понял, есть ли тут такая возможность (а если есть, то где она закопана), но чего мне остро не хватало в Земаксе, так это возможности задавать какие-то параметры фоммулами. Не примитивным Pick Up зависимостями, когда аналогичный (и только такой) параметр другой поверхности берётся с каким-то коэффициентом и сдвигом - то есть, если зависимость, то самая примитивно-линейная, а произвольная формула с умножением, делением, сложением и вычитанием, корнями, синусами, косинусами, логарифмами, экспонентами и т.п. Или чтобы вообще можно было описывать свои функции (подпрограммы) с циклами, ветвлениями и реализацией ЧМА, и юзать их в этих формулах. А ещё лучше - возможность завести свои собственные именованные переменные, которые вычисляются по хитрым формулам, либо задаются, а параметры поверхностей (радиусы, толщины, коник и т.п.) могут быть заданы формулами, зависящими от этих переменных. Разумеется, если переменные задаются (для них формируется пое вода или ячейка таблицы), то они могут быть объявлены варьируемыми параметрами, которые подлежат оптмизации.

LINZIK - это интерпретатор языка LINZIK. Из "File - Open" можно загрузить (то есть выполнить!) файлы *.lnz. А раскрыв меню Analysis, можно получить перечень файлов *.an и выполнить их. Отличие между *.lnz и *.an лишь в разном группировании в меню. Это просто текстовые файлы с операторами языка.

В языке есть операторы для изменения ячеек таблицы и одноименные функции для считывания значений ячеек. Есть набор функций для расчета прохождения луча через схему и оценки размеров пятна, виньетирования, так же как и синусы с косинусами и др. Можно определить свои процедуры и функции. "While, for, if" - как обычно.

Значит, можно написать собственный оптимизатор.

Оффлайн serega2007

  • ...
  • *
  • Сообщений: 67 117
  • Благодарностей: 1127
    • Сообщения от serega2007
Re: Мой LINZIK еще не ZEMAX, но ...
« Ответ #46 : 09 Мар 2008 [10:41:26] »
            Аркадий !
      1 Ики задать плоскость т.е. радиус бесконечность ?
      2 Эксцентрисетет всегда со своим знаком ?
      3 И еще тысяча вопросов , но это по мере возникновения .
  Итого : Прям сейчас захотелось чегото вкусного сделать . Надо придумать .                 СПАСИБО !!!                    Серега .
До встречи на Астрофесте !
Ибо на Астрофоруме жизни нет .
                                            Серега .

datumn

  • Гость
Re: Мой LINZIK еще не ZEMAX, но ...
« Ответ #47 : 09 Мар 2008 [13:49:24] »
1 Ики задать плоскость т.е. радиус бесконечность ?

Нулем. Это своего рода исключение - нулевой радиус как плоскость.

Цитата
2 Эксцентрисетет всегда со своим знаком ?

В ячейках Conic находится квадрат эксцентриситета, взятый со знаком минус.

Цитата
3 И еще тысяча вопросов , но это по мере возникновения .
Итого : Прям сейчас захотелось чегото вкусного сделать . Надо придумать .                 СПАСИБО !!!                    Серега .

И Вам спасибо за интерес к программе!

Оффлайн Андрей Белкин

  • ***
  • Сообщений: 109
  • Благодарностей: -1
    • Сообщения от Андрей Белкин
Re: Мой LINZIK еще не ZEMAX, но ...
« Ответ #48 : 09 Мар 2008 [15:08:43] »
Аркадий, подумайте о возможности сочетания метода Нелдера - Мида с дискретным перебором\подстановкой реальных стекол из каталога. Дискретная смена стекла в ходе оптимизации будет приводить к вышибанию целевой функции из очередного локального минимума. Это все по аналогии с земахом: хаммер в режиме гласс сабститьюшн дает неожиданно хорошие результаты...


datumn

  • Гость
Re: Мой LINZIK еще не ZEMAX, но ...
« Ответ #49 : 09 Мар 2008 [18:14:42] »
Симплекс - метод довольно печален, хотя и не требует знания производных. MINPACK, Аркадий, посмотрите.
Да и всегда хорошо иметь ньютоно-подобный метод для полировки, так сказать.

Аркадий, подумайте о возможности сочетания метода Нелдера - Мида с дискретным перебором\подстановкой реальных стекол из каталога. Дискретная смена стекла в ходе оптимизации будет приводить к вышибанию целевой функции из очередного локального минимума. Это все по аналогии с земахом: хаммер в режиме гласс сабститьюшн дает неожиданно хорошие результаты...

Степан и Андрей - большое спасибо за дельные советы. Чуть позже я дам ссылку на LINZIK 0.2 - там добавлен ньютоновидный метод "Broyden с коллегами". Он, например, дает возможность очень быстро - за единственный Search - скатиться от плоских поверхностей к ахроматическому дублету: смотрите ролик _1-Demo-Runme!.lnz Но, как метод, требующий производной, он неважно ведет себя в шажках вблизи ограничений.

Там же добавлен и глобальный поиск "отжигом".

Насчет вышибания целевой функции из локального минимума за счет смены стекла, o котором сказал Андрей, пока дела обстоят так: можно написать форму, которая делает Search, смотрит на [goal] и, если надо, применяет оператор Glass с другим стеклом. Одна проблема: ассоциативный массив стекол glasses.dat не знает что такое предыдущее или последующее стекло из списка; разумеется, это не настоящая проблема, и она, скорее всего будет решена в ближайших версиях Линзика.

Есть, однако, счастливое обстоятельство которое неплохо уводит от локальных минимумов уже в версии 0.1. Из-за того, что оптимизатор при Simplex показывает не настоящий достигнутый минимум, а значение (и набор переменных) куда его слегка занесло уже затем - соскок с локального минимума происходит во многих случаях сам по себе. Я решил пока зафиксировать эту ошибку как неплохую находку :) По крайней мeре, для метода Simplex.

datumn

  • Гость
Re: Мой LINZIK еще не ZEMAX, но ...
« Ответ #50 : 09 Мар 2008 [18:25:29] »

Версия LINZIK 0.2: http://www.linzik.com/download/linzik_0_2_Rus_Setup.exe

Новый Help отдельно: http://www.linzik.com/manual_rus/manual.htm
(он же есть и внутри сетапа)

Основные отличия: расширен оптимизатор за счет добавления еще двух методов  оптимизации: быстро сходящегося локального и глобального. Добавлены также некоторые общематематические вещи - логарифм, квадрат, округления, случайные числа, и - как шаг к моделированию волновых дел - FFT. В целевой и ограничительной функциях можно использовать собственные функции из файла library.lib.

Оптимизатор сейчас выглядит так:

Оффлайн Stepa

  • *****
  • Сообщений: 1 989
  • Благодарностей: 44
  • Мне нравится этот форум!
    • Сообщения от Stepa
Re: Мой LINZIK еще не ZEMAX, но ...
« Ответ #51 : 09 Мар 2008 [18:52:51] »
Аркадий: приятно, что ваш проект движется. Для FFT вы применили, я надеюсь, FFTW ?
We must hang together or we all shall hang separately

datumn

  • Гость
Re: Мой LINZIK еще не ZEMAX, но ...
« Ответ #52 : 09 Мар 2008 [18:59:47] »
Аркадий: приятно, что ваш проект движется. Для FFT вы применили, я надеюсь, FFTW ?

Eё  :)

Оффлайн serega2007

  • ...
  • *
  • Сообщений: 67 117
  • Благодарностей: 1127
    • Сообщения от serega2007
Re: Мой LINZIK еще не ZEMAX, но ...
« Ответ #53 : 09 Мар 2008 [21:10:11] »
             Аркадий ! Не хочет кружек Эри появляться . На картинке рамка соотв. примерно его размерам . Куда я его запрятал - не найти .   
             На картинке мой телескоп . Все сошлось ну совсем не до миллиметра . Лишний раз убедился , что для зеркальной оптики Алгебра легко справляется . Жаль , что до первой преломляющей поверхности .             
             Сделал еще один вывод , что окуляры надо покупать , и не соваться в устройство . Это такая Нехорошая вещь .                    Серега .
До встречи на Астрофесте !
Ибо на Астрофоруме жизни нет .
                                            Серега .

datumn

  • Гость
Re: Мой LINZIK еще не ZEMAX, но ...
« Ответ #54 : 09 Мар 2008 [21:28:50] »
             Аркадий ! Не хочет кружек Эри появляться . На картинке рамка соотв. примерно его размерам . Куда я его запрятал - не найти . 

Все просто. В Вашей схеме "Diameter/2" для второй поверхности указан как 250. Замените на 228. И кружок появится.

Линзик не может посчитать f/ratio (в правом верхнем углу FR = 0) - и тем самым предсказать диаметр Эйри - если края пучка не проходят через систему. Как сказано в Help'e: Апертурный стоп: В текущей версии считается, что апертурный стоп находится на поверхности 2.

То есть источник лучей полностью облучает только поверхность 2. В данном случае лучи с ее периферии не достигают плоскости изображения.
« Последнее редактирование: 09 Мар 2008 [21:32:03] от Arkady »

Оффлайн serega2007

  • ...
  • *
  • Сообщений: 67 117
  • Благодарностей: 1127
    • Сообщения от serega2007
Re: Мой LINZIK еще не ZEMAX, но ...
« Ответ #55 : 10 Мар 2008 [00:17:16] »
       Аркадий ! ОК !!! Выполнил интересную работу по сравнению с Ньютоном , разумеется с вчетверо большей по длине трубой . Масштаб изображения прежний . У Кассегрена было бы еще чуть поплоше . Серега .
         
До встречи на Астрофесте !
Ибо на Астрофоруме жизни нет .
                                            Серега .

Оффлайн Карбарасик

  • ****
  • Забанен!
  • Сообщений: 311
  • Благодарностей: 0
    • Сообщения от Карбарасик
Re: Мой LINZIK еще не ZEMAX, но ...
« Ответ #56 : 10 Мар 2008 [13:04:00] »
А что, апертуру в любом месте можно задавать ?

Оффлайн serega2007

  • ...
  • *
  • Сообщений: 67 117
  • Благодарностей: 1127
    • Сообщения от serega2007
Re: Мой LINZIK еще не ZEMAX, но ...
« Ответ #57 : 10 Мар 2008 [14:07:03] »
                    За апертуру отвечает вторая строка . Первая служит для помещения системы в пучек , например ,  параллельных лучей .                          Серега .
До встречи на Астрофесте !
Ибо на Астрофоруме жизни нет .
                                            Серега .

datumn

  • Гость
Re: Мой LINZIK еще не ZEMAX, но ...
« Ответ #58 : 10 Мар 2008 [15:31:45] »
А что, апертуру в любом месте можно задавать ?

По-сути так и есть: та поверхость, что режет пучок, и определяет апертуру. Если нет режущих поверхностей - тогда апертура задается диаметром второй поверхности.

datumn

  • Гость
Re: Мой LINZIK еще не ZEMAX, но ...
« Ответ #59 : 10 Мар 2008 [15:39:18] »
Еще уточню насчет объекта, находящегося на конечном расстоянии. В этом случае для первой поверхности в ячейке таблицы "Diameter/2" задаем линейный радиус объекта в мм и в ячейке "Thickness" - расстояние до объекта (не 0). Поле "Half Field Angle" при этом автоматически запрещается и в нем показывается угол, соотв. радиусу объекта и расстоянию до него.