Vous êtes sur la page 1sur 5

1

Mtodo dos Elementos Finitos


Francis Bins, Jssica Carvalho, Juliana Veloso, Thayn Moroso e Vitor Queiroz
Fundao Universidade Federal de Rondnia, Ncleo de Cincia e Tecnologia, Departamento de Engenharia Eltrica - DEE Bacharelado em Engenharia Eltrica - 5o Perodo - Matrculas: 200920109, 200920262, 200920107, 200920085 e 200820871, respectivamente - Disciplina de Mtodos Matemticos Aplicados a Engenharia

ResumoO presente relatrio apresenta o desenvolvimento de um algoritmo dinmico em ambiente de simulao computacional na plataforma MATLAB, para problemas que se deseja saber a congurao dos campos e potenciais eltricos em todo o dispositivo, com determinados valores de fronteira, no segmento de efeitos eletromagnticos. Sendo possvel pela versatilidade do Mtodo dos Elementos Finitos (MEF), no qual foi aplicado para a resoluo com aproximao numrica de equaes diferenciais parciais vetoriais, como as equaes de Maxwell. Considerando s tcnicas de programao em aspecto matricial da plataforma MatLaB, utilizou-se da tcnica de matriz de banda para a soluo de problemas com dois potenciais conhecidos, desse modo, facilita ao pesquisador em questo, o conhecimento de potenciais eltricos desconhecidos. Contudo, a elaborao do algoritmo restringe-se a formulao 2D e detm-se em discretizar e triangularizar o domnio das equaes que o regem. O processo do algoritmo foi baseado pela luz da literatura de Elementos de Eletromagnetismo de Mathew Sadiku, assim, em etapas descrevese a lgica do algoritmo: discretizao, equaes que regem os elementos, conexo de todos os elementos, resoluo das equaes resultantes e mtodo da matriz de banda. Index TermsMtodo dos Elementos Finitos, Elementos Triangulares, Potencial Eltrico e Mtodo da Matriz de Banda.

11-B=[X(:) Y(:)]; 12-tri=delaunay(X(:),Y(:)) 13-tamtri=size(tri); 14-tamB=size(B); 15-NE=tamtri(1,1) 16-NG=tamB(1,1) 17-NP=(4*N)- 4; O else da linha 6 signica que caso o valor de N inserido seje diferente de 1, o algoritmo ter andamento. A 9, gera uma matriz com N pontos entre o limite inferior e superior inseridos. Em 10 ocorre a transformao do dominio especicado pela matriz Xn em matrizes X e Y que podem ser usadas para clculo de funes de duas variveis e plotar superfcies 3-D. Na 11, como X e Y esto escritos como vetores, os dois pontos possibilitam que os mesmos tornem a serem colunas, onde a variavl B ser uma matriz com duas colunas com n elementos , sendo que X a primeira coluna e Y a segunda coluna. A linha 12, discretiza o domnio, cada linha representa a localizao dos ns globais no elemento de 1 NE. A 13 retorna as dimenses da matriz tri e escreve na varivel tamtri, j 14 retorna as dimenses da matriz B e escreve em tamB. Em 15, gera a quantidade dos elementos (pega valor da matriz tamtri linha 1 coluna 1), na 16 gera a quantidade dos ns globais (pega valor da matriz tamB linha 1 coluna 1) e na linha 17, expresso encontrada para determinar o nmero de ns com potenciais xos (pr-estabelecido) do seu domnio. 18-figure 19-x=reshape(B(tri,1),tamtri); 20-y=reshape(B(tri,2),tamtri); 21-patch(x,y,y) O comando gure, uma funo para desenhar o domnio discretizado; reshape retorna uma matrriz com os mesmos elementos B(tri,1) s que remodelada no tamanho de tamtri, sem ela no vai aparecer a gura; e o patch d a sada da gura, com a cor amarela pelo comando y (yellow), fazendo o matlab reconhecer os vetores x e y que so as coordenadas dos elementos. 22-fs=7; 23-if fs 24text(mean(x),mean(y),num2str((1: size(tri,1))),hor,c,fonts,fs) 25-end 26-if fs 27text(B(:,1),B(:,2),num2str((1:size (B,1))),ver,t,fonts,fs) 28-end

