uma visÃo geral do zemax um programa de modelagem...

27
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

Upload: trinhngoc

Post on 21-Jan-2019

215 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: UMA VISÃO GERAL DO ZEMAX UM PROGRAMA DE MODELAGEM …mtc-m16b.sid.inpe.br/col/sid.inpe.br/mtc-m17@80/2006/12.04.15.22/... · seqüenciais quer sejam não-seqüenciais, usando para

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

Page 2: UMA VISÃO GERAL DO ZEMAX UM PROGRAMA DE MODELAGEM …mtc-m16b.sid.inpe.br/col/sid.inpe.br/mtc-m17@80/2006/12.04.15.22/... · seqüenciais quer sejam não-seqüenciais, usando para
Page 3: UMA VISÃO GERAL DO ZEMAX UM PROGRAMA DE MODELAGEM …mtc-m16b.sid.inpe.br/col/sid.inpe.br/mtc-m17@80/2006/12.04.15.22/... · seqüenciais quer sejam não-seqüenciais, usando para

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

Page 4: UMA VISÃO GERAL DO ZEMAX UM PROGRAMA DE MODELAGEM …mtc-m16b.sid.inpe.br/col/sid.inpe.br/mtc-m17@80/2006/12.04.15.22/... · seqüenciais quer sejam não-seqüenciais, usando para
Page 5: UMA VISÃO GERAL DO ZEMAX UM PROGRAMA DE MODELAGEM …mtc-m16b.sid.inpe.br/col/sid.inpe.br/mtc-m17@80/2006/12.04.15.22/... · seqüenciais quer sejam não-seqüenciais, usando para

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

Page 6: UMA VISÃO GERAL DO ZEMAX UM PROGRAMA DE MODELAGEM …mtc-m16b.sid.inpe.br/col/sid.inpe.br/mtc-m17@80/2006/12.04.15.22/... · seqüenciais quer sejam não-seqüenciais, usando para
Page 7: UMA VISÃO GERAL DO ZEMAX UM PROGRAMA DE MODELAGEM …mtc-m16b.sid.inpe.br/col/sid.inpe.br/mtc-m17@80/2006/12.04.15.22/... · seqüenciais quer sejam não-seqüenciais, usando para

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.

Page 8: UMA VISÃO GERAL DO ZEMAX UM PROGRAMA DE MODELAGEM …mtc-m16b.sid.inpe.br/col/sid.inpe.br/mtc-m17@80/2006/12.04.15.22/... · seqüenciais quer sejam não-seqüenciais, usando para

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

Page 9: UMA VISÃO GERAL DO ZEMAX UM PROGRAMA DE MODELAGEM …mtc-m16b.sid.inpe.br/col/sid.inpe.br/mtc-m17@80/2006/12.04.15.22/... · seqüenciais quer sejam não-seqüenciais, usando para

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.

Page 10: UMA VISÃO GERAL DO ZEMAX UM PROGRAMA DE MODELAGEM …mtc-m16b.sid.inpe.br/col/sid.inpe.br/mtc-m17@80/2006/12.04.15.22/... · seqüenciais quer sejam não-seqüenciais, usando para

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.

Page 11: UMA VISÃO GERAL DO ZEMAX UM PROGRAMA DE MODELAGEM …mtc-m16b.sid.inpe.br/col/sid.inpe.br/mtc-m17@80/2006/12.04.15.22/... · seqüenciais quer sejam não-seqüenciais, usando para

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

Page 12: UMA VISÃO GERAL DO ZEMAX UM PROGRAMA DE MODELAGEM …mtc-m16b.sid.inpe.br/col/sid.inpe.br/mtc-m17@80/2006/12.04.15.22/... · seqüenciais quer sejam não-seqüenciais, usando para

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)

Page 13: UMA VISÃO GERAL DO ZEMAX UM PROGRAMA DE MODELAGEM …mtc-m16b.sid.inpe.br/col/sid.inpe.br/mtc-m17@80/2006/12.04.15.22/... · seqüenciais quer sejam não-seqüenciais, usando para

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

