Vous êtes sur la page 1sur 97

UFPA

Estudo da Propagao de Ondas Eletromagnticas em Estruturas Peridicas

Marcelo Bruno da Silva Dias

Segundo Semestre de 2003

CENTRO TECNOLGICO UNIVERSIDADE FEDERAL DO PAR CAMPUS UNIVERSITRIO DO GUAM BELM PA

ii

UNIVERSIDADE FEDERAL DO PAR CENTRO TECNOLGICO CURSO DE ENGENHARIA ELTRICA

Marcelo Bruno da Silva Dias

Estudo da Propagao de Ondas Eletromagnticas em Estruturas Peridicas

TRABALHO SUBMETIDO AO COLEGIADO DO CURSO DE ENGENHARIA ELTRICA PARA OBTENO DO GRAU DE ENGENHEIRO ELETRICISTA OPO TELECOMUNICAES.

Belm 2003

iii

Estudo da Propagao de Ondas Eletromagnticas em Estruturas Peridicas

Este trabalho foi julgado em 03/06/2004 adequado para a obteno do Grau de Engenheiro Eletricista Opo Telecomunicaes, e aprovado na sua forma final pela banca examinadora, que atribuiu o conceito EXCELENTE.

_________________________________________ Prof. Dr. Carlos Leonidas da Silva Souza Sobrinho ORIENTADOR

_________________________________________ Prof. Msc. Jos Felipe Souza de Almeida CO-ORIENTADOR

_________________________________________ Prof. Dr. Ronaldo Oliveira dos Santos MEMBRO DA BANCA EXAMINADORA

_________________________________________ Prof. Msc. Raimundo Jos Santos Mota MEMBRO DA BANCA EXAMINADORA

_________________________________________ Prof. Dr. Orlando Fonseca Silva COORDENADOR DO CURSO DE ENGENHARIA ELTRICA

iv

A meus pais, razes de minha vida, Belisrio e Merice. A minhas irms, Denise e Marina. A minha Lene, meu amor, minha inspirao. A Jesus Cristo, Redentor dos Homens. A Maria de Nazar, Nossa Senhora e Me do Cu.

AGRADECIMENTOS
Ao orientador, Prof. Dr. Carlos Leonidas da Silva Souza Sobrinho, por suas explicaes, sua pacincia, seu bom humor e seus sbios conselhos. Ao co-orientador, Prof. Msc. Jos Felipe Souza de Almeida, por seu excelente trabalho de co-orientao, sua disposio, seu companheirismo e sua incessante busca pela perfeio. Aos colegas do Laboratrio de Anlise Numrica em Eletromagnetismo (LANE), que contriburam diretamente para a concluso deste trabalho: Prof. Dr. Ronaldo Oliveira dos Santos, Prof. Msc. Eduardo Tannus Tuma e Rodrigo Melo e Silva de Oliveira. minha famlia, que me apoiou durante estes anos de graduao, fortalecendo-me e proporcionando-me infraestrutura fsica e psicolgica suficiente para que eu pudesse concluir meus estudos com mritos. minha Lene, cujo auxlio foi fundamental para alcanar o sucesso deste trabalho e cujo apoio reergueu-me nos momentos mais difceis desta caminhada.

vi

Quanto mais aprendemos, mais aumentamos a fronteira da nossa ignorncia. Eduardo Tannus Tuma

vii

LISTA DE SMBOLOS
O(xn) Erro de n-sima ordem Condutividade Condutividade eltrica Condutividade magntica Condutividade eltrica ou magntica, na posio l Condutividade eltrica ou magntica mxima, na direo d Permissividade eltrica Permissividade eltrica do meio 1 Permissividade eltrica do meio 2 Permissividade eltrica absoluta do vcuo (8,8541878 1012 F/m) Permissividade eltrica relativa Tensor permissividade eltrica Permeabilidade magntica Permeabilidade magntica do meio 1 Permeabilidade magntica do meio 2 Permeabilidade magntica absoluta do vcuo (1,256637061 106 H/m) Permeabilidade magntica relativa Tensor permeabilidade magntica Vetor intensidade de campo eltrico Componentes do campo eltrico, nas direes x, y, z, respectivamente Componente de campo eltrico no instante (n+1) Componente de campo eltrico no instante (n) Valor inicial da componente de campo eltrico, na direo l, para o clculo intuitivo da derivada centrada

e m l dmax 1 2 o r 1 2 o r
E Ex,Ey,Ez En+1 En

0 l

1 l

Valor final da componente de campo eltrico, na direo l, para o clculo intuitivo da derivada centrada

H Hx,Hy,Hz Hn+1/2 Hn1/2

Vetor intensidade de campo magntico Componentes do campo magntico, nas direes x, y, z, respectivamente Componente de campo magntico no instante (n+1/2) Componente de campo magntico no instante (n1/2)

viii

H H
D

0 l

Valor inicial da componente de campo magntico, na direo l, para o clculo intuitivo da derivada centrada

1 l

Valor final da componente de campo magntico, na direo l, para o clculo intuitivo da derivada centrada Vetor densidade de fluxo eltrico Componentes do vetor densidade de fluxo eltrico, nas direes x, y, z, respectivamente

Dx,Dy,Dz

Vetor densidade de fluxo magntico

Bx, By, Bz Componentes do vetor densidade de fluxo magntico, nas direes x, y, z, respectivamente J Jx, Jy, Jz Vetor densidade de corrente de conduo Componentes do vetor densidade de corrente de conduo, nas direes x, y, z, respectivamente

n a
I J K n

Derivada parcial de n-sima ordem em relao a a ndice indicador de clula de Yee, na direo x ndice indicador de clula de Yee, na direo y ndice indicador de clula de Yee, na direo z ndice da discretizao temporal Dimenso da clula de Yee, na direo x Dimenso da clula de Yee, na direo y Dimenso da clula de Yee, na direo z Dimenso do menor incremento temporal Velocidade da luz no vcuo Velocidade de fase Comprimento de onda Menor comprimento de onda do sinal considerado Erro cumulativo total Tensor Elemento do tensor S na direo l 1 Freqncia angular Ordem do polinmio que defini a condutividade da UPML

x y z t
c vf

min
S sl j

ix

nci d

Nmero de camadas da UPML, na direo i Distncia entre planos atmicos ngulo de incidncia da onda ngulos em graus Coeficiente de transmisso Voltagem computada na porta de acesso, at que o regime estacionrio seja atingido

, ,
S21 V(t)trasm V(t)inc BW fC fH fL v W

Tenso total incidente gerada pelo campo Largura de banda Freqncia central do Band Gap Freqncia mais alta da banda, definida para uma amplitude de 5% do pulso Freqncia mais baixa da banda, definida para uma amplitude de 5% do pulso Velocidade do pulso Gaussiano no meio especificado Largura do pulso Gaussiano Desvio padro temporal do pulso Gaussiano

Desvio padro em z do pulso Gaussiano Amplitude mxima do pulso rea do crculo rea do quadrado Lado do quadrado Raio do quadrado Constante de rede Quantidade de clulas da constante de rede

fmax Acrculo Aquadrado L R a af

LISTA DE FIGURAS
FIGURA Figura 2.1 DESCRIO (a) Estrutura cilndrica com periodicidade unidimensional; (b) Estrutura com periodicidade unidimensional. Figura 2.2 Figura 2.3 Figura 2.4 Estruturas peridicas com periodicidade bidimensional. Exemplos de estruturas com periodicidade tridimensional. (a) Formao de um guia planar com a retirada de uma fileira de elementos do cristal; (b) Formao de uma cavidade ressonante de Fabri-Perot aps a retirada de um elemento. Figura 2.5 (a) Simulao de modos de propagao na cavidade ressonante de Fabri-Perot;(b) Acoplador direcional sintonizado (Channel-Drop Filter) formado por dois guias de onda e uma cavidade ressonante. Figura 2.6 (a) Guia de onda com curva acentuada de 90 (b) Guias de onda se cruzando atravs de uma cavidade ressonante, sem haver interferncia entre os sinais de cada guia. Figura 2.7 Figura 2.8 Onda refletindo nas vrias camadas da matria. Clula unitria obtida por transladao da clula primria e estrutura cristalina obtida por transladao da clula unitria. Figura 2.9 Ilustrao de uma rede cristalina quadrada obtida a partir da estrutura cristalina da Figura 2.8; a a constante de rede neste caso. Figura 2.10 Figura 2.11 Figura 3.1 Os sete sistemas cristalogrficos bsicos. Exemplo de clula de Wigner-Seitz. Definio intuitiva da derivada de 1 ordem. Curvas para as dedues das frmulas das derivadas (a) atrasada, (b) adiantada e (c) central. 10 11 14 10 8 9 7 7 5 5 6 PGINA 5

xi

Figura 3.2 Figura 3.3

Curva para outra forma de deduo intuitiva da derivada centrada. Discretizao em coordenadas retangulares do espao de anlise: (a) Vista 3D (b) Vista Superior da malha 3D.

16 18

Figura 3.4 Figura 3.5

Clula de Yee com componentes eltricas no instante n. Configurao de clula de Yee suficiente para mostrar a aproximao por FD-TD da Lei de Faraday. As componentes com ndice 0 e 1 so equivalentes aos valores iniciais e finais, respectivamente, usados no clculo intuitivo da derivada centrada, feito pela Equao (3.7) deduzida a partir da Figura 3.2.

19 19

Figura 3.6

Viso 3D do espao discreto segundo Yee, para mostrar as aproximaes por FD TD das equaes rotacionais de Maxwell.

20

Figura 3.7

Clula Secundria de Yee com componentes magnticas no instante n+1/2.

21

Figura 3.8 Figura 3.9

Erro em funo da discretizao da malha. Variao da velocidade de fase normalizada versus o ngulo de propagao da onda, provocada pela disperso numrica.

24 25

Figura 3.10

Variao da velocidade de fase normalizada com a resoluo da malha para dado ngulo de propagao, causada pela disperso numrica.

25

Figura 3.11

Modelo geral, no plano x-y, do domnio numrico de um problema aberto, mostrando a regio de propagao eletromagntica em anlise, circundada pela condio de fronteira absorvente UPML.

27

Figura 3.12

Modelo

de

problema

eletromagntico

2D

aberto,

fechado

27

artificialmente pela UPML. Figura 3.13 Figura 3.14 Representao dos cantos da UPML. a) caso 3D; b) caso 2D. Delimitaes do domnio numrico para clculos na UPML e clula de Yee, para o modo de propagao TMz. 28 35

xii

de Yee, para o modo de propagao TMz. Figura 3.15 Figura 4.1 Figura 4.2 Figura 4.3 Condies de contorno para o PEC. Esquema de filtro PBG. Viso superior do modelo do Filtro PBG. Vista lateral do filtro PBG. Deve-se observar a existncia de uma fileira de blocos abaixo da fita. Figura 4.4 Vista ampliada do plano y-z do filtro PBG, mostrando a porta de acesso, onde se capta a tenso transmitida, gerada entre a placa metlica, abaixo do substrato, e a linha de fita, acima dele. Figura 4.5 Exemplo de domnio numrico do filtro PBG, caso 2x7. Viso do plano x-y superior. A distncia a deve ser, preferencialmente, igual ao comprimento de onda da freqncia central do pulso; b deve ser um valor que possibilite a, por exemplo, a + 10 clulas; c deve ser no mnimo 10 clulas e d pode ser igual a distncia entre dois bastes. Figura 4.6 Modelos do filtro de 2 planos PBG. De cima para baixo os arranjos 2 x 5, 2 x 7, 2 x 9 e 2 x 11, respectivamente. Figura 4.7 Curva do coeficiente reflexo para clculo da largura de banda da estrutura, nos casos 2 x 5, 2 x 7, 2 x 9 e 2 x 11. Figura 4.8 Figura 4.9 Modelos do filtro de 6 planos PBG. Curva do coeficiente S21, para determinao do band gap nos arranjos 6 x 5, 6 x 7, 6 x 9, 6 x 11. Figura 4.10 Figura 4.11 Comparativo entre arranjos de 2 planos e 6 planos. a) Vista 2D superior do guia de onda PBG bidimensional; b) Viso 3D em perspectiva do mesmo guia de onda (os espaos vazios entre os bastes, e o canal, so preenchidos com ar). 48 49 47 48 46 45 44 41 37 40 40 40

xiii

Figura 4.12

Espectro da intensidade do sinal transmitido na estrutura mostrada em [2].

50

Figura 4.13

Anlise do domnio numrico do problema do guia de onda, para processamento seqencial.

52

Figura 4.14

Diviso do domnio numrico para processamento paralelo e passagens de campos necessrias entre as mquinas.

53

Figura 4.15

Distribuio de campo aps 600 iteraes. A cor vermelha representa o mximo positivo e a cor a azul escura o mximo negativo.

54

Figura 4.16

Distribuio de campo aps 1600 iteraes. Apesar das curvas de 90o, o confinamento se mantm.

54

Figura 4.17 Figura 4.18

Distribuio de campo aps 2500 iteraes. Plotagem 2,5D da onda confinada no guia aps 2500 iteraes. A amplitude do campo quase a mesma no comeo e no fim do guia, ou seja, a onda guiada com poucas perdas.

54 55

Figura 4.19 Figura 4.20 Figura 4.21 Figura A.1 Figura A.2

Distribuio de campo aps 150 iteraes. Distribuio de campo passadas 1500 iteraes. Distribuio aps 2500 iteraes. Modelo de formulrio para cdigo estruturado do FORTRAN 77. Cdigo FORTRAN para propagao de uma onda num domnio unidimensional.

55 56 56 61 78

xiv

LISTA DE TABELAS
TABELA Tabela 4.1 DESCRIO Dimenses do domnio numrico e posio da porta de acesso para cada caso. Tabela 4.2 Dimenses do domnio numrico e posio da porta de acesso para cada caso de filtro de 6 planos. Tabela A.1 Tabela A.2 Tabela A.3 Tabela A.4 Tabela A.5 Tabela A.6 Tabela A.7 Tabela A.8 Alguns conceitos bsicos para iniciantes em FORTRAN. Faixa de valor numrico para o tipo inteiro. Tamanho de palavra para dados do tipo real. Tamanho de palavra para dados do tipo complexo. Operadores aritmticos utilizados na linguagem FORTRAN. Operadores relacionais utilizados na linguagem FORTRAN. Operadores lgicos utilizados na linguagem FORTRAN. Algumas funes trigonomtricas utilizadas na linguagem FORTRAN. Tabela A.9 Funes diversas utilizadas na linguagem FORTRAN. 67 69 62 63 63 63 65 65 66 66 47 PGINA 45

Tabela A.10 Sintaxe para formatao de alguns tipos de dados e seus significados. Tabela A.11 Mais comandos para a construo de formatos. Tabela A.12 Sintaxe para listas de seleo.

70 73

xv

SUMRIO
1. Introduo ..........................................................................................................................1 1.1. Objetivos......................................................................................................................2 1.2. Composio Estrutural ..............................................................................................2 Referncias Bibliogrficas ................................................................................................3 2. As Estruturas Peridicas e os Cristais Fotnicos ..........................................................4 2.1. Introduo...................................................................................................................4 2.2. Cristais Fotnicos: Classificao e Aplicaes ........................................................5 2.3. Teoria Cristalogrfica Bsica....................................................................................7 2.3.1. Redes ................................................................................................................9 2.3.2. Zona de Brillouin...........................................................................................10 Referncias Bibliogrficas ..............................................................................................12 3. Mtodo FD-TD em Coordenadas Retangulares ..........................................................13 3.1. Introduo.................................................................................................................13 3.2. Aproximao Algbrica da Derivada O Prncipio do Mtodo das Diferenas Finitas ........................................................................................................................14 3.3. O Mtodo FD-TD Aplicao das Diferenas Finitas s Equaes de Maxwell ... ....................................................................................................................................17 3.3.1. As Equaes de Maxwell...............................................................................17 3.3.2. O Algoritmo de Yee .......................................................................................18 3.3.3. Preciso e Estabilidade do Mtodo ..............................................................23 3.4. As Condies de Fronteira Absorventes ................................................................26 3.4.1. Formulao da UPML .................................................................................27 3.4.2. Condies de Contorno do PEC ...................................................................37 Referncias Bibliogrficas ..............................................................................................38 4. Anlise de Problemas e Resultados................................................................................39

xvi

4.1. Introduo.................................................................................................................39 4.2. Problema 1 O Filtro PBG .....................................................................................40 4.2.1. Caractersticas Construtivas do Problema .................................................42 a) Fonte de Excitao.........................................................................................42 4.2.2. Implementao Numrica.............................................................................43 4.2.3. Resultados ......................................................................................................44 a) Caso 1: Estruturas com dois Planos PBG Paralelos ..................................45 b) Caso 2: Estruturas com seis Planos PBG Paralelos ...................................46 4.3. Problema 2 Guia de Onda PBG 2D .....................................................................49 4.3.1. Caractersticas Construtivas do Problema..................................................50 a) Fonte de Excitao.........................................................................................50 4.3.2. Implementao Numrica.............................................................................51 a) Serial ...............................................................................................................52 b) Paralelo ...........................................................................................................52 4.3.3. Resultados ......................................................................................................53 a) Seriais..............................................................................................................53 b) Paralelos .........................................................................................................55 Referncias Bibliogrficas ..............................................................................................57 5. Concluses .......................................................................................................................58 APNDICE A: Programao em FORTRAN ....................................................................60 A.1. Fundamentos sobre a Linguagem de Programao FORTRAN .........................60 A.1.1. Tipos de Dados...............................................................................................62 a) Numricos.......................................................................................................62 b) Literais............................................................................................................64 c) Lgicos ............................................................................................................64 A.1.2. Variveis e Constantes ..................................................................................64

xvii

a) Declarao de Variveis e Constantes ........................................................64 A.1.3. Operadores .....................................................................................................65 a) Operadores Aritmticos ................................................................................65 b) Operadores Relacionais ...............................................................................65 c) Operadores Lgicos.......................................................................................66 A.1.4. Funes Intrnsecas ......................................................................................66 A.1.5. Funes e Sub-rotinas ...................................................................................67 a) Funes ..........................................................................................................68 b) Sub-rotina ......................................................................................................68 A.1.6. Comandos de Entrada e Sada .....................................................................69 a) Comando FORMAT......................................................................................69 b) Comando READ ............................................................................................71 c) Comando WRITE..........................................................................................71 A.1.7. Arquivos .........................................................................................................71 A.2. Estruturas de Programao ....................................................................................72 A.2.1. Estrutura Condicional ..................................................................................73 a) Estrutura Condicional Simples ...................................................................73 b) Estrutura Condicional Composta ................................................................73 c) Estrutura Condicional Composta Simplificada..........................................73 A.2.2. Estrutura de Repetio .................................................................................74 A.3. Recursos de Programao .......................................................................................74 A.3.1. Deslocamento ................................................................................................74 a) GO TO Implcito............................................................................................74 b) IF com deslocamento ....................................................................................74 A.3.2. Declaraes e Atribuies Avanadas..........................................................75 a) DIMENSION..................................................................................................75

xviii

b) PARAMETER ...............................................................................................75 c) DATA..............................................................................................................75 A.3.3. Designao de Memria ................................................................................76 a) COMMON......................................................................................................76 b) BLOCK DATA ..............................................................................................76 A.3.4. Modularizao ...............................................................................................77 a) INCLUDE ......................................................................................................77 A.4. Cdigo em Linguagem FORTRAN.........................................................................77

xix

