uma visÃo geral do zemax um programa de modelagem...
TRANSCRIPT
INPE-14106-RPQ/807
UMA VISÃO GERAL DO ZEMAX: UM PROGRAMA DE
MODELAGEM E SIMULAÇÃO DE SISTEMAS ÓPTICOS
Bráulio Fonseca Carneiro de Albuquerque
INPE São José dos Campos
2006
INPE-14106-RPQ/807
UMA VISÃO GERAL DO ZEMAX: UM PROGRAMA DE
MODELAGEM E SIMULAÇÃO DE SISTEMAS ÓPTICOS
Bráulio Fonseca Carneiro de Albuquerque
INPE São José dos Campos
2006
SUMÁRIO
1.1 – Introdução................................................................................................................ 5 1.2 – Visão Geral do ZEMAX.......................................................................................... 5 1.3 – Política da Licença do Programa ............................................................................. 6 1.4 – Características Gerais .............................................................................................. 7 1.5 – Banco de Dados de Vidros ...................................................................................... 9 1.6 – Análises ................................................................................................................. 13 1.7 – Linguagem de Programação do ZEMAX e Ferramentas de Extensibilidade........ 15 1.8 – Ferramentas de Otimização do ZEMAX............................................................... 18 1.9 – Multi-Configuração ............................................................................................... 20 1.10 – Ferramenta de Análise de Tolerância do ZEMAX.............................................. 23
REFERÊNCIAS BIBLIOGRÁFICAS ........................................................................... 25
5
1.1 – Introdução
Neste Trabalho se descreve de maneira sumária, o “software” ZEMAX: para que serve;
seu funcionamento e algumas de suas ferramentas, sendo seu principal intuito fornece
uma base inicial ao leitor que esteja interessado em usar o ZEMAX, ou mesmo
compará-lo com outros “softwares” semelhantes. Quase todas as informações contidas
aqui foram retiradas do manual do programa (ZEMAX User’s Guide, 2002).
1.2 – Visão Geral do ZEMAX
O ZEMAX 10 é um programa de simulação óptica desenvolvido pela ZEMAX
DEVELOPMENT CORPORATION, que serve para modelar, analisar e auxiliar no
projeto de lentes e de sistemas ópticos refrativos, refletivos e difrativos, quer sejam
seqüenciais quer sejam não-seqüenciais, usando para isso basicamente o traçado de
raios.
O ZEMAX pode ser usado de três maneiras diferentes: completamente seqüencial,
híbrida (seqüencial e não seqüencial), e completamente não seqüencial. A maior parte
dos sistemas ópticos e praticamente todos os sistemas de formação de imagem são bem
representados pelo modelo completamente seqüencial. A forma híbrida serve para
sistemas com porções seqüenciais significativas, e alguns componentes não seqüenciais
(ex. prismas), enquanto que a forma completamente não seqüencial serve para fazer
análises de iluminação, espalhamento e desvio de luz.
Na forma seqüencial os raios são traçados da seguinte maneira:
O raio tem início na superfície objeto, então é traçado para superfície 1 em seguida para
a superfície 2 e assim por diante. Um raio nunca vai da superfície 2 para 6 em seguida
para 3 e depois para 1, isso seria não seqüencial. Cada raio vai para cada superfície em
uma seqüência específica e pré-determinada. Se um raio não pode ser traçado para a
próxima superfície nessa seqüência, o traçado para este raio é finalizado com um erro.
6
Já na forma não-seqüencial, os raios são traçados ao longo de qualquer caminho
fisicamente possível, seguindo qualquer ordem.
O ZEMAX, apesar de possuir tanto a forma seqüencial quanto a não seqüencial, é muito
mais especializado e avançado na forma seqüencial, pois aquela forma só foi incluída no
programa depois da versão 7.0. Apesar de cada atualização do programa incluir novas
ferramentas, facilidades e melhorias na forma não-seqüencial, ele ainda se encontra
distante quando comparado a programas desenvolvidos apenas para esta finalidade,
porém, vêm se aproximando rapidamente.
Neste texto só será tratada, apresentada e discutida a forma seqüencial do programa.
O ZEMAX é disponível em três diferentes edições: ZEMAX–SE (“Standard Edition”),
ZEMAX–XE (“Extended Edition”) e ZEMAX-EE (“Engineering Edition”); a diferença
entre elas está em alguns recursos que não são disponíveis nas versões SE e XE. Este
texto é voltado para a edição EE, a mais completa, já que tal versão engloba as outras
duas.
O ZEMAX não tem o objetivo de ensinar o usuário como projetar lentes ou sistemas
ópticos, mas sim oferecer muitas ferramentas para auxiliá-lo de uma forma interativa na
análise e no projeto dos mesmos. Entre essas ferramentas, destacam-se as de
extensibilidade, otimização, multi-configuração, análise térmica, análise de tolerâncias,
entre muitos outros recursos de análise disponíveis (veja Seção 1.6). Se o usuário tem
pouca ou nenhuma experiência em projetos ópticos, antes de usar o ZEMAX, deve
buscar conhecimento em literatura especializada.
1.3 – Política da Licença do Programa
Para que o programa rode sem problemas é necessário que a “hardlock” que vem junto
com cada licença do programa esteja conectada à porta paralela ou USB do computador.
Na verdade, o “hardlock” é a própria licença. A política da licença do programa
funciona do seguinte modo: pode-se instalar o ZEMAX em quantos computadores se
7
queira, porém só uma dessas cópias por licença pode ser executada por vez. O ZEMAX
não possui licenças de rede que são acessadas remotamente.
1.4 – Características Gerais
O ZEMAX foi desenvolvido para ser simples de usar, a interface do programa é feita
através de janelas, sendo assim muito visual e intuitivo. Com um pouco de prática, pode
possibilitar o desenvolvimento de um projeto de uma forma interativa e muito rápida. A
maioria dos recursos do programa são acessados através da seleção do menu de opções.
O teclado e as teclas de atalho são usados para uma navegação rápida, ou estabelecendo
uma passagem secundária à estrutura do menu.
O ZEMAX trabalha com diferentes janelas. A principal se abre ao iniciar o programa.
Ela contém uma grande área em branco, com uma barra com título, barra de menu e
uma barra de ferramentas no topo (Figura 1). Essa janela é usada para modelar uma
lente ou um sistema óptico, e recebe o nome de “Lens Data Editor” (LDE) que é um
tipo de planilha.
O modelamento de uma lente ou um sistema óptico seqüencial é feito através de
algumas ou inúmeras (mais de 1000) instanciações de um único tipo de objeto chamado
de superfície, que são representadas pelas linhas desta planilha; já as características de
cada superfície são inseridas ao longo de suas colunas.
8
FIGURA1- Janela principal do ZEMAX e uma de suas janelas secundárias chamada de “Lens Data Editor”.
Ao se abrir o LDE em um novo arquivo, pode-se visualizar inicialmente três superfícies
que são: OBJ, STO; e IMA (Figura 1). A primeira representa o objeto; a segunda, o
“stop aperture” do sistema; a última, o plano imagem. Todo sistema modelado no
ZEMAX deve conter no mínimo essas superfícies. Pode-se inserir outras superfícies
clicando com o mouse dentro do LDE, e apertando a tecla “Inset”. Desta forma, pode-se
inserir mais de 1000 superfícies. As colunas mais usadas, onde são colocadas as
características das superfícies, são: a segunda (“radius”), onde se insere o raio de
curvatura da superfície; a terceira (“thickness”) onde se insere a distância central da
presente superfície até a seguinte (que pode representar tanto a espessura de uma lente
ou a distância de separação entre duas superfície adjacentes); a quarta (“glass”), onde se
insere o nome de um tipo de vidro, que consta em um dos catálogos de vidro do
programa (Figura 1). O material definido preenche o espaço entre a presente superfície e
a seguinte. Caso deixado em branco, o programa adota o ar (com índice de refração um
para todos os comprimentos de onda) como material que preenche as superfícies.
9
As outras colunas são habilitadas ou não, dependendo do tipo de superfície que se
escolhe na primeira coluna. Existem 52 tipos de superfícies que podem ser escolhidas
no ZEMAX-EE, como por exemplo: “Standard, Even Asphere, Odd Asphere, Biconic”,
etc (para mais detalhes sobre os tipos de superfície veja ZEMAX User’s Guide 2002 pp.
13-1-13-38).
Depois de modelados a geometria e o material de cada lente e objeto do sistema, é
necessário definir os comprimentos de onda e seus respectivos “pesos”, os quais o
sistema é projetado para trabalhar, definir o tamanho da pupila de entrada e o campo de
visada do sistema. Isso deve ser feito, pois esses dados servem de entrada para as
simulações, análises e otimização do sistema.
Os comprimentos de onda para os quais se deseja fazer as simulações, análises e
otimização do sistema, são definidos em uma janela chamada “Wavelength Data”.
Nessa se definem até doze comprimentos de onda em mícrons com seu respectivo
“peso” e também o comprimento de onda do sistema adotado como principal. Os pesos
definidos são quantidades relativas da influência ou importância do comprimento de
onda no sistema e são levados em conta nos cálculos, análises e otimizações feitas pelo
ZEMAX. O comprimento de onda definido como primário, é usado como referência em
uma série de cálculos e análises, como por exemplo, no cálculo da distância focal
efetiva do sistema modelado.
O CDV do sistema pode ser definido de várias formas (e.g. ângulo, tamanho do objeto,
tamanho real da imagem) em uma janela chamada de “Field Data”. Esses servem para
se definir para quais regiões do CDV o ZEMAX deve gerar e executar as análises,
cálculos e otimização.
1.5 – Banco de Dados de Vidros
Em Óptica Geométrica, para se fazer o traçado de raios através de um sistema, só o que
se precisa é a lei de Snell. Para aplicar tal lei deve-se ter as informações sobre a
geometria de cada lente que compõe o sistema, o ângulo de entrada dos raios e os
índices de refração do material com o qual essas lentes são feitas. Geralmente esses
10
materiais são vidros. Porém existem muitos tipos de vidros, cada um com suas
características ópticas, que podem diferir muito entre si.
Em programas de simulação óptica, a modelagem de vidros é um dos parâmetros mais
importantes para que se tenha uma simulação mais próxima o possível da realidade. No
ZEMAX, a modelagem é muito bem feita, pois considera vários efeitos.
Cada vidro ou material definido em um catálogo possui uma infinidade de coeficientes,
dos quais vários servem para modelar as características ópticas e físicas, sendo usados
como valores de entrada nas simulações do sistema; outros são meramente informativos,
e não são usados para nenhum cálculo ou simulação.
Alguns dos coeficientes definidos para os vidros usados nas simulações e cálculos são:
os dados de dispersão, o máximo e mínimo comprimentos de onda, os coeficientes de
expansão térmica, os coeficientes da equação que modela a mudança do índice de
refração com a temperatura, o valor da densidade do material, e os valores da
transmitância interna do material (para mais detalhes veja ZEMAX User’s Guide, 2002
p.19-1-19-17).
A dispersão de um vidro pode ser modelada através de diferentes equações (e.g. Schott,
Semeirer1, Sellmeirer2, Sellmeirer3, Sellmeirer4, Herzberger e Corandy). Estas
relacionam o comprimento de onda com o índice de refração do material (no ZEMAX
todos os índices de refração do material são relativos ao índice de refração do ar que é
tomado como um). Logo a seguir temos alguns exemplos destas equações:
85
54
43
22
210
2 −−−−+++++= λλλλλ aaaaaan (Schott) (1)
32
23
22
22
12
212 1
L
K
L
K
L
Kn
−+
−+
−=−
λ
λ
λ
λ
λ
λ(Sellmier1) (2)
6422λλλ FEDCLBLAn +++++= onde
028,0
12−
=λ
L (Herzberger) (3)
11
Estas equações são curvas ajustadas a partir de coeficientes, onde, por exemplo, no caso
do Sellmeier 1, são dados por seis (são eles K1,K2,K3,K4,L1,L2,L3 e L4, veja a Figura
1). Quando o usuário insere um novo vidro no catálogo, pode definir diretamente os
valores desses coeficientes, ou ainda inserir os dados dos índices de refração do material
nos respectivos comprimentos de onda e escolher a equação de dispersão que deseja
usar, e então o ZEMAX calcula os coeficientes desta Equação através de um ajuste de
curva. Esse procedimento é feito em uma janela que se abre clicando em “Fit Index
Data” (Figura 2) que é uma das opções dentro da janela “Glass Catalog” (Figura 1).
FIGURA 1-Janela dos catálogos dos vidros e as informações referentes ao vidro selecionado, que neste caso é o BK7 do catálogo Schott.
Os valores do comprimento de onda máximo e mínimo dados respectivamente por “Min
Wave” e “Max Wave” são os valores que especificam o limite onde a equação de
dispersão é válida.
O coeficiente de expansão térmica dado por TCE serve para calcular a mudança no raio
de curvatura, na espessura e no diâmetro de cada um dos elementos do sistema formado
por vidro (ou material semelhante) quando se faz a análise térmica do sistema. Esse
12
coeficiente é válido para o intervalo de -30± a 70±C e o número inserido ou mostrado no
ZEMAX é o valor do coeficiente multiplicado por 106.
A mudança do índice de refração com a temperatura é modelada por uma equação de
dispersão térmica com vários coeficientes (são eles: D0, D1, D2, D3, E0, E1, tk). Esses
também são muito importantes quando se faz a análise térmica do sistema no ZEMAX.
FIGURA 2-Janela usada para inserir os valores dos índices de refração para cada comprimento de onda defi
O valor da densidade do material “p” é dado em gramas por centímetro cúbico, sendo
usado no cálculo da massa de cada lente do sistema.
Os dados de transmitância interna do vidro servem para fazer o cálculo da transmitância
total, a qual é função da transmitância interna, da transmitância de Fresnel e do efeito de
“vignetting”. Os dados da transmitância interna se encontram ou são inseridos em uma
janela que se abre ao clicar em “Transmission” (Figura 3) que é uma opção dentro da
janela “Glass Catalog” (Figura 1). A transmissão para cada comprimento de onda é
definida no catálogo de vidro por três números: o valor do comprimento de onda em
micrometros, a intensidade da transmitância em porcentagem, e a espessura de
referência do material em mm. Estes valores podem ser inseridos no editor de dados de
transmissão para vários comprimentos de onde. Os dados de transmitância interna para
cada comprimento de onda são calculados através da lei de Beer dada pela Equação:
13
ατet = (4)
Onde t é a transmitância interna, α é o coeficiente de absorção calculado pelo ZEMAX
com base nos dados de transmitância interna inseridos da forma explicada, e τ é o
comprimento do caminho que a luz faz dentro do vidro.
Para calcular a transmitância interna referente a comprimentos de onda para os quais
não se definiu nenhum dado, o ZEMAX faz internamente uma interpolação linear entre
comprimentos de onda para os quais os dados foram definidos. Se o traçado de raio for
feito em um comprimento de onda fora do intervalo dos comprimentos de onda
definidos, então os dados do comprimento de onda mais próximo são usados.
FIGURA 3-Janela onde se inserem os valores da transmitância interna do vidro. A primeira coluna é a dos c
1.6 – Análises
Esse programa possui um conjunto de ferramentas de análise e diagnóstico de sistemas
ópticos bem completo. Para todas estas ferramentas têm-se uma “dialog box” na qual
podem ser escolhidos os métodos de cálculo e as formas de apresentação dos resultados
de modo a satisfazer o usuário.
As ferramentas de diagnóstico que são dadas na forma de gráficos, além de poderem ser
facilmente exportadas em diferentes extensões, ainda permitem o acesso aos valores
14
numéricos que geram o gráfico, bem seu como seu salvamento em arquivos .txt. Isso
também vale para análises que já são dadas na forma de texto.
Como são muitas ferramentas de análise disponíveis no ZEMAX é inviável fazer um
comentário de cada uma delas. Contudo, na Tabela 1, encontra-se uma lista parcial das
ferramentas de análise mais importantes do modo seqüencial disponíveis no ZEMAX. A
lista pode servir para comparação entre ele e outros programas do mesmo tipo.
TABELA 1- Lista parcial das ferramentas de análise disponíveis no ZEMAX. Layouts 2D cross section
3D perspective and wireframe Solid or shaded model Surface, singlet, and doublet element drawings ISO 10110 format drawings
Fans Ray aberration Optical path difference Pupil aberration
Spot Diagrams Standard field-by-field Through focus Full field, Matrix Extended source bitmaps and images
(continua)
(Tabela 1 – conclusão) Diffraction MTF, PSF Analysis Modulation transfer function (MTF)
Sine or Square wave MTF Through focus MTF Point spread function (PSF) Surface MTF and filed MTF maps Geometric, Huygens, or FFT based MTF, PSF Wavefront maps
Encircled Energy Diffraction radial Geometric radial, x, y Extended sources Line/Edge response
Miscellaneous Diffraction extended source images Footprint analysis
15
Grid distortion Relative illumination, Vignetting Longitudinal aberration, Lateral color Field curvature and distortion RMS vs. field, focus, or wavelength Interferograms Y-Ybar diagram Chromatic focal shift Dispersion plot, glass map diagrams Glass internal transmittance vs. wavelength
Numerical Computations Single and multimode fiber coupling efficiency First order system data Surface power, volume, edge thickness data Ray trace data, real and paraxial Gaussian beam parameters Seidel and Zernike aberrations Wavefront, transverse, longitudinal aberrations YNI contributions Sag tables, maximum aspheric deviation
Polarization Ray Tracing Polarization Ray Tracing Polarization state evolution Polarization ellipse pupil map System transmission Coating reflection, transmission, and absorption Polarization aberrations System transmission fans
Physical Optics Propagation User defined beam definition Irradiance plots Phase plots Encircled Energy plots Fiber Coupling Supports Polarization
1.7 – Linguagem de Programação do ZEMAX e Ferramentas de Extensibilidade
A linguagem de programação do ZEMAX (ZPL) é uma linguagem interpretada, macro,
de alto nível e simples de usar, especialmente desenvolvida para se usar junto com o
ZEMAX. A ZPL fornece a capacidade de extensibilidade ao usuário. Isso significa que
se o usuário precisar de um cálculo ou um gráfico em particular que não esteja
“incorporado” no programa, ele pode escrever sua própria rotina para fazer a tarefa.
Esta rotina pode ser armazenada em um disco e chamada ou acessada com o ZEMAX. É
16
possível desenvolver uma biblioteca de programas ZPL, e compartilhar com outros
usuários do ZEMAX.
A ZPL é similar à linguagem BASIC, exceto por não ter todos os comandos e palavras
chaves disponíveis, e por ter algumas novas capacidades e funções adicionais
desenvolvidas próprias para cálculos e análises ópticas. Todas as funções, operações
lógicas e variáveis aceitas pela ZPL são listadas e explicadas no manual do programa.
Para se escrever a rotina basta usar qualquer editor de texto e salvar o arquivo com a
extensão.ZPL dentro de uma pasta do ZEMAX destinada para isso. Então, para executar
essa rotina para um sistema óptico modelado no ZEMAX, basta abrir o arquivo desse
sistema e, em seguida, através do menu principal do ZEMAX, escolher a rotina que se
quer executar.
As saídas dos cálculos e/ou resultados de uma rotina feita em ZPL podem ser dadas na
forma de texto na tela do computador em uma janela que se abre ao se dar início na
execução da rotina, na forma de um arquivo do tipo texto e também em forma de
gráficos em uma nova janela do ZEMAX.
Apesar de simples de usar e de ser uma ferramenta muito boa de extensibilidade do
programa, a ZPL ainda possui muitas limitações de comando. Um exemplo disso é que
não se pode definir variáveis do tipo vetor e muito menos do tipo matriz, pode-se apenas
usar quatro vetores que são variáveis pré-definidas da própria ZPL, e nem mesmo os
seus nomes podem ser modificados. Dessa forma limita-se e dificulta-se o
desenvolvimento de rotinas mais elaboradas por parte do usuário.
Outro ponto negativo está no tempo de execução das rotinas feitas nessa linguagem, que
são relativamente muito lentas. Chegou-se a esta conclusão através da comparação entre
o número de raios por segundo que o ZEMAX em um certo computador naturalmente
consegue traçar por um dado sistema, e o número de raios por segundo que se consegue
traçar usado uma rotina em ZPL nas mesmas condições. Isso foi feito da seguinte
forma: aplicou-se, no sistema óptico utilizado para o desenvolvimento do trabalho de
(Albuquerque, 2005), uma ferramenta disponível no ZEMAX que serve para avaliar a
17
“velocidade” em que o computador pode traçar raios por segundo por um dado sistema,
e se obteve um resultado de 481880 raios por segundo. Em seguida, criou-se uma rotina
na ZPL com um “loop” para traçar vários raios através do mesmo sistema óptico,
obtendo-se um resultado de 5702 raios por segundo. Este valor é muito menor do que
resultado fornecido pelo teste de velocidade do programa, chegando-se a conclusão de
como uma rotina em ZPL pode ser lenta.
Apesar disso, o ZEMAX ainda possui uma outra ferramenta de extensibilidade mais
poderosa, mais rápida e mais complexa que a ZPL. Através dessa, o ZEMAX permite
que outros programas do “Windows” estabeleçam comunicação com ele através de uma
ferramenta Chamada “Dynamic Data Exchange” (DDE). Com isso, o ZEMAX pode
trocar informações e comandos com outros programas desenvolvidos pelo usuário com
um determinado objetivo. A idéia é usar o ZEMAX para traçar os raios por um dado
sistema óptico, fazendo com que o programa feito pelo usuário extraia as informações
do ZEMAX, de modo a fazer análises ou cálculos que ele não tem disponíveis. Ainda é
possível fazer com que o programa devolva as análises e cálculos para o ZEMAX
fazendo-o mostrar os resultados em uma de suas janelas usuais de gráfico ou texto.
Todavia, para usar esta ferramenta, é necessário que o usuário saiba programação em
“C” para Windows, tenha um compilador de “C” que possa gerar executáveis para
Windows de 32 bits e aprenda a programação DDE. Segundo o manual do ZEMAX, a
parte mais difícil da programação, que é fazer o programa elaborado pelo usuário
estabelecer um meio de comunicação com o ZEMAX, já está feita e disponível para
estudo e reutilização.
Uma notícia boa é que foi criado no MATLAB uma “Toolbox” com várias funções
compreendidas pelo ZEMAX que se utiliza da DDE para fazer a comunicação entre os
dois programas. Esta ferramenta torna muito fácil a elaboração de rotinas de
extensibilidade do ZEMAX, pois o MATLAB possui uma linguagem de auto nível com
muitas funções matemáticas prontas. Esta “toolbox” recebe o nome de “MZDDE- The
ZEMAX DDE Toolbox for Matlab”e pode ser baixada gratuitamente da central de
troca de arquivos da
18
MathWorks.(http://www.mathworks.com/matlabcentral/fileexchange/loadFile.do?objec
tId=7507&objectType=file).
1.8 – Ferramentas de Otimização do ZEMAX
O ZEMAX é provido de algumas ferramentas de otimização que servem para melhorar
a performance de um sistema óptico baseado em um projeto inicial, utilizando para isso
poderosos algoritmos de otimização que tentam minimizar o valor de uma função
chamada de Função de Mérito (“Merit Function” MF).
A otimização pode ser feita usando três diferentes algoritmos, a saber: “Optimization”,
“Hammer Optimization” e o “Global Search”. O primeiro deles tenta achar o mínimo
local da MF baseado na técnica de otimização de mínimos quadrados. O segundo é o
algoritmo de otimização que serve para escapar do mínimo local e verificar se não
existe uma solução vizinha melhor no espaço solução. O último algoritmo é usado para
buscar soluções com novos arranjos baseados no projeto inicial. Esse usa uma
combinação de algoritmos genéricos como: “simulated annealing”, “multstart”, “expert
systems”, “neural networks”, entre outros. Entretanto ele geralmente não produz
projetos finalizados, para isso é necessário, após a sua utilização, aplicar o “Hammer
Optimization” em uma das soluções encontradas pelo “Global Search”.
Para se fazer uso de qualquer uma das três otimizações, é necessário satisfazer os
seguintes requisitos: 1) ter um sistema óptico razoável o qual servirá de ponto de
partida, 2) definir as variáveis do seu sistema e 3) criar uma MF.
Qualquer número de variáveis pode ser simultaneamente otimizado, praticamente
qualquer parâmetro do sistema que se encontra no LDE pode ser definido como
variável, incluindo raio, espessura, vidros, coeficientes de superfícies não esféricas,
espaçamentos, aberturas, entre outros. Para especificar uma variável usada no processo
de otimização, simplesmente é necessário apertar as teclas Ctrl-Z simultaneamente,
quando se estiver com a barra de seleção em cima do parâmetro a ser definido como
variável no LDE.
19
A MF pode ser definida como uma representação numérica de quão perto um sistema
óptico se encontra em relação a um conjunto de metas e vínculos.
A MF nada mais é do que uma lista de operadores, os quais individualmente
representam diferentes vínculos ou metas para o sistema. Os operadores representam
metas como: qualidade da imagem, distância focal, aumento do objeto, entre outros. E
podem representar vínculos como: espessura máxima de uma lente, tamanho máximo do
sistema, espessura mínima da borda de uma lente, etc. O ZEMAX possui mais de 250
operadores que podem ser usados para a construção da MF. Para cada um deles,
quando definidos na MF, deve-se informar o valor que se deseja que ele tenha, o “peso”
relativo que esse operador tem sobre os demais, e algumas coordenadas que servem para
definir para onde este operador será válido.
A MF é proporcional à raiz quadrada da soma ponderada do quadrado da diferença entre
o valor atual “Vi” e o valor que se deseja “Ti” de cada operador da lista (Equação 1). A
MF é definida desta maneira onde o valor zero é o ideal. Então o que os algoritmos de
otimização fazem é se esforçar para levar o valor desta função para o menor possível.
∑
∑ −=
i
iii
W
TVWMF
22 )(
(1)
Onde MF é valor da Função de Mérito, “Wi” é o peso definido para um certo operador i,
“Vi” é o valor atual do operador i e “Ti” é o valor que se deseja para o operador i.
A maneira mais fácil de se definir uma Função de Mérito é usar uma das 20 funções
disponíveis do “default”, e em seguida adicionar outros operadores de interesse
manualmente.
Para se usar uma MF do “default”, deve-se escolher uma série de opções, como: o
método de otimização (RMS ou PTV “peak-to-valley”), tipo de dados a serem
otimizados (que podem ser referentes a um dos raios do “spot”, x, y, ou x + y, ou ainda
referentes aos erros da frente de onda), o método de integração (este método está
relacionado com a geometria de distribuição na pupila de entrada dos raios usados para
20
o cálculo dos operadores), entre outros. Depois disso, o ZEMAX cria automaticamente
uma MF com vários operadores podendo o usuário inserir outros manualmente (Figura
1).
A primeira coluna de cada linha da MF traz o código do operador que está sendo usado,
as demais colunas da mesma linha são destinadas aos parâmetros necessários para este
operador. O manual do programa traz uma lista de todos os operadores de otimização e
uma explicação detalhada de cada um deles. Ainda é possível se criar novos operadores
através das ferramentas de extensibilidade, comentada na Seção 1.7.
FIGURA 1- MFE usada para criar a função de mérito.
Depois de ter feito os três passos necessários para otimização, dá-se início ao processo
escolhendo um dos três métodos de otimização disponíveis.
O ZEMAX suporta até 4 CPUs por computador para execução automática de
encadeamento múltiplo no uso das ferramentas de otimização.
1.9 – Multi-Configuração
O ZEMAX tem uma ferramenta que facilita a análise e possibilita a otimização de
sistemas que possuem mais de um modo ou configuração. Exemplos desse tipo de
sistema são sistemas ópticos com “Zoom”, ou mesmo sistemas ópticos que possuem
uma objetiva e diferentes oculares, entre outros. Naqueles geralmente o que se tem é
uma variação entre as distâncias de algumas lentes que compõem o sistema, enquanto,
21
que nesse, o que se tem é a variação completa de uma parte do sistema, tanto na
geometria, material, quanto no número de elementos que formam cada ocular.
Para se fazer análises de sistemas desse tipo, não é necessário o modelamento de cada
configuração em um novo arquivo, pois o ZEMAX possui uma ferramenta chamada de
“Multi-Configuration” ou Multi-Configuração, que possibilita a análise desse tipo de
sistema. Com essa ferramenta o ZEMAX possibilita o modelamento de diferentes
configurações em um único arquivo. Isso é feito em uma janela chamada “Multi-
Configuration Editor” (MCE). Nas linhas dessa janela são inseridos os operadores
referentes a um certo parâmetro do sistema que varia de uma configuração para outra.
Na primeira coluna de cada linha (Figura 1) pode-se ver uma sigla, que identifica os
parâmetros que mudam de uma configuração para outra (e.g: THIC-“Surface thickness”,
CRVT- “Surface curvature”), juntamente com o número da superfície a que o operador
se refere. Nas demais colunas de cada linha, estão os valores do parâmetro em cada
configuração.
Quando se está em uma dada configuração, todas as ferramentas de análises usadas
geram resultados para essa determinada configuração. Para se mudar de uma
configuração para a seguinte pode-se usar o comando Ctrl+A, ou se quiser ir para
anterior Shift+Crlt+A, ao se fazer isso todas as janelas de análises que estiverem abertas
irão se atualizar e fornecer os resultados para a configuração selecionada.
Quando se usa Multi-Configuração, é possível criar uma MF que contenha operadores
para cada uma das configurações. Desta forma, pode-se otimizar todas as configurações
de um sistema simultaneamente, colocando qualquer parâmetro de qualquer
configuração como variável no MCE.
Existem mais de 55 parâmetros que podem ser definidos na MCE que controlam
praticamente todos os parâmetros do sistema incluindo: a geometria das lentes, o campo
de visada, o F/#, os comprimentos de onda, etc.
22
FIGURA 1- MCE do ZEMAX usada para modelar sistemas com várias configurações.
Essa ferramenta também pode ser usada para fazer a análise térmica de um sistema.
Nesse tipo de Multi-Configuração o que se faz é inserir um operador que define a
temperatura do sistema em cada configuração, colocando em cada uma delas o valor da
temperatura em graus Celsius nas quais se pretende fazer as análises. Em seguida, deve-
se colocar todos os operadores para todas as superfícies que possam sofrer variações
com a temperatura. Para cada uma das configurações, tirando a configuração padrão
tomada como referência, deve-se definir o operador como “Thermal Pick Up” da
configuração padrão. Desta forma, o ZEMAX calcula automaticamente os valores de
cada parâmetro na temperatura definida na configuração em questão. Para isso, ele usa
principalmente os valores encontrados no banco de vidros, e os valores de expansão
térmica do material no qual as lentes do sistema estão montadas, que pode ser definido
pelo usuário na última coluna do LDE. Para definir o valor de um operador em uma
determinada configuração como “Thermal Pick Up”, basta dar um clique duplo sobre a
célula que se deseja no MCE e então a janela mostrada na Figura 2 se abrirá. No item
“Solve Type”, escolhe-se “Thermal Pick Up” e no “Config” se escolhe o número da
configuração padrão, tomada como base para os cálculos.
23
FIGURA 2-Janela que se abre quando se dá um duplo clique em qualquer célula no MCE.
Todavia, para facilitar a análise térmica, e evitar que o usuário cometa erros na hora de
inserir todos os operadores no MCE que sofrem variações com a temperatura, o
ZEMAX possui uma ferramenta que faz isso automaticamente para o usuário, criando
diferentes configurações com diferentes temperaturas, já com todos os operadores
necessários definidos para essa análise. O único trabalho que o usuário tem é definir a
mínima e a máxima temperatura onde deseja fazer as análises, e definir o número de
configurações em que esse intervalo de temperatura deve ser dividido.
1.10 – Ferramenta de Análise de Tolerância do ZEMAX
Uma das poderosas e importantes ferramentas do ZEMAX é a chamada “Tolerancing”.
Essa possibilita a análise, baseada em um critério de avaliação, dos efeitos decorrentes
da introdução de perturbações nos valores nominais dos parâmetros do sistema, e tem
como objetivo determinar a quantidade e tipos de erros que podem ser introduzidos na
fabricação e montagem do sistema óptico, de modo que continue atendendo aos
requisitos de performance, ou mesmo, verificar se a precisão de fabricação que se tem
disponível é suficiente para isso.
Essas perturbações decorrem de erros de fabricação, montagem, desvios dos valores
nominais das características ópticas dos materiais, entre outros. As tolerâncias podem
ser avaliadas por vários critérios diferentes, incluindo: valor RMS do tamanho do
“spot”, valor RMS do erro na frente de onda, resposta da MTF em uma determinada
freqüência, valor de uma função de mérito definida pelo usuário, entre outros.
24
As perturbações podem ser inseridas nos parâmetros de construção de cada elemento do
sistema, a saber: curvatura, espessura, índice de refração, número Abbe, constantes não
esféricas, irregularidades no formato das superfícies, entre outros, bem como em
parâmetros de montagem e/ou fabricação do suporte mecânico dos elementos do
sistema: posição, descentralização, inclinação dos elementos em relação a um ponto
arbitrário, etc. As várias tolerâncias podem ser usadas em qualquer combinação para
estimar a performance do sistema referentes aos efeitos dos erros de alinhamento e
fabricação.
As tolerâncias dos parâmetros de cada superfície ou elemento do sistema são inseridas e
editadas individualmente em um editor chamado “Tolerance Data Editor” (TDE). Isso é
feito usando operadores simples, por exemplo, o “TRAD” o qual define a tolerância no
raio de curvatura de uma determinada superfície. Os operadores de tolerância são
automaticamente salvos juntamente com o arquivo do sistema óptico.
A análise de tolerância pode ser feita de três formas:
“Sensitivity Analysis”: Neste modo o programa determina o impacto no critério de
avaliação escolhido, para cada tolerância definida no TDE individualmente. Os efeitos
individuais de cada tolerância são então somados estatisticamente de modo a determinar
a performance estimada do sistema.
“Inverse Sensitivity”: Neste modo se define um decréscimo máximo no critério de
avaliação permitido para cada tolerância definida no TDE, então o programa analisa
cada uma delas e, se necessário, as comprime de modo a atender o decréscimo máximo
definido. Os efeitos individuais de cada tolerância são então somados estatisticamente
de modo a determinar a performance estimada do sistema.
“Monte Carlo”: As análises estatísticas fornecidas através dos dois métodos anteriores
assumem que cada tolerância definida no TDE é perturbada pelo valor máximo
definido, e o que os erros são independentes. Já neste modo, o programa gera
aleatoriamente uma série de sistemas respeitando as tolerâncias definidas, onde todos os
parâmetros são aleatoriamente perturbados usando modelos estatísticos apropriados
25
definidos pelo usuário, baseado nos dados efetivos de fabricação (Normal, Uniforme ou
Parabólica). Com isso, o sistema como um todo é avaliado considerando todos os
defeitos possíveis simultaneamente. Deste modo, o ZEMAX pode simular rapidamente
a fabricação de um imenso número de lentes e informar a estatística da produção
baseado no critério de avaliação.
REFERÊNCIAS BIBLIOGRÁFICAS
Focus Software, Incorporated. ZEMAX Optical Design Program User's Guide. Tucson-Arizona, 2002. 561p.