Page 14: UMA VISÃO GERAL DO ZEMAX UM PROGRAMA DE MODELAGEM …mtc-m16b.sid.inpe.br/col/sid.inpe.br/mtc-m17@80/2006/12.04.15.22/... · seqüenciais quer sejam não-seqüenciais, usando para

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:

Page 15: UMA VISÃO GERAL DO ZEMAX UM PROGRAMA DE MODELAGEM …mtc-m16b.sid.inpe.br/col/sid.inpe.br/mtc-m17@80/2006/12.04.15.22/... · seqüenciais quer sejam não-seqüenciais, usando para

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

Page 16: UMA VISÃO GERAL DO ZEMAX UM PROGRAMA DE MODELAGEM …mtc-m16b.sid.inpe.br/col/sid.inpe.br/mtc-m17@80/2006/12.04.15.22/... · seqüenciais quer sejam não-seqüenciais, usando para

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

Page 17: UMA VISÃO GERAL DO ZEMAX UM PROGRAMA DE MODELAGEM …mtc-m16b.sid.inpe.br/col/sid.inpe.br/mtc-m17@80/2006/12.04.15.22/... · seqüenciais quer sejam não-seqüenciais, usando para

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. É

Page 18: UMA VISÃO GERAL DO ZEMAX UM PROGRAMA DE MODELAGEM …mtc-m16b.sid.inpe.br/col/sid.inpe.br/mtc-m17@80/2006/12.04.15.22/... · seqüenciais quer sejam não-seqüenciais, usando para

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

Page 19: UMA VISÃO GERAL DO ZEMAX UM PROGRAMA DE MODELAGEM …mtc-m16b.sid.inpe.br/col/sid.inpe.br/mtc-m17@80/2006/12.04.15.22/... · seqüenciais quer sejam não-seqüenciais, usando para

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

Page 20: UMA VISÃO GERAL DO ZEMAX UM PROGRAMA DE MODELAGEM …mtc-m16b.sid.inpe.br/col/sid.inpe.br/mtc-m17@80/2006/12.04.15.22/... · seqüenciais quer sejam não-seqüenciais, usando para

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.

Page 21: UMA VISÃO GERAL DO ZEMAX UM PROGRAMA DE MODELAGEM …mtc-m16b.sid.inpe.br/col/sid.inpe.br/mtc-m17@80/2006/12.04.15.22/... · seqüenciais quer sejam não-seqüenciais, usando para

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

Page 22: UMA VISÃO GERAL DO ZEMAX UM PROGRAMA DE MODELAGEM …mtc-m16b.sid.inpe.br/col/sid.inpe.br/mtc-m17@80/2006/12.04.15.22/... · seqüenciais quer sejam não-seqüenciais, usando 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,

Page 23: UMA VISÃO GERAL DO ZEMAX UM PROGRAMA DE MODELAGEM …mtc-m16b.sid.inpe.br/col/sid.inpe.br/mtc-m17@80/2006/12.04.15.22/... · seqüenciais quer sejam não-seqüenciais, usando para

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.

Page 24: UMA VISÃO GERAL DO ZEMAX UM PROGRAMA DE MODELAGEM …mtc-m16b.sid.inpe.br/col/sid.inpe.br/mtc-m17@80/2006/12.04.15.22/... · seqüenciais quer sejam não-seqüenciais, usando para

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.

Page 25: UMA VISÃO GERAL DO ZEMAX UM PROGRAMA DE MODELAGEM …mtc-m16b.sid.inpe.br/col/sid.inpe.br/mtc-m17@80/2006/12.04.15.22/... · seqüenciais quer sejam não-seqüenciais, usando para

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.

Page 26: UMA VISÃO GERAL DO ZEMAX UM PROGRAMA DE MODELAGEM …mtc-m16b.sid.inpe.br/col/sid.inpe.br/mtc-m17@80/2006/12.04.15.22/... · seqüenciais quer sejam não-seqüenciais, usando para

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

Page 27: UMA VISÃO GERAL DO ZEMAX UM PROGRAMA DE MODELAGEM …mtc-m16b.sid.inpe.br/col/sid.inpe.br/mtc-m17@80/2006/12.04.15.22/... · seqüenciais quer sejam não-seqüenciais, usando para

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.