RESUMO
Neste trabalho, so mostradas a teoria do mtodo das Diferenas Finitas no Domnio do Tempo e a tcnica da condio de contorno absorvente UPML. , tambm, mostrado como essas tcnicas se complementam e como podem ser usadas em conjunto para simular problemas de propagao eletromagntica em regies abertas. De posse dessas informaes, apresenta-se uma breve explanao sobre uma das mais promissoras reas de pesquisa da cincia moderna: as estruturas peridicas. De uma forma mais aplicada rea das telecomunicaes, so mostrados exemplos de estruturas capazes de controlar o fluxo luminoso. Essas estruturas so os cristais fotnicos que, atravs da criao de band gaps fotnicos (PBG), impedem a propagao da onda dentro de si, em determinadas direes. Dois exemplos de estruturas formadas por materiais desse tipo so analisados. Um o arranjo de uma linha de fita em um substrato de cristais fotnicos, capaz de filtrar a onda transmitida pela fita, e o outro um guia de onda que confina e direciona a onda eletromagntica, transmitindo-a com pouqussima perda. Para as estruturas, cuja anlise envolve um tempo de processamento considervel, o processamento paralelo considerado.

CAPTULO 1: Introduo
No mundo globalizado moderno, as telecomunicaes assumiram papel fundamental dentro das sociedades. A economia acirrada, a difuso cultural, a busca incessante por conhecimento ou a necessidade de se saber o que acontece no mundo so alguns exemplos da atual necessidade do homem. Nesse cenrio, a evoluo dos dispositivos pticos para, por exemplo, a comunicao de alta velocidade, infraestrutura essencial para suportar o crescente trfego de dados, por causa da largura de banda e da velocidade que os dispositivos de comunicaes operando nessa faixa de freqncia so capazes de suportar. Assim, a partir das duas ltimas dcadas do sculo XX, com o auxlio dos estudos cristalogrficos sobre as propriedades constitutivas dos slidos, surgiram inmeras pesquisas sobre o desenvolvimento de materiais artificiais com diversas caractersticas eltricas e pticas. Nessas pesquisas, descobriu-se que combinaes de materiais eletricamente diferentes, em estruturas que se repetem em certas direes, podem controlar as caractersticas de propagao eletromagntica, desde as freqncias de microondas at o espectro ptico. Essas estruturas peridicas quando constitudas de material dieltrico so conhecidas como cristais fotnicos [1]. Do mesmo modo que os cristais eletrnicos, os cristais fotnicos produzem uma banda proibida (band gap) onde a propagao fotnica (modos eletromagnticos) atenuada para determinadas faixas de freqncias (PBG Photonic Band Gap). Dentre os exemplos de estruturas formadas por cristais fotnicos pode-se citar guias de onda periodicamente carregados para serem aplicados em dispositivos como vlvulas de onda progressiva, filtros e guias de ondas de superfcie [2]; estruturas dieltricas dispostas periodicamente usadas como substrato em uma linha de microfita para funcionar como um filtro PBG [3]; elementos impressos metlicos planares distribudos periodicamente na superfcie de um dieltrico (substrato) para serem usados em superfcies seletivas em freqncia [4]; antenas de arranjo de fase integradas [5]; acopladores de onda direcionais PBG [6,7] e outros. Para a anlise da propagao eletromagntica em estruturas desse tipo ser usado o mtodo numrico das diferenas finitas no domnio do tempo [8], associado tcnica da UPML de truncagem de malha [8,9] e ao processamento paralelo [10-13]. O mtodo FD-TD (Finite-Difference Time-Domain) fornece a soluo para os campos, como uma funo do tempo, em toda a regio de anlise.

1.1) Objetivos: Neste trabalho, alguns cdigos computacionais, usando o mtodo FD-TD e o processamento paralelo, so criados para o estudo da propagao de ondas eletromagnticas em cristais fotnicos. Esses cdigos so vlidos para a anlise de estruturas isotrpicas, com perfil de ndice de refrao variando continuamente. O mtodo FD-TD tambm ser usado para identificar as bandas proibidas de algumas das estruturas mostradas [8], que tambm tero suas larguras de banda calculadas. 1.2) Composio Estrutural: Este trabalho formado por 5 Captulos e 1 Apndice, divididos da seguinte maneira: Captulo 1: apresenta o assunto a ser abordado neste trabalho, seus objetivos e sua composio estrutural. Captulo 2: mostra a teoria do mtodo FDTD e a tcnica de truncagem UPML. Captulo 3: aborda as estruturas peridicas e os cristais fotnicos, suas teorias, aplicaes prticas e tendncias, classificando-as e destacando exemplos, alm de mostrar uma abordagem inicial do estudo cristalogrfico. Captulo 4: analisa um filtro PBG, constitudo de uma linha de fita sobre uma estrutura PBG, e um guia ptico PBG, produzido pela abertura de um canal em um cristal fotnico, e apresenta os resultados das simulaes numricas computacionais realizadas para os dois dispositivos. Captulo 5: so as concluses deste trabalho e as sugestes para trabalhos futuros. Apndice A: rpida introduo linguagem FORTRAN, suas sintaxes, seus comandos, suas tcnicas de programao e diversas funes intrnsecas.

Referncias Bibliogrficas
[1] [2] [3] J. D. Joannopoulous, R.D. Meade, e J. N. Winn, Photonic crystals: molding the flow of light, 1 Edio, Princeton Univ. Press, 1995. R. S. Elliot, An Introduction to Guided Waves and Microwave Circuits, 1 Edio, Prentice Hall, 1993. J. F. S. de Almeida, Anlise fotnica em estruturas planares usando o mtodo FD-TD com processamento paralelo, Proposta de Tese para Qualificao ao Doutorado, Programa de Ps-graduao em Engenharia Eltrica, Universidade Federal do Par, 2004. J. P. Montgomery, Scattering by na Infinite Periodic Array of Thin Conductors on a Dieletric Sheet, IEEE Trans. Antennas Propagat., vol AP -23, pp. 70-75, 1975. R. J. Maillox, J. F. Mcllenna, e N. P. Kernweis, Microstrip Array Technology, IEEE Trans. Antennas Propagat., vol AP-29, pp. 25-37, 1981. S. Fan, P. R. Villeneuve, e J. D. Joannopoulos, Channel drop tunneling through localized states, Phys. Rev. Letters, vol. 80, no. 5, pp. 960-963, 1998. S. Fan, P. R. Villeneuve, e J. D. Joannopoulos, Channel drop filters in photonic crystals, Optics Express, vol. 3, no. 1, pp. 4-11, 1998. A. Taflove, e S. C. Hagness, Computational electrodynamics: the finite difference time domain method, 2a Edio, Artech House, 2000. S. D. Gedney, An anisotropic perfectly matched layer-absorbing medium for the truncation of FDTD lattices. IEEE Trans. Antennas Propagat. 44, pp. 1631-1639, 1996.

[4] [5] [6] [7] [8] [9]

[10] J. Rocha, Cluster Beowulf, Aspectos de Projeto e Implementao, Dissertao de Mestrado, Programa de Ps-graduao em Engenharia Eltrica, Universidade Federal do Par, 2003. [11] A. D. Bueno, Introduo ao processamento paralelo e ao uso de clusters de workstations em sistemas gnu/linux parte I: filosofia, Laboratrio de Meios Porosos e Propriedades Termofsicas,Universidade Federal de Santa Catarina, 2002. [12] R. Samudrala, Linux cluster howto, www.ram.org/computing/linux/linux/cluster/, 2003. [13] J. Arajo, Anlise de antenas em 2-D utilizando o mtodo das diferenas finitas no domnio do tempo com processamento paralelo, Tese de Mestrado, Programa de Psgraduao em Engenharia Eltrica, Universidade Federal do Par, 2003.

CAPTULO 2: As Estruturas Peridicas e os Cristais Fotnicos


2.1) Introduo: A histria da evoluo humana sempre esteve marcada pelas descobertas de novos materiais e de tcnicas de manipulao dos mesmos, para mold-los de acordo com as necessidades do homem. Todas as vezes que um novo material era descoberto ou inventado, uma nova era se iniciava. Foi assim, por exemplo, na idade da pedra, quando o homem percebeu que a rocha era mais forte que a madeira e passou a talh-la para construir armas teis para proteger-se de seus inimigos e para caar; e na idade dos metais, quando o bronze e as ligas metlicas passaram a ser usados, tanto na construo de armas quanto na confeco de ferramentas mais resistentes para o cultivo da terra. Durante o sculo XX, os materiais semicondutores, baseados na quebra da periodicidade da estrutura cristalina, revolucionaram o mundo contemporneo com o transistor. Atualmente, materiais com caractersticas peridicas tm sido alvo de pesquisas. O estudo dos cristais possibilitou a compreenso da constituio e das propriedades da matria slida. Em cristais perfeitos, a formao da estrutura atmica apresenta disposio peridica de tomos ou molculas agrupados em rede. Usando essa idia, pode-se projetar estruturas peridicas com caractersticas particulares para diversas utilizaes. Dependendo das dimenses da estrutura possvel construir-se dispositivos para atenuar as ondas de choque de abalos ssmicos, isolar acusticamente ambientes e at guiar feixes de luz com perdas reduzidssimas. Por isso, de forma similar ao estudo dos cristais, o estudo de estruturas peridicas tem evoludo bastante e se mostrado uma vasta teoria. Durante as duas ltimas dcadas do sculo XX, o estudo de estruturas peridicas tem sido amplamente aplicado. Por exemplo, na rea das telecomunicaes, projetos de dispositivos como lentes de microondas, guias de onda (vlvulas de ondas progressivas, filtros e guias de ondas de superfcie), superfcies seletivas em freqncia, antenas de arranjo de fase integradas, arrays de microfita e outros [1-3], tm sido desenvolvidos sob a luz dessas teorias. Isto feito combinando-se, artificialmente, materiais de diferentes propriedades constitutivas numa estrutura bsica que se repete ao longo de todas as direes. Assim, possvel construir dispositivos para operarem desde a faixa de freqncia de microondas at a faixa do espectro ptico. Neste ltimo caso, o controle das propriedades ticas dos materiais, possibilita a construo de dispositivos que impedem, em determinadas direes e para certas freqncias, a propagao eletromagntica.

Estruturas peridicas, para operarem na faixa ptica, podem ser feitas de materiais dieltricos ou metlicos [4]. Essas estruturas podem gerar bandas de freqncias proibidas. Quando ftons so lanados em um cristal deste tipo, seus modos decaem exponencialmente dentro da estrutura. Isso acontece devido ao nmero de onda se tornar complexo (caso em que os modos so evanescentes) e, com isso, a luz fortemente atenuada em todas as direes (ou apenas algumas) do arranjo peridico [2]. Assim, analogamente aos cristais, estruturas macroscpicas podem ser projetadas para terem bandas proibidas (band gaps) de energia que impedem a propagao eletromagntica. Essas estruturas so denominadas como PBG (Photonic Band Gap). 2.2) Cristais Fotnicos: Classificao e Aplicaes: Uma estrutura peridica pode ter sua periodicidade em uma, duas ou trs direes. Assim, pode ser classificada em unidimensional, quando suas caractersticas constitutivas variam em apenas uma direo, bidimensional, se tem periodicidade em duas direes, ou tridimensional, quando sua estrutura peridica nas trs direes [5] (Figuras 2.1, 2.2, 2.3).

(a)

(b)

Figura 2.1: (a) Estrutura cilndrica com periodicidade unidimensional; (b) Estrutura com periodicidade unidimensional.

Figura 2.2: Estruturas peridicas com periodicidade bidimensional.

Figura 2.3: Exemplos de estruturas com periodicidade tridimensional.

Dentro desta classificao, os materiais PBG possuem aplicaes para diversos fins. Estruturas unidimensionais so usadas para aumentar o ganho de antenas de circuito impresso [6,7], pela colocao, por exemplo, de um conjunto peridico de mltiplas camadas dieltricas em cima de uma antena. Pode-se conseguir este mesmo efeito usando-se estruturas bidimensionais [8]. Estruturas fotnicas bidimensionais, tambm, so usadas em optoeletrnica, para aumentar a eficincia de LEDs e lasers atravs do fenmeno da inibio da emisso espontnea [9]. Quanto s estruturas fotnicas tridimensionais, existe uma alta potencialidade no uso das mesmas em microestruturas ressonantes, atuando como uma cavidade do tipo Fabry-Perot, que reflete a radiao propagante em todas as direes para dentro de si prpria. Provocando-se imperfeies ou defeitos de maneira proposital na estrutura de um cristal fotnico, retirando-se, trocando-se, ou modificando-se, os elementos da rede e quebrando-se a periodicidade da estrutura em determinada regio, possvel manter-se a propagao, no defeito, dos modos eletromagnticos proibidos da estrutura. Por isso, os cristais fotnicos podem funcionar como guias pticos ou como cavidades ressonantes, por exemplo, conduzindo o feixe de luz por determinado caminho ou confinando-o em determinada regio da estrutura. Assim, os cristais fotnicos podem ser aplicados em diversos dispositivos prticos como: circuitos fotnicos, acopladores direcionais [10,11], cavidades do tipo Fabri-Perot, LEDs, antenas, filtros PBG e outros. Exemplos de cristais fotnicos alterados pela retirada, colocao ou modificao de elementos de sua rede cristalina so mostrados na Figuras 2.4, 2.5 e 2.6.

(a)

(b)

Figura 2.4: (a) Formao de um guia planar com a retirada de uma fileira de elementos do cristal; (b) Formao de uma cavidade ressonante de Fabri-Perot aps a retirada de um elemento.

(a)

(b)

Figura 2.5: (a) Simulao de modos de propagao na cavidade ressonante de Fabri-Perot; (b) Acoplador direcional sintonizado (Channel-Drop Filter) formado por dois guias de onda e uma cavidade ressonante.

(a)

(b)

Figura 2.6: (a) Guia de onda com curva acentuada de 90; (b) Guias de onda se cruzando atravs de uma cavidade ressonante, sem haver interferncia entre os sinais de cada guia.

2.3) Teoria Cristalogrfica Bsica: A cristalografia a cincia que classifica e descreve os cristais, em suas estruturas, suas formas e nas leis que presidem seu processo de formao. Utilizando-se os mtodos do estudo cristalogrfico possvel determinar de forma satisfatria as posies relativas de todos os tomos que constituem a molcula (estrutura molecular) e a posio relativa de todas as molculas na clula unitria do cristal. Da primeira dependem as propriedades qumicas do material e da segunda, fundamentalmente, as propriedades fsicas. Em 1912, o fsico alemo Max von Laue, mostrou que um cristal podia servir como uma rede de difrao tridimensional, se o comprimento de onda de uma radiao incidente no mesmo fosse da ordem de grandeza da distncia entre as partculas do slido [12]. Ele utilizou para isso os raios-X, que tem comprimento de onda nas dimenses do espaamento

interatmico da matria (cerca de 0,1nm), e percebeu que cada tomo do cristal atingido por eles absorvia parte da energia do mesmo e a retransmitia em todas as direes. As ondas emitidas por cada tomo somavam-se construtivamente (se em fase) ou destrutivamente (se fora de fase) e, assim, era possvel observar-se emisses intensas de raios-X em determinadas direes, enquanto em outras no. A partir desses experimentos, Laue percebeu a natureza ondulatria eletromagntica dos raios-X e a natureza descontnua da matria, concluindo com isso que todos os materiais so constitudos por tomos e/ou molculas. Depois, William Bragg tratou esse fenmeno como um processo de reflexo da onda incidente nas sucessivas camadas de partculas dentro do cristal [12]. Assim, feixes refletidos por camadas mais profundas necessitam percorrer um caminho maior e interferirem-se construtivamente com os raios refletidos por camadas mais externas, para chegarem ao detector. Pode-se concluir, com isso, que a distncia maior percorrida pelo feixe mais penetrante deve ser um mltiplo inteiro do comprimento de onda dos raios-X. Portanto, considere-VH R FDPLQKR $%& LOXVWUDGR QD )LJXUD  6H $%&   HQWo, deve-se esperar uma interferncia construtiva para os raios refletidos pela rede atmica. Ou VHMD nHPTXH o comprimento da radiao. Assim,  d 803, geometricamente igual a: n = 2d sen ; n = 1, 2, , que a lei de Bragg.
Raios-X incidentes Raios-X difratados

(2.1)

Planos atmicos


A B C

d = distncia interplanar Figura 2.7: Onda refletindo nas vrias camadas da matria.

Essa equao serve de base para o estudo da estrutura cristalina por difrao de raiosX. O que se faz registrar em, por exemplo, uma pelcula fotogrfica, os ngulos nos quais os raios-X de comprimento de onda conhecido so refletidos por um cristal. De posse desses ngulos, torna-se fcil calcular as distncias dos planos de tomos do cristal. Alm disso, se

forem medidas as intensidades dos raios-X, ento, pode-se deduzir atravs de um procedimento mais complexo, as posies reais dos tomos no slido. 2.3.1) Redes: Uma estrutura considerada peridica quando os tomos, molculas ou clulas que a constituem, esto dispostos regularmente no espao. Basicamente, nessas estruturas pode-se caracterizar um arranjo denominado clula primria, que a molcula bsica de seu arranjo estrutural. Quando a clula primria transladada em todas as direes, forma-se a clula unitria do dispositivo, que a disposio geomtrica espacial fundamental da estrutura do mesmo. Se da mesma forma, a clula unitria do material for trasladada em todas as direes, ento, chegar-se- a estrutura peridica. Como para a anlise aqui desenvolvida o que interessar sero apenas os aspectos simtricos geomtricos do arranjo, ento, o padro ser descrito simplesmente pela estrutura peridica sem as clulas (base) das clulas unitrias, ou seja, em termos de um conjunto de pontos espaados das mesmas distncias existentes na estrutura, arranjados em linhas orientadas sob os mesmos ngulos, formando o que se chama rede. Quando essa rede usada para a descrio da disposio das partculas num slido ela denominada rede cristalina. Um exemplo de rede cristalina formada por uma clula unitria (Figura 2.8) cbica de corpo centrado, mostrado na Figura 2.9 e a distncia a a constante de rede para este caso [13].
Clula unitria Clula prim ria

a Estrutura cristalina

a a

Figura 2.8: Clula unitria obtida por transladao da clula primria e estrutura cristalina obtida por transladao da clula unitria.

10

Rede cristalina

a a
Figura 2.9: Ilustrao de uma rede cristalina quadrada obtida a partir da estrutura cristalina da Figura 2.8; a a constante de rede neste caso.

Um detalhe importante a respeito das redes que o mesmo tipo de rede pode servir para se fazer vrios arranjos diferentes. Em 1848, Auguste Bravais mostrou que so possveis apenas 14 tipos diferentes de redes, que podem ainda ser divididas em 7 sistemas cristalinos bsicos [12] (Figura 2.10).
Triclnico Monoclnico Tetragonal Hexagonal Rmbico Regular Rombodrico

c a b a

c b a

c b a

c b

c b a abc

c b a = = = 90 a=b=c

b c

90 abc

= = 90 abc

= = = 90 = = 90; = 120 = = = 90 a=bc a=bc

= = 90 a=b=c

Figura 2.10: Os sete sistemas cristalogrficos bsicos.

Normalmente, os slidos so estruturas no orientadas de policristais. No entanto, os monocristais, com exceo dos casos em que os limites do mesmo so determinados por defeitos na rede, tm uma estrutura orientada. De acordo com a ordenao desses monocristais pode-se classificar at 230 grupos de simetria, reduzveis a 32 classes, que por sua vez, se subdividem nos sete sistemas de cristalizao relativos rede de Bravais [14]. 2.3.2) Zona de Brillouin: Para se estudar as caractersticas de propagao dos cristais fotnicos interessante definir-se a primeira zona de Brillouin. Ela a clula primitiva de Wigner-Seitz (Figura 2.11),

11

