Este relatório científico descreve um projeto que tem como objetivo aplicar o Método dos Elementos Finitos (MEF) para resolver problemas do eletromagnetismo, como a análise modal de guias ópticos planares. O trabalho envolve desenvolver programas MEF unidimensionais e bidimensionais, adaptá-los para execução em sistemas de computação distribuída, e realizar estudos comparativos de desempenho. Os programas desenvolvidos terão capacidade de refinar automaticamente a malha de elementos finitos.
1. BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
,QLFLDomR &LHQWtILFD ,
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
Relatório Científico
Bolsa – Processo Fapesp No
: 02/12344-01
IDENTIFICAÇÃO DO RELATÓRIO
PROJETO: Aplicação do Método dos Elementos Finitos a
Problemas do Eletromagnetismo em Sistema de Computação
de Alto Desempenho
Bolsista: Marco Antonio Hidalgo Cunha
Orientador: Dr. Marcos Antônio Ruggieri Franco
Período: Fev./2003 a Julho/2003
Instituição:
Instituto de Estudos Avançados do Centro
Técnico Aeroespacial – IEAv - CTA
Número do Relatório 01
2. 2
6XPiULR
, 2EMHWLYR
,, 5HVXPR GR 3URMHWR
,,, 0pWRGR GRV (OHPHQWRV )LQLWRV
A. Introdução..........................................................................................................4
B. Como é aplicado o Método dos Elementos Finitos...........................................4
C. Esquema Simplificado de um Programa de Elementos Finitos ........................5
D. Método Clássico para a Solução de Problemas de Valor de Contorno.............5
1. Método de Galerkin ............................................................................5
E. Função de Base para Elemento Finito 1D.........................................................7
,9 $QiOLVH 0RGDO GH *XLDV ÏSWLFRV 3ODQDUHV
9 $ERUGDJHP $QDOtWLFD SDUD (VWXGR GH *XLDV ÏSWLFRV 3ODQDUHV
A. Programa para cálculo analítico dos autovalores ( ¡ ¡
Q ) em guias ópticos
planares simétricos e isotrópicos.....................................................................11
9, $ERUGDJHP 1XPpULFD )RUPXODomR GR 0() SDUD (VWXGR GH *XLDV ÏSWLFRV
3ODQDUHV $QLVRWUySLFRV H 1mR+RPRJrQHRV
A. Exemplo de Aplicação.....................................................................................17
1. Caso de Estudo: Guia Planar Homogêneo, Isotrópico e Simétrico ..17
9,, $QiOLVH 1XPpULFD GH *XLDV ÏSWLFRV 3ODQDUHV $QLVRWUySLFRV H 1mR+RPRJrQHRV
A. Guia Planar Formado por Processo de Difusão (Ti:LiNbO3)..........................19
B. Caso de Estudo: Guia Óptico Planar Não-Homogêneo, Anisotrópico e
Não-Simétrico (guia tipo Ti:LiNbO3) ............................................................20
9,,, 3URJUDPD SDUD $QiOLVH 0RGDO GH *XLDV ÏSWLFRV 3ODQDUHV H 'HVFULomR GD
,QWHUIDFH *UiILFD SDUD (QWUDGD GH 'DGRV H 9LVXDOL]DomR *UiILFD GH 5HVXOWDGRV
A. Fluxograma do Programa GOP .......................................................................22
B. Descrição da Interface Gráfica do programa GOP..........................................23
1. Parâmetros de Entrada ......................................................................24
2. Opções para Visualização Gráfica de Resultados.............................26
3. Visualização de Resultados...............................................................28
4. Informações Sobre o Processo Difusivo...........................................34
5. Informações Sobre o Programa GOP................................................34
6. Informações Sobre o Projeto.............................................................35
,; 0LJUDomR H $GDSWDomR GH 3URJUDPD GH 0()' SDUD 6LVWHPD GH 3URFHVVDPHQWR
'LVWULEXtGR
A. Abordagem Primeira: Utilização do Programa Octave-MPI com Sistema
Operacional Linux...........................................................................................36
1. Requisitos para utilização do Octave-MPI .......................................36
2. Problemas encontrados para compilar o Octave-MPI ......................36
B. Abordagem Segunda: Utilização do Programa Matlab em Sistema de
Computação Distribuída Baseado em Sistemas Mistos (Windows e Linux)..36
1. Pesquisa sobre pacotes disponíveis para utilização do Matlab em
computação distribuída.....................................................................36
2. O Toolbox ParMatlab ......................................................................38
3. Adaptação do programa GOP-simplificado para sistema de
computação distribuída.....................................................................38
; 3HUVSHFWLYDV
;, RQFOXV}HV
;,, 5HIHUrQFLDV %LEOLRJUiILFDV
3. 3
, 2EMHWLYR
Desenvolvimento, teste e validação de programas de aplicação do Método dos Elementos
Finitos (MEF) a problemas do eletromagnetismo. Tais desenvolvimentos e testes, visam a
utilização do sistema de processamento distribuído para computação de alto desempenho,
denominado projeto “BELIEVe”.
,, 5HVXPR GR 3URMHWR
O trabalho, em desenvolvimento, pretende estabelecer procedimentos para a paralelização de
programas de aplicação do Método dos Elementos Finitos desenvolvidos em ambiente
Matlab.
Numa primeira fase de desenvolvimento, serão realizados estudos sobre o Método dos
Elementos Finitos, em abordagem unidimensional para a análise modal de guias ópticos
planares
Na segunda etapa, os programas desenvolvidos serão adaptados para execução em pacotes de
processamento numérico que permitam execução em sistemas operacionais Windows e Linux.
A seguir, serão realizadas a migração, adaptação e teste dos programas para processamento
paralelo.
Após estas etapas, serão iniciados os estudos relacionados à aplicação do Método dos
Elementos Finitos a problemas bi-dimensionais (2D) de fibras ópticas. De forma análoga, os
programas serão escritos e testados em máquinas monoprocessadas e posteriormente em
processamento paralelo.
Das atividades decorrentes deste trabalho, podem ser destacados os seguintes passos gerais:
1. Desenvolvimento de programa para aplicação do Método dos Elementos Finitos 1D para a
análise modal de guias ópticos planares com anisotropia (versão mono-processada).
2. Desenvolvimento de programa para aplicação do Método dos Elementos Finitos 2D para a
análise modal de guias fibras ópticas (versão mono-processada).
3. Adaptação dos programas desenvolvidos, em etapas anteriores, ao sistema de computação
distribuída – BELIEVe.
4. Análise comparativa de desempenho entre sistema mono-processado e de computação
distribuída.
Os programas desenvolvidos para problemas unidimensionais de propagação de ondas ópticas
terão a capacidade de construir automaticamente a malha de elementos finitos com um
algoritmo de refinamento auto-adaptativo.
Para problemas bi-dimensionais, os programas de análise modal deverão permitir a leitura de
dados de definição de geometria, malha de elementos finitos e propriedades físicas dos
materiais, segundo o padrão adotado no sistema de software para guias ópticos integrados, em
desenvolvimento por uma das equipes de pesquisadores do LEV (Laboratório de Engenharia
Virtual do IEAv) com apoio FAPESP (Proc. 98/07789-7) [1]-[2]. A análise de resultados, tal
como a visualização da distribuição dos campos ópticos, será realizada com o auxílio do
referido sistema de software.
4. 4
,,, 0pWRGR GRV (OHPHQWRV )LQLWRV
$ ,QWURGXomR
O Método dos Elementos Finitos (MEF) tem se consagrado, nestas últimas duas décadas,
como uma das mais poderosas ferramentas utilizadas na análise e projeto de dispositivos
eletromagnéticos e sistemas elétricos.
Motivados pela diminuição do custo das estações de trabalho e dos microcomputadores e o
crescente aumento da capacidade de processamento e armazenamento, muitas universidades e
indústrias têm utilizado softwares com tecnologia CAD/CAE baseados no MEF. Esta
abordagem reduz o tempo necessário para as etapas de projeto e análise de desempenho,
diminuindo o número de protótipos necessários.
Apesar das equações de Maxwell descreverem completamente os fenômenos
eletromagnéticos macroscópicos, sua solução analítica é impraticável em dispositivos com
geometrias complexas. Os métodos numéricos são uma alternativa para a obtenção de
soluções aproximadas.
O MEF destaca-se pela capacidade de tratar problemas com geometria complexa, meios
materiais com anisotropia e não homogeneidades arbitrárias. O MEF permite incluir perdas e
ganhos e considerar meios lineares ou não lineares.
% RPR p DSOLFDGR R 0pWRGR GRV (OHPHQWRV )LQLWRV
Para utilizar o MEF, o modelo que representa o objeto de estudo deve ter sua geometria
subdividida em pequenas partes, que são os elementos finitos. Essa subdivisão é chamada
malha. No caso 1D a malha é constituída de segmentos de reta. No caso 2D a malha pode ser
constituída de triângulos, quadriláteros ou outras formas geométricas, cujos vértices são
denominados nós da malha. É através dela que se monta um sistema de equações cuja solução
permite determinar as grandezas de interesse no fenômeno utilizado.
As tarefas para a utilização do MEF podem ser divididas em três etapas, chamadas pré-
processamento, processamento e pós-processamento.
O SUpSURFHVVDPHQWR engloba o desenho da geometria do objeto (modelo geométrico), a
geração da malha (subdivisão do domínio), a imposição das propriedades físicas dos materiais
que constituem o objeto, a imposição dos valores das fontes de campo no objeto (densidade
de corrente elétrica em bobinas ou densidade de carga elétrica nos materiais...) e a imposição
das condições de contorno pertinentes ao fenômeno em análise.
O SURFHVVDPHQWR inclui a montagem do sistema de equações, através dos dados do pré-
processamento, e a sua resolução pode ser efetuada através de métodos diretos ou iterativos.
O SyVSURFHVVDPHQWR, com os dados das etapas anteriores, permite a utilização dos
resultados do MEF, através dos vários procedimentos de cálculo e formas de visualização das
grandezas do fenômeno estudado. Dentre as várias possibilidades de análise dos dados estão o
traçado de linhas de campo ou equipotenciais, cálculo da energia armazenada, força, torque,
capacitância, impedância, sobreposição de campos, etc.
5. 5
(VTXHPD 6LPSOLILFDGR GH XP 3URJUDPD GH (OHPHQWRV )LQLWRV
Modelo Geométrico (1D, 2D ou 3D)
Malha de elementos finitos
Propriedades Físicas e Condições de Contorno
Solução do Sistema de Equações
Exploração de Resultados
' 0pWRGR OiVVLFR SDUD D 6ROXomR GH 3UREOHPDV GH 9DORU GH
RQWRUQR
A seguir, revisaremos os aspectos gerais de um dos métodos clássicos para a solução de
problemas de valor de contorno o método de Galerkin que juntamente com o método de Ritz
contém a base do método dos elementos finitos [3].
Problemas de valor de contorno são muito empregados no modelamento de sistemas físicos.
Tipicamente pode ser definido por uma equação diferencial em um domínio Ω:
/φ I
Juntamente com as condições de contorno sobre a fronteira Γ que delimita o domínio. / é um
operador diferencial, I é a excitação e φ é a variável desconhecida.
A solução analítica dos problemas de valores de contorno limita-se a poucos casos especiais,
propagação de ondas em guias retangulares, circulares e elípticos, cavidades circulares e
esféricas e espalhamento de ondas por placas infinitas, cilindros e esferas. Muitos outros
problemas de interesse prático não têm solução analítica e os métodos de Ritz e Galerkin têm
sido largamente utilizados para superar essas dificuldades.
0pWRGR GH *DOHUNLQ
O método de Galerkin pertence à família dos métodos de resíduos ponderados, o qual como o
nome indica, aproxima a solução pela ponderação do resíduo da equação diferencial.
Considere a equação diferencial /φ I . Assuma que φ
~
é uma solução aproximada. A
substituição de φ por φ
~
na equação diferencial resulta um resíduo não nulo,
0
~
≠−= I/ φU .
A melhor aproximação para φ
~
será aquela que minimizar o valor de U em todos os pontos de
Ω. O método dos resíduos ponderados força esta condição
6. 6
0=Ω=
∫Ω
GU5 ω ,
onde 5¡ representa a integral do resíduo ponderado e ¢ω é a função de ponderação escolhida.
No método de Galerkin, a função peso é selecionada como sendo ser a mesma que a utilizada
na expansão da solução aproximada (φ
~
). Isto usualmente resulta uma solução mais acurada e
por isso esta técnica é tão popular.
Para ilustrar o método vamos assumir que a solução é representada pela expansão:
{}{} {}{}∑=
===
£
¤
¥¥
¤¤
FYYFYF
1
~
φ .
As funções peso são então selecionadas como ¦¦ Y=ω (i = 1, 2, 3, ..., N).
Desta forma, a integral dos resíduos será escrita como:
{}{}( ) 0=Ω−=
∫Ω
GYFYY5 §
¨
§§ I/ (i = 1, 2, 3, ..., N).
Isto leva ao sistema de equações [6] {F}T
= {E}T
, para o qual a matriz [6] não é
necessariamente simétrica a menos que o operador / seja auto-adjunto. Neste caso, o método
de Galerkin resulta no mesmo sistema de equações que resultaria da aplicação do método de
Ritz.
O método dos resíduos ponderados, associado com a escolha das funções peso descrita por
Galerkin, é equivalente ao método variacional de Ritz quando a primeira variação do
funcional é zero. Isto ocorre quando o operador / (ou a matriz resultante [6]) é positivo-
definida. Infelizmente, no eletromagnetismo, muitos problemas de interesse são descritos por
operadores não positivo-definidos. Neste caso, o método de Ritz falha em assegurar a
minimização do funcional, já que um ponto estacionário global pode não existir. Contudo a
aplicação do método de Galerkin fornece um sistema discreto e não requer um operador
positivo-definido ou simétrico. A solução é simplesmente um ponto estacionário e não
necessariamente um mínimo.
Para a solução do sistema de equações deve-se impor as condições de contorno. Dois tipos de
condição de contorno são rotineiramente encontradas: a condição de contorno de Dirichlet,
que deve ser explicitamente imposta, e a condição de contorno homogênea de Neumann
( 0ˆ =∂∂ Qφ , derivada normal de φ igual a zero), que é implicitamente satisfeita e conhecida
como condição de contorno natural (não precisa ser explicitamente imposta).
Na técnica de Galerkin, tanto a função de aproximação quanto a função peso são expandidas
utilizando-se as mesmas funções polinomiais. Essas funções recebem o nome de funções de
base ou de forma (1).
No 0pWRGR GRV (OHPHQWRV )LQLWRV 0()
7. o domínio é subdividido em elementos menores.
As funções de base no MEF têm suporte compacto em cada elemento finito, ou seja, seu
range de influência é limitado ao elemento no qual ela está definida e aos seus elementos
vizinhos. Isto acarreta sistemas matriciais altamente esparsos. Em domínios unidimensionais
os elementos finitos são do tipo linha enquanto em domínios bi-dimensionais geralmente
utilizam-se elementos de forma triangular ou quadrangular.
8. 7
1D 2D
nó 1 nó 2
No MEF, as funções de base nodais e escalares assumem valor unitário em cada um dos nós
do elemento finito para o qual elas estão definidas:
( )
=
≠
=
MLS
MLS
U1
¡
¡
/1
/0
δ U¢ = coord. do ponto nodal M
( )XQomR GH %DVH SDUD (OHPHQWR )LQLWR '
Para as funções de base de um elemento finito unidimensional de primeira ordem utilizam-se
polinômios de 1a
ordem.
O elemento unidimensional de 1a
ordem possui dois nós (Q0=2)
As variáveis de estado (φ) podem ser interpoladas neste elemento utilizando:
( ) ∑
=
=
=
2
1
0
£
¤
¤¤
1[ φφ ,
onde φ¥ é o valor da variável de estado no nó L. 1¥ é a iésima
função de interpolação definida
para cada elemento finito.
Nos pontos nodais:
( )
12
12
1212
22
11
[[
[[
[
[
−
−
=⇒−=−
+=
+= φφ
ββφφ
βαφ
βαφ
Substituindo β na segunda equação encontra-se:
( ) ( )
12
212122
2
12
12
222
[[
[[[
[
[[
[
−
−−−
=
−
−
−=−=
φφφφφ
φβφα ,
que resulta
12
2112
[[
[[
−
+−
=
φφ
α .
Elemento
finito tipo
linha
Elemento
finito
triangular
nó 1
nó 2 nó 3
nó 1 nó 2
x1 x2
φ1 φ2
9. 8
Substituindo α e β na expressão de φ, tem-se:
( ) [
[[[[
[[
[
12
12
12
2112
−
−
+
−
+−
=
φφφφ
φ ,
( ) ( ) ( )
12
1221
[[
[[[[
[
−
−+−
=
φφ
φ ,
( ) 2
12
1
1
12
2
φφφ
[[
[[
[[
[[
[
−
−
+
−
−
= .
Assim, as funções de base 1 e 1¡ são dadas por:
−
=
−
−
=
−
=
−
−
=
/
[[
[[
[[
1
/
[[
[[
[[
1
1
12
1
2
2
12
2
1
9DULDomR OLQHDU GH 1¢ H 1£
1 assume valor 1 no nó 1 e zero no nó 2
1¡ assume valor 1 no nó 2 e zero no nó 1
( )
=
≠
=
MLVH
MLVH
[1 ¤
¥
¤
¥
1
0
δ
Na secção VI, será apresentada a formulação escalar do MEF para o estudo de guias ópticos
planares, anisotrópicos e lineares. A formulação considera meios materiais que possuem
tensor permissividade elétrica com elementos diagonais. Para fins de validação do código
computacional a ser implementado, uma equação transcendental, obtida analiticamente, será
apresentada para a determinação das constantes de propagação de guias ópticos planares
simétricos e isotrópicos (secção V). Neste caso, os valores obtidos analiticamente são exatos.
,9 $QiOLVH 0RGDO GH *XLDV ÏSWLFRV 3ODQDUHV
Guias ópticos têm sido utilizados em sistemas de telecomunicação, processamento de sinais,
computação óptica e em sensores de alta precisão. Do ponto de vista da análise
eletromagnética, os guias ópticos podem ser caracterizados por não possuírem bordas
fechadas para a onda eletromagnética e, conseqüentemente, os campos eletromagnéticos
podem se estender na direção transversal até o infinito. O efeito de guiagem, nesses guias
preenchidos com material dielétrico, ocorre pela diferença de índice de refração dos materiais
envolvidos. Embora metais possam estar presentes, suas propriedades físicas têm
comportamento totalmente diferente do observado em freqüências de microondas.
Em guias metálicos, preenchidos com dielétricos, modos TE e TM puros estão presentes. Para
guias ópticos, entretanto, modos com outra configuração de campos são formados e uma
classificação diferente deve ser utilizada. Para curtos comprimentos de onda (da ordem da
dimensão do guia óptico) e pequenas diferenças de índices de refração (guiagem fraca), o
campo elétrico transverso é primariamente paralelo a um dos eixos transversais. Nesse limite,
se o campo elétrico é paralelo ao eixo y, os modos são designados
¦
§¨
( , e se o campo elétrico
1 2
[1 [2
L
1 2
0
1
N1 N2
13. HP JXLDV
ySWLFRV SODQDUHV VLPpWULFRV H LVRWUySLFRV
O programa apresentado a seguir, foi escrito para o pacote de processamento simbólico
Mathematica.
(* Determinação da constante de propagação de Guias Ópticos Planares Homogêneos e Isotrópicos *)
lambda = Input[”Entre com o comprimento de onda (em microns)” ]; (* Comprimento de Onda em Microns *)
t=Input[”Entre com a espessura do filme (guia) em microns: “]; t = t 0.000001; (* passar para metros *)
tipo = Input[”Modo Ex ou Ey? (x ou y):”]
(* MODO = 0 = Modo Fundamental
= 1 = Segundo Modo
= 2 = Terceiro Modo *)
MODO = Input[”Qual o modo? (0, 1, 2, ...): “]
k0 = N[2 Pi / (lambda 0.000001),10];
neff =.
if [tipo==”x”,
(* MODO Ex *)
nc = 1; nf = 2; ns = 1;
mf = 1; ms = 1; mc = 1,
else,
(* MODO Ey *)
nc = 1; nf = 2; ns = 1;
mf = 1 / nf^2; ms = 1 / ns^2; mc = 1 / nc^2;
];
21. 17
[ ] { } { }
∫ ∂
∂
∂
∂
=
¡
G
1
1
$)
2
[ ] { } { }
∫=
¢
£
G11%N0
2
0
Para elementos finitos do tipo Lagrange de primeira ordem de aproximação polinomial, tem-
se:
3ULPHLUD RUGHP
[ ]
[ ]
[ ]
=
−
−
=
=
21
12
6
11
11
21
12
6
2
0
2
2
0
1
%/N
0
/
$
)
/N
)
$ ([HPSOR GH $SOLFDomR
Com a finalidade de validar as implementações do MEF para o estudo de guias ópticos
planares, foram realizados vários cálculos comparando os resultados obtidos com o MEF e
com a abordagem analítica descrita na secção (V). A solução analítica fornece valores exatos
para a constante de propagação normalizada de guias ópticos planares isotrópicos e
simétricos, ou seja, guias onde a camada de cobertura e de substrato têm a mesma espessura e
índices de refração.
DVR GH (VWXGR *XLD 3ODQDU +RPRJrQHR ,VRWUySLFR H
6LPpWULFR
A seguir, são apresentados os resultados para as simulações do guia óptico planar. Na análise
dos resultados foram utilizados parâmetros normalizados para a constante de propagação (%) e
para a freqüência de operação (ν), por apresentarem maior sensibilidade às mudanças
geométricas da estrutura do guia e às diferenças de índices de refração.
22
22
220
,
h
¤¥
¤¦ § §
¤¥
QQ
QQ
%QQ
N
−
−
=−=
π
ν ,
1 2
1
Numeração local
23. 19
Fig. 4 Constante de propagação normalizada (%), para os três primeiros modos guiados, em função do índice de
refração da camada do filme (guia). A Fig. 4a apresenta os resultados para modos Ex
e a Fig. 4b apresenta os
resultados para modos Ey
. As linhas sólidas representam os valores obtidos pelo MEF.
9,, $QiOLVH 1XPpULFD GH *XLDV ÏSWLFRV 3ODQDUHV $QLVRWUySLFRV H
1mR+RPRJrQHRV
$ *XLD 3ODQDU )RUPDGR SRU 3URFHVVR GH 'LIXVmR 7L/L1E2
26. A seguir, serão apresentados alguns resultados obtidos para a simulação das características
modais de um guia óptico planar formado pela difusão de ions de Ti em substrato de LiNbO3.
Os parâmetros utilizados foram: comprimento de onda λ=1 µm, modo óptico Ex
, tipo de guia
→ difuso (Ti:LiNbO3), espessura da camada de cobertura de 5 µm, índices de refração da
camada de cobertura Q) Q0 Q1 =1, espessura da camada de substrato de 20 µm, substrato de
LiNbO3 com corte cristalino X (corte-X) e espessura do filme fino de Ti, utilizado para
difusão, igual a 80 nm. A Fig. 5a apresenta os valores obtidos para o índice efetivo dos três
primeiros modos de propagação em função do tempo de difusão, para uma temperatura de
difusão T=1050o
C. A Fig. 5b apresenta os valores de índice efetivo em função da temperatura
de difusão, para 6 horas como tempo de difusão.
28. 22
$ )OX[RJUDPD GR 3URJUDPD *23
A seguir é apresentado um fluxograma que apresenta, de forma simplificada, o funcionamento
do programa de elementos finitos utilizado para a análise de guias ópticos planares.
Fig. 6 Fluxograma do programa GOP para análise de guias ópticos planares.
Montagem do sistema de
equações
Imposição das condições de
contorno
Atribuição das
propriedades físicas
Geração da malha inicial
(sem interferência do usuário)
Cálculo das matrizes de
elementos finitos
Definição dos parâmetros para
o processo de difusão
Guia
Homogêneo
ou
Difuso ?
Entrada de dados via
Interface Gráfica
Solução do sistema de
autovalores e autovetores
(Q ¡ ¡ e campos)
∆Q ¡ ¡ Critério de
estabilização
Apresentação
de resultados
via Interface
Constrói lista de elementos a
serem refinados baseando-se no
critério de refinamento
auto-adaptativo.
Refina malha a partir dos
elementos da lista
Atribuição das propriedades
físicas na malha refinada
*XLD 'LIXVR: Ti:LiNbO3
Guia Homogêneo
Sim Não
29. 23
% 'HVFULomR GD ,QWHUIDFH *UiILFD GR SURJUDPD *23
A interface gráfica do programa GOP possui de apenas uma página de formulário e permite
gerenciar os dados de entrada do problema, bem como, explorar os resultados de cálculo dos
índices efetivos e campos ópticos dos três primeiros modos guiados, se estes forem
suportados no guia em análise.
A Fig. 7 apresenta a interface gráfica do programa GOP e ressalta suas principais
características e campos.
Fig. 7. Interface Gráfica do programa GOP (Guias Ópticos Planares).
(VSHFLILFDomR GRV SDUkPHWURV TXH
GHILQHP R SURFHVVR GH GLIXVmR HP
JXLDV 7L/L1E2 ¢¡
$WULEXLomR GDV SURSULHGDGHV
ItVLFDV SDUD FDGD FDPDGD GR JXLD
ÌQGLFHV GH 5HIUDomR
30. (VSHFLILFDomR GD HVSHVVXUD GH
FDGD FDPDGD GR JXLD
(VFROKD GD FDPDGD SDUD
DWULEXLomR GH GDGRV
'HILQLomR GR PRGR ySWLFR HP
HVWXGR
(QWUDGD GR FRPSULPHQWR GH RQGD
SDUD D DQiOLVH
'DGRV GR SURFHVVR GH
VROXomR FRP UHILQDPHQWR
DXWRDGDSWDWLYR
'HILQLomR GR DUTXLYR GH
SURMHWR H VXD UHVSHFWLYD
GHVFULomR
2So}HV SDUD DSUHVHQWDomR
JUiILFD GH UHVXOWDGRV
$SUHVHQWDomR GH GDGRV GR
SURFHVVR GH GLIXVmR PDLRUHV
GHWDOKHV GR DSOLFDWLYR H R
SURSyVLWR GR SURMHWR
'HWHUPLQDomR GR
WLSR GH JXLD ySWLFR HP HVWXGR
(VFROKD GR 0RGR ySWLFR
SDUD DSUHVHQWDomR
GH UHVXOWDGRV
(VFROKD GR SDVVR GH LWHUDomR
SDUD DSUHVHQWDomR JUiILFD
GRV UHVXOWDGRV
ÉUHD GH 9LVXDOL]DomR GRV
UHVXOWDGRV H DSUHVHQWDomR
GR YDORU GH tQGLFH HIHWLYR
SDUD R PRGR HVFROKLGR
31. 24
3DUkPHWURV GH (QWUDGD
No programa GOP, os parâmetros de entrada estão agrupados em uma região delimitada por
uma caixa de cor verde, que recebeu o nome 5HTXLVLWRV GH $QiOLVH. A Fig. 8 apresenta
detalhes dos elementos de interface associados à entrada de dados.
Fig. 8 Campos para definição dos parâmetros de entrada do programa GOP.
RPSULPHQWR GH 2QGD Campo de entrada para comprimento de onda em mícron. O
intervalo válido para a entrada é 0,6 ≤ λ (µm) ≤ 1,6. Para guias ópticos difusos (Ti:LiNbO3) a
dispersão do valor de índice de refração do substrato ( Q(λ) ) é considerada através da equação
de Sellmeir, como descrito na secção VII - A.
0RGR GH SURSDJDomR Neste elemento gráfico, o usuário deve escolher o tipo de modo
óptico para a análise. Guias ópticos dielétricos com pequenas diferenças de índices de
refração (aproximação de guiagem fraca) comportam a propagação de modos ópticos com
duas polarizações denominadas: modos Ex
e Ey
.
7LSR GH *XLD As opções para este item são: Guia Homogêneo e Guia Difuso
(Ti:LiNbO3). Deve-se ativar uma das opções para que o aplicativo possa dar seqüência às
especificações das camadas.
1
3
2
4
5
6
7
8
9
10
11
1
2
3
32. 25
(VFROKHU DPDGD Um menu “popup” permite a escolha da camada para atribuição de
propriedades físicas. O menu é contextualizado para as opções de guia homogêneo e difuso.
Todas as camadas devem ser selecionadas antes que o programa permita o prosseguimento da
análise numérica. Caso haja necessidade de alterar os dados referentes a alguma camada,
basta selecioná-la para acessar os valores já atribuídos.
(VSHVVXUD GD DPDGD Este campo permite a atribuição da espessura de cada camada
do guia planar. A espessura deve ser fornecida em mícron.
3URSULHGDGHV ItVLFDV 7HQVRU GH ËQGLFHV GH 5HIUDomR Este campo permite a
atribuição de índices de refração para camadas homogêneas do guia planar. O aplicativo
permite tratar meios materiais com anisotropia diagonal do tensor de índices de refração.
3URFHVVR GH 'LIXVmR RUWH GR /L1E2 No caso de guias difusos do tipo Ti:LiNbO3,
deve-se definir a orientação dos eixos cristalinos do substrato de LiNbO3 com relação ao
sistema de referência utilizado para a equação de onda. Na área de estudo de estado sólido, a
orientação dos eixos cristalinos recebe o nome de RUWH. No caso de substratos de LiNbO3
com Corte-X, tem-se que o eixo cristalino associado ao índice de refração Q¡ coincide com o
eixo cartesiano , enquanto o eixo cristalino associado ao índice de refração Q¢ coincide com o
eixo cartesiano [. No caso do Corte-Z, tem-se que o eixo cristalino associado ao índice de
refração Q¡ coincide com o eixo cartesiano [, enquanto o eixo cristalino associado ao índice de
refração Q¢ coincide com o eixo cartesiano . Em todas as análises do programa GOP, será
considerado que a onda propaga-se ao longo do eixo cristalino Y, que coincide com o eixo
cartesiano ].
3URFHVVR GH 'LIXVmR (VSHVVXUD GR )LOPH GH 7LWkQLR Neste campo, o usuário define
a espessura do filme fino de titânio a ser utilizado no processo de difusão em substrato de
LiNbO3. As espessuras devem ser fornecidas em nanômetro (nm).
3URFHVVR GH 'LIXVmR ± 7HPSHUDWXUD GH 'LIXVmR Campo para definição da
temperatura utilizada para o processo de difusão. A temperatura deve ser fornecida em graus
Celsius (o
C).
3URFHVVR GH 'LIXVmR ± 7HPSR GH 'LIXVmR Campo para definição do tempo total
utilizado para o processo de difusão. O tempo de difusão deve ser fornecido em horas (h).
$WULEXLomR GH 9DORUHV j DPDGD H ([HFXWDU $QiOLVH Ao final das atribuições de
cada camada, o botão será ativado e apresentará a mensagem: $WULEXLU 9DORUHV j DPDGD.
Pressionando esse botão, os valores atribuídos para os campos de entrada, para a camada
escolhida, serão armazenados. Após todas as camadas receberem os dados de entrada, o botão
passará a apresentar a seguinte mensagem: ([HFXWDU $QiOLVH e quando pressionado, serão
iniciados os cálculos para a análise modal do guia óptico planar.
4
5
6
7
8
9
10
11
33. 26
2So}HV SDUD 9LVXDOL]DomR *UiILFD GH 5HVXOWDGRV
No programa GOP, as opções para apresentação de resultados estão agrupadas em uma
região, delimitada por uma caixa de cor vermelha, que recebeu o nome 5HVXOWDGRV. A Fig. 9
apresenta detalhes dos elementos de interface associados à apresentação de resultados.
Fig. 9 Campos para definição das opções para apresentação de resultados no programa GOP.
1~PHUR GH (OHPHQWRV *HUDGRV Após a análise, o aplicativo apresenta o número
total de elementos finitos gerados durante o processo de refinamento auto-adaptativo.
7HPSR GH ([HFXomR Este campo apresenta o tempo total de simulação do guia
planar. O intervalo de tempo é apresentado em segundos (s).
1~PHUR GH ,WHUDo}HV Este campo apresenta o número total de iterações do processo
auto-adaptativo utilizado para a simulação das características modais do guia óptico planar,
satisfazendo o critério de precisão adotado (estabilização dos valores de índice efetivo até a
sétima casa decimal).
12
13
14
16
22
15
17
18
19
20
21
12
13
14
34. 27
$SUHVHQWDomR *UiILFD GRV 5HVXOWDGRV Os campos 15 a 22 permitem escolher qual resultado
será apresentado na região destinada a gráficos na interface.
3 HUILO GR ËQGLFH GH 5HIUDomR Opção para selecionar apresentação do perfil de
índice de refração em forma de gráfico (índice versus coordenada do baricentro do elemento
finito). Esta opção deve ser associada ao campo 16.
(V FROKD GR ËQGLFH GH 5HIUDomR Opção para definir qual dos índices de refração
será apresentado de forma gráfica (índice versus coordenada do baricentro do elemento
finito). Esta opção é contextualizada para os problemas de guia homogêneo (Q , Q¡ e Q¢ ) e
guia difuso (Q £ e Q ¤ ).
3 HUILO GH DP SR ÏSWLF R Opção para selecionar a apresentação do perfil de campo
óptico do modo escolhido no campo 21. Os valores de campo são relativos ao passo de
iteração escolhido no campo 22.
'LV WULEXLomR GH (UURV Opção para selecionar a apresentação da distribuição de
erros relativos ao processo de refinamento auto-adaptativo da malha de elementos finitos.
Esses erros são calculados para cada elemento finito considerando-se o comprimento do
elemento e o gradiente do campo óptico no elemento. A distribuição de erros relativos
resultante é utilizada para decidir quais elementos finitos deverão ser subdivididos durante
um passo de refinamento auto-adaptativo da malha. A distribuição de erros pode ser
visualizada para cada um dos três possíveis modos guiados (campo 21), em cada passo de
iteração (campo 22).
9DULDomR GRV ËQGLFHV (IHWLYRV Opção para selecionar a apresentação do valor do
índice efetivo (Q £ ¥ ¥ ) em função do passo de iteração do processo auto-adaptativo da malha de
elementos finitos. É possível a apresentação do valor de Q£ ¥ ¥
para cada modo escolhido no
campo 21.
7HP S R GH DGD ,WHUDomR Opção para selecionar a apresentação do intervalo de
tempo de processamento em função do número da iteração do processo de refinamento auto-
adaptativo da malha de elementos finitos.
0 RGR $QDOLV DGR Opção de escolha do modo óptico para apresentação gráfica de
resultados. Três modos são permitidos, sendo que o modo fundamental é o que possui maior
valor de índice efetivo.
,WHUDomR Opção para seleção da iteração (passo do refinamento auto-adaptativo da
malha de elementos finitos) para apresentação gráfica de resultados.
15
16
17
18
19
20
21
22
35. 28
9LVXDOL]DomR GH 5HVXOWDGRV
Para demonstrar a utilização do programa GOP e a forma como os resultados podem ser
apresentados, foi realizada uma simulação para a determinação dos possíveis modos de
propagação em um guia óptico planar difuso formado pela difusão de Titânio (Ti) em
substrato de Niobato de Lítio (LiNbO3) . Os parâmetros utilizados na simulação foram:
• Comprimento de onda de 1 µm,
• Modo Ex
• Guia Difuso Ti:LiNbO3
• Camada de cobertura de 5 µm de espessura
• Índices de refração da camada de cobertura: Q =Q¡ =Q¢ =1
• Camada de substrato de 40 µm de espessura
• Processo de difusão:
• Corte-X
• Espessura do filme de Ti : H=80 nm
• Temperatura de difusão: T=1050 o
C
• Tempo de difusão: t=6 h
A malha inicial de elementos finitos é automaticamente gerada pelo programa GOP e consta
de 15 elementos em cada uma das camadas do guia difuso (cobertura e substrato). Após o
processo de refinamento auto-adaptativo, que finalizou após 12 iterações, o número total de
elementos finitos na malha é de 3687 e o tempo total de CPU utilizado foi de 67,726
segundos, esses resultados são apresentados na interface, como mostrado na Fig. 10.
Fig. 10 Apresentação de dados relativos ao número total de elementos na malha, tempo de processamento e
número total de iterações.
Os valores inseridos como parâmetros para o processo de difusão de Titânio e o comprimento
de onda possibilitam calcular o perfil de índices de refração extraordinário (Q¡ ) e ordinário
(Q¢ ) na região em que o guia difuso é formado. O perfil de índices de refração Q¡ e Q¢ pode ser
visualizado no campo de gráficos acionando a opção 3HUILO GR ËQGLFH GH 5HIUDomR e
escolhendo qual o índice desejado NE ou NO (Fig.11). A distribuição de índices pode ser
visualizada para cada passo de refinamento auto-adaptativo.
Fig. 11 Botão para escolha da opção de visualização do perfil de índices de refração.
36. 29
Os perfis de índices de refração, para o caso simulado, são apresentados nas Figs. 12a e 12b.
Pode-se notar que no processo de difusão de Ti em LiNbO3 a maior variação (aumento do
valor em relação ao substrato puro) ocorre para o índice de refração extraordinário.
Fig. 12 Apresentação do perfil de índices de refração. A Fig. 12a apresenta os índices extraordinários e a Fig.
12b apresenta os índices ordinários.
Na análise modal de guias ópticos é muito importante visualizar a distribuição de campo
óptico para cada modo de propagação. Com os perfis dos modos, pode-se identificá-los e
classificá-los segundo as convenções geralmente utilizadas.
A interface gráfica do programa GOP permite visualizar os perfis de modos ópticos (modo
Ex
→ componente de campo Ex e modo Ey
→ componente de campo Hx), para cada passo do
refinamento auto-adaptativo e para até os três primeiros modos guiados. A Fig. 13 mostra o
botão para escolha da opção de visualização do campo óptico. A Fig. 14 apresenta o campo
para escolha do modo óptico e o passo de refinamento auto-adaptativo (iteração) para os quais
serão apresentados os valores de campo. A Fig. 15 apresenta o perfil de campo óptico do
modo fundamental após o termino do processo de iteração.
Fig. 13 Botão para escolha da opção de apresentação do perfil de campo óptico.
D E
37. 30
Fig. 14 Campo para escolha do modo analisado e passo de iteração para apresentação gráfica de resultados.
Fig. 15 Perfil de campo óptico para o modo fundamental (
(
11 ).
As Figs 16a –16l apresentam os perfis de campo do modo óptico fundamental (
(
11 ) para cada
uma das doze iterações do processo de refinamento auto-adaptativo da malha de elementos
finitos. No primeiro passo de iteração, foi utilizada uma malha inicial de 15 elementos em
cada uma das duas camadas (cobertura e substrato). As Figs. 17a, 17b e 17c apresentam os
perfis de campo do segundo modo guiado, para o primeiro, sexto e décimo segundo passo do
processo de refinamento auto-adaptativo, respectivamente.
D E F G
38. 31
Fig. 16 Perfis de campo óptico para o modo fundamental de propagação em guia planar difuso (Ti:LiNbO3). As
Figs. 16a até 16l apresentam os perfis de campo calculados pelo programa GOP para cada um dos doze passos
do processo de refinamento auto-adaptativo da malha de elementos finitos, respectivamente. As amplitudes são
relativas e por este motivo o sinal do campo e seu valor máximo não são informações relevantes para
comparação dos resultados.
Fig. 17 Perfis de campo para o segundo modo óptico. As Figs. 16a, 16b e 16c apresentam os perfis de campo
para o primeiro, sexto e décimo segundo passo do processo de refinamento auto-adaptativo, respectivamente.
H I J K
L M N O
D E F
39. 32
Para o processo de refinamento auto-adaptativo da malha de elementos finitos, o erro relativo
é calculado em cada elemento finito e depende diretamente do comprimento e do gradiente do
campo óptico em seu interior. Esses valores são números relativos e sua amplitude só é
importante quando comparado ao erro dos outros elementos da mesma malha. No cálculo do
erro, o comprimento do elemento e o gradiente de campo no elemento são adequadamente
ponderados para que a malha seja refinada, principalmente nas regiões onde o gradiente de
campo varia mais acentuadamente. Os valores são utilizados para o cálculo da média dos
erros e do desvio padrão. De posse destes dados pode-se determinar quais elementos finitos
devem ser subdivididos para o refinamento da malha. As Figs. 18a e 18b apresentam os erros
relativos ao longo da malha de elementos finitos para o modo fundamental e segundo modo
guiado no último passo de iteração, respectivamente. Das Figs. 18a e 18b pode-se observar
que os máximos erros relativos para o modo fundamental são menores do que os erros para o
segundo modo. Isto ocorre devido à maior complexidade do perfil de campo do segundo
modo em comparação ao modo fundamental. Entretanto, ambos os modos foram considerados
no processo de refinamento e a malha final obtida é suficiente para que ambos os valores de
índice efetivo calculados tenham atingido o critério de estabilização (variação menor que
10−7
).
Fig. 18 Distribuição de erros relativos utilizados para no processo auto-adaptativo da malha de elementos finitos.
A Fig. 18a apresenta a distribuição de erros para o modo fundamental, enquanto a Fig. 18b apresenta os mesmos
dados para o segundo modo óptico guiado.
No processo auto-adaptativo, cada iteração resulta em um diferente valor de índice efetivo
(Q¡
). O critério de parada, para este processo, é a estabilização dos valores calculados para os
três possíveis modos guiados. Quando a variação de Q¡
, entre três passos consecutivos de
iteração, é inferior a 10−7
o cálculo é finalizado. As Figs. 19a e 19b mostram a evolução do
valor do índice efetivo para o modo fundamental e segundo modo guiado, respectivamente.
D E
40. 33
Fig. 19 Variação do valor do índice efetivo em função do passo de iteração do processo de refinamento auto-
adaptativo da malha de elementos finitos. A Fig. 19a e 19b apresentam os resultados para o modo fundamental e
segundo modo, respectivamente.
Quando um modo óptico apresenta valor de índice efetivo inferior ao valor do índice de
refração do substrato, o modo não é considerado um modo guiado. Neste caso grande parte do
campo óptico penetra a região do substrato e o modo é denominado modo de radiação do
substrato. O programa GOP automaticamente verifica se esta situação ocorre com algum dos
três modos ópticos calculados e indica esta condição ao usuário, quando este solicita a
visualização de seus resultados. A Fig. 20 apresenta a caixa de diálogo que alerta ao usuário
que o modo óptico solicitado não é um modo guiado e os resultados não serão apresentados.
Fig. 20 Caixa de diálogo indicando que o modo óptico solicitado não é um modo guiado. Neste caso, os
resultados não poderão ser visualizados.
O programa GOP armazena o tempo de processamento de cada passo de iteração. A variação
do tempo gasto em cada iteração pode ser visualizada na Fig. 21.
Fig. 21 Tempo de processamento utilizado para cada passo do processo de refinamento auto-adaptativo da
malha de elementos finitos.
D E
41. 34
,QIRUPDo}HV 6REUH R 3URFHVVR 'LIXVLYR
Esta janela (Fig. 22) pode ser visualizada a partir do menu principal acessando a opção
3URMHWR→3DUkPHWURV GR 3URFHVVR 'LIXVLYR 7L/L1E2
42. . Esses dados só estão disponíveis
para estudos de guias difusos (LiNbO3). A janela apresenta os parâmetros de entrada, os
valores de índice de refração extraordinário e ordinário do LiNbO3 puro, para o comprimento
de onda (λ) considerado, as profundidades de difusão, que dependem dos parâmetros do
processo (temperatura, tempo, espessura do filme de Ti e λ), e os valores de índice de refração
superficiais na região do guia difuso.
Fig. 22 Janela para apresentação de parâmetros do processo difusivo para formação dos guias tipo LiNbO3 em
guias ópticos planares
,QIRUPDo}HV 6REUH R 3URJUDPD *23
Esta janela (Fig. 23) pode ser visualizada a partir do menu principal acessando a opção
6REUH
43. . A janela apresentada um comentário sobre o programa GOP (Guias Ópticos
Planares), relacionando suas principais características.
Fig. 23 Janela para apresentação das principais características do programa GOP (Guia Ópticos Planares)
O programa GOP permite a análise das características de
propagação de onda óptica dos modos Ex
e Ey
em guias
planares de três camadas. São tratados casos de guias
homogêneos e guias difusos, em especial os guias formados
por difusão de Titânio (Ti) em substratos de Niobato de Lítio
(LiNbO3), visando a análise dos três primeiros modos de
propagação nos guias planares.
O programa foi desenvolvido utilizando o Método dos
Elementos Finitos escalar unidimensional (1D). São utilizados
elementos finitos tipo linha com funções de base de Lagrange
em primeira ordem de aproximação.
O processo de simulação possui uma rotina de auto-
adaptatividade, visando o refinamento da malha de elementos
finitos. O processo auto-adaptativo utiliza o gradiente do
campo e o comprimento do elemento finito para estimativa do
“erro” em cada elemento finito. A inclusão desta rotina isenta
o usuário da definição da melhor discretização para bem
representar as grandezas físicas envolvidas na resolução do
problema.
45. 36
• A abordagem segunda consiste em utilizar a recém recebida versão Linux do Matlab.
Desta forma, será possível reduzir consideravelmente a tarefa de migrar e adaptar, para
processamento distribuído, o código GOP-simplificado desenvolvido em Windows.
Embora a empresa proprietária do software Matlab não tenha disponibilizado nenhum
“toolbox” para utilização do Matlab em computação paralela, existem muitos grupos
de pesquisa desenvolvendo soluções próprias para esta finalidade.
$ $ERUGDJHP 3ULPHLUD 8WLOL]DomR GR 3URJUDPD 2FWDYH03, FRP
6LVWHPD 2SHUDFLRQDO /LQX[
O programa Octave foi obtido através da rede mundial de computadores (endereço:
www.octave.org e http://gravity.psu.edu/~khanna/hpc.html). Como a sintaxe do Octave é
muito similar à do Matlab, a adaptação do programa GOP-simplificado foi bem simples. Após
a adaptação do programa, os valores calculados, para um guia óptico planar isotrópico e
homogêneo, foram comparados aos obtidos através de uma solução analítica exata e os
resultados obtidos pelo programa GOP em sistema Windows. O que se observou é que os
valores são coincidentes até aproximadamente a décima casa decimal.
5HTXLVLWRV SDUD XWLOL]DomR GR 2FWDYH03,
De acordo com o autor do “patch” (http://gravity.psu.edu/~khanna/hpc.html ), que permite ao
Octave operar com MPI, alguns requisitos devem ser providenciados para que o sistema possa
funcionar. Cada um dos PCs que compõem a rede deverá ter instalado:
Sistema operacional Linux Debian versão 2.2 potato
Octave versão 2.2.1
Compilador GCC versão 2.95
3UREOHPDV HQFRQWUDGRV SDUD FRPSLODU R 2FWDYH03,
Uma máquina foi especialmente preparada, de acordo com as recomendações descritas acima,
para permitir o uso do Octave-MPI. Embora o autor do “patch” tenha relatado que obteve
sucesso na compilação do Octave-MPI, nós não conseguimos gerar o executável para este
pacote. Inúmeras mensagens de erro requeriam a instalação de novos arquivos e bibliotecas.
Após muitas tentativas e aproximadamente duas semanas de trabalho intenso, tivemos que
abandonar a opção de utilização do Octave-MPI.
% $ERUGDJHP 6HJXQGD 8WLOL]DomR GR 3URJUDPD 0DWODE HP
6LVWHPD GH RPSXWDomR 'LVWULEXtGD %DVHDGR HP 6LVWHPDV
0LVWRV :LQGRZV H /LQX[
46. 3HVTXLVD VREUH SDFRWHV GLVSRQtYHLV SDUD XWLOL]DomR GR 0DWODE
HP FRPSXWDomR GLVWULEXtGD
O programa Matlab tem sido objeto de estudo de muitos grupos de pesquisa visando sua
utilização em sistemas de computação paralela. A seguir, é apresentada uma relação de
pacotes disponíveis na Internet que possibilitam este tipo de uso do Matlab.
47. 37
Tabela II: Pacotes para paralelização de programas escritos para o Matlab
http://www.mathtools.net/MATLAB/Parallel/
Nome do
software
Descrição do software
ParMATLAB [8]
Este “toolbox” permite distribuir processos em máquinas remotas (“workers”), que estejam executando o
Matlab, em redes que utilizem o protocolo TCPIP (intranet/internet). Os modelos de paralelização
implementados são o SPMD e o MPMD.
O ParaMatlab é muito útil para paralelizações de grão grosso em ambientes de rede com computadores
heterogêneos. Não necessita de arquivos de configuração, pode ser utilizado em qualquer plataforma que
execute o Matlab, não requer um sistema operacional específico e permite a utilização de várias versões do
Matlab. Máquinas remotas podem ser acrescentadas para computação paralela mesmo se o processo tenha já
sido iniciado [8].
http://www.mathworks.com/matlabcentral/fileexchange/Files.jsp?type=cat
egoryid=37fileId=217
CONLAB
CONLAB (CONcurrent LABoratory) é um ambiente para desenvolvimento de algorítimos para
arquiteturas de computação paralela. É um ambiente interativo no qual pode-se simular arquiteturas
MIMD com memória distribuída e comunicação por passagem de mensagem, tanto quanto
arquiteturas MIMD com memória compartilhada. CONLAB é uma extensão do Matlab com
estruturas de controle para expressar a execução paralelizada de programas e primitivas para
passagem de mensagem, usa compartilhamento de memória de sincronização. A linguagem
utilizada é similar à linguagem informal de especificação de algoritmos que muitos projetistas
utilizam.
http://www.cs.umu.se/~conlab/
DP-Toolbox
DP-Toolbox é uma ferramenta para aplicações de computação distribuída e paralela. Ele está
preparado para o Multi-SCE Approach (SCE = scientific and technical computing environment) que
dá suporte a um conveniente ambiente de desenvolvimento de aplicações paralelizadas ou
distribuídas em Matlab.
http://www-at.e-technik.uni-rostock.de/rg_ac/dp/
MatlabMPI
Uma bibliotéca com apenas 250 linhas de código (escrita inteiramente em Matlab) que permite
múltiplos programas Matlab conversarem mutuamente, tal que centenas de processadores podem
trabalhar conjuntamente.
http://www.ll.mit.edu/MatlabMPI/
Mesh partitioning
and graph
separators Toolbox
A solução de problemas de larga escala sobre computação paralela com memória distribuída requer
que os dados do problema sejam particionados entre os processadores. Este toolbox fornece um
método de particionamento e utilitários para geração de malhas, gráficos ou diagramas para
distribuição de tarefas.
http://www.mathtools.net/files/net/meshpart.zip
MPI Toolbox for
Matlab
Utilizando MPITB, MPI pode ser chamado de um interpretador Matlab. Processos podem ser
distribuídos e arranjados em topologias. Variáveis Matlab podem ser enviadas e recebidas. Devido
às facilidades do Matlab, comandos para a execução remota podem ser passados como string para a
desejada instância de cálculo (máquina remota), e os resultados podem ser enviados de volta para a
instância principal (host).
http://atc.ugr.es/javier-bin/mpitb_eng
Parallel Virtual
Machine (PVM)
under MATLAB
Utilizando PVMTB, PVM pode ser chamado de um interpretador Matlab. Processos podem ser
distribuídos e arranjados em topologias. Variáveis Matlab podem ser enviadas e recebidas. Devido
às facilidades do Matlab, comandos para a execução remota podem ser passados como string para a
desejada instância de cálculo (máquina remota), e os resultados podem ser enviados de volta para a
instância principal (host).
http://atc.ugr.es/javier-bin/pvmtb_eng
Parallel
MATLAB®
Development for
High
Performance
Computing
RTExpress é ambiente de desenvolvimento, compilação e execução que é compatível com arquivos
de script do Matlab. Os arquivos podem ser diretamente compilados e então executados em
máquinas de computação paralela ou não. RTExpress suporta clusters de máquinas com sistema
operacional Linux e Matlab 6.1.
http://www.rtexpress.com/isi/rtexpress/
Parallel
Programming
with MPI
Parallel Programming with MPI é uma introdução elementar para programação em sistemas
paralelos que utilizem a biblioteca MPI 1.1 de extensões para C e Fortran. O programa é uma boa
ferramenta para estudantes e profissionais que têm conhecimento de programação convencional em
máquinas monoprocessadas, mas que não têm experiência em programação para sistemas de
múltiplos processadores. http://nexus.cs.usfca.edu/mpi/
48. 38
2 7RROER[ 3DU0DWODE @
O “toolbox” ParMatlab foi escolhido como a ferramenta a ser utilizada para o
desenvolvimento de programas de computação paralela. O “toolbox” permite distribuir
processos em máquinas remotas (“workers”), que estejam executando o Matlab, em redes que
utilizem o protocolo TCPIP (intranet/internet). Os modelos de paralelização implementados
são o SPMD e o MPMD [8].
[030'] “Multiple Program-Multiple Data parallel model”; o usuário tem o controle para
enviar diferentes tarefas Matlab para máquinas remotas simultaneamente e posteriormente
retirar resultados.
[630'] “Single Program-Multiple Data parallel model”; a paralelização e gerenciamento de
máquinas remotas é realizada automaticamente. Os dados de entrada devem ser regularmente
ordenados em hyperblocos do Matlab.
O ParMatlab é muito útil para paralelizações de grão grosso em ambientes de rede com
computadores heterogêneos. Não necessita de arquivos de configuração, pode ser utilizado em
qualquer plataforma que execute o Matlab, não requer um sistema operacional específico e
permite a utilização de várias versões do Matlab. Máquinas remotas podem ser acrescentadas
para computação paralela mesmo se o processo tenha já sido iniciado.
3ULQFLSDLV FDUDFWHUtVWLFDV GR 3DU0DWODE @
1) Não é necessário um mesmo sistema de arquivos entre as máquinas da rede. Todas as
comunicações são realizadas através de conexões TCPIP;
2) O programa é multiplataforma e opera em várias versões de sistema operacional e
Matlab. O autor reporta testes realizados com Solaris, Linus, Win98, WinNT,
Win2000, Matlab 5.3 e Matlab 6.
3) A máquina virtual paralela não necessita saber quais máquinas remotas (workers)
estão disponíveis. Ela permanecerá “varrendo” a rede até que um worker reporte que
está pronto. Novos workers podem ser acrescentados mesmo após o processo ter sido
iniciado;
4) A paralelização pode ser feita simultaneamente em diferentes dimensões (até cinco)
utilizando hyperblocos contíguos, sobrepostos ou constantes. Os índices podem,
também, variar para diferentes variáveis de entrada. A única restrição é que o número
total de elementos paralelos deve ser o mesmo;
5) O ParMatlab é um software livre. Pode-se redistribuir e modificar respeitando os
termos do GNU (“General Public License”), como publicado por “The Free Software
Foundation”.
$GDSWDomR GR SURJUDPD *23VLPSOLILFDGR SDUD VLVWHPD GH
FRPSXWDomR GLVWULEXtGD
O programa GOP-simplificado, escrito para Matlab versão 6.5, foi utilizado em máquinas
monoprocessadas com sistema operacional Windows e Linux com excelente resultados.
Todos os valores de índice de refração coincidem até a décima sexta casa decimal.
Adicionalmente, para a validação dos resultados, os valores obtidos pelo programa GOP
foram comparados com os obtidos por uma solução analítica exata, resultando erros
percentuais de aproximadamente 10−4
%.
49. 39
Utilizando o GOP-simplificado como ponto de partida, introduziu-se algumas poucas
modificações para que uma máquina principal (majordomo) disparasse o cálculo completo em
uma máquina remota (worker). O teste foi realizado com máquinas Windows-Windows,
Windows-Linux e Linux-Windows.
A maior dificuldade encontrada, neste exercício, foi a transferência dos dados de matrizes
esparsas para a máquina remota. Atualmente, está se convertendo a matriz esparsa em matriz
cheia para a etapa de transferência e posteriormente, já na máquina worker, a matriz é
novamente convertida para esparsa, para então acionar a função de resolução do sistema de
autovalor e autovetor. Uma maneira mais eficiente para passagem das matrizes será objeto
dos próximos estudos (segundo semestre).
Além do exemplo já citado, testou-se um outro caso em que a tarefa de cálculo das matrizes
locais de cada elemento finito foi paralelizada, onde metade da tarefa foi realizada na máquina
principal enquanto que a outra metade foi processada na máquina worker. Após o término do
cálculo os dados foram convenientemente unidos para a montagem das matrizes globais.
Essas matrizes foram, então transferidas para a maquina worker com a chamada da função
que resolve o sistema de equações. Como retorno, o worker enviou os valores de índice
efetivo (autovalores) e campos (autovetorers) para a máquina principal.
Em ambos os casos testados, utilizou-se o modelo MPMD para paralelização sendo
necessárias poucas modificações tanto no código do “toolbox” quanto no código do programa
GOP-simplificado.
Ainda poucos estudos foram realizados para a caracterização da utilização do ParMatlab. No
próximo semestre, pretende-se realizar estudos sistemáticos de paralelização envolvendo mais
máquinas workers, em especial as do cluster BELIEVe. Embora ainda não se possa tirar
conclusões sobre o ganho de eficiência nas paralelizações com o ParMatlab, sua facilidade de
utilização e a possibilidade de paralelização em redes mistas (diferentes sistemas operacionais
e máquinas com diferentes capacidades de processamento) são bastante atraentes. O uso de
redes TCPIP permite, também, a utilização de máquinas em redes externas, o que possibilita o
compartilhamento de recursos computacionais entre grupos e instituições de pesquisa.
Obviamente, a utilização de máquinas em redes externas só é uma vantagem quando a
quantidade de dados a serem transmitidos é pequena e/ou o tempo de processamente excede
em muito o tempo gasto na comunicação.
; 3HUVSHFWLYDV
Para o segundo semestre de vigência da bolsa, deve-se realizar testes mais sistemáticos da
implementação do programa GOP-simplificado em sistema paralelizado, iniciar o
aprofundamento dos conceitos sobre o método dos elementos finitos em duas dimensões,
iniciar o treinamento para utilização do software já desenvolvido no IEAv (sistema LevSoft)
[1]-[2], implementar em máquina monoprocessada um programa para análise modal de guias
ópticos 2D e finalmente migrar e adaptar este programa para operar em sistema paralelizado.
O cronograma de atividades foi cumprido quase integralmente, havendo atraso apenas na
tarefa relacionada à migração e adaptação do programa 1D do MEF para computação
paralela. Entretanto, as dificuldades técnicas de determinação do pacote de rotinas para
gerenciamento da paralelização já foram superadas e os testes iniciais demonstram a
funcionalidade da paralelização. Com base no exposto, o término da tarefa acima citada
deverá ser prorrogado até o início do terceiro trimestre, como apresentado no cronograma
abaixo (Tabela III).
50. 40
TABELA III. Cronograma previsto para a realização das
atividades, organizado por trimestre.
7ULPHVWUH
$WLYLGDGH
Treinamento: Conceitos
do MEF
Pesquisa Bibliográfica
Programa MEF-1D para
mono-processador
Migração e Adaptação de
código para
processamento paralelo
Treinamento: Conceitos
do MEF2D
Programa MEF-2D para
mono-processador
Migração e Adaptação de
código para
processamento paralelo
Documentação
Previsão original para execução da tarefa
Tarefa executada sem atraso
Tarefa executada com atraso ou período para execução alterado
;,RQFOXV}HV
Foi desenvolvido, e está operacional, um programa (denominado GOP) para análise modal de
guias óticos planares considerando meios materiais anisotrópicos e não-homogêneos, em
máquinas monoprocessadas. O referido programa deverá ser incluído como material didático
em um curso de pós-graduação do ITA, oferecido anualmente pelo orientador deste trabalho.
O programa GOP foi desenvolvido em ambiente Matlab e conta com uma rotina automática
de geração de malha unidimensional de elementos finitos, incluindo um procedimento para
refinamento auto-adaptativo de malha. O programa GOP apresenta uma interface gráfica
simplificada que integra campos para entradas de dados e visualização gráfica de resultados.
Foi escolhido um “toolbox” para a realização de processamento paralelo em ambiente Matlab.
A ferramenta escolhida foi o ParMatlab, que permite trabalhar com máquinas heterogêneas
em sistemas multiplataforma e em redes TCPIP.
51. 41
O programa GOP, em versão simplificada, sem a interface gráfica e considerando apenas
meios materiais homogêneos, foi adaptado para utilizar o “toolbox” ParMatlab. Foram
realizados testes de paralelização envolvendo duas máquinas com sistemas operacionais
windows-windows e windows-linux. Os resultados numéricos foram validados com uma
abordagem analítica exata.
Neste primeiro semestre, todas as tarefas previstas foram desenvolvidas a bom termo. A única
tarefa que sofrerá algum atraso será a que envolve testes mais sistemáticos da paralelização do
código GOP-simplificado. Este atraso ocorreu devido ao insucesso na tentativa de utilização
do programa Octave (Linux) com rotinas MPI para processamento paralelo. Os arquivos fonte
disponibilizados pelo autor do trabalho relacionado ao uso do Octave-MPI, não puderam ser
compilados, a despeito das inúmeras tentativas assessoradas pela equipe do projeto
BELIEVe/IEAv.
$JUDGHFLPHQWRV
Agradeço ao Sr. Onofre Felix de Lima Neto (IEAv/CTA), pelo auxílio na preparação das
máquinas com sistema operacional Linux e pelo esforço na solução de problemas
relacionados à utilização do programa Octave-MPI.
Agradeço a Valdir A. Serrão e a Francisco Sircilli Neto (IEAV/CTA) pelo auxílio na correção
deste texto e pelas sugestões para a interface do programa GOP.
;,, 5HIHUrQFLDV %LEOLRJUiILFDV
[1] Marcos A. R. Franco, Nancy M. Abe, Ângelo Pássaro, Francisco Sircilli, Valdir A. Serrão, Diogo H. Odan,
Guilherme M. Magalhães e Fernando J. R. Santos, “Análise Computacional de Dispositivos e Componentes
de Óptica Integrada, Fibras Ópticas e Guias de Microondas”, Anais do III Simpósio Brasileiro de
Engenharia Inercial, Rio de Janeiro, 24 a 26 de Outubro de 2001, Instituto de Pesquisa e Desenvolvimento
(IPD), 2001.
[2] Nancy M. Abe, Ângelo Passaro, Marcos A. R. Franco, Francisco Sircilli, Valdir A. Serrão, Diogo H. Odan e
Fernando J. R. Santos, “Um Sistema de Software para Análise de Óptica Integrada, Fibras Ópticas e
Microondas”, Anais do Congresso Brasileiro de Eletromagnetismo, CBMag 2002.
[3] Masanori Koshiba, 2SWLFDO :DYHJXLGH $QDOVLV, MacGraw-Hill, Inc, New York, 1992.
[4] Masanori Koshiba, “2SWLFDO :DYHJXLGH 7KHRU E WKH )LQLWH (OHPHQW 0HWKRG”, 1st
.Ed., KTK Scientific
Publishers, Tokyo, 1992.
[5] Marcos A. R. Franco, “EC-244 Análise de Guias de Microondas e Ópticos pelo Método dos Elementos
Finitos”, Apostila do curso de Pós-Graduação do Instituto Tecnológico de Aeronáutica (ITA), 2002.
[6] Marcos A R. Franco, “$QiOLVH GH *XLDV GH 2QGDV ÏSWLFRV H GH 0LFURRQGDV SHOR 0pWRGR GRV (OHPHQWRV
)LQLWRV”, Tese de Doutorado apresentada à Escola Politécnica da Universidade de São Paulo (POLI-USP),
1999.
[7] Marcos A. R. Franco, Valdir A. Serrão, Ângelo Pássaro, Nancy M. Abe e Francisco Sircilli, “Análise Modal
de Guias Ópticos Planares Não-Homogêneos e Anisotrópicos pelo Método dos Elementos Finitos”, Anais do
IV Congresso Brasileiro de Eletromagnetismo – CBMag2000, Natal, 19 a 22 de Novembro de 2000, pág.
105-109, 2000.
[8] Lúcio Andrade e Elias S. Manolakos, “PARMATLAB: Coarse Parallelization of Matlab Processes in
Heterogeneous Networks”, Proceedings of XIII Research Workshop Communications and Digital Signal
Processing Center, Northeastern University, May 2002. www.cdsp.neu.edu/info/students/landrade/
researchdocuments/matlabposter.pdf
_______________________________ _______________________________
Marco A. Hidalgo Cunha (bolsista) Dr. Marcos A. R. Franco (orientador)