I. I NTRODUO II. M TODO PARA A CRIAO DO A LGORITMO Para a criao do algoritmo levou-se em conta as dedues matemticas para o Mtodo dos Elementos Finitos. Segue abaixo as descries do cdigo. 01-clear,clc; Limpeza da janela de comandos. 02-N=input(Insira a quantidade de pontos para gerar a matriz Xn:); 03-if N==1 04- msgbox(N deve ser maior que 1 para discretizao do domnio,MEF,error) 05- break Na linha 2, ocorre a atribuio pelo comando input do valor para a varivel N. Da linha 3 a 5, o comando if gera uma condio pois caso o N inserido pelo usurio seja 1, aparecer a mensagem da linha 4 e o algoritmo ser encerrado, pelo break. 06-else 07-limi=input(Insira o limite inferior para as coordenadas: ) 08-lims=input(Insira o limite superior para as coordenadas: ) 09-Xn=linspace(0,1,N); 10-[X,Y]=meshgrid(Xn);

Comando if da linha 23 e 26, para o display dos nmeros dos elementos e dos ns globais, respectivamente. O comando end, encerra cada if. 29-x=B(:,1); y=B(:,2); 30-CX=x %Matriz linha a todas as coordenadas 31-CY=y %Matriz linha a todas as coordenadas que corresponde x dos ns globais. que corresponde y dos ns globais.

49-

CE= (P*P + Q*Q)/(4*AREA);

Na linha 48, encontra-se a denio da rea de cada elemento em cada interao. E na 49, a criao da matriz dos coecientes dos elementos C ( e) do MEF. 505152for J=1:3 IR = tri(I,J); IFLAG1 = 0;

Em 29, atribui-se a x a primeira coluna de B, e a y, a segunda coluna de B. CX e CY so as matrizes transpostas de x (corresponde a todas as coordenadas x dos ns globais) e y (corresponde a todas as coordenadas y dos ns globais), respectivamente. 32-NF=input(Insira os ns com potenciais fixos: ); 33-VAL=input(Insira o valor dos ns com o potenciais fixos: ); Acima ocorre a atribuio pelo comando input dos valores para as respectivas variveis NF e VAL. 34-MB= zeros(NG,1); 35-MG= zeros(NG,NG); Na linha 34, ocorre a criao da matriz B do mtodo da matriz de banda somente de uma coluna e de valores zeros, com NG linhas. J na 35, a criao da matriz C (matriz global), somente com elementos zeros na ordem de NGxNG. 36-for I= 1:NE 37- H = tri(I,[1:3]) 38- XL= CX(H) ; 39- YL= CY(H); 40- P=zeros(3,1); 41- Q=zeros(3,1); Em 36, cria-se um lao para rodar NE vezes os comandos inseridos em seu interior. Na linha 37, a cada lao possvel atribuir varivel H, a respectiva linha do tri. Na 38, para atribuir varivel XL os respectivos valores de CX para H, e na 39 atribuir varivel YL os respectivos valores de CY para H. Na linha 40, cria-se a matriz P com elementos zeros da ordem 3x1, para que a cada lao os valores de P sejam zerados e no venham a interferir os prximos laos; e na 41 cria-se a matriz Q com elementos zeros da ordem 3x1, para que a cada lao os valores de Q sejam zerados e no venham a interferir os prximos laos. 424344454647P(1)=YL(2) P(2)=YL(3) P(3)=YL(1) Q(1)=XL(3) Q(2)=XL(1) Q(3)=XL(2) YL(3) YL(1) YL(2) XL(2) XL(3) XL(1)

Em 50, cria-se mais um lao, agora de 3 interaes, onde J refere-se aos ns locais de cada tringulo. Na linha 51, ocorre a atribuio em IR o respectivo elemento da matriz tri, ou seja, atribui um dos trs valores do n global do elemento. Em 52, se estabelece uma igualdade para que a mesma seje utilizada (se for necessrio) na condio if mais abaixo. 53545556575859for K = 1:NP if(IR== NF(K)) MG(IR,IR)= 1; MB(IR)=VAL(K); IFLAG1=1; end end