uma regio compreendida entre linhas de contorno, que so os planos de espalhamento do espao real. Esta zona define a regio no espao dos vetores de onda que determina os modos de propagao possveis, assim como, a clula unitria define toda a informao cristalogrfica e estrutural. Os vetores fora desta zona so rebatidos por um vetor equivalente dentro dela. Os motivo disto so as condies de contorno peridicas usadas para tratar-se das propagaes eletromagnticas em cristais fotnicos ou outros problemas peridicos.

Figura 2.11: Exemplo de clula de Wigner-Seitz.

A largura efetiva da banda proibida determinada pela anlise das caractersticas de disperso dos modos propagantes nos cristais fotnicos, na regio da primeira zona de Brillouin, mais especificamente no contorno da zona irredutvel de Brillouin, que correspondem justamente s direes principais da rede cristalina recproca [1]. Para um maior aprofundamento na teoria dos cristais e da propagao eletromagntica em cristais fotnicos e estruturas peridicas sugerem-se as consultas , respectivamente, [4,5,14].

12

Referncias Bibliogrficas
[1] R. V. do E. Santo, Caracterizao das bandas fotnicas para estruturas peridicas 2D constitudas de dieltricos anisotrpicos, Dissertao de Mestrado, Programa de Psgraduao em Engenharia Eltrica, Universidade Federal do Par, pp. 1-17, 2001. [2] P. A. dos S. Ramalho, Utilizao do mtodo FDFD para a anlise dos modos TM propagantes em estruturas peridicas 2-D, Trabalho de Concluso de Curso, Departamento do Engenharia Eltrica da Computao, Universidade Federal do Par, pp. 1-15, 2003. [3] J. P. Zhang at al, Nanofabrication of 1-D photonic bandgap structures along a photonic wire, IEEE Photon. Tech. Letters, vol. 8, no. 3, pp. 491-493, 1996. [4] J. D. Joannopoulous, R.D. Meade, e J. N. Winn, Photonic crystals: molding the flow of light, 1 Edio, Princeton Univ. Press, 1995. [5] S. G. Johnson, e J. D. Joannopoulos, Introduction to photonic crystals: Blochs theorem, band diagrams, and gaps (but no defects), MIT, 2003. [6] N.G. Alexopoulos, e D.R. Jackson, Gain enhancement methods for printed circuit antennas, IEEE Trans. Antennas Propagat., vol. AP-33, pp. 976-987, 1985. [7] H.Y. Yang, e N.G. Alexopoulos, Gain enhancement methods for printed circuit antennas through multiple superstrates, IEEE Trans. Antennas Propagat., vol. AP-35, pp. 860-863, 1987. [8] H. Y. D. Yang, N.G. Alexopoulos, e E. Yablonovitch, Photonic Band-Gap Materials for High-Gain Printed Circuit Antennas, IEEE Trans. Antennas Propagat., vol. AP-45, no. 1, 1997. [9] E. Yablonovitch, Inhibited spontaneous emission in solid state physics and electronics, Phys. Rev. Letters, 58, pp. 2059-2062, 1987. [10] S. Fan, P. R. Villeneuve, e J. D. Joannopoulos, Channel drop tunneling through localized states, Phys. Rev. Letters, vol. 80, no. 5, pp. 960-963, 1998. [11] S. Fan, P. R. Villeneuve, e J. D. Joannopoulos, Channel drop filters in photonic crystals, Optics Express, vol. 3, no. 1, pp. 4-11, 1998. [12] J. E. Brady, e G.E. Huminston, Qumica geral, vol. 1, 2 Edio, LTC, pp. 284-290, 1986. [13] R. B. M. Balbi, Fundamentos fsicos e matemticos dos materiais eltricos, 1 Edio, Editora Universitria UFPA, pp. 130-133, 1998. [14] J. F. S. de Almeida, Anlise fotnica em estruturas planares usando o mtodo FD-TD com processamento paralelo, Proposta de Tese para Qualificao ao Doutorado, Programa de Ps-graduao em Engenharia Eltrica, Universidade Federal do Par, 2004.

13

CAPTULO 3: Mtodo FD-TD em Coordenadas Retangulares


3.1. Introduo: Em 1966, Kane S. Yee apresentou sua soluo numrica das equaes rotacionais de Maxwell para campos variantes no tempo [1], para analisar problemas de espalhamento eletromagntico em meios isotrpicos. O pesquisador aplicou a essas equaes no domnio temporal, o mtodo numrico das diferenas finitas. Ao fazer isso, Yee discretizou o domnio de anlise do problema, substituindo as componentes derivativas parciais em relao ao espao e ao tempo por suas aproximaes finitas equivalentes, e transformou as leis de Faraday e Ampre em equaes de diferenas algbricas mais simples de serem tratadas. Esse mtodo ficou conhecido como o mtodo das Diferenas Finitas no Domnio do Tempo (FDTD). Ele permite o estudo da onda em todo o seu espectro de freqncias e em ambientes complexos, sendo baseado na aproximao de diferenas centradas para as componentes derivativas das equaes diferenciais, o que permite se alcanar um erro de segunda ordem no tempo e no espao [2]. O algoritmo inicial, no entanto, apresentava equvocos na definio da condio de estabilidade numrica do mtodo [3] e limitaes para a simulao de problemas abertos [4] (no haviam sido determinadas condies de truncamento da regio de anlise para problemas abertos; neste caso, as iteraes simplesmente paravam ao chegar-se nos limites do domnio de anlise, devidamente determinado pelo programador). Na dcada de 60, porm, os mtodos numricos tornavam-se impraticveis, por causa do custo computacional envolvido, representado pelos limites arquiteturais do hardware existente quela poca, que no permitiam o tratamento de valores numricos com a preciso necessria e num tempo razovel de processamento. Era natural, ento, que esses mtodos no fossem to apreciados. A partir da dcada de 1970, com a evoluo da informtica, o surgimento dos supercomputadores massivos paralelos de Cray e a popularizao de mquinas seqenciais com grande poder de processamento, pde-se implementar os mtodos numricos, em geral, de forma mais econmica que os mtodos analticos e experimentais. Com isso e a melhoria do algoritmo de Yee, realizado por Taflove et al [5], o mtodo FD-TD passou a ser usado na soluo de problemas em reas como de projetos de antenas, caracterizao de comportamento de placas de circuitos e componentes eletrnicos, na medicina, em aplicaes

14

militares e outras [2]. Dentre as possveis tcnicas de soluo de problemas de eletromagnetismo, pode-se destacar as tcnicas numricas pela sua praticidade, relativa simplicidade e excelente aproximao dos resultados reais. 3.2. Aproximao Algbrica da Derivada O Prncipio do Mtodo das Diferenas Finitas: Basicamente, o mtodo das diferenas finitas converte equaes diferenciais em equaes de diferenas finitas mais simples e passveis de tratamentos computacionais, substituindo os termos derivativos de uma dada EDP (Equao Diferencial Parcial) por expresses algbricas equivalentes. Para a implementao deste mtodo, portanto, deve-se estimar numericamente as derivadas das funes. De uma forma intuitiva, uma funo genrica f(x) pode ter sua derivada em P aproximada, ou pela inclinao da reta AP, ou pela inclinao da reta PB, ou pela inclinao da reta AB [6], Figura 3.1(a), (b) e (c), respectivamente.
f(x) f(x0) f(x0x) A P f(x) f(x0+x) f(x0) P B f(x) f(x0+x) f(x0) f(x0x) A B P

x0x (a)

x0

x0 (b)

x0+x

x0x x0 x0+x (c)

Figura 3.1: Definio intuitiva da derivada de 1 ordem. Curvas para as dedues das frmulas das derivadas (a) atrasada, (b) adiantada e (c) central.

A frmula da derivada de 1 ordem de f(x), pela aproximao da diferena atrasada (Figura 3.1a), : f ( x 0 ) f ( x 0 ) f ( x 0 x) x (3.1)

Pela aproximao da diferena adiantada (Figura 3.1b), a frmula da 1 derivada de f(x) : f ( x0 ) f ( x0 + x) f ( x 0 ) x (3.2)

15

E, pela aproximao da diferena centrada (Figura 3.1c), : f ( x 0 ) f ( x 0 + x) f ( x 0 x) 2x (3.3)

Essas frmulas podem ser deduzidas de forma mais geral atravs da srie infinita de Taylor. Sendo assim, da representao em srie de Taylor da funo f(xo x): f ( x 0 x) = f ( x0 ) x f ( x0 ) + x 2 f ( x 0 ) 1 1 x 3 f ( x 0 )  2! 3! (3.4a)

pode-se chegar a equao da diferena atrasada a partir da truncagem da mesma at o termo de segunda ordem em relao a x : f ( x 0 x) f ( x 0 ) x f ( x 0 ) + O x 2 de onde se tira que: f ( x 0 ) f ( x 0 ) f ( x 0 x) + O(x ) , x (3.4b)

( )

resultando em uma aproximao de primeira ordem para f ( x 0 ) . O mesmo procedimento pode ser realizado com a funo f(xo + x) para obter-se a equao da diferena adiantada (3.5): f ( x 0 + x) = f ( x 0 ) + x f ( x0 ) + x 2 f ( x 0 ) 1 1 + x 3 f ( x0 )  2! 3! (3.5a)

f ( x 0 + x) f ( x 0 ) + x f ( x 0 ) + O x 2 f ( x 0 ) f ( x 0 + x) f ( x 0 ) + O(x ) , x

( )
(3.5b)

resultando tambm em um erro de primeira ordem para f ( x 0 ) . A frmula da derivada centrada pode ser alcanada pela subtrao de (3.4a) em (3.5a): f ( x 0 + x) f ( x 0 x) = 2 x f ( x0 ) + 2 x 3 f ( x 0 ) 1 + 3!

e pela truncagem da seqncia resultante no termo de terceira ordem, subseqente a 1 derivada de f(x = xo): f ( x 0 + x) f ( x 0 x) 2 x f ( x 0 ) + O x 3

( )

16

f ( x 0 )

f ( x 0 + x) f ( x 0 x) + O x 2 2 x

( )

(3.6)

Nesse caso, obtm-se um erro de 2 ordem. Portanto, quanto mais termos da srie infinita forem tomados, melhor ser a aproximao. Como os sistemas computacionais tm limites de armazenamento em memria e de tamanho do registro da unidade aritmtica, o resultado exato, que poderia ser alcanado com a utilizao de toda a srie infinita na representao da derivada, no pode, a princpio, ser conseguido. Ou seja, a srie sempre dever ser truncada em algum termo para conseguir tratar-se numericamente a equao, o que poder acarretar num erro implcito em todas as solues por diferenas finitas [6]. Portanto, pelas dedues atravs da srie de Taylor, percebe-se que a formulao por derivada centrada ocasiona um erro menor se comparada s dedues por derivada atrasada e adiantada. Por isso, a aproximao por derivada centrada escolhida para a implementao do mtodo na soluo das equaes de Maxwell. Essa aproximao pode ser ajustada para o caso do espaamento entre os valores final e inicial de f(x) em torno de sua derivada em P, usados na aproximao por derivada centrada, serem separados por uma distncia de apenas x e no 2.x (Figura 3.2).

f(x) f(x0+x/2) f(x0) f(x0x/2) A P B

x0x/2

x0

x0+x/2

Figura 3.2: Curva para outra forma de deduo intuitiva da aproximao centrada da derivada.

Nestas condies, a frmula da derivada em diferenas finitas por aproximao centrada ser: f ( x0 ) = f ( x0 + x 2) f ( x 0 x 2) + O x 2 x

( )

(3.7)

17

3.3. O Mtodo FD-TD Aplicao das Diferenas Finitas s Equaes de Maxwell: 3.3.1. As Equaes de Maxwell: Para a aplicao da tcnica de Yee, as equaes de Maxwell utilizadas so as equaes rotacionais para campos variantes no tempo. Essas equaes so suficientes para caracterizar o deslocamento espacial da onda eletromagntica provocado pela sua variao temporal. Apesar da tcnica FD-TD j ter sido adaptada para meios anisotrpicos, o algoritmo original de Yee considerou a propagao em meios isotrpicos (, e so escalares, ou seja, no variam com a direo) onde as equaes de Maxwell so escritas da seguinte forma: Lei de Faraday: E = Lei de Ampre: H = D +J t (3.8b) B t (3.8a)

onde B = H e D = E so as relaes constitutivas do meio e J = E . Desta forma, pode-se escrever explicitamente o operador (nabla) e as componentes direcionais de todos os vetores das equaes (3.8), mostrando-se o conjunto de seis equaes escalares que elas representam. Para tal, seja o sistema de coordenadas retangulares. Ento, das equaes (3.8) obtm-se: E z E y y z H x 1 E y E z H x = = z t t y (3.9a)

H y H y 1 E z E x E x E z = = x x t t z z E y E x H z H z 1 E x E y = = x y y t t x

(3.9b)

(3.9c)

H z H y y z

E x E x 1 H z H y = + E x = y t t z

Ex

(3.9d)

18

E y E y 1 H x H z H x H z + E y = = Ey z x t t x z H y H x x y respectivamente. 3.3.2. O Algoritmo de Yee: E z E z 1 H y H x = + E z = x t t y Ez

(3.9e)

(3.9f)

Considere um espao tridimensional contnuo representado em coordenadas retangulares pelas direes x, y, z. O primeiro passo do mtodo consiste na discretizao do espao de anlise do problema. Para isso, representam-se as variveis x, y e z por ix, jy, kz. Uma funo do espao e do tempo f(x,y,z,t), nesta regio, ser representada por Fn(i,j,k), onde o tempo t substitudo por nt. Os ndices i, j, k e n assumem valores inteiros e x, y,

z, t valores reais, que representa a discretizao do espao e do tempo. Quanto menores


forem os incrementos, ou seja, mais refinada for a malha, melhor ser a aproximao do espao contnuo. O espao discretizado mostrado na Figura 3.3.

z
(i, j, k)

x
x

x z (b)

y
(a)

Figura 3.3: Discretizao em coordenadas retangulares do espao de anlise: (a) Viso em perspectiva da malha 3D; (b) Viso superior da malha 3D.

Se em um desses paraleleppedos forem representadas as 6 componentes dos campos eltrico e magntico das equaes de Maxwell, nas metades de suas arestas e nos centros de suas faces, respectivamente, formar-se- um volume elementar com uma configurao bsica conhecida como clula de Yee (Figura 3.4). Essa clula fornece uma viso melhor de como aproximar as equaes diferenciais de Maxwell por equaes de diferenas finitas.

19

Ez Hy Ex y x (i,j,k)

z Hx Ey Hz x y

Tempo (n1/2) (n) (n+1/2) (n+1) H E H E

Figura 3.4: Clula de Yee com componentes eltricas no instante n.

Deve-se notar que as componentes eltricas e magnticas, alm de serem perpendiculares entre si, afastam-se de meio incremento espacial e de meio incremento temporal. Isto feito por causa da dependncia entre os campos eltrico e magntico, que no devem ser calculados ao mesmo tempo. Portanto, numa mesma iterao, um calculado antes para atualizar o outro em seguida, caracterizando-se numericamente o fenmeno da propagao da onda eletromagntica. Na configurao da clula da Figura 3.4, pode-se estabelecer que esta a clula (i,j,k) e que todas as componentes aparecendo lhe pertencem. A aplicao do algoritmo pode ser mais bem visualizada se forem mostradas mais algumas componentes de campo pertencentes s clulas vizinhas, que sero utilizadas na aproximao por diferenas finitas das derivadas que aparecem nas equaes de Maxwell (Figura 3.5 e Figura 3.6).
z
(i,j,k+1)

Ey1

Ex1 Ez0
(i,j,k)

Hy Ez1

Hx Ey0

Ez1

Ex0
(i+1,j,k)

(i,j+1,k)

Ey1
y

Hz

Ex1

Figura 3.5: Configurao de clula de Yee suficiente para mostrar a aproximao por FD-TD da Lei de Faraday. As componentes com ndice 0 e 1 so equivalentes aos valores iniciais e finais, respectivamente, usados no clculo intuitivo da derivada centrada, feito pela Equao (3.7) deduzida a partir da Figura 3.2.

20

(i,j,k+1)

Ey1 Hy0
(i-1,j, k)

Ex1 Hx0
(i,j-1,k)

0 Hy1 Ez

Hx1 Ey0 Hz1 Hz0

Ez 1

Ez 1 Hz0 Ex
(i+1,j,k)
0

(i,j,k)

(i,j+1,k)

Ey1

Ex

x y

Hx0 Hy0
(i,j,k+1)

Figura 3.6: Viso 3D do espao discreto segundo Yee, para mostrar as aproximaes por FD-TD das equaes rotacionais de Maxwell.

Aplicando-se as consideraes acima, levando-se em conta a equao (3.7) e que no existem cargas livres em movimento na regio de anlise ( = 0 ), as equaes (3.9) podem ser reescritas da seguinte forma:

2 x(i , j + 1 , k + 1 ) 2 2

n+ 1

=H

2 x (i , j + 1 , k + 1 ) 2 2

n 1

n n t E y (i , j + 12,k +1) E y (i , j + 12, k ) + z

E zn(i , j +1, k + 1 ) E zn(i , j ,k + 1 ) 2 2 y


(3.10a)

2 y (i + 1 , j , k + 1 ) 2 2

n+ 1

=H

2 y (i + 1 , j , k + 1 ) 2 2

n 1

n n t E z (i +1, j ,k + 12 ) E z (i , j , k + 12 ) + x

E xn(i + 1 , j , k +1) E xn(i + 1 , j , k ) 2 2 z


(3.10b)

21

2 z (i + 1 , j + 1 , k ) 2 2

n+ 1

=H

2 z (i + 1 , j + 1 , k ) 2 2

n 1

n n t E x(i + 12, j +1,k ) E x(i + 12, j ,k ) + y

n n E y (i +1, j + 1 ,k ) E y (i , j + 1 , k ) 2 2 x


(3.10c)

n n Ex(+1 1 , j ,k ) = Ex(i + 1 , j ,k ) i+ 2 2

n+ 1 n+ 1 n+ 12 n+ 12 2 2 t H z (i + 12, j + 12,k ) H z (i + 12, j 12,k ) H y (i + 12, j ,k + 12) H y(i + 12, j ,k 12) + y z

(3.10d)

n Ey(+i1j + 1 , k ) , 2

n+ 1 n+ 1 n+ 12 n+ 12 2 2 t Hx(i, j + 12,k + 12) Hx(i, j + 12,k 12) Hz (i + 12, j + 12,k ) Hz(i 12, j + 12,k ) n = Ey(i, j + 1 ,k ) + 2 z x

(3.10e)

Ezn(+,1j,k +1 2) i

n+ 1 n+ 1 n+ 12 n+ 12 2 2 t Hy(i + 12, j,k + 12) Hy(i 12, j,k + 12) Hx(i, j + 12,k + 12) Hx(i, j 12,k + 12) n = Ez(i, j,k + 1 ) + 2 x y

(3.10f) Analisando-se a figura 3.6, possvel definir-se dois tipos de clulas de Yee, separadas por metade dos incrementos no tempo e no espao. Uma denominada clula primria e j foi comentada (Figura 3.4) e a outra possui as componentes de campo magntico nas metades de suas arestas e as componentes de campo eltrico nos centros de suas faces, na disposio mostrada na Figura 3.7, e denominada clula secundria de Yee.
z (i,j,k+1/2)

Ez Hx Hy (i,j,k) Hz (i,j+1/2,k) Ey y

(i+1/2,j,k) x

Ex

Figura 3.7: Clula Secundria de Yee com componentes magnticas no instante n+1/2.

22

