Программа расчёта оптических лазерных систем

     Программа рассчитывает распространение лучей в меридиональной плоскости оптической системы (позволяя анализировать и аберрации), рассчитывает матрицы по формулам параксиальной матричной оптики, а также прохождение одномодовых и многомодовых лазерных пучков.
     О более сложной программе, использующей метод Монте-Карло, можно прочесть тут - http://www.proza.ru/2015/05/19/1630

ВВЕДЕНИЕ

  Оптика лазерных систем специфична и разнообразна. Она отличается от наших представлений об оптике объективов, очков и биноклей.
   Отличается прежде всего по назначению.  Её основное назначение не получение изображения, а формирование лазерного пучка с нужными характеристиками,  доведение его от выхода лазерного излучателя до точки лазерного воздействия, обеспечение этого воздействия в разных режимах.
   Например, пучок можно расширять, диафрагмировать или ослаблять фильтрами, добавлять к пучку луч лазера-пилота, фокусировать в волокно, выводить из волокна, прерывать заслонками и модуляторами, фокусировать на обрабатываемую поверхность, разворачивать с помощью подвижных или вращающихся зеркал, прочерчивая линии или зачерчивая площади на обрабатываемой поверхности, совмещать с системами визуального контроля и наблюдения за процессом, и многое другое. И всё это делается с помощью оптических элементов - линз, призм и зеркал, стоящих не вместе, а рассредоточенных на пути следования лазерного пучка. И всю эту систему надо рассчитывать, чтобы всё происходило оптимально простым и эффективным способом.
   Принципиальные решения могут быть самыми разными, и все их нужно должным образом просчитать и сравнить. Возможно это будет не окончательный просчёт, но просчёт быстрый и эргономически удобный.

   КАК СЧИТАТЬ?

   Существует множество научных работ, обзоров и учебных пособий (взглянем например сюда - http://optics.sinp.msu.ru/co/toc.html#par27 ) с могучей математикой, но совершенно не приспособленных к практическим целям. Поскольку в настоящее время никто не считает по аналитическим формулам и не мучается с составлением собственных программ, если существуют программы готовые. Но где они, эти удобные программы в этих современных пособиях? Их нет.
   Поэтому хочу представить Вам свою программу, классику можно сказать, написанную на Турбо бейсике, достаточно простую и, вместе с тем, эффективную.  Программа сопровождена файлом Help на русском.
 
ПРОГРАММА Opt_Alt

  Программа рассчитывает распространение лучей в меридиональной плоскости оптической системы (позволяя анализировать и аберрации), рассчитывает матрицы по формулам параксиальной матричной оптики, а также прохождение одномодовых и многомодовых лазерных пучков по формулам Когельника и Ли (Когельник Г., Ли Т. Световые пучки, резонаторы и типы колебаний. //Справочник по лазерам под ред. А.М.Прохорова. М.: Сов. радио, 1978, с.11-24). А также проводит расчёт конструктивных параметров линз.
  Программа может быть использована как для практических, так и для учебных целей.
  Краткая инструкция к программе вызывается нажатием клавиши F1.

ЭРГОНОМИКА

  Эргономика, удобства работы с программой - пожалуй, решающий фактор успешной работы с ней. Пользователь должен быть сосредоточен именно на проблемах оптической системы, а не преодолевать трудности поиска информации на экране или трудности ввода и вывода данных. Существует несколько общих эргономических требований.

  Наглядность. Оптическая система в программе наглядно представлена в виде пар чередующихся строк. Первая строка в паре описывает оптический элемент, вторая указывает расстояние до вершинной плоскости следующего элемента, в ней же содержатся результаты счёта, они же - исходные данные для продолжения счёта (можете поменять и, пожалуйста - считайте дальше).
  Всё вместе. Не нужно искать радиусы линз в одном столбце, показатели преломления - в другом, а высоты лучей - в третьем. Всё наглядно видно.

  Однотипность представления и вариабильнось. При однотипном представлении оптических элементов в первых строках пар, информация во вторых строках различна, в зависимости от выбранного режима счёта.

  Если считаются меридианальные лучи (до 6 лучей сразу), то в этих строках содержатся по выбору:
   нажать H - высоты луча, расстояния от оптической оси
   нажать T - тангенсы угла наклона лучей к оси
   нажать S - расстояния до пересечения лучей с осью
  Пользователь не должен быть загружен излишней информацией, он видит и анализирует только то, что ему нужно. Хотите в одном и том же сечении видеть и высоты и наклоны - жмите Insert и создайте ещё одно сечение, совпадающее с первым.
В одном смотрите H, в другом - T.

  Если считается матрица, то во вторых строках пары содержится по выбору:
   нажать A - задаются и показываются элементы матрицы A B C D
в качестве начальной матрицы следует задать 1 0 0 1 , но необязательно, можно и другую, если вы её знаете.
   нажать F - показываются соответствующие матрице классические параметры  < FSS' >
угловые скобки показывают на то, что эти значения задать невозможно, на них можно только посмотреть ( и вывести как результат, нажав F4).

   Если считаются лазерные пучки ( один или два пучка сразу), то:
    нажать D - показываются и могут быть введены DM, 1/R, K - диаметр моды,  кривизна волнового фронта,  произведение  диаметра пучка  в перетяжке на расходимость излучения  K = DMo*2Ф
    нажать O - показываются < DMo,Z,K>: - диаметр пучка в перетяжке  DMo  , Z - расстояние до перетяжки  и K = DMo*2Ф

   Третьем принципом эргономики является разнообразие представления.
Одну и ту же линзу вы можете представить так:
2      
или так:
 2  ПОВЕРХНОСТЬ_R(+29.65)____N1(1.506)___N2(0)      
  L=6      
 3  ПОВЕРХНОСТЬ_R(-22.49)____N1(1)_______N2(0)   

но вы можете представить линзу и идеальным фокусирующим элементом ( задав только фокусное расстояние), или матрицей, или задать градан ( элемент с распределённой фокусирующей силой). При таком, упрощённом задании, лучи будут просчитываться по формулам параксиальной оптики.
   Строки очищаются нажатием на пробел. Элементы в первых строках задаются нажатием русских начальных букв ( в отличие от вторых строк, где вид представления задаётся латиницей).
   Эргономические принципы делают расчёт удобным и легко понимаемым.

  Если хотите, продолжим знакомство с программой на двух примерах.

РАСЧЁТ КОРОТКОФОКУСИРУЮЩЕГО ОБЪЕКТИВА

   Запускаем программу. Возникает большое чёрное поле, а на нём - иконка:

       РАСЧЁТ ОПТИЧЕСКОЙ СИСТЕМЫ
       1  -  меридианальные лучи
       2  -  лазерный пучок
       3  -  матрица

не хотите работать во весь экран - жмите Alt/Sift, переходите в окно
застопорился курсор в окне - подвигайте окно чуть-чуть по экрану компьютера

Выбираем режим "меридианальные лучи" - жмём "1"
Появляется столбик из номеров строк для задания оптических элементов и строк L , где указывается расстояние от выходной плоскости оптического элемента (если это линза, значит от выходной вершинной плоскости) до следующей плоскости. Для этой следующей плоскости в этой же строке L можно указать параметры луча - H , высота луча ( расстояние до оси) или T - тангенс угла наклона луча к оси.
   
   Но мы загрузим систему из каталога. На первой строке жмём F5, потом жмём F10.
Нажимая клавишу "стрелочка вниз" доходим до файла * OO8.OPT - заметьте, все буквы должны быть латиницей, дальше идёт описание файла, здесь латиница не обязательна, но изменять описание можно только вне программы, вызвав файл каталога DIR.OPT с помощью Ворда. В нём и изменяйте. Звёздочка означает, что файл защищён от записи. Если захотите его переписать, то прежде удалите звёздочку.
   Жмём F6 , считываем систему из файла.

   На экране присутствуют все линзы в перемешанном виде. Но нам нужен объектив из последних двух линз. Поудаляйте, нажимая Delete, парами все лишние строки кроме первой с элементом СРЕДА - в нём задаются начальные показатели преломления, и двух последних строк.
  Зададим в первой дополнительной строке вслед за L=0 высоты луча. Входим в строку клавишей "стрелочка вправо" , пропускаем поле L, и вводим - 3 Enter, 4 Enter, 5 Enter, 3 Enter, 4 Enter, 5 Enter.
Первые три луча (длина излучения 1064 нм) будут просчитываться для показателя преломления N1, а вторые три (длина излучения 632 нм) - для N1. Посмотрите на их значения, первая линза - крон, вторая линза - флинт, видите разницу?
  Нажимая на той строке, где мы ввели значения высот лучей, клавишу F2 мы запускаем программу на счёт. Вот что получилось в последней строке:

 L=32.6       H:    -.01091 -.00984 -.01893 -.01236 -.00906 -.0148 
мы видим, что точно в точку фокуса мы не попали - все высоты, хоть и маленькие, но отрицательные. Мы находимся дальше точки фокуса. Насколько дальше?
Жмем на этой строке клавишу "S" , смотрим на расстояния от нашей выходной плоскости до точек пересечения лучей с оптической осью. Можно подвинуться назад на 0.1 мм. Заменяем 32.6 на 32.5 и считаем от начала (можно и от любой промежуточной плоскости):

 1  СРЕДА_N1(1)_______N2(1)      
  L=0          H:    3       4       5       3       4       5      
 2 
  L=.15        H:    2.72344 3.57414 4.33235 2.71997 3.56806 4.32047
 3 
  L=32.5       H:    -.00253 .001361 -.00482 -.00399 .002132 -7.1E-4
  L=32.5      <S>:   -.03033 .012153 -.03423 -.04765 .019043 -.00507
  L=32.5       TG:   -.08373 -.11205 -.14108 -.08374 -.112   -.14093
жмём на F3 - выводим все строки в файл RESULT.OPT,
жмём "S" и нажимая F4 выводим только одну строку, указывающую значения S,
жмём  "T" и F4 - выводим значения тангенсов углов наклона.

   Посмотрим, что получилось. Максимальный тангенс угла наклона для пучка лучей диаметром 10 мм равен 0.14, что соответствует углу сходимости излучения 16 градусов.
Объектив ахроматизирован - лучи красного излучения 632 нм и лучи чёрного излучения 1064 нм фокусируются в одной плоскости. Объектив скорректирован на сферическую аберрацию - все лучи фокусируются практически в одну точку с погрешностью в несколько десятков микрон. Аберрационный кружок рассеяния рабочего излучения ожидается диаметром поменьше 10 мкм. Для уточнения можно просчитать больше лучей, или по другой программе - http://www.proza.ru/2015/05/19/1630

  Нам бы нужны ещё конструктивные параметры - стрелки прогиба, толщины линз по краю, F' S S', номер по ЕСКД.
Идём на линзы, жмём F5, печатаем 10 (пусть диаметр линзы будет 10 мм) жмём Enter, и получаем все эти данные (даже примерная масса линзы "m" указана).
Жмём F4, выводим полученное в файл накопления результатов.

  Надо бы ещё и характеристики объектива получить.
  Жмём "Esc", потом "3" - переходим к расчёту матрицы объектива. L в последней строке  устанавливаем в ноль. На первой строке задаём единичную матрицу - 1 0 0 1 и отправляемся на счёт.
В последней строке нажимаем "F" и видим классические параметры - F' S S'
Жмём F4, выводим полученное в файл накопления результатов.
Теперь о нашей системе мы всё знаем.

РАСЧЁТ РАСПРОСТРАНЕНИЯ ЛАЗЕРНОГО ПУЧКА

  Нигде не видел я внятного объяснения того, как рассчитывать распространение лазерного пучка многомодового излучения, если для него известны диаметр и расходимость. А особенно, если расходимость известна приблизительно - не менее стольких-то мрад, вроде того.
  Возьмём практический пример - СО2 лазер с плоским выходным зеркалом. Важно, оказывается знать не только диаметр пучка (диаметр узнать весьма просто - сделаем ожог на картоне и измерим его), но и такую существенную деталь как радиус кривизны выходного зеркала.
   Но пусть зеркало плоское. Это значит, что перетяжка выходящего лазерного пучка лежит как раз на зеркале. Если пучок не фокусировать, то это будет самая узкая его часть. Но какова расходимость?
   Приглядимся к ожогу - сплошное это пятно или концентрические круги на ожоге наблюдаются? Возьмём опять же практический случай, диаметр пятна равен 10 мм вблизи плоского зеркала (а точнее, на расстоянии 20 см от него, поскольку нехорошо жечь бумагу прямо у выходного зеркала - можно закоптить).
На пятне наблюдается слабый керн, а вокруг него - такой же интенсивности два концентричных круга. Что это даёт?
   Мы знаем, что длина излучения углекислотного лазера л=10,6 мкм и знаем формулу, определяющую такую сохраняющуюся при преобразованиях пучка величину, как K - произведение диаметра пучка в перетяжке Dо, на расходимость многомодового излучения 2Ф с поперечным индексом моды P -

К = 2Ф*Do = 4*л / Пи ( 2*Р + 1 )   - см. статью Когельник и Ли

Р=2 в нашем случае, проводя вычисления получим К=0.0675
Войдём в программу в режиме "2" - лазерный пучок, и указав 1/R=0 (R - радиус кривизны волнового фронта) и  К=0.0675, подберём в первой строке DM так, чтобы на расстоянии 200 мм диаметр оказался равным измеренному. Разница невелика, всего на 0.1 мм меньше.
Ещё дальше на расстоянии 1000 мм от лазера поставим фокусирующий элемент с фокусным расстоянием 500 мм. Поинтересуемся (нажав латинское "o", а не ноль) положением и размером перетяжки после фокусирующего элемента, а также размером пятна на двойном фокусном расстоянии. Получим:

 1  СРЕДА_N1(1)_______N2(1)      
  L=0      DM,1/R,K: 9.91    0       .0675   0       0       0      
 2 
  L=200    DM,1/R,K: 10.0031 9.27E-5 .0675   0       0       0      
 3 
  L=800    DM,1/R,K: 12.025  3.2E-4  .0675   0       0       0      
 4  ФОКУСИРУЮЩИЙ ЭЛЕМЕНТ_F1(+500)______F2(0)       
  L=0      <0DM,Z,K>:3.22076 552.813 .0675   0       0       0      
 5 
  L=1000   DM,1/R,K: 9.91    .002    .0675   0       0       0      

как и должно быть по правилам геометрической оптики, на двойном фокусном расстоянии получаем изображение выхода лазера в натуральную величину.
  А вот перетяжка пучка ( с диаметром 3.22 мм ) оказывается не в фокусе, а на 52.8 мм дальше. И это следствие волновой природы излучения лазера.
 
  Если в качестве фокусирующего элемента предположить что-либо реальное, например линзу из германия, то вот её характеристики, полученные уже известным вам способом, через нажатие F5. Для линзы из разрешённого ряда подбирался подходящий радиус кривизны первой поверхности, а вторая поверхность линзы была взята плоской ( что указывается заданием R=0 ), показатель преломления германия для излучения 10.6 мкм брался равным 4 :

6      
D=20   L1=.033 L2=0    t=2.966  f'=499.9 Sf=-499  S'f'=499.1 m=2.53  N 756137

  Если модовая структура излучения не очевидна, то для определения расходимости можно сделать замеры диаметра пучка в фокальной плоскости линзы. Каким угодно способом - по ожогам, или перекрывая пучок диафрагмами. Во всех случаях параллельный просчёт по программе позволит надёжно определить характеристики пучка.
  Программа также хороша и в расчёте мод внутри резонатора, особенно когда резонатор заполнен (активный элемент с наведённой в нём тепловой линзой - считается как элемент "градан", электрооптический модулятор и проч.), то есть в тех случаях, когда расчёт по аналитическим формулам затруднён.

===============
Скачать программу Opt_Alt можно отсюда - https://yadi.sk/d/26OWC1b2gvpor
В системах Виндос 7 и 8 программа работает в ДОС ящике, скачать можно здесь - http://www.dosbox.com/


Рецензии
Сейчас на многих сайтах реализована возможность он-лайн вычислений, например для инфракрасных спектров - hitran.iao.ru, это удобнее, чем скачивать какие-то ДОС ящики и программы под них. А программа по идее полезная, недавно столкнулся с проблемой коллимации излучения лазерного диода - требуются и асферические линзы, и учет аберраций, была бы он-лайн версия - я бы попробовал...

Сергей Фанченко   31.05.2015 14:08     Заявить о нарушении
Он-лайн расчёта оптики я не встречал, да и в английском я не очень. А этой программе уже 40 лет, не было тогда ещё персональных ЭВМ в теперешнем их виде, а был "Диалоговый вычислительный комплекс" - такой шкаф с полочкой и клавиатурой на этой полочке, и дисплей чёрно белый. Но бейсик уже был. Программа в память не помещалась, пришлось делать оверлеи. Несмотря на такую древность программа вполне конкурентноспособна и сейчас. Рядом с нами работали оптики-профессионалы, так что мне есть с чем сравнивать.
А с лазерными диодами я тоже работал - вводил излучение в волокно. Расчёт вёл и по этой программе, и по следующей - http://www.proza.ru/2015/05/19/1630, тоже самодельной, и вполне успешно. Обе программы работают в Виндосе ХР и без ящика , но и сейчас я проблем не испытываю. Старый Бейсик продолжает исправно служить.

Если есть что обсудить по части оптики, то я - с удовольствием. Вначале я совершенно не представлял себе, что такое лазерный диод, какая у него излучающая площадка, какая расходимость, какие предосторожности нужны при работе с ним. Делал не только оптику, но и электрические схемы.
Именно под лазерные диоды вторая программа, на которую я ссылаюсь, была заточена. А точнее - под схемы накачки, и под те лазеры, что в зелёных лазерных указках применяются.

Дмитрий

Дмитрий Маштаков   02.06.2015 13:04   Заявить о нарушении
Cпасибо за отклик, просто есть один проект, в котором надо оптимизировать коллимацию излучения лазерного диода, чтобы была приличная интенсивность на больших расстояниях в несколько сотен метров, слишком большие линзы использовать не хочется, поскольку дорогие, а из общих соображений выбор линз под сто метров и километр должен быть разным. Пойдет проект или не пойдет, сказать трудно, поэтому грубые прикидки делаются на основании оптического инварианта, но если реально найдется заказчик, то скорее всего надо будет предлагать конкретную систему оптики с диаметрами, фокусными расстояниями - и оптимизировать еще все по ценам. Но, как говорят, на Западе проект - это то, что с вероятностью 90% будет осуществлено, а у нас с этой же вероятностью - не будет...

Сергей Фанченко   03.06.2015 00:03   Заявить о нарушении
Сергей, я Вам на почту свои соображения отправил.
Дм.

Дмитрий Маштаков   03.06.2015 10:31   Заявить о нарушении
посмотрел в и-те "Мощная зеленая лазерная указка 200 mW 2800 р. Купить"
Дешёвка и никакого диода не нужно :)
Дм.

Дмитрий Маштаков   03.06.2015 11:00   Заявить о нарушении
Проект под ИК - в этом диапазоне пока ничего не продается...

Сергей Фанченко   03.06.2015 13:21   Заявить о нарушении
Кроме 1064 нм - это-то самое простое. И мощнее, и дешевле в принципе должно бы быть. Если какая-нибудь специфическая длина волны, то да. Диоды поразнообразнее в этом отношении.
Дм.

Дмитрий Маштаков   03.06.2015 16:55   Заявить о нарушении