Na linha 53, est mais uma criao de um lao de NP interaes. Na 54, existe uma condio imposta onde se IR for igual a um dos valores de NF durante as NP varreduras as condies do comando if sero executadas. Ento, os elementos da Cpp da matriz global do mtodo da matriz de banda ser criada na linha 55, e em 56 est sendo atribuido MB(IR), que matriz B do mtodo matriz de banda, o respectivo valor de VAL para o K executado. Novamente em 57, se estabelece uma igualdade, pois caso este if seje executado com sucesso, o lao for de J terminar neste ponto, uma vez que esta varivel no aparece mais at o nal desta interao. Os comandos end das duas ltimas linhas, nalizam o primeiro comando if e o terceiro comando for, respectivamente. 60- if(IFLAG1==0) 61for L=1:3 62IC=tri(I,L); 63IFLAG2=0; 64for K=1:NP 65if (IC==NF(K)) 66MB(IR)= MB(IR) - CE(J,L)*VAL(K); 67IFLAG2=1; 68end 69end 70if(IFLAG2==0) 71MG(IR,IC)=MG(IR,IC) +CE(J,L); Na linha 60, existe uma condio que foi criada pois, caso o if anterior no seje executado uma vez que necessariamente o IR deve ser igual a NF, os comandos abaixo podero ser executados. Em 61, cria-se um novo lao de 3 interaes, pois como no foi executado o for anterior, agora trata-se de um elemento Cff ou Cfp da matriz global, o que necessita observar o comportamento dos trs ns locais para sua criao.

As linhas 42 a 47 referem-se s denio dos Ps e Qs para cada elemento (tringulo) conforme frmula do mtodo dos elementos nitos. 48AREA= 0.5*abs(P(2)*Q(3)- Q(2)*P(3));

L refere-se de novo aos ns locais de cada tringulo. Na linha 62, atribui-se IC o respectivo elemento da matriz tri, ou seja, atribui um dos trs valores do n global do elemento em questo. Em 63 se estabelece uma igualdade para que a mesma seje usada na condio if mais abaixo, se IFLAG2=1 no for atribuido. Na 64, Novamente a criao de um lao de NP interaes para a possvel igualdade de NF e IC em uma das NP vezes executadas. Em 65, uma condio imposta onde se IC for igual a um dos valores de NF durante as NP varreduras as condies do comando if sero executadas. Na 66, ocorre a atribuio MB(IR) pela equao estabelecida, MB(IR) matriz B do mtodo matriz de banda, neste momento aps as NE interaes a matriz poder por m ser preenchida por completo, anal a MB(IR) anterior estabele apenas o seu valor relacionado a Cpp , e agora portanto tambm a Cpf , Cf p e Cf f . A linha 67, estabelece uma igualdade, pois caso este if seje executado com sucesso, o lao for de L termine neste ponto, uma vez que esta varivel no aparece mais at o nal desta interao. Os comandos end da 68 e 69, a nalizao do terceiro comando if e do quinto comando for, respectivamente. Em 70, a condio criada pois, caso o if anterior no seje executado uma vez que necessariamente o IC deve ser igual a NF, o elemento da matriz global abaixo poder ser criado. Na 71, ocorre a criao dos elementos Cf p , Cpf e Cf f restantes da matriz global do mtodo da matriz de banda. 72end 73end 74end 75end 76-end Das linhas 72 a 76, so as nalizaes dos comandos criados. Em 72, nalizao do quarto comando if, em 73 nalizao do quarto comando for, na 74 nalizao do segundo comando if, em 75 nalizao do segundo comando for e nalmente em 76, nalizao do primeiro comando for. 77-V=inv(MG)*MB; 78-v=V Por m, o algoritmo para o clculo do potencial nos ns globais do domnio em questo termina-se com a sada do resultado na linha 77 em forma de coluna, e na 78 em forma de linha. Como continuao, para calcular o pontecial em qualquer ponto dentro de uns dos tringulos do domnio, complementou-se o algoritmo acima. Segue a descrio. 79-T=input(Insira o nmero do tringulo o qual deseja encontrar um valor de potencial em seu interior: ); 80-t=tri(T,:); 81-xt= CX(t); 82-yt= CY(t); Por meio da varivel T da linha 79, escolhido o tringulo no qual se deseja encontrar o potencial no seu interior. Em 80, retira-se da matriz tri os respectivos ns globais do tringulo

escolhido. Em 81 e 82, atribuido a matriz t os respectivos valores das coordenadas x e y do domnio. 83-A=[1 xt(1,1) yt(1,1);1 xt(1,2) yt(1,2); 1 xt(1,3) yt(1,3)]; 84-ve= v(t); 85-VE=ve 86-abc= inv(A)*VE; Na linha 83, encontrado a rea do tringulo escolhido. Na linha 84, atribuido a matriz t, os respectivos potenciais do resultado do algoritmo anterior. Em 85, faz-se a matriz transposta de ve, para que a matriz [a,b,c] do mtodo dos elementos nitos seje calculada (linha 86). 87-xx=1; 88-while xx < min(xt) | xx >max(xt); 89-xx=input(Insira a coordenada para x onde deseja encontrar o valor de potencial no tringulo escolhido: ); 90-if xx < min(xt) | xx >max(xt); 91-disp Valor inapropriado! Insira um outro valor adequado, por favor.; 92-end 93-end Na linha 87, somente criado uma nova varivel para a qual ser atribuda valores pelo input da linha 89. Em 88, criado um lao pelo comando while, o qual rodar at que a condio imposta seje satisfeita (comando if da linha 90).Esta condio informa por 91 que a coordenada de x aonde se deseja encontrar o valor do potencial no pode ser menor que o valor mnimo dos ns globais do tringulo, assim como no deve ser maior que o valor mximo dos ns globais do mesmo elemento. Os comandos end, encerram o comando de condio e de lao. 94-yy=2; 95-while yy < min(yt) | yy >max(yt); 96-yy=input(Insira a coordenada para y onde deseja encontrar o valor de potencial no tringulo escolhido: ); 97-if yy < min(yt) | yy >max(yt); 98-disp Valor inapropriado! Insira um outro valor adequado, por favor.; 99-disp 100-end 101-end Da mesma forma, a condio deve ser direcionada coordenada y, o que ocorre das linhas 94 a 101. 102-Vxy=[1 xx yy]*abc Na linha 102, est a sada para o valor do potencial dentro do tringulo desejado, o equacionamento refere-se a deduo do mtodo dos elementos nitos para o valor do potencial em qualquer ponto do elemento.

III. R ESULTADOS A. Compilao 1 Para vericao do comportamento do algoritmo segue primeiramente uma compilao para descobrir os pontenciais nos ns globais interno a um quadrado que possui 8 ns globais presentes em seu contorno.

Figura 3.

Caixa de mensagem referente a compilao 2.

C. Compilao 3 Por m, segue a simulao realizada para um domino maior (quadrado com mais nmeros de ns globais).

Figura 1. Simulao para a descoberta dos potenciais livres do domnio (compilao 1).

Figura 4. Simulao para a descoberta dos potenciais livres do domnio compilao 3.

Figura 2.

Figura do domnio escolhido referente a compilao 1.

Abaixo, segue o resultado para os testes realizados para quando o usurio inserir coordenadas inadequadas para a descoberta do potencial em um ponto dentro de um tringulo discretizado.

B. Compilao 2 Testanto o comportamento da exigncia feita para o algoritmo, realizou-se a compilao com a insero incorreta de apenas um n global para o quadrado. Como esperado, segue a mensagem fornecida ao usurio que inserir o valor 1 para a varivel Xn, uma vez que, esse valor criar apenas um ponto e no um domnio desejado para o algoritmo, um quadrado.

IV. D ISCUSSO E C ONCLUSO Quando as complexidades das frmulas tericas tornam as soluo analticas intratveis, recorremos a mtodos no analticos, como os mtodos nmericos, o qual inclui o Mtodo dos Elementos Finitos. Este mtodo prope a resoluo de fenmenos fsicos que ocorrem em meios contnuos, e que so descritos atravs de equaes equaes diferenciais parciais, resolvendo com maior facilidade problemas em regies com contornos de forma irregulares. Facilidade proporcionada pois o mtodo consiste na subdiviso do domnio em sub-regies (elementos nitos), com geometrias simples e conhecidas, diminuindo desta forma a complexidade do problema apresentado. Embora o mtodo d solues aproximadas elas so sucientemente precisas para o ramo da engenharia. Pode-se observar este fato, com o exemplo resolvido, em que o mtodo mostrou-se til para modelar a grandeza fsica, calculando e apresentando dados coerente para a diferena de pontecial de pontos desconhecidos do domnio apresentado. Portanto um dos aspectos mais importantes do MEF diz respeito a sua convergncia. Embora trata-se de um mtodo aproximado, pode-se demonstrar que em uma malha consistente (o domnio), a medida que o tamanho dos elementos nitos tende a zero, e consequentemente, a quantidade de ns tende a innito, a soluo obtida converge para a soluo exata do problema. Ou seja, quanto menor for o tamanho e maior for o nmero de elementos em uma determinada malha, mais precisos sero os resultados da anlise. R EFERNCIAS
Figura 6. Figura referente aos testes da compilao, para as inseres inadequadas de coordenadas pelo usurio. [1] Sadiku, Matthew N. O. Elementos de Eletromagnetismo, 3a Edio,Ed. Bookman, 2004.

Figura 5.

Continuao compilao 3

Figura 7.

Figura referente ao domnio da compilao 3.

Vous aimerez peut-être aussi