A primeira facilita o clculo do rotacional do campo eltrico no instante n, o que gera as equaes de atualizao temporal das componentes magnticas Hn+1/2 (3.10a-c). A segunda muito til para o clculo do rotacional do campo magntico no instante n+1/2, gerando as equaes de atualizao temporal das componentes eltricas En+1 (3.10d-f). No desenvolvimento do mtodo FD-TD, porm, as posies fsicas dos campos j esto inerentemente vinculadas pela aproximao da derivada centrada. Assim, no h necessidade de se explicitar, nas equaes de atualizao das componentes de campo da regio de anlise, ndices fracionrios para definir a clula a qual pertencem [7]. Por isso, a componente Ex(i+1/2,j,k) ser definida como Ex(i,j,k), pois pertence clula (i,j,k), assim como, a componente Ex(i+3/2,j+1,k+1) ser definida como Ex(i+1,j+1,k+1), porque pertence clula (i+1,j+1,k+1), e assim por diante. Como, em cdigos baseados em FD-TD, os ndices dos vetores de armazenamento das componentes dos campos so inteiros, isso simplifica a implementao computacional, pois no h a necessidade de se definir as coordenadas espaciais das componentes de campo com valores fracionrios. Portanto, as equaes (3.10) podero ser reescritas como:

H xn(+i1 j2k ) = H xn(i1 j2,k ) + , , ,

n n n n t E y ( i , j ,k +1) E y ( i , j ,k ) E z (i , j +1,k ) E z (i , j ,k ) z y n n n n t E z (i +1, j ,k ) E z (i , j ,k ) E x (i , j ,k +1) E x (i , j ,k ) x z n n n n t E x (i , j +1,k ) E x ( i , j ,k ) E y ( i +1, j ,k ) E y (i , j ,k ) y x

(3.11a)

n n H y (+i1, j2,k ) = H y (i1, j2,k ) +

(3.11b)

H zn(+i1j2k ) = H zn(i1 j2k ) + , , , ,

(3.11c)

n +1 x (i , j , k )

=E

n x (i , j , k )

n +1 2 n +1 2 n +1 2 n +1 2 t Hz (i , j ,k ) Hz (i, j 1,k ) H y (i, j ,k ) H y(i, j ,k 1) + y z n +1 2 n +1 2 n +1 2 n +1 2 t Hx(i, j ,k ) Hx(i, j ,k 1) Hz (i, j ,k ) Hz(i 1, j ,k ) z x n +1 2 n +1 2 n +1 2 n +1 2 t H y(i, j ,k ) H y(i 1, j ,k ) Hx(i, j ,k ) Hx(i, j 1,k ) x y

(3.11d)

n n Ey(+i1j ,k ) = Ey(i, j ,k ) + ,

(3.11e)

Ezn(+,1j ,k ) = Ezn(i, j ,k ) + i

(3.11f)

respectivamente.

23

So, as equaes (3.11), usadas na implementao computacional da simulao da propagao eletromagntica, dentro da regio de anlise. 3.3.3. Preciso e Estabilidade do Mtodo: Para uma soluo confivel e til, qualquer mtodo numrico precisa ter preciso na medida certa e dentro de condies de estabilidade bem definidas. A preciso significa o quanto mais perto da soluo analtica (se existir) a soluo numrica se encontra, e a estabilidade, se o problema converge para uma soluo finita com o passar do tempo. Dependendo do nvel da aproximao e de como ela foi feita, o algoritmo poder ou no ser preciso e estvel; isto depende diretamente do nvel de erro do mesmo. Os erros de um algoritmo numrico so basicamente decorrentes de trs fontes: ' Erros de Modelagem So causados pelas diversas suposies e aproximaes feitas no modelamento do problema, para simplificar a anlise do mesmo e, at mesmo em alguns casos, torn-la possvel (por exemplo, um sistema no-linear ser modelado por uma equao diferencial linear). ' Erros de truncagem Provocados pela truncagem da srie infinita de Taylor, para deduzir-se as aproximaes algbricas da derivada. ' Erros de arredondamento (roundoff) Ocorrem por causa da aproximao inevitvel feita pelo sistema computacional em nmeros de mantissa maior que o limite de tamanho dos registradores de sua unidade de lgica aritmtica, influenciando na preciso dos clculos envolvendo nmeros fracionrios. Os erros de modelagem podem ser reduzidos se as aproximaes do modelo forem melhoradas ou, se possvel, evitadas. Os erros de truncagem podem ser diminudos se a malha discreta for mais refinada se os incrementos de espao e de tempo forem reduzidos , ou usando-se mais termos da srie de Taylor na aproximao algbrica da derivada. J os erros de arredondamento (roundoff), so minimizados pelo uso de dupla preciso aritmtica, ou evitados se houverem apenas operaes com inteiros aritmticos no cdigo (algo muito trabalhoso, que tornaria o cdigo mais pesado e extenso).

24

Porm, usar termos de ordem superior ao da EDP do sistema na aproximao da srie de Taylor pode introduzir solues esprias, assim como, aumentar indefinidamente o refinamento da malha no recomendvel, pois, apesar de diminuir os erros de truncagem, aumenta o roundoff por causa do aumento do nmero de operaes aritmticas, com nmeros de mantissa muito grandes. Logo, para qualquer algoritmo, existe um ponto em particular onde ocorre um erro total mnimo para um dado comprimento de palavra (Figura 3.8).
Erro

Erro Total

Erro de roundoff

Erro de discretizao

Discretizao da Malha
Figura 3.8: Erro em funo da discretizao da malha.

A preciso do mtodo FD-TD geralmente assegurada se o maior incremento espacial da malha for igual ou menor a dcima parte do comprimento de onda, menor ou igual menor dimenso do elemento espalhador [6]: x, y,z

mn 10

(3.12)

Esse compromisso entre o tamanho das clulas da malha e a preciso da soluo numrica define o nvel de discretizao da regio de anlise, atravs do nmero de divises por comprimento da onda suficiente para representar o meio de propagao e fornecer resultados com o detalhamento desejado, evitando-se o efeito da disperso numrica provocado pelo mtodo FD-TD nos modos da onda simulada. Na disperso numrica, a velocidade de fase dos modos numricos da onda, dentro da malha FD-TD, pode variar com o comprimento de onda modal, a direo de propagao e o tamanho da discretizao da malha, levando a resultados no-fsicos como distoro do pulso, anisotropia artificial e pseudorefrao. As Figuras 3.9 e 3.10 mostram o decaimento da velocidade de fase normalizada com

25

a variao do ngulo de propagao da onda, para determinada resoluo de grade, e com a variao da resoluo de grade, para um certo ngulo de propagao, respectivamente.
1.00

Caso ideal

x,y,z = /20
0.99

x,y,z = /10

0.98

vf / c

0.97

0.96

x,y,z = /5

0.95

0.94 0 10 20 30 40 50 60 70 80 90

ngulo de propagao da onda

Figura 3.9: Variao da velocidade de fase normalizada versus o ngulo de propagao da onda, provocada pela disperso numrica.

1.0 0. 8 vf / c =0, 90 0.6

Caso ideal

= 45

0.4 0.2 0.0 0

0.1 0.2 0.3 0.4 0.5 Resoluo da grade (tamanho da clula)

Figura 3.10: Variao da velocidade de fase normalizada com a resoluo da malha para dado ngulo de propagao, causada pela disperso numrica.

Um algoritmo numrico considerado estvel se o erro cumulativo total num momento qualquer, menor que o erro cumulativo total num instante anterior. Ou seja:

n +1 n

(3.13)

Para se alcanar a estabilidade no mtodo FD-TD, suficiente que o incremento temporal t satisfaa a condio de Courant [5]:

26

t vf onde v f = c

1 1 1 1 + 2 + 2 2 x y z

(3.14)

rmin e rmin representa a menor constante dieltrica da estrutura a ser analisada.

Em (3.14), tem-se uma relao geral usada para os casos tridimensionais de espalhamento eletromagntico. Para os casos, unidimensionais e bidimensionais deve-se simplesmente eliminar os termos com os incrementos que no existem. A condio de Courant para guias de onda, que leva em considerao a constante de fase da onda, pode ser vista em [7]. Para mais explicaes sobre como deduzir as condies de estabilidade de um algoritmo numrico de um esquema de diferenas finitas qualquer veja [6]. 3.4. As Condies de Fronteira Absorventes: Na aplicao do mtodo FD-TD necessrio definir-se a regio de anlise do problema, para que a simulao tenha resultados consistentes. Quando o problema fechado, essa regio naturalmente limitada, devendo-se somente caracterizar-se eletricamente seus contornos. No caso de um problema aberto, os limites da regio de anlise esto localizados no infinito, o que torna a simulao FD-TD deste tipo de problema, a princpio, impraticvel devido s limitaes de memria dos sistemas computacionais, incapazes de armazenar uma quantidade ilimitada de dados. Nestas circunstncias, o que se faz fechar com condies artificiais (condies de fronteira absorventes ABCs) uma certa extenso do domnio de anlise, de maneira a simular a onda propagando-se para o infinito. Logo, quanto maior a preciso dessas condies, maior ser a preciso da simulao FD-TD do problema. Nas simulaes deste trabalho, a condio absorvente utilizada ser a UPML (Uniaxial Perfectly Matched Layers). Existem outras ABCs, como por exemplo Mur 1 e 2 ordens [8]. A tcnica UPML, porm, tem se destacado por seu alto nvel de preciso e vem revolucionando e expandindo o leque de aplicaes do mtodo FD-TD, com constantes aprimoramentos realizados por diversos grupos de pesquisa [9]. A idia da UPML limitar artificialmente o domnio de anlise, onde se deseja verificar os fenmenos da propagao eletromagntica com o mtodo FD-TD, por uma regio anisotrpica dispersiva finita casada em impedncia com a regio de anlise, que absorva gradualmente a onda (independentemente de seu ngulo de incidncia, sua freqncia e sua polarizao) com a mxima eficincia possvel, evitando a insero de erros, nos clculos dentro da regio de anlise, pela interferncia e modificao da soluo por meio de reflexes

27

e refraes esprias, e simulando, assim, o efeito da propagao ao infinito. Portanto, o domnio numrico dividido em duas regies: a regio de anlise, onde a propagao da onda regida pelas equaes discretizadas de Maxwell, e a regio da UPML, onde o fenmeno de propagao regido por equaes especiais de propagao com perdas (Figura 3.11).

VOLUME NUMRICO

y y z x

Regio de Anlise

UPML Condutor Eltrico Perfeito

Figura 3.11: Modelo geral, no plano x-y, do domnio numrico de um problema aberto, mostrando a regio de propagao eletromagntica em anlise, circundada pela condio de fronteira absorvente UPML e pelo condutor eltrico perfeito.

3.4.1. Formulao da UPML: No caso da UPML, esta regio basicamente composta de diversas camadas dispostas lado a lado, cada qual com um valor particular de condutividade. Quanto mais se entra na regio absorvente, mais dispersivo torna-se o meio. Esse crescimento se d apenas na direo normal interface das regies de anlise e de UPML. Por fim, a regio absorvente circundada por um condutor eltrico perfeito (PEC). Assim, se a onda atravessar a ltima camada da UPML e no tiver sido completamente dissipada, ela ser refletida pelo PEC para terminar de ser atenuada no caminho de volta (Figura 3.12).
Regio de vrtice

Frente de Onda

UPML

REGIO DE ANLISE
PEC

y z x

Figura 3.12: Modelo de problema eletromagntico aberto 2D, fechado artificialmente pela UPML.

28

Na Figura 3.12, as vrias camadas que compem a regio UPML so mostradas em cores distintas para caracterizar suas diferentes condutividades. Deve-se notar que cada um dos quatro vrtices desse domnio 2D a interseco de dois lados, cada um com condutividade variando em apenas uma direo, e so caracterizados pelas duas condutividades nas direes de variao dos dois lados que os compem, respectivamente. Portanto, as regies dos 4 cantos da UPML de um domnio 2D retangular e dos cruzamentos das faces da UPML de um domnio cbico 3D tm atenuaes em duas direes, assim como, as regies dos vrtices do mesmo domnio cbico 3D provocam atenuaes nas trs direes (Figura 3.13).
Regio de anlise (x = y = z = 0)
z y x UPML UPML

y 0 Regio de anlise x = 0 (x = y = z = 0) y 0 x 0 y = 0 x 0

x 0 y 0 z 0

x 0 z 0

(a)

(b)

Figura 3.13: Representao dos cantos da UPML. a) caso 3D ; b) caso 2D.

As equaes em diferenas finitas da propagao eletromagntica na UPML foram apresentadas por S. D. Gedney [10], em 1996, e desenvolvidas a partir do conceito da PML de Berenger [11,12], publicado em 1994, e das condies de casamento de impedncia entre dois meios para transmisso total definidas por Holland e Williams [13], em 1983. De uma forma geral, as equaes rotacionais de Maxwell no domnio da freqncia e as relaes constitutivas, para um meio anisotrpico so, respectivamente: E = j S H H = j S E (3.15a) (3.15b) (3.16a) (3.16b)

B = SH D =SE

Onde = or e = or e S , para um domnio 3D genrico, uma matriz diagonal 3x3 resultante do produto de trs matrizes diagonais 3x3, cada uma referente a absoro em

29

uma direo especfica da geometria da UPML, e disposta de tal forma que as condies de transmisso total entre dois meios seja satisfeita [11]:

1 = 2 (3.17a)

1 = 2 (3.17b)

e m (3.17c) =

Uma forma da matriz S que garante as condies de transmisso sem reflexo : s y sz sx 0 0 = 0 1 sz 0 0 0 sx s y sz (3.18) onde os elementos dessas matrizes so dados pela frmula geral: sl = 1 +

S = SxS ySz =

sx 0 0

0 sx 0

0 s y 0 0 sx 0

0 1 sy 0

0 s z 0 0 sy 0

0 sz sx sy 0

0 sz 0

l , l = x, y ou z j

(3.19)

Da equao (3.15a), pode-se escrever: s y sz E z E y y z sx E x E z = j 0 z x E y E x 0 x y 0 sz sx sy 0 0 H x 0 H y H z sx s y sz

(3.20)

Por simplificao nos clculos, evitando-se o aparecimento de convolues entre as componentes do campo magntico e o tensor S aps a passagem das equaes para o domnio do tempo, o que tornaria o cdigo ineficiente, o sistema (3.20) dividido em dois e as componentes do vetor densidade de fluxo magntico so definidas: E z E y y z s z E x E z = j 0 z x 0 E y E x y x

0 sx 0

0 Bx 0 By s y Bz

(3.21)

30

onde: sy sx Bx B = 0 y Bz 0 0 sz sy 0 0 0 sx sz

H H H

y z

(3.22)

As linhas dos sistemas (3.21) e (3.22) so, respectivamente, dependentes entre si e, duas a duas, se complementam no clculo da atualizao das componentes de campo. Como o que se tem a princpio o valor das componentes de campo eltrico, ento, so calculadas as componentes do vetor densidade de fluxo magntico correspondente e depois so atualizadas as componentes do vetor intensidade de campo magntico. Ajustando-se as equaes dos sistemas (3.21)-(3.22), com o auxlio de (3.19), e agrupando-as linha a linha, correspondentemente, tem-se os pares para atualizao das componentes do vetor intensidade de campo magntico: E z E y y z e Bx = sy sx H syH = E y E z = js z B x j + z B x = z y (3.23a)

1 s x B x j +

1 j + x B x (3.23b)

E z E x E x E z = js x B y j + x B y = x x z z
e By = sz H y szH sy = 1 s y B y j + z H =

(3.24a)

1 j +

B y (3.24b)

31

E y E x E x E y = j s y B z j + y B z = x y y x
e Bz = sx H sz sxH = 1 s z B z j + x H =

(3.25a)

1 j + z B z (3.25b)

Operaes semelhantes podem ser realizadas com (3.15b), resultando em: s y sz H z H y y z sx H x H z = j 0 z x H H x y 0 y x 0 E x 0 E y E s x s y z sz

0 sz sx sy 0

(3.26)

Dividindo-se o sistema em dois, a partir da definio das componentes do vetor densidade de fluxo eltrico: H z H y y z s z H x H z = j 0 z x 0 H y H x y x onde: sy sx Dx D = 0 y Dz 0 0 sz sy 0 0 0 sx sz

0 sx 0

0 Dx 0 Dy s y Dz

(3.27)

Ex E y Ez

(3.28)

Agrupando-as e ajustando-se as equaes dos sistemas (3.27)-(3.28), obtm-se num arranjo mais lgico, os pares para atualizao das componentes eltricas : H z H y y z H z H y = j s z D x j + z D x = y z (3.29a)

32

e Dx = sy sx Ex syEx = 1 s x D x j +
y

1 E j + x D x x = (3.29b)

H x H z H x H z = j s x D y j + x D y = x z x z
e Dy = sz 1 1 E y sz E y = s y D y j + z E y = j + sy
y

(3.30a)

D y (3.30b)

H y H x x y e Dz =

H y H x = j s y D z j + y D z = x y

(3.31a)

sx 1 1 Ez sxEz = s z D z j + x E z = j + z D z sz (3.31b)

Nos pares de equaes (3.23)-(3.25) e (3.29)-(3.31) pode-se aplicar o mtodo das diferenas finitas para obter-se as equaes de propagao em meios anisotrpicos uniaxiais na forma discreta:
1 n+ 2 1 1 (i , j + ,k + ) 2 2

Bx

z t 1 2 = Bx 1 1 ( i , j + ,k + ) z t 2 2 1+ 2
1 n 2

n E y n 1 Ey 1 (i , j + ,k +1) (i , j + ,k ) t 2 2 + z z t 1 + 2

n Ez n Ez 1 (i , j +1,k + 1 ) ( i , j ,k + ) 2 2 y

(3.32a) e

33

Hx

n+

1 2

1 1 (i , j + ,k + ) 2 2

y t 1 2 = Hx 1 1 (i , j + ,k + ) y t 2 2 1 + 2
n 1 2

1 n n+ 1 1 t t B x 2 1 1 1 + x B x 2 1 1 1 x (i , j + ,k + ) (i , j + ,k + ) 2 2 y t 2 2 2 2 1 + 2

(3.32b)

1 2 y 1 1 (i + , j ,k + ) 2 2 n+

=B

1 2 y 1 1 (i + , j ,k + ) 2 2 n

x t 1 2 x t 1+ 2

n E z n Ez 1 (i , j ,k + ) ( i +1, j ,k + 1 ) t 2 2 + x t x 1 + 2

n Ex n 1 Ex 1 ( i + , j ,k +1) (i + , j ,k ) 2 2 z

(3.32c) e
1 2 y 1 1 (i + , j ,k + ) 2 2 n+ 1 2 y 1 1 (i + , j ,k + ) 2 2 n

=H

t 1 z 2 z t 1 + 2

1 n+ 1 n+ y t y t 1 + 1 + By 2 By 2 (i 1 , j ,k 1 ) 1 1 1 ( i + , j ,k + ) + + 2 2 z t 2 2 2 2 1 + 2

(3.32d)

1 2 z 1 1 (i + , j + , k ) 2 2 n+

=B

1 2 z 1 1 (i + , j + , k ) 2 2 n

t 1 y 2 y t 1 + 2

n E x n 1 Ex 1 (i + , j ,k ) (i + 2 , j +1, k ) t 2 y t y 1 + 2

n Eyn Ey 1 ( i +1, j + 1 , k ) (i , j + ,k ) 2 2 x

(3.32e) e
1 2 z 1 1 (i + , j + ,k ) 2 2 n+ 1 2 z 1 1 (i + , j + ,k ) 2 2 n

=H

t 1 x 2 x t 1 + 2

1 n n+ 1 1 z t t + B z 21 1 1 z B z (i +2 , j + 1 , k ) 1 + 1 (i + , j + ,k ) 2 2 x t 2 2 2 2 1 + 2

(3.32f)

Dx

n +1 1 (i + , j , k ) 2

z t 1 n 2 = Dx 1 (i + , j , k ) z t 2 1+ 2

1 1 n + 1 n+ n+ n+ 1 H z ( i 2 , j 1 , k ) H z ( i 2 , j 1 , k ) H y ( i 2 , j , k 1 ) H y ( i 2 , j , k 1 ) 1 1 1 1 + + + + + + t 2 2 2 2 2 2 2 2 + t y z 1 + z 2

(3.33a) e

34

Ex

n +1 1 (i + , j ,k ) 2

y t 1 n 2 = Ex 1 y t (i + , j ,k ) 2 1+ 2

n +1 1 x t t n + D x 1 1 x D x 1 1 + y t (i + , j , k ) (i + , j ,k ) 2 2 2 2 1 + 2

(3.33b)

Dy (i , j + 1 , k )
2

n +1

x t 1 n 2 = Dy (i , j + 1 , k ) x t 1+ 2 2

1 1 n + 1 n+ n+ n+ 1 H x 2 1 1 H x 2 1 1 H z 2 1 H z 2 1 1 1 (i, j + , k ) (i , j + ,k ) t (i + 2 , j + 2 , k ) ( i , j + 2 , k + 2 ) 2 2 2 2 + x t z x 1 + 2

(3.33c) e
t 1 z 2 = E y (i, j + 1 ,k ) 1 + z t 2 2
n

E y (i, j + 1 ,k )
2

n +1

n +1 y t t 1 + D y (ni , j + 1 , k ) 1 y D y ( i , j + 1 , k ) 1 + t 2 2 2 2 1 + z 2

(3.33d)

Dz

n +1 1 (i, j , k + ) 2

y t 1 n 2 = Dz 1 (i, j , k + ) y t 2 1+ 2

1 1 n + 1 n+ n+ n+ 1 2 H x 2 1 1 H x 2 1 1 H y 2 1 1 Hy 1 1 (i , j , k + ) (i, j , k + ) (i , j + 2 , k + 2 ) t (i + 2 , j , k + 2 ) 2 2 2 2 + y t x y 1 + 2

(3.33e) e
t 1 x 2 = Ez 1 (i, j , k + ) x t 2 1+ 2
n

Ez

n +1 1 (i , j ,k + ) 2

1 + t 1 + x 2

n +1 z t z t n Dz Dz ( i , j , k + 1 ) 1 + 1 1 (i, j ,k + ) 2 2 2 2

(3.33f) Essas frmulas de propagao especiais (3.32)-(3.33), que levam em considerao as perdas de um meio dispersivo, podem tambm ser usadas em meios sem perdas ( = 0), pois nesta situao os termos que caracterizam a absoro so anulados e as expresses se transformam nas equaes de Maxwell para meios isotrpicos. O uso, porm, dessas equaes especiais em toda o domnio numrico, indicado com cautela, devendo-se atentar para as

35

dimenses de malha, pois se corre o risco de tornar o cdigo menos eficiente pela incluso de um maior nmero de clculos e de variveis no mesmo. Os valores das condutividades eltrica e magntica na UPML variam uniaxialmente, porque com isso reduz-se o efeito de reflexo provocado pela aproximao discreta dos campos e dos parmetros materiais na interface entre os dois meios, resultante de uma impedncia descasada na mesma [10]. Essa variao gera, no fundo, o aparecimento de vrias camadas postas lado a lado na regio de truncagem. Essas condutividades, ou as condutividades eltrica e magntica de cada camada da UPML, podem ser definidas atravs do seguinte polinmio:

(x , y , z ) (l ) =

(x , y , z ) max l l
nc (x , y , z )
m

, l = i, j ou k e = 0, 1

(3.34)

De acordo com [10], a ordem do polinmio para que a UPML gere reflexes suficientemente baixas a quarta ordem (m = 4) e a espessura de 10 camadas (nc = 10) para a mesma parece mais do que suficiente, sem aumentar significativamente o nvel de erro e o tempo de processamento da simulao. Para um clculo mais preciso, tcnicas de otimizao podem ser usadas para encontrar os parmetros acima [14]. Como (3.34) depende, tambm, de

max, ento, o valor timo para o mesmo para reduzir as reflexes ser dado pela seguinte
expresso [10]:

d max

(m + 1)
150. .d . r

, d = x, y ou z

(3.35)

Assim, para uma clula de Yee caracterizada para um problema de propagao 2D em modo TMz (Figura 3.14) tem-se que as condutividades sero:
PEC
j1 2

UPML

Clula de Yee

Regio de Anlise

Hx Hy y j0 z x
8 7 6

Ez i0 i1

Figura 3.14: Delimitaes do domnio numrico para clculos na UPML e clula de Yee, para o modo de propagao TMz.

36

Para Hx:

x (i ) =

x max i i
m nc x

(3.36a)
m

y max j + 1 j 2 y ( j + 1 2) = m nc y
Para Hy:

(3.36b)

x max i + 1 i 2 x (i + 1 2) = m nc x y ( j) =
Para Ez:

(3.37a)

y max j j
m nc y

(3.37b)

x (i ) =

x max i i
m nc x

(3.38a)
m

y ( j) =
Onde:

y max j j
m nc y

(3.38b)

= 0 ou 1,

1 j < j0 j1 j j max

1 i < i0 i1 i i max

Sendo respeitadas as condies (Figura 3.14): 1) Os xs so nulos nas regies 3 e 7; 2) Os ys so nulos nas regies 1 e 5; 3) Nas regies no citadas as condutividades so dadas por (3.36), (3.37) e (3.38). Deve-se notar que na regio de UPML as posies exatas das componentes (valores de ndice fracionrios) dentro da clula de Yee, devem ser explicitadas. Isso se deve por causa da necessidade de uma caracterizao eficiente da variao da condutividade dentro da UPML. Por isso, a condutividade calculada e armazenada em posies intermedirias da clula, como se pode perceber em (3.36), (3.37) e (3.38). A utilizao dos valores dos s nas

37

posies geomtricas exatas de ocorrncia das componentes de campo dentro das clulas deste meio, torna a anisotropia do mesmo mais suave e produz menos reflexes. Por isso, tambm, cada componente dos campos eltrico e magntico tem uma condutividade particular de acordo com a sua posio na clula de Yee. 3.4.2) Condies de Contorno do PEC: As condies de contorno apropriadas para caracterizar-se um condutor eltrico perfeito so tais que as componentes tangenciais do campo eltrico so nulas. Esta condio vai implicar que a componente normal do campo magntico vai anular-se nessa superfcie. A superfcie condutora ser com isso aproximada por uma coleo de faces de cubos, cujos lados so paralelos aos eixos de coordenadas. Superfcies planas perpendiculares ao eixo x, por exemplo, sero escolhidas tais que contenham pontos onde Ey e Ez sejam definidos como zero (Figura 3.15). Similarmente, superfcies planas perpendiculares aos outros eixos tambm sero escolhidas. PEC Ey=0 y z x Ez=0 Componente de campo entrando ou saindo do plano do papel.

Figura 3.15: Condies de contorno para o PEC.

38

Referncias Bibliogrficas
[1] K. S. Yee, Numerical solution of initial bondary value problems involving Maxwells equations in isotropic media, IEEE Trans. Antennas and Propagat. 14, pp. 302-307, 1966. [2] A. Taflove, e S. C. Hagness, Computational electrodynamics: the finite difference time domain method, 2a Edio, Artech House, 2000. [3] A. Taflove, Review of the formulation and applications of the finite-difference timedomain method for numerical modeling of electromagnetic wave interactions with arbitrary structures, Wave Motion 10, pp. 547-582, 1988. [4] A.N. Belm, Caracterizao bidimensional de canais de rdio atravs de diferenas finitas no domnio do tempo, Dissertao de Mestrado, Universidade Federal de Minas Gerais, pp. 11-50, 2001. [5] A.Taflove, e M.E. Brodwin, Numerical solution of steady-state electromagnetic scattering problems using the time-dependent Maxwells equations, IEEE Trans. Microwave Theory and Tech. 8, vol. MTT-23, pp. 623-630, 1975. [6] M. N. O. Sadiku, Numerical techniques in electromagnetics, 2a Edio, CRC Press, 2000. [7] R. M. S. Oliveira, Mtodo FD-TD aplicado na anlise da propagao eletromagntica em ambientes indoor e outdoor, Trabalho de Concluso de Curso, Departamento de Engenharia Eltrica e da Computao, Universidade Federal do Par, pp. 4-21, 2003. [8] G. Mur, Absorbing boundary conditions for finite-difference approximation of the timedomain electromagnetic field equations, IEEE Trans. Electromagn. Compat. 23, pp. 377382, 1981. [9] Website www.fdtd.org [10] S. D. Gedney, An anisotropic perfectly matched layer-absorbing medium for the truncation of FD-TD lattices. IEEE Trans. Antennas Propagat. 44, pp. 1631-1639, 1996. [11] J. P. Berenger, A perfectly matched layer for the absortion of electromagnetic waves, J. Computat. Phys., 1994. [12] J. P. Berenger, Perfectly matched layer for the FD-TD solution of wave-structure interaction problems, IEEE Trans. Ant. Propagat.1, vol. 44, pp. 110-117, 1996. [13] R. Holland, e J. Williams, Total field versus scattered-field finite-difference, IEEE Trans. Nuclear Science 30, pp. 4583-4587, 1983. [14] T. Venkartaraman, Applied optimization with MATLAB programming, 1a Edio, John Wiley & Sons, 2002.

39

CAPTULO 4: Anlise de Problemas e Resultados


4.1) Introduo: Neste captulo, so analisadas duas estruturas PBG com redes peridicas de clula unitria quadrada. No primeiro caso, o arranjo constitui-se de uma linha de fita colocada sobre a estrutura PBG, obtendo-se assim as caractersticas de um filtro [1]. Levou-se em conta a quantidade de elementos dispostos, formando linhas e colunas na estrutura, e foram feitas, ento, alteraes no nmero dos elementos, tanto no sentido longitudinal, quanto no transversal, em relao fita. No segundo caso, foi criado um guia de onda baseado na estrutura PBG apresentada em [2,3], com a retirada de algumas clulas da mesma. Assim, obteve-se um guia PBG bidimensional [4], que confina o sinal e transmite-o sem quase nenhuma perda. Esse guia pode ser utilizado, por exemplo, no projeto de circuitos pticos. Foram feitas simulaes da propagao eletromagntica nessas estruturas utilizando-se o mtodo FD-TD e a tcnica da UPML, mostradas no captulo 3. O modo de propagao considerado nestes problemas foi o TMz (Ex = Ey = Hz = 0). Para o caso do filtro foram escritos apenas cdigos seqenciais, pois, apesar do problema ser tridimensional, sua malha no era muito grande e, assim, o processamento no era to longo. J para o guia de onda foram feitos dois programas: um seqencial e outro paralelo. Com isso, pde-se avaliar a eficincia do processamento paralelo na simulao de problemas com grande nvel de discretizao, que exigem sistemas com maior capacidade de processamento e armazenamento. Todos os programas foram codificados em FORTRAN 77/90 [Apndice A]. Para as simulaes com processamento paralelo, foi utilizado um cluster do tipo Beowulf [5-7] composto por 12 mquinas um n mestre: composto por um sistema AMD Athlon Dual com dois processadores de 1.8 GHz, 2GB de memria RAM PC266, um disco rgido de 60 GB, uma placa de rede Ethernet 100Mb e uma placa de rede Ethernet de 1Gb; e onze ns escravos: sistemas AMD Athlon com um processador de 1.8 GHz, 1.5GB de memria RAM PC266, um disco rgido de 20 Gb e uma placa de rede Ethernet 100Mb. O sistema era interligado por um switch Ethernet de 24 portas 10/100Mb e uma porta 1Gb Ethernet e baseado no sistema operacional Linux Red Hat 9.0 [8] e na biblioteca de comunicao LAM/MPI [9]. Com os dados de sada gerados por estes programas, foram plotados os band gaps e calculadas as larguras de banda das diferentes configuraes do filtro PBG e geradas imagens

40

da distribuio de campo no guia de onda, em diferentes instantes da simulao. De posse destas imagens, foram gerados filmes, onde se pode observar os fenmenos referentes a propagao da onda (reflexo, refrao e difrao). Para o tratamento desses dados, foram usados os softwares Microcal Origin 6, para a plotagem dos grficos, Matlab 5.3, para a gerao das imagens e o VirtualDub, para a edio do vdeo. 4.2) Problema 1 O Filtro PBG: Este dispositivo consiste de uma linha de fita colocada sobre uma estrutura PBG composta por elementos dieltricos dispostos periodicamente. Dessa forma, a linha sobreposta estrutura (substrato), sendo fixada acima de uma das fileiras de clulas. O substrato caracterizado por PBG feito de um material homogneo de permissividade relativa

r = 2,2, que tem includo, em seu interior, elementos de alta permissividade eltrica (r =
10,2) em forma de bastes de base quadrada (Figuras 4.1, 4.2 e 4.3).
linha de fita basto

substrato plano de terra (metal)

Figura 4.1: Esquema de filtro PBG.


a

substrato PBG

r = 2,2

y z x

Figura 4.2: Viso superior do modelo do Filtro PBG.

z y x

linha de fita

Figura 4.3: Vista lateral do filtro PBG. Deve-se observar a existncia de uma fileira de blocos abaixo da fita.

linha de fita
substrato

r = 10,2

41

Estes bastes so dispostos numa rede quadrada. Desse modo, o nmero de clulas da rede alterado e os efeitos sobre o band gap so analisados em termos do coeficiente da matriz de espalhamento, S21. Com essas modificaes, em relao ao nmero de linhas e colunas de bastes do substrato PBG, so feitos testes de eficincia entre as diferentes configuraes construdas. Para os clculos dos band gaps, nos diferentes casos do filtro, ser necessrio captarse os valores dos coeficientes de transmisso da estrutura. Para isso, deve-se captar a tenso num ponto abaixo da linha, aps a estrutura PBG, produzida por um campo eletromagntico excitado num local tambm abaixo da linha, antes da estrutura PBG (V(t)trans). O local de coleta da tenso eltrica denominado porta de acesso [1]. Deve-se usar um esquema para registrar, no mesmo local, a tenso incidente (V(t)inc) gerada por este campo, considerando-se uma linha de fita infinita sem estrutura PBG. Na verdade, o que se faz registrar o campo eltrico num ponto de coordenada (x,y), integrando-o na direo z a partir deste ponto, do plano de terra (camada metlica inferior) at a parte mais alta do substrato (interface com a linha de fita), para calcular-se a tenso de acordo com a integral de linha que define a tenso entre dois potenciais (Figura 4.4):
Linha de Microfita

bastes

Tenso transmitida
Metal

Substrato

Figura 4.4: Vista ampliada do plano y-z do filtro PBG, mostrando a porta de acesso, onde se capta a tenso transmitida, gerada entre a placa metlica, abaixo do substrato, e a linha de fita, acima dele.

V (t ) = E dl
z0

z1

(4.1)

Depois de se registrar os valores assumidos por estas tenses no domnio do tempo, durante um intervalo suficientemente grande para que o campo atinja o regime permanente (ou seja, de posse do histrico da variao dessas tenses), pode-se encontrar os resultados correspondentes no domnio da freqncia, necessrios para o clculo do coeficiente de transmisso, usando-se a transformada de Fourier: S 21 ( ) = V (t )

{ } { (t ) } V
trans tinc

(4.2)

42

Estes clculos podem ser feitos em um nico cdigo computacional, servindo para determinar os coeficientes da matriz de espalhamento. Atravs da plotagem de S21, pode-se encontrar o band gap da estrutura e medir-se a sua largura de banda (BW). O ponto de menor transmisso ocorre na freqncia central (fC). A freqncia inferior e a freqncia superior so dadas no ponto imediatamente anterior e no ponto imediatamente posterior freqncia central, respectivamente, onde a transmisso decai 3dB [10]: BW (%) = 100
fC =

fH fL fC

(4.3) (4.4)

fH + fL 2

onde fH a freqncia superior do band gap e fL a freqncia inferior do band gap. 4.2.1) Caractersticas Construtivas do Problema: Para todos os casos simulados, as dimenses dos bastes, o tamanho da constante de rede, as dimenses da fita e a espessura de substrato so os mesmos. Assim, a base de cada basto foi definida com as dimenses de 3,2mm x 3,2mm e altura igual espessura do substrato. A constante de rede de 4,80mm, a fita tem 2,4mm de largura e a espessura do substrato de 0,80mm. a) Fonte de Excitao: O pulso Gaussiano foi escolhido porque com ele possvel obter-se, de uma s vez, informaes do comportamento da estrutura numa determinada faixa de freqncias, simplesmente ajustando-se a sua largura. Pode-se definir um pulso Gaussiano no domnio do tempo, com propagao na direo z, pela expresso: f (z , t ) = f (z , t ) max (t t 0 )2 (z z 0 )2 exp exp 2 z2 (4.5)

As escolhas dos parmetros , z, t0 e z0 esto sujeitas s condies de estabilidade e preciso numricas vistas no captulo 3. A largura de banda, W, do pulso medida entre dois pontos simtricos que esto localizados a 5% do valor da amplitude mxima de f(z, t). Este mximo atingido quando z = z0 e t = t0. (W 2)2 f (z , t ) max exp = f (z , t ) max exp( 3) 5% f (z , t ) max 2 ( ) Para garantir-se uma disperso numrica mnima [1], define-se: (4.6)

43

W W = 20z = 10z 2 Com isto, calculado como:

(4.7)

1 10z 3

(4.8)

A freqncia mxima ser calculada por (4.9) [1]: f max = 1 3 2 20z (4.9)

No domnio do tempo, essa funo pode ser definida apenas por f(t). Nas simulaes realizadas neste trabalho, o pulso gaussiano usado foi: (t t 0 )2 f (t ) = exp , t 0 = 3 2 (4.10)

Esta funo adicionada a componente de campo eltrico Ez na posio (x, y, z) do domnio. O pulso de excitao utilizado nas anlises deste caso tem largura de banda de 22GHz, com durao de = 22,0 ps, e foi excitado abaixo da linha de fita em uma clula

depois da UPML, antes da estrutura PBG. 4.2.2) Implementao Numrica: Os domnios numricos considerados para todos os casos do filtro PBG foram tridimensionais (Figura 4.2). Os valores definidos para os incrementos espaciais foram x = 0,40mm, y = 0,40mm e z = 0,1588mm. Assim, no domnio discreto, as dimenses dos bastes, que constituem a estrutura peridica, so 8 x 8 x 5 clulas (lado x lado x altura), a constante de rede possui 12 clulas, a fita tem largura de 6 clulas e a espessura do substrato de 5 clulas. Para o clculo do coeficiente de transmisso, a porta de acesso ficou afastada de 10y clulas do ltimo plano de bastes e na clula localizada no meio da dimenso x do volume numrico (Figura 4.5). No domnio discreto, a integral (4.1) transforma-se num somatrio algbrico. V (n ) = E k z
k =0 k max

(4.11)

No domnio discreto, o pulso de excitao obtido de (4.10) e pode ser escrito como:

44

(nt 3 )2 f (n ) = exp 2

(4.12)

Este pulso foi, ento, adicionado componente Ez, na posio (i, j, k) do domnio numrico, com i assumindo o valor do ndice de uma das clulas entre a UPML e a estrutura PBG, j variando em toda a espessura da linha e k variando entre o plano de terra e a linha de fita.
PEC ny UPML j1 Clula da porta de acesso UPML

Ez

d microfita

y z x

jo UPML 1 1 io

Conjunto de Clulas onde excitada a onda

UPML i1 nx

Figura 4.5: Exemplo de domnio numrico do filtro PBG, caso 2x7. Viso do plano x-y superior. A distncia a deve ser, preferencialmente, igual ao comprimento de onda da freqncia central do pulso; b deve ser um valor que possibilite a, por exemplo, a + 10 clulas; c deve ser no mnimo 10 clulas e d pode ser igual a distncia entre dois bastes.

A UPML foi implementada com uma espessura de 10 camadas. Para manter a estabilidade da simulao numrica, o incremento temporal usado foi 90% do valor calculado pela condio de estabilidade de Courant (3.14), o que resultou em t = 0,6162 ps. Em todos os casos analisados, 1000 passos no tempo foram suficientes para obter-se o estado estacionrio do processo iterativo. 4.2.3) Resultados: Para verificar a performance do band gap, foram feitas simulaes baseadas no modelo de domnio numrico mostrado na Figura 4.5, com o nmero de linhas de bastes sendo ajustadas para quantidades fixas de planos de clulas da estrutura. No primeiro grupo de simulaes, usaram-se apenas dois planos PBG paralelos, transversais ao comprimento da

45

linha de fita e variou-se o nmero de colunas de cada lado. Depois um novo grupo de resultados foi obtido usando-se, desta vez, seis planos PBG e seguindo o procedimento anterior no acrscimo de colunas. Em todos os casos, a linha de fita foi sempre mantida sobre os blocos e posicionada simetricamente em relao a estes. a) Caso 1: Estruturas com dois Planos PBG Paralelos Neste caso, uma estrutura composta de 2 planos paralelos de bastes teve seu nmero de colunas ajustado para 5, 7, 9 e 11. Os modelos criados so mostrados na Figura 4.6.
Etrans

E inc
Linha de fita Linha de fita Linha de fita

Etrans

Einc Etrans

Einc Etrans

Einc
Figura 4.6: Modelo do filtro de 2 planos PBG. De cima para baixo os arranjos 2 x 5, 2 x 7, 2 x 9 e 2 x 11, respectivamente.

Na Tabela 4.1, so informados os tamanhos dos domnios numricos e a posio da porta de acesso, usada para cada caso.

Caso Dimenses do domnio numrico (clulas) Posio da porta de acesso 2x5 43 x 51 x k 84 x 74 x 20 2x7 55 x 51 x k 108 x 74 x 20

Linha de fita

46

2x9 2 x 11

132 x 74 x 20 156 x 74 x 20

67 x 51 x k 79 x 51 x k

Tabela 4.1: Dimenses do domnio numrico e posio da porta de acesso para cada caso.

O valor da posio k da fonte varia de 1 a 5, de acordo com o domnio j definido. Os band gaps encontrados esto colocados num mesmo grfico, mostrado na Figura 4.7.
0

-1

Transmisso (dB)

-2

-3

-4

2x5 2x7 2x9 2 x11

-5 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

Freq ncia (GHz)


Figura 4.7: Curva do coeficiente reflexo para clculo da largura de banda da estrutura nos casos 2 x 5, 2 x 7, 2 x 9 e 2 x 11.

Como se percebe, as curvas de 2 x 5 e 2 x 7 so, assim como as de 2 x 9 e 2 x 11, idnticas entre si. Numa anlise mais geral, as curvas pouco diferem umas das outras, ou seja, para dois planos paralelos, usar esta estrutura PBG com 5 ou 11 colunas resulta num efeito de filtragem aproximadamente igual. Apesar de haver uma atenuao um pouco mais marcante na faixa de aproximadamente 9~13,25GHz, ela no suficiente para impedir a transmisso de boa parte do sinal dentro dessa faixa de freqncia (pois, pouco maior que 3dB). Portanto, pode-se concluir que para estes casos, todas as freqncias na faixa de 1~20GHz esto sendo transmitidas com mnimas perdas. Isso, talvez seja mais bem percebido pelo grfico comparativo na Figura 4.10. Ainda, assim a largura de banda desse filtro foi calculada por (4.3) e (4.4) em, aproximadamente, 38,20%. b) Caso 2: Estruturas com seis Planos PBG Paralelos Para este caso, tem-se uma estrutura composta de 6 planos de bastes e nmero de colunas tambm sendo ajustado para 5, 7, 9 e 11 como mostra a Figura 4.8.

47

trans

Etrans

y z x Einc

Linha de fita

(1)
Etrans

Einc

Linha de fita

(2)

Einc Etrans

Linha de fita

(3)

Linha de fita

Einc

(4)

Figura 4.8: Modelos do filtro de 6 planos PBG: (1) 6 x 5; (2) 6 x 7; (3) 6 x 9 e (4) 6 x 11.

Na Tabela 4.2, so mostrados os tamanhos dos domnios numricos e a posio da porta de acesso, usada para cada caso.

Caso Dimenses do domnio numrico (clulas) Posio da porta de acesso 6x5 84 x 119 x 20 43 x 99 x k 6x7 55 x 99 x k 108 x 119 x 20 6x9 132 x 119 x 20 67 x 99 x k 6 x 11 79 x 51 x k 156 x 119 x 20
Tabela 4.13: Dimenses do domnio numrico e posio da porta de acesso para cada caso de filtro de 6 planos.

O valor da posio k da fonte varia de 1 a 5, de acordo com o domnio j definido. Os grficos dos band gaps esto plotados na Figura 4.9.

48

0 -3 -6

Trasnmisso (dB)

-9 -12 -15 -18 -21 -24 -27 -30 2 4 6 8 10 12 14 16 18 20

6 6 6 6

x5 x7 x9 x11

Freq ncia (GHz)

Figura 4.9: Curva do coeficiente S21, para determinao do band gap nos arranjos 6 x 5, 6 x 7, 6 x 9, 6 x 11.

Assim, como no caso para 2 planos, as curvas do coeficiente de reflexo para os casos 6 x 5 e 6 x 7, da mesma forma que nos casos 6 x 9 e 6 x 11, so idnticas. H apenas um pequeno desvio no band gap, com o aumento do nmero de colunas. Nestes casos, j bastante perceptvel a filtragem que a estrutura PBG provoca na transmisso da linha de fita, deixando passar todas as freqncias de 1-20GHz com exceo da faixa de aproximadamente 10~15GHz. A largura de banda para este band gap foi calculada por (4.3) e (4.4) aproximadamente igual a 40%. Na Figura 4.10, mostra-se os dois casos. Percebe-se que a filtragem proporcionada por 6 planos de bastes tem fator de qualidade bem superior a do filtro com 2 planos.
0 -3 -6

Transm iss o (dB)

-9 -12 -15 -18 -21 -24 -27 -30 2 4 6 8 10 12 14 16 18 20

2 2 6 6

x5 x 11 x5 x 11

Freqncia (GHz)

Figura 4.10: Comparativo entre arranjos de 2 planos e 6 planos.

49

4.3) Problema 2 Guia de Onda PBG 2D A estrutura PBG usada em um filtro acoplador desenvolvido em [2], foi usada para a construo de um guia de onda bidimensional. Desta estrutura PBG foram retiradas alguns de seus bastes, de maneira a se criar um caminho onde a onda pode se propagar livremente. Porm, ao contrrio dos bastes cilndricos da estrutura de [2], os bastes usados nesta simulao foram colunas com base quadrada (Figura 4.11).

(a)

(b)

Figura 4.11: a) Vista 2D superior do guia de onda PBG bidimensional; b) Viso 3D em perspectiva do mesmo guia de onda (os espaos vazios entre os bastes, e o canal, so preenchidos com ar).

Para no descaracterizar a geometria da estrutura, ajustou-se o tamanho dos lados dos bastes quadrados recorrendo-se a uma relao de equivalncia entre as reas do quadrado e do crculo e condio de que o raio do basto circular tem que ser igual a 20% da constante de rede da estrutura [2] (4.12). A crculo = A quadrado R 2 = L2 L = R L = 0, 20.a. L = 0,3545.a (4.12)

Essa estrutura, tambm, baseia-se numa rede cristalina de base quadrada, porm suas dimenses so diferentes da estrutura do filtro PBG, mostrada anteriormente. Essa estrutura pode confinar uma onda e transmiti-la numa determinada freqncia, com aproximadamente nenhuma perda. Para o estudo da propagao eletromagntica neste dispositivo foram escritos dois cdigos: um seqencial e outro paralelo. Isso foi feito para demonstrar as alternativas que podem ser realizadas com a maior capacidade de processamento e armazenamento de um sistema de processamento paralelo relativamente barato, como um cluster de PCs. Depois, uma anlise de desempenho entre estes dois cdigos foi realizada. Tambm, com estes

50

programas, obtiveram-se imagens da distribuio de campo em diversos instantes de tempo durante a propagao eletromagntica. Com essas fotos, foram criados filmes que mostram a evoluo da onda propagando-se nesta estrutura. 4.3.1) Caractersticas Construtivas do Problema: Em ambos os casos, este problema foi analisado em apenas um plano x-y. Ou seja, as simulaes foram realizadas dentro de um domnio numrico bidimensional. Assim, os bastes da estrutura foram definidos apenas por suas bases quadradas. Como a constante da rede quadrada, a, foi definida como 10 mm de comprimento, as bases dos bastes foram dimensionadas em 3,5 x 3,5 mm. As permissividades usadas para o espao entre os bastes e para os bastes foram r = 1 e r = 11,56, respectivamente. Apenas 15 linhas e 23 colunas de bastes do guia de onda foram representadas. a) Fonte de Excitao: Uma fonte de onda plana puramente senoidal (formada por uma nica componente de freqncia) de amplitude unitria serviu como excitao para este guia. Assim, a excitao neste caso foi definida por: f (t ) = cos(2ft ) (4.13)

A freqncia f dessa fonte foi ajustada para o valor fw. possvel definir-se essa freqncia, para a estrutura mostrada em [2], a partir do espectro de intensidade do sinal transmitido visto em [2] e reproduzido na Figura 4.12.

Figura 4.12: Espectro da intensidade do sinal transmitido na estrutura mostrada em [2].

51

De acordo com a Figura 4.12, o valor dessa freqncia, normalizada por (c/a), de aproximadamente 0,3695. Logo, a freqncia da excitao senoidal ser, para este caso: fw (c / a ) = 0,3695

f w = 0,3695 c

( a ) 11,085 GHz

(4.14)

onde c a velocidade da luz no vcuo e a a constante de rede da estrutura peridica. Apesar da estrutura usada no guia ter sido ligeiramente modificada em relao estrutura de [2], o confinamento da onda se deu na faixa de transmisso mxima deste canal. 4.3.2) Implementao Numrica: Na implementao computacional do problema, deve-se levar em conta que o domnio FD-TD de anlise discreto. Assim, as equaes (4.13) e (4.14) foram discretizadas. f (n) = cos(2f w n.t ) f w = 0,3695 c a f .x onde af a quantidade de clulas da constante de rede no domnio discreto. Essas equaes so teis para definir a fonte de excitao no cdigo computacional. Outro detalhe importante o posicionamento desta fonte. Ela deve ser colocada no comeo do canal do guia (canto superior esquerdo), preferencialmente a uma distncia mnima de um comprimento de onda da UPML, para garantir que a frente de onda chegue da forma mais plana possvel a fronteira da camada absorvente. Com isso, a coordenada i da fonte pode ser definida por: (4.15) (4.16)

i = i0 + w i = i0 + c x x. f w
a i = i0 + f 0,3695 (4.17)

A coordenada j varia na largura do canal do guia e deve ser definida de acordo com as dimenses da malha.

52

a) Serial: Neste caso, os tamanhos dos incrementos foram x = y = 0,500mm. Isso implicou em bastes com seo transversal de 7 x 7 clulas e, a partir de (4.12), uma constante de rede aproximada por 20 clulas. Com esses valores definidos, as dimenses do domnio numrico foram determinadas em 473 x 313, com a primeira linha e a primeira coluna de bastes sendo escritas nas posies j = 13 e i = 13. Para este caso, a fonte foi colocada na posio i = 66 e 200 < j < 233. O domnio numrico est representado na Figura 4.13.

313 j1

UPML

Pulso de excitao
UPML

PEC

jo 1 io

UPML

UPML

i1 473

Figura 4.13: Anlise do domnio numrico do problema do guia de onda, para processamento seqencial.

b) Paralelo: Neste caso, o domnio de anlise foi dividido para processamento paralelo entre 8 mquinas. Para demonstrar o poder e a eficincia do processamento paralelo, a malha do problema foi bastante refinada. Assim, os incrementos foram ajustados para x = y = 0,0555mm. Isso gerou bastes com seo transversal de 64 x 64 clulas e, de (4.12), uma constante de rede de 180 clulas. Com esses valores definidos, as dimenses totais da malha foram 4072 x 2632 clulas. Cada uma das mquinas ficou responsvel por um subdomnio do domnio, definido em 1018 x 1316 clulas, com a primeira linha e a primeira coluna de bastes sendo escritas nas posies j = 24 e i = 24, respectivamente. A fonte de excitao de onda plana foi colocada nas coordenadas i = 500 e 392 < j < 688.

53

importante salientar que para o correto clculo dos campos em todo o domnio, cada mquina envolvida neste processo depender de valores de componentes de campo calculadas em mquinas vizinhas. Assim, estas mquinas, dentro da anlise numrica do problema, devero trocar mensagens entre si informando esses valores quando requisitadas. Para melhor entendimento da diviso do domnio de anlise, na Figura 4.14, pode-se ver o domnio dividido entre 8 mquinas e a passagem das componentes de campo que sero necessrias entre elas para o modo de propagao TMz.

2632 j1

Ez

Ez

UPML

Ez

Hy

Hy

Hy

Mquina 4

Mquina 5
Pulso de excitao

Mquina 6

Mquina 7

UPML

UPML

1316

Hx Ez Ez

Hx Ez

Hx Ez

Hx

PEC

Mquina 0
Ez

Mquina 1
Ez

Mquina 2
Ez

Mquina 3

jo 1 io

Hy 1018

UPML

Hy

Hy 3054 i1 4072

2036

Figura 4.14: Diviso do domnio numrico para processamento paralelo e passagens de campos necessrias entre as mquinas.

Melhores esclarecimentos a respeito dessa tcnica de processamento paralelo e suas sintaxes de programao so dados em [9]. 4.3.3) Resultados: a) Seriais: Para este caso, foram obtidas as distribuies da componente Ez de campo eltrico em diversos instantes de tempo (Figuras 4.15-4.18). As imagens aqui exibidas foram geradas atravs do software Matlab 5.3. O nmero de iteraes suficiente para a onda preencher todo o guia foi de 2300 instantes de tempo.

54

Figura 4.15: Distribuio de campo aps 600 iteraes. A cor vermelha representa o mximo positivo e a cor a azul escura o mximo negativo.

Figura 4.16: Distribuio de campo aps 1600 iteraes. Apesar das curvas de 90o, o confinamento se mantm.

Figura 4.17: Distribuio de campo aps 2500 iteraes.

55

Figura 4.18: Plotagem 2,5D da onda confinada no guia aps 2500 iteraes. A amplitude do campo quase a mesma no comeo e no fim do guia, ou seja, a onda guiada com poucas perdas.

Nesta simulao, pde-se perceber os efeitos de reflexo, difrao e refrao na onda ao chocar-se com a estrutura PBG, alm do efeito de absoro da UPML simulando o infinito, como se fosse uma cmara anecica computacional. O tempo de execuo deste cdigo foi t = 158s. Com essas imagens foi gerado um vdeo mostrando a evoluo da onda no tempo. b) Paralelos: Neste caso, tambm foram obtidas as distribuies de campo eltrico em diferentes instantes. Os resultados foram idnticos queles obtidos por processamento serial, porque este problema no requer, para se obter resultados satisfatrios, um nvel de detalhamento maior que o conseguido atravs do sistema seqencial. As imagens (Figuras 4.19-4.21) foram geradas com o software Matlab 5.3, atravs da juno das sadas das 8 mquinas numa imagem nica.

Figura 4.19: Distribuio de campo aps 150 iteraes.

56

Figura 4.20: Distribuio de campo passadas 1500 iteraes.

Figura 4.21: Distribuio aps 2500 iteraes.

O tempo de execuo deste cdigo foi t = 183s. Como o domnio numrico foi aumentado, um comparativo de desempenho, usando-se um parmetro como o speedup [9,11], por exemplo, no descreveria o verdadeiro ganho de processamento desse sistema. Mas, a grande quantidade de memria exigida por este domnio numrico, tornava-o impossvel de ser executado em um dos sistemas seqenciais disponveis. Tal tarefa, s foi possvel graas a grande capacidade de armazenamento e processamento de dados do cluster. O processamento paralelo ferramenta fundamental para simular problemas que precisam de um grande refinamento de malha. Neste caso, pde-se constatar que o grande poder de processamento e armazenamento do cluster, so essenciais para as tarefas de simulaes numricas, pois proporcionam a possibilidade de uma melhor preciso aproximao numrica.

57

Referncias Bibliogrficas
[1] J. F. S. de Almeida, Anlise fotnica em estruturas planares usando o mtodo FD-TD com processamento paralelo, Proposta de Tese para Qualificao ao Doutorado, Programa de Ps-graduao em Engenharia Eltrica, Universidade Federal do Par, 2004. S. Fan, P. R. Villeneuve, e J. D. Joannopoulos, Channel drop tunneling through localized states, Phys. Rev. Letters, vol. 80, no. 5, pp. 960-963, 1998. S. Fan, P. R. Villeneuve, e J. D. Joannopoulos, Channel drop filters in photonic crystals, Optics Express, vol. 3, no. 1, pp. 4-11, 1998. J. D. Joannopoulous, R.D. Meade e J. N. Winn, Photonic crystals: molding the flow of light, 1 Edio, Princeton Univ. Press, 1995. R. Samudrala, Linux cluster howto, www.ram.org/computing/linux/linux/cluster/, 2003. A. D. Bueno, Introduo ao processamento paralelo e ao uso de clusters de workstations em sistemas gnu/linux parte I: filosofia, Laboratrio de Meios Porosos e Propriedades Termofsicas,Universidade Federal de Santa Catarina, 2002. J. Rocha, Cluster Beowulf, Aspectos de Projeto e Implementao, Dissertao de Mestrado, Programa de Ps-graduao em Engenharia Eltrica, Universidade Federal do Par, 2003. Website: www.redhat.com Josivaldo Arajo, Anlise de antenas em 2-D utilizando o mtodo das diferenas finitas no domnio do tempo com processamento paralelo, Tese de Mestrado, Programa de Ps-graduao em Engenharia Eltrica, Universidade Federal do Par, 2003.

[2] [3] [4] [5] [6]

[7]

[8] [9]

[10] A. D. Sedra, e K. C. Smith, Microeletrnica, 4 edio, Makron Books, pp. 829-836, 2000. [11] R. M. S. Oliveira, Mtodo FD-TD aplicado na anlise da propagao eletromagntica em ambientes indoor e outdoor, Trabalho de Concluso de Curso, Departamento de Engenharia Eltrica e da Computao, Universidade Federal do Par, pp. 4-21, 2003.

58

CAPTULO 5: Concluses
A anlise da propagao eletromagntica em estruturas peridicas atravs do mtodo FD-TD, mostrou ser bastante eficaz e robusta. Apesar de todas as aproximaes que os mtodos numricos carregam em si, por sua prpria natureza discretizante, a criticidade dos band gaps das estruturas PBG aqui simuladas, principalmente aquela usada no guia PBG, demonstrou a boa preciso da soluo alcanada pela tcnica FD-TD. Apesar de sua relativa praticidade e simplicidade de implementao computacional, a tcnica simula todos os fenmenos que ocorrem na propagao da onda eletromagntica, gerando uma soluo de onda completa. Isso ocorre, simplesmente, porque o mtodo FD-TD baseia-se na discretizao das equaes rotacionais de Maxwell no domnio do tempo, onde os fenmenos de reflexo, difrao e refrao esto, inerentemente, embutidos. Porm, no caso deste trabalho em particular, de nada adiantaria toda a robustez desse mtodo se ele no pudesse ser aplicado a problemas abertos. E isso s foi possvel graas, as ABCs desenvolvidas para truncar artificialmente problemas dessa natureza, principalmente e em particular, tcnica da UPML: uma ABC to eficiente, robusta e precisa quanto o mtodo de Yee. Baseada na idia do efeito de um domnio infinito, a UPML tornou possvel a simulao de problemas abertos antes impraticveis. No fosse esta tcnica, as simulaes aqui realizadas, no teriam os mesmos resultados ou no poderiam ser realizadas em sistemas computacionais seqenciais comuns. A tcnica da UPML, utilizada em conjunto com o mtodo FD-TD, provou sua eficincia, absorvendo a onda sem gerar reflexes esprias de grande magnitude, que poderiam influenciar no resultado do confinamento da onda no guia e nos band gaps dos arranjos do filtro. Para expandir a utilizao destas tcnicas, uma ferramenta de grande utilidade em simulaes computacionais, no s em problemas de propagao eletromagntica como tambm em outras reas da cincia, so os sistemas de processamento paralelo, como o cluster Beowulf disponvel no LANE Laboratrio de Anlise Numrica em Eletromagnetismo da Universidade Federal do Par. Com sistemas assim, problemas que exigem grande capacidade de memria computacional podem ser simulados. Este tipo de sistema de processamento paralelo tem se popularizado por utilizar computadores pessoais comuns ligados em rede, que se baseiam em sistemas operacionais e bibliotecas de comunicao gratuitas. Como se pode deduzir, um cluster Beowulf uma soluo

59

relativamente barata se comparado a sistemas de processamento massivos proprietrios, mas nem por isso menos eficiente. Por outro lado, como uma das mais promissoras reas de pesquisa (pela prpria crescente demanda por sistemas de comunicao de alta velocidade), os dispositivos pticos formados por estruturas peridicas dieltricas surgem como soluo para o projeto de, por exemplo, circuitos impressos pticos, acopladores, filtros, processadores pticos e, at mesmo, sistemas computacionais pticos, muito mais rpidos que os atuais sistemas baseados em circuitos de semicondutores. Todos esses fatores, fazem da anlise e do projeto de dispositivos de cristais fotnicos alvos de grandes pesquisas. Os resultados aqui mostrados provam que isso perfeitamente vivel. Alm do mais, como ferramentas auxiliares ao trabalho da pesquisa, existe uma grande diversidade de softwares gratuitos, como plataformas de desenvolvimento visual para programao C/FORTRAN (Linux/gcc), compiladores (g77), plataformas MatCad (Octave, SciLab), editores de filmes (VirtualDub), editores de texto (Open Office, LaTeX), s para citar alguns, que podem auxiliar na edio e na compilao de cdigos, na anlise de dados, na criao de vdeos, na edio de textos cientficos, etc. Entende-se, por fim, que anlises do band gap de estruturas peridicas utilizando o mtodo FD-TD, poderiam ser realizadas em diferentes configuraes de redes; simulaes de propagao eletromagntica com o mtodo FD-TD, poderiam ser aplicadas a outras estruturas e os resultados, ento, comparados com aqueles obtidos atravs do mtodo das Diferenas Finitas no Domnio da Freqncia (FD-FD), como forma de validao dos band gaps; outras configuraes do filtro, como duas linhas colocadas lado a lado sobre o substrato de PBG poderiam ser avaliadas. Outra linha de estudo e pesquisa poderia ser o projeto e a implementao de cristais fotnicos, por meio de tcnicas de otimizao como, por exemplo, algoritmos genticos.

60

APNDICE A: Programao em FORTRAN


A linguagem de programao FORTRAN (corruptela de FORmula TRANslation) foi desenvolvida por um grupo de programadores da IBM, com o primeiro compilador sendo criado para um computador IBM 704, em 1956, otimizada para trabalhar no desenvolvimento de cdigos para aplicaes cientficas. Em 1958, a verso FORTRAN II foi lanada aps a correo de diversos erros da verso I. Em 1963, a linguagem passou a ser usada em computadores de diferentes arquiteturas. A verso III no foi liberada para uso pblico, pois dependia grandemente de recursos de mquina o que inviabilizava seu uso. Em 1966, foi liberada a FORTRAN IV com duas verses padronizadas: a Basic FORTRAN e a FORTRAN, dando origem ao padro FORTRAN 66. No ano de 1977, aps grandes reformulaes, surge a verso FORTRAN77 reconhecida como padro em 1978 pela ANSI (American National Standard Institute) e pela ISO (International Standard Organization). A seguinte implementao ocorreu em 1991, com o lanamento da FORTRAN 90 (reconhecido sob as normas ANSI e ISO), que foi ampliada em 1997 gerando a verso FORTRAN 95, em conformidade com as normas ANSI e ISO. Em novembro de 2001, foi apresentada a verso FORTRAN 2000 e j se comentava o lanamento da verso FORTRAN 2002. Existem diversos compiladores modernos para FORTRAN, entre eles pode-se destacar: Visual Fortran (Compaq/Hewlett Packard), Lahey/Fujtsu Fortran (Lahey Computer Systems, Inc.), Intel Fortran (Intel Corporation), Fortran Power Station (Microsoft), G77 (compilador com licena GNU para diversos sistemas), etc. Os cdigos para simulao de propagao de ondas em estruturas peridicas utilizados neste trabalho foram escritos em conformidade com as linguagens Fortran 77 e Fortran 90. A verso 77 ainda muito usada (com grande variedade de ferramentas, inclusive compiladores distribudos em regime freeware, como o G77), sendo a que melhor proporciona a viso tcnica de escrever cdigos de forma estruturada. Para uma melhor compreenso deste Apndice observe exemplos das explicaes, no cdigo-fonte exemplo mostrado na Figura A.2.

A.1) Fundamentos sobre a Linguagem de Programao FORTRAN Em FORTRAN existem basicamente duas formas de se escrever um cdigo: com formulrio fixo (fixed form) ou com formulrio livre (free form). Este segundo possvel apenas com os compiladores mais novos que suportam a programao em FORTRAN 90 (por

61

exemplo, Microsoft Developer Studio Fortran Power Station). Outro ponto importante que existem comandos vlidos somente para estes novos compiladores. Algumas verses dos compliladores baseados em FORTRAN 77 aceitam funes ou comandos criados posteriormente a essa verso (o G77, por exemplo), mas no aceitam todas as inovaes dos compiladores de FORTRAN 90. A formatao dos cdigos em FORTRAN 77 segue um estilo diferente dos usados na maioria das linguagens de programao. Desta forma, os seguintes critrios devem ser seguidos para se escrever um programa no modo de formulrio fixo (Figura A.1): ' Colunas 1 a 5: so usadas para escrever os rtulos ou ndices de linhas, que devem ser nmeros inteiros no repetidos em ordem aleatria, e utilizados pelos comandos como ' Coluna 6: qualquer caractere diferente de 0 zero nesta coluna, indica continuao da linha anterior ou da ltima linha que no seja um comentrio. Um comando pode ' Colunas 7 a 72: comandos ou comentrios; escrever nestas colunas. dividir-se em 19 linhas, podendo haver, entre essas, linhas em branco ou comentrios; referncia s mesmas;

' Colunas 73 a 80: campos de identificao usados pelo compilador; no se deve

CONTINUATION

C COMMENT
FOR STATEMENT NUMBER 1 5

FORTRAN STATEMENT
7

IDENTIFICATION

73

80

Figura A.16: Modelo de formulrio para cdigo estruturado do FORTRAN 77.

No FORTRAN 90, o programa pode ser escrito em qualquer posio se o modo formulrio livre estiver ativado1. Alguns pontos devem ser observados para este formato:

Cada compilador possui sua configurao padro particular. Portanto, obrigao do programador identificar se este modo est ativado ou, dependendo do caso, aprender como ativa-lo, nos prprios manuais do compilador.

62 ' linhas de continuao podem ser indicadas pelo smbolo & no fim da sentena e a As linha abaixo, que no seja um comentrio, ser tomada como tal. Deve-se deixar um espao entre os comandos e o smbolo de continuao e permitida a insero de ' rtulos devem ser os primeiros caracteres da linha e podem estar em qualquer Os coluna. comentrios aps o smbolo &;

Na Tabela A.1, so mostrados alguns conceitos gerais importantes para a construo de programas nesta linguagem.

EXPLICAO No so interpretados pelo computador. So importantes para tornar o cdigo mais explicativo para uma anlise posterior. Em FORTRAN a letra c ou o caractere * na primeira coluna indica que toda a linha um comentrio. Alguns compiladores aceitam o uso de qualquer Comentrios caractere diferente de nmeros para iniciar a linha de comentrio. Numa linha de comentrio, permitido o uso de qualquer caractere, especial ou no. Devem ter no mximo seis letras, no permitido o uso de caracteres Variveis e Nomes de Blocos especiais e no podem comear com um nmero. Caracteres O FORTRAN no case sensitive, isto , no faz qualquer distino Maisculas e entre letras maisculas e minsculas. Minsculas Os programas devem conter um nome na primeira linha do incio, aps a Nome do instruo program (program nome_do _programa), e devem terminar programa com a instruo end ou end program.
Tabela A.14: Alguns conceitos bsicos para iniciantes em FORTRAN.

CONCEITO

A.1.1) Tipos de Dados: Todo dado processado por um computador armazenado internamente na forma de dgitos binrios, ou bits, para ser processado e transformado em informaes que sejam teis para os seus usurios. Os tipos de dados bsicos tratveis por FORTRAN so os literais, os numricos e os lgicos. Os dados numricos podem ser inteiros, reais e complexos, com preciso simples ou dupla; os alfabticos so caracteres simples ou em cadeia (string); e os dados lgicos (booleanos) assumem valores verdadeiro ou falso.

a) Numricos: Contm quaisquer valores reais, inteiros ou complexos. A parte decimal separada da parte inteira por um ponto. Os zeros antes e depois do ponto decimal podem ser omitidos, se

63

no forem significantes. O expoente decimal indicado pela letra e ou E e deve vir entre o nmero e seu expoente sem o uso de espaos entre eles. Nmeros negativos assim como a parte exponencial quando for negativa deve vir precedida do sinal menos - e o sinal + opcional. Os nmeros imaginrios devem vir entre parnteses e a parte real (primeiro nmero) deve ser separada, por uma vrgula, da parte imaginria (Ver Figura A.2). Tipo Inteiro: so os dados numricos positivos ou negativos, excluindo-se qualquer nmero fracionrio, identificados pelos comandos BYTE e INTEGER. A faixa numrica estabelecida por cada comando pode ser observada pela Tabela A.2. O comando INTEGER tem sua faixa modificada de acordo com o processador utilizado e o tipo de dado inteiro pode ainda ser definido como INTEGER*1, INTEGER*2, INTEGER*4 e INTEGER*8.

TIPO FAIXA -127 a 128 Byte ou integer*1 -32.768 a 32.767 Integer*2 (processador de 16 bits) -2.147.483.648 a 2.147.483.647 Integer*4 (processador de 32 bits) -9.223.372.036.854.775.808 a 9.223.372.036.854.775.807 Integer*8
Tabela A.15: Faixa de valor numrico para o tipo inteiro.

Tipo Real: so os dados numricos positivos, negativos, fracionrios e inteiros, identificados pelos comandos REAL. O Comando REAL estabelece como padro, valores numricos de 4 bytes com at seis casas decimais significativas e ainda pode ser definido como REAL*4 e REAL*8 (Tabela A.3).

TIPO FAIXA Real*4 Valores de 4 bytes com at 7 casas decimais significativas Real*8 Valores de 8 bytes com at 15 casas decimais significativas
Tabela A.16: Tamanho de palavra para dados do tipo real.

Tipo Complexo: o comando COMPLEX ou COMPLEX*8, valor complexo de preciso simples, estabelece como padro valores numricos de 8 bytes com at seis casas decimais significativas e COMPLEX*16, preciso dupla, valores com 16 bytes com at 15 casas decimais significativas (Tabela A.4).

TIPO FAIXA Complex*8 Valores de 8 bytes com at 6 casas decimais significativas Complex*16 Valores de 16 bytes com at 15 casas decimais significativas
Tabela A.17: Tamanho de palavra para dados do tipo complexo.

64

b) Literais: Podem ser simples ou qualquer seqncia (string) de caracteres no especiais. Devem vir entre aspas ( ) ou apstrofos ( ), sendo que as aspas tem preferncia sobre os apstrofos, portanto, um valor literal pode conter apstrofos desde que seu valor venha entre aspas. No permitido o uso de caracteres especiais e letras acentuadas. O tipo literal identificado pelo comando CHARACTER, o qual estabelece o uso de um caractere apenas. Caso se necessite definir uma string, utiliza-se a instruo CHARACTER*n, em que n representa o nmero de caracteres a ser utilizado. Por exemplo, imagine a definio de um tipo caractere para manipular a string CURSO. Nesse caso deveria se utilizar o comando CHARACTER*5.

c) Lgicos: O dado booleano pode assumir apenas dois valores: TRUE (verdadeiro) ou FALSE (Falso). O falso representado pelo valor 0 (zero) e o verdadeiro representado por qualquer outro valor. O tipo lgico definido por intermdio do comando LOGICAL.

A.1.2) Variveis e Constantes: Em programao, varivel tem por finalidade armazenar temporariamente informaes (dados), um valor por vez. O nome de uma varivel utilizado para sua identificao dentro do programa, portanto necessrio estabelec-lo para que a varivel possa ser manipulada no cdigo. Deve-se determinar, tambm, o tipo desta varivel para que o sistema possa alocar a memria de acordo com as necessidades da mesma. As constantes so alocaes de memrias com atribuies que no variam no decorrer do programa, ou seja, uma vez determinado o valor de uma constante, ele permanecer o mesmo independente das manipulaes que houverem no programa, at o fim do seu processamento. As constantes, tambm, precisam ter seus nomes declarados, assim como o seu tipo determinado.

a) Declarao de Variveis e Constantes: As variveis e constantes podem ser inteiras, reais ou literais. A declarao de uma varivel ou constante deve vir antes que ela seja usada, se isto no ocorrer o compilador assumir que as variveis que comeam com as letras i at n so inteiras (INTEGER*4) e todas as outras so reais (REAL*4).

65

Esta forma de declarao implcita pode ser modificada usando-se o comando implicit tipo (a1-a2,b1-b2,...) sendo a1, a2, b1, b2 quaisquer letras do alfabeto. A vrgula separa os intervalos de letras e o sinal - determina o intervalo. As letras que no estiverem em nenhum dos intervalos ter o seu tipo dado pela declarao explcita ou pelo padro. O comando implicit TIPO1 (a, b, c, r-z) indica que as variveis comeando com as letras a, b, c e r at z so do tipo TIPO1. Os espaos so usados para dar clareza e so ignorados pelo compilador. Quando se deseja que nenhuma varivel seja declarada implicitamente usa-se o comando implicit none. Se este comando for usado e uma varivel citada no programa no tiver sido declarada, o complilador acusar um erro. Para se declarar variveis que sejam matrizes e vetores deve-se indicar suas dimenses, logo aps o nome da varivel, entre parnteses e separadas umas das outras por vrgula. Por exemplo, a(4,3) indica uma matriz a de 4 linhas por 3 colunas. Os valores dos elementos de cada linha devem ser atribudos atravs de um lao de repetio (do...enddo).

A.1.3) Operadores: a) Operadores Aritmticos: Realizam operaes aritmticas nos clculos matemticos. A Tabela A.5 apresenta um resumo dos operadores aritmticos utilizados na linguagem FORTRAN.
OPERADOR OPERAO TIPO PRIORIDADE ** Exponenciao Binrio 1 * Multiplicao Binrio 2 / Diviso Binrio 2 + Adio Binrio 3 Subtrao Binrio 3
Tabela A.18: Operadores aritmticos utilizados na linguagem FORTRAN.

b) Operadores Relacionais: Comparam variveis, constantes ou expresses e retornam .TRUE., T ou 1 se a comparao for verdadeira e .FALSE., F ou 0 se a comparao for falsa (Tabela A.6).
F77 lt le eq ne gt ge F90 MATEMTICA TRADICIONAL < < <= == = /= > > >= SIGNIFICADO Menor que Menor ou igual que Igual a Diferente de Maior que Maior ou igual que

Tabela A.19: Operadores relacionais utilizados na linguagem FORTRAN.

66

c) Operadores Lgicos: So usados quando h necessidade de mais de uma condio relacional ou quando preciso inverter seu resultado (Tabela A.7).

OPERADOR and or not neqv ou xor eqv

SIGNIFICADO Juno verdadeiro se os dois operadores forem verdadeiros Disjuno verdadeiro se um dos dois operadores forem verdadeiro Negao verdadeiro se o operador for falso Desigualdade Lgica verdadeiro se somente um dos operadores for verdadeiro Igualdade Lgica verdadeiro se os dois operadores forem falsos ou verdadeiros
Tabela A.20: Operadores lgicos utilizados na linguagem FORTRAN.

A.1.4) Funes Intrnsecas: Existem vrias funes predefinidas em FORTRAN, que podem ser usadas em qualquer parte do programa (Tabela A.8-A.9). Funes Trigonomtricas
DEFINIO Seno (radianos). se x for complexo, a parte real assumida como valor em radianos. Seno (graus se x for complexo, a parte real assumida como valor em graus. Seno (radianos) Seno (radianos) Seno (radianos) Seno (graus) Arcoseno (radianos). Retorna valores na faixa [-1/2,1/2 ] Arcoseno (graus) retorna valores na faixa [-90, 90 ] Arcoseno (radianos). Retorna valores na faixa [-1/2,1/2 ] Arcoseno (graus) retorna valores na faixa [-90, 90 ] Coseno (radianos) se x for complexo, a parte real assumida como valor em radianos. Coseno (graus) se x for complexo, a parte real assumida como valor em graus. Coseno (radianos) Coseno (radianos) Coseno (radianos) Coseno (graus) Arcocoseno (radianos). Retorna valores na faixa [0, ] Arcocoseno (graus). Retorna valores na faixa [0, 180] Arcocoseno (radianos). Retorna valores na faixa [0,] Arcocoseno (graus). Retorna valores na faixa [0, 180] Tangente (radianos) Tangente (graus) PARMETRO real ou complexo. real ou complexo complex*4 complex*8 real*8 real*8 real, |x| .le. 1 real |x| .le. 1 real*8 real*8 real ou complexo real ou complexo complex*4 complex*8 real*8 real*8 real, |x| .le. 1 real, |x| .le. 1 real*8, |x| .le. 1 real*8, |x| .le. 1 real real RESULTADO real*4 real*4 complex*4 complex*8 real*8 real*8 real*4 real*4 real*8 real*8 real*4 real*4 complex*4 complex*8 real*8 real*8 real*4 real*4 real*8 real*8 real*4 real*4

NOME sin (x) sind (x) csin (x) cdsin (x) dsin (x) csind (x) asin (x) asind (x) dasin (x) dasind (x) cos (x) cosd (x) ccos (x) cdcos (x) dcos (x) dcosd (x) acos (x) acosd (x) dacos (x) dacosd (x) tan (x) tand (x)

67

dtan (x) dtand (x) cotan (x) dcotan (x) atan (x)

Tangente (radianos) Tangente (graus) Cotangente (radianos) Cotangente (radianos)

Arcotangente (radianos). Retorna valores na faixa [-/2,/2] Arcotangente (graus). Retorna valores na atand (x) faixa [-90,90] Arcotangente (radianos). Retorna valores na datan (x) faixa [-/2, /2] Arcotangente (graus). Retorna valores na datand (x) faixa [-90,90] Arcotangente (y / x) em radianos. Retorna atan2 (y,x) valores na faixa [-,] Arcotangente (y / x) em graus. retorna atan2d(y,x) valores na faixa [-180, 180] Arcotangente (y / x) em radianos. Retorna datan2(y,x) valores na faixa [-,] Arcotangente (y / x) em graus. Retorna datan2d(y,x) valores na faixa [-180, 180] sinh (x) Seno hiperblico (radianos) dsinh (x) Seno hiperblico (radianos) cosh (x) Coseno hiperblico (radianos) dcosh (x) Coseno hiperblico (radianos) Tanh (x) Tangente hiperblica (radianos) dtanh (x) Tangente hiperblica (radianos)

real*8 real*8 real. x no pode ser 0. real*8. x no pode ser 0. real real real*8 real*8 real. x e y no podem ambos ser 0. real. x e no podem ambos ser 0. real*8 x e y no podem ambos ser 0. real*8 x e y no podem ambos ser 0. real real*8 real real*8 real real*8

real*8 real*8 real*4 real*8 real*4 real*4 real*8 real*8 real*4 real*4 real*8 real*8 real*4 real*8 real*4 real*8 real*4 real*8

Tabela A.21: Algumas funes trigonomtricas utilizadas na linguagem FORTRAN.

Funes Diversas:
DEFINIO TIPO DE ARGUMENTO real real real real inteiro real inteiro real real real inteiro real real TIPO DE FUNO real real real real inteiro real real real (dupla preciso) complexo real inteiro real real

NOME

alog10(x) Logaritmo de x na base 10 alog(x) Logaritmo neperiano de x (x > 0) O nmero e (base dos logaritmos exp(x) neperianos) elevado a x abs(x) Valor absoluto de x iabs(x) Valor absoluto de x Logaritmo de x na base 10 ifix(x) float(x) Converso de inteiro para real dble(x) Converte para dupla preciso

cmplx(x) Converte para o tipo complexo Fornece valor positivo de x se y 0 e sign(x,y) negativo de x se y < 0 mod(x,y) Resto da diviso de x por y amod(x,y) Resto da diviso de x por y sqrt(x) Raiz quadrada de x (x 0)

Tabela A.22: Funes diversas utilizadas na linguagem FORTRAN.

A.1.5) Funes e Sub-rotinas:  Funes e sub-rotinas podem ser usadas para economizar espao e tempo de

programao, j que podem ser usadas vrias vezes num mesmo programa. Outro ponto

68

importante que elas podem dar ao programa maior clareza, pois vrias seqncias de clculos ou execues podem vir separadas do restante dos comandos. O que d grande versatilidade s funes e sub-rotinas, so os argumentos passados a elas, que quando variam produzem resultados diferentes. As funes e sub-rotinas podem vir em qualquer parte do programa, mas o mais comum que apaream no fim (aps a declarao end program), por motivo de clareza. As variveis e rtulos usados nelas so locais e por isso devem ser declarados novamente, podendo ser usados os mesmos nomes de variveis e rtulos de outras funes e sub-rotinas, ou mesmo do programa principal. Os parmetros necessrios devem ser passados junto com a chamada da mesma e vir entre parnteses e separados por vrgula. Os nomes das variveis no precisam ser os mesmos na chamada e na definio de uma funo ou sub-rotina, devendo apenas estar na mesma ordem. a) Funes: Retornam sempre um valor e a ela podem ser passados quaisquer nmeros de parmetros. As funes funcionam de forma semelhante s funes intrnsecas, com a diferena de que agora o programador que define o que a funo deve gerar como resultado. O tipo da funo deve ser declarado no programa principal, como se fosse uma varivel comum. Uma funo pode utilizar outras funes.

Chamada: Definio:

nome_da_funo(lista_de_parmetros) function nome_da_funo(lista_de_parmetros) definio e declarao das variveis e

constantes locais seqncia de comandos return end

A palavra chave return opcional, podendo aparecer em qualquer ponto e mais de uma vez. Ela indica que o comando deve retornar ao programa principal, ou funo, ou sub-rotina que o chamou. A funo retornar o valor do ltimo comando do tipo nome_da_funo = expresso.

b) Sub-rotina: No retornam nenhum valor e tambm a elas podem ser passados quaisquer nmeros como parmetros e inclusive valor nulo. As sub-rotinas podem conter quaisquer tipos de

69

comandos como imprimir resultados, abrir arquivos ou executar clculos. Como ocorrem com as funes, as sub-rotinas podem chamar outras sub-rotinas ou funes. Chamada: Definio:
call nome_da_subrotina(lista_de_parmetros) subroutine nome_da_subrotina(lista_de_parmetros) definio e declarao das variveis e

constantes locais seqncia de comandos return end

A palavra chave return opcional.

A.1.6) Comandos de Entrada e Sada: Alm de conhecer a estrutura de um programa escrito em linguagem de programao FORTRAN, os conceitos de varivel e constante e de saber utilizar os operadores, necessrio conhecer a forma como os comandos de entrada e sada operam na linguagem. com os comandos de entrada e de sada que as operaes de acesso ao teclado e vdeo podem ser efetuadas. Assim sendo, possvel efetuar entrada de dados com o comando READ e sada de dados com o comando WRITE para todas as operaes realizadas por um programa. As operaes de entrada e sada rodam em conjunto com o comando FORMAT.

a) Comando FORMAT: Permite estabelecer a forma como uma entrada ou sada de dados de um programa ser realizada. Este comando possui a sintaxe: <rtulo> format <lista> em que <rtulo> o rtulo da linha e <lista> a definio dos comandos de formatao a serem utilizados, como por exemplo:
10 format (2x,a,I) ! imprime 2 espaos em branco, uma string ! e um valor inteiro

Existem muitos comandos de formatos em FORTRAN, alguns deles podem ser encontrados na Tabela A.10 ou em [1]. VERSO F77 F77 F77 FORMATO iw[.m] fw.d ew.d[Ee] USO Valores Inteiros Valores Reais Valores Reais com expoente

70

F77 F77 F77 F77 G77 F90 F90 F90 F90

lw a[w] gw.d[Ee] dw.d zw_hexedit bw[.m] ow[.m] enw.d[Ee] esw.d[Ee]

Valores Lgicos Seqncia de Caracteres Mesmo que iw[.m], ew.d[Ee], lw e a[w] Valores Reais de Dupla Preciso Valores Hexadecimais Valores Binrios Valores Octadecimais Valores Reais em Notao de Engenharia Valores Reais em Notao Cientifica

Tabela A.23: Sintaxe para formatao de alguns tipos de dados e seus significados.

Onde w representa o tamanho do campo a ser impresso ou lido, m representa o nmero de zeros que vir antes do nmero, d o nmero de casas decimais e e o nmero de casas para o expoente. O ponto decimal, o e do expoente e o sinal - devem ser contados ao se dar o tamanho do campo (w). Ao ler um dado que no possui ponto decimal e no seu formato esperado algum, o compilador ler este dado como se l houvesse um ponto. Nas notaes com expoente (enw.d[Ee], esw.d[Ee], ...) no se pode omitir o E do exponencial. Sempre que houver este termo, a parte exponencial vai existir independente do seu valor. Por exemplo:
a = 12.345 b = 12345.789e6 write (*,1) a,b format ( a=,e10.4e3, e b=,e10.4e3)

Sada => a =.1235E+002 e b =.1235E+011

Outros comandos para a construo e formatos so mostrados na Tabela A.11. VERSO FORMATO USO F77 string Transmite uma string para a sada q A varivel recebe o nmero de espaos que o valor ocupa F90 nh Transmite os prximos n caracteres para a sada F77 tc Move o ponto de leitura ou escrita para a posio c F77 tlc Move o ponto de leitura ou escrita c posies esquerda F77 trc Move o ponto de leitura ou escrita c posies direita F77 nx Deixa n posies em branco F77 sp Escreve o sinal + onde ele opcional F77 ss Omite o sinal + onde ele opcional F77 s Retorna ou padro ss F77 / Muda de linha F77 \ Comea a escrever no ponto onde a ultima escrita parou G77 $ Comea a escrever no ponto onde a ultima escrita parou G77 : Termina a impresso se no houver mais itens na lista F77

71

F77 F77 F77

kp bn bz

O nmero multiplicado por 10 elevado -k (se o nmero j possuir expoente no h efeito) Ignora os espaos em branco Transforma os espaos em branco em zeros
Tabela A.24: Mais comandos para a construo de formatos.

Em FORTRAN 90, o formato pode vir dentro do comando read ou write, no local onde deveria ser colocado o rtulo da linha da formatao e entre apstrofos e parnteses: (<lista>). Se o compilador de FORTRAN77 utilizado for o G77 em sua verso mais atual, ento, esse recurso tambm estar disponvel. b) Comando READ: Permite estabelecer a forma como uma entrada de dados de um programa ser realizada. Este comando possui a sintaxe: read (<unidade>, <rtulo>) <variveis> em que <unidade> a definio de um valor inteiro que identifica o dispositivo de entrada em uso normalmente os caracteres * (asterisco), o valor 5 (cinco) ou o valor 0 (zero) so usados para representar a entrada via teclado , <rtulo> o rtulo da linha em que se encontra a definio o comando FORMAT associado ao processo de formatao da entrada de dados e <variveis> a definio da lista de variveis que sero utilizadas para receber as entradas de dados.

c) Comando WRITE: O comando WRITE permite estabelecer a forma como uma sada de dados de um programa ser realizada. A estrutura desse comando : write (<unidade>, <rtulo>) <variveis ou expresses aritmticas> em que <unidade> a definio de um valor inteiro que identifica o dispositivo de sada em uso normalmente utilizam-se os caracteres * (asterisco) ou o valor 0 (zero) para representar a sada via monitor de vdeo , <rtulo> o rtulo da linha associada a formatao da sada de dados e <variveis ou expresses aritmticas> a definio da lista de variveis ou expresses aritmticas que sero utilizadas na apresentao da sada de dados.

A.1.7) Arquivos: Quando se deseja trabalhar com grandes quantidades de dados, o melhor armazenlos numa unidade de memria secundria, ou seja, em arquivos. Os dados salvos em arquivos

72

podem ser usados pelo prprio programa ou exportados para serem processados de outra forma. Arquivos de leitura economizam um tempo precioso para o usurio do programa, pois ele no vai precisar enviar dados via teclado e, com arquivos, milhares de dados podem ser lidos em fraes de segundos. O primeiro passo para se usar arquivos em FORTRAN indicar ao programa qual o nome do arquivo e o nmero da unidade referente a ele: open (<unidade>,file = nome.ext) onde <unidade> deve ser um inteiro maior ou igual a zero e uma referncia a este arquivo. Este nmero deve vir no comando read ou write, indicando que os dados sero retirados ou armazenados nesta unidade. A abertura do arquivo pode ser feita em qualquer parte do programa (inclusive dentro de funes e sub-rotinas), desde que venha antes de um comando que o utilize. No FORTRAN 90, o rtulo <unidade> pode ser uma string. Quando no for utilizado o comando open, alguns compiladores emitiro uma mensagem na tela pedindo um nome, podendo o usurio escolher um nome diferente a cada vez que o programa for executado. Em outros compiladores sero dados nomes padro como fort.1, fort.2, etc para cada arquivo utilizado que no foi aberto. Todos os arquivos devem estar ou sero criados no mesmo diretrio em que estiver o programa a menos que se d como nome o caminho para um outro diretrio. Esses caminhos seguem o mesmo padro do DOS. Um arquivo pode tambm ser fechado, isto far com que o FORTRAN coloque uma marca de fim de arquivo naquele ponto, esta marca pode ser identificada por outro comando ou funo: close (unidade,status=estado) ou endfile unidade onde status=estado opcional. O status pode ser keep que mantm o arquivo na memria, ou delete que apaga o arquivo da memria. Arquivos fechados podem ser reabertos em qualquer parte do programa. Outros Recursos so: rewind unidade volta o controle de escrita primeira linha do arquivo backspace unidade volta o controle de escrita uma linha do arquivo

A.2) Estruturas de Programao: Os cdigos em FORTRAN podem possuir diversas estruturas que modificam sua forma de execuo. Abaixo, destaca-se a sintaxe de algumas bastante usadas na concepo de programas.

73

A.2.1) Estrutura Condicional: a) Estrutura Condicional Simples:


if (expresso de teste) <comando> ou if (expresso de teste) then <seqncia de comandos> end if

b) Estrutura Condicional Composta:


if (expresso de teste) then <seqncia de comandos 1> else <seqncia de comandos 2> end if

c) Estrutura Condicional Composta Simplificada: Outra forma de criar uma estrutura condicional composta, aceita por compiladores FORTRAN 77 mais novos (como do G77), e FORTRAN 90. Esta estrutura testa o valor exp. case at encontrar o caso do mesmo. Se nenhum dos casos satisfeito, ento, case default, que opcional, ser executado.
select case (exp. case) case (lista de seleo 1) comandos 1 case (lista de seleo 2) comandos 2 ... case (lista de seleo n) comandos n case default comandos d end select

A sintaxe das listas de selees mostrada na Tabela A.12 e no se pode criar intervalos fechados, superpondo-se valores. ESTRUTURA
case (valor) case (:valor) case (valor:) case (valor1:valor2) case (valor1,valor2,...,valorn)

CONDIO
Exp. teste igual valor Exp. teste menor que valor Exp. teste maior que valor Exp. teste entre valor1 e valor2 Exp. teste igual valor1 ou igual valor2 ou ... valorn.

Tabela A.25: Sintaxe para listas de seleo.

Os valores literais que vierem entre os comandos devem ser colocados entre apstrofos.

74

A.2.2) Estrutura de Repetio:


do r1 var=n1,n2,n3 seqncia de comandos continue

r1

ou
do var=n1,n2,n3 seqncia de comandos end do

onde var uma varivel inteira ou real com valor inicial n1, incrementos de n3 e valor final n2. Se a contagem for progressiva, ento, n1<n2 e n3>0. Se a contagem for regressiva, ento, n1>n2 e n3<0.

A.3) Recursos de Programao: A.3.1) Deslocamento: a) GO TO Implcito:


goto (r1, r2, ..., rn) varivel

onde varivel uma varivel ou expresso inteira que deve ter valor mximo igual ao nmero de rtulos de linhas que esto dentro dos parnteses, se no o comando do programa vai para a linha imediatamente abaixo do goto.

b) IF com deslocamento:
if (exp. numrica) r1,r2,r3

onde exp. numrica no pode ser complexa e r1, r2, r3 so rtulos. Se o valor de exp.numrica for menor que zero o comando vai para a linha com o rtulo r1, quando for igual a zero o comando vai para linha com o rtulo r2 e quando for maior que zero vai para r3. A exp. numrica pode ser uma expresso que gere como valores 0 (zero) que ser considerado como falso ou qualquer nmero diferente de 0 (zero) que ser considerado como verdadeiro.

A.3.2) Declaraes e Atribuies Avanadas: a) DIMENSION:

75

Uma outra forma de se declarar vetores e matrizes, com a vantagem de se poderem especificar os ndices mnimos e mximos em cada direo usando o comando dimension.
tipo var1,var2,...,varn dimension var1(Li1:Ls1), var2(Li2:Ls2),..., varn(Lin:Lsn) ou tipo var1(Li1:Ls1), var2(Li2:Ls2), ...,varn(Lin:Lsn)

onde tipo pode ser inteiro, real, lgico, complexo ou literal; Li1, Li2,..., Lin so os ndices inferiores; e Ls1, Ls2,..., Ln so os ndices superiores da matriz ou vetor. Os valores de Li e Ls podem ser positivos, nulos ou negativos desde que sejam inteiros. Quando o valor de Li omitido, o valor um usado como padro. As variveis podem ter duas ou mais dimenses, sendo declaradas da mesma forma, com cada dimenso separada das outras por vrgulas.
var(Li1:Ls1, Li2:Ls2, ...,Lin:Lsn)

b) PARAMETER: Serve para definir uma constante que ser usada como parmetro apenas para clculos dentro do cdigo, no podendo ser lida pelo comando read ou modificada. O tipo da constante deve ser especificado antes, ou sero usadas s atribuies implcitas
tipo constante1, constante2,... parameter (constante1 = valor, constante2 = valor,...)

Os parnteses so opcionais e o tipo pode ser inteiro, real ou qualquer outro tipo de varivel, com exceo de vetores e matrizes.

c) DATA: o modo mais estruturado de se atribuir valores iniciais a variveis. As diferenas entre data e parameter que as variveis declaradas em data podem alterar seu valor durante o programa e podem ser vetores ou matrizes.
data var1/valor1/,var2/valor2/,...,varn/valorn/ ou data var1,var2,...,varn/valor1,valor2,...,valorn/

76

Os valores de vetores e matrizes devem ser declarados todos de uma vez, com a separao entre eles feita por vrgula.

A.3.3) Designao de Memria: a) COMMON: usado quando muitos dados devem ser passados a funes ou subrotinas. Um mesmo common pode ser usado vrias vezes e carregar muitas variveis ao mesmo tempo. Este comando deve aparecer de forma igual no incio do programa principal (logo aps a definio dos tipos de variveis) e tambm no incio de cada funo ou subrotina que o utilize.
common /nome/lista de variveis/nome2/lista de variveis2...

onde o nome do bloco opcional, mas se for definido, agrupar as variveis em um mesmo bloco. As variveis de um common sem nome no podem ser declaradas pelo comando data. A ausncia do nome e o nome / / tm o mesmo significado. Uma mesma varivel no pode ocupar mais de um comando common. Na declarao de um common recomendvel que se siga uma ordem crescente no tamanho das variveis. O tamanho de uma varivel dado pelo nmero de bytes que ela ocupa. A seqncia para essa declarao : lgico, caractere, inteiro, real, vetores e matrizes. As matrizes e vetores devem seguir esta mesma seqncia de tamanhos (vetores logical, vetores character, ...). As strings so consideradas vetores de caracteres. Alguns compiladores apenas mostraro mensagens de advertncia, quando est seqncia estiver incorreta; outros no avaliam esta ordem e consideram como corretas, quaisquer ordens em que as variveis aparecerem.

b) BLOCK DATA: Atribui valores iniciais s variveis declaradas em um common com nome, de uma forma mais estruturada. Aqui podem ser usados os seguintes recursos: common (com nome), parameter, data e dimension.
block data nome_bloco declaraes e atribuies end

O nome_bloco opcional e segue as mesmas regras para nomes de variveis.

77

A.3.4) Modularizao: a) INCLUDE: Declaraes, atribuies e outros comandos que estejam em um arquivo de texto com o mesmo formato usado no programa principal podem ser adicionados a ele atravs do comando include. Esses arquivos podem ser adicionados a outros arquivos do programa principal e a funes e sub-rotinas e ser usado vrias vezes. Os arquivos sero interpretados como parte do programa e, por isso, devem seguir as mesmas regras do programa escrito em FORTRAN.
include nome.ext ou include nome.ext

permitido o uso de caminhos completos no lugar do nome.

A.4) Cdigo em Linguagem FORTRAN: Na Figura A.2, v-se um exemplo de cdigo FORTRAN. Nele pode-se identificar diversos comandos explicados neste anexo e a estrutura de formulrio fixo, alm da sintaxe de escrita destes comandos e a organizao do cdigo. Este programa uma simulao unidimensional da propagao de uma onda em modo TMz, atravs do mtodo numrico FDTD.

78

Figura A.17: Cdigo FORTRAN para propragao de uma onda num domnio unidimensional.

Vous aimerez peut-être aussi