Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Figura 1 Capacitor de placas paralelas a ser utilizado como modelo para simulaes.
1.2.
Mtodo das Diferenas Finitas - Matlab
1.2.1. Cdigo fonte
clc;
clear all;
%Mariz representando a figura, 1 m de altura & 2 m de comprimento.
n_colunas = 200; n_linhas = 100;
% Inicializao da matriz potencial com zeros;
M_Potencial = zeros(n_linhas,n_colunas);
%Potencial nas placas for
coluna = 85:115
M_Potencial(49,coluna) = 100;
M_Potencial(51,coluna) = -100;
end
Erro = M_Potencial; %Erro
ind = 0;
while (ind==0)
for
linha=2:99
for
coluna=2:199
Erro(linha,coluna)=(M_Potencial(linha,coluna+1)+M_Potencial(linha,colu
na-1)+M_Potencial(linha+1,coluna)+M_Potencial(linha-1,coluna))/4;
end
end
%calculo do erro
if(abs((Erro(52,100) - M_Potencial(52,100)))<0.01)
ind = 1;
end
M_Potencial = Erro;
for coluna=85:115
M_Potencial(49,coluna) = 100;
M_Potencial(51,coluna) = -100;
end
end figure(1) contour(M_Potencial,50) colorbar;
title('Distribuio de Potencial Mtodo das Diferenas Finitas Capacitor de Placas Paralelas');
1.2.2. Resultados
Figura 4 Capacitor de placas paralelas com diferentes dieltricos a ser utilizado como modelo para simulaes.
2.2.
Mtodo das Diferenas Finitas
2.2.1. Cdigo fonte
clc;
clear all;
%Mariz representando a figura
n_colunas = 200; n_linhas =
100;
% A matriz potencial foi iniciada com zero
M_Potencial = zeros(n_linhas,n_colunas);
% A matriz permissividade foi iniciada com 1
2.2.2. Resultados
Figura 5 Distribuio de potencial em capacitor de placas paralelas com diferentes dieltricos utilizando Matlab.
2.3.
Mtodo dos Elementos Finitos
2.3.1. Resultados
Figura 6 Distribuio de potencial em capacitor de placas paralelas co diferentes dieltricos utilizando Comsol.
3.2.
Mtodo das Diferenas Finitas
3.2.1. Cdigo fonte
clc
clear all;
Erro = 1;
h =
0.5; %Passo X =
100; %Eixo X
Y = 100; %Eixo Y
%Desenho
D(1:Y/h,1:X/h) = 1;
%Permissividade
E(1:Y/h,1:X/h) = 1;
%Matriz de Potendial
M_Potencial(1:Y/h,1:X/h) = 0;
%Constantes Dieltricas
Er_vidro = 7.5;
%Vidro
Er_ar = 1;
%Ar
Er_oleo = 2.5;
%leo
Er_ferro = 10000;
%Ferro
for linha = 2:199
for coluna = 2:199
%Vidro
if ((coluna>81 & coluna<100 & linha>=81 & linha<=86) |
(coluna>105 & coluna<=112 & linha>=81 & linha<=86) | (coluna > 81 &
coluna<86 & linha>=86 & linha<=107)|(coluna>81 & coluna<99 &
linha>=107 & linha<=112)|(coluna>104 & coluna<=112 & linha>=107 &
linha<=112))
E(coluna,linha) = Er_vidro;
D(coluna,linha) = 10;
%Braos de
ferro - sem os eletrodos
elseif (coluna>=98 & coluna<=106 & linha>=94 & linha<=95) |
(coluna>=98 & coluna<=106 & linha>=99 & linha<=100)
E(coluna,linha) = Er_ferro;
D(coluna,linha) = 100;
%leo
elseif(coluna>86 & coluna<100 & linha>86 & linha<94)
|(coluna>86 & coluna<100 & linha>100 & linha<107)|(coluna>86 &
coluna<98 & linha>=94 & linha<=100)|(coluna>106 & coluna<=108 &
linha>=94&linha<=100) |(coluna>104 & coluna<=108 & linha>=86 &
linha<94)|(coluna>104 & coluna<=108 &
linha>=100&linha<107)|(coluna>=98 & coluna<=106 & linha>95&linha<99)
E(coluna,linha) = Er_oleo;
end
end end
%Campo for k
= 1:100
Campo =
M_Potencial;
for coluna =
86:112
for
linha=79:114
%Brao de
1000 V
if (coluna>=100&coluna<=104 & linha>=79 &
linha<=94)|(coluna>=98 & coluna<=106 & linha>=94&linha<=95)
M_Potencial(coluna,linha) = 1000; %Eletrodo de 1000 Volts
%Brao de 0 V
elseif
(coluna>=100&coluna<=104 & linha>=100 &
linha<=114)|(coluna>=98&coluna<=106 & linha>=99&linha<=100)
M_Potencial(coluna,linha) = 0;
elseif
(E(coluna+1,linha)==E(coluna1,linha))&(E(coluna,linha+1)==E
(coluna,linha-1))
M_Potencial(coluna,linha)=(1/4)*(M_Potencial(coluna+1,linha)+M_Potenci
al(coluna-
10
1,linha)+M_Potencial(coluna,linha+1)+M_Potencial(coluna,linha-1));
elseif
(E(coluna+1,linha)==E(coluna1,linha))&(E(coluna,linha+1)~=E(coluna,lin
ha-1))
M_Potencial(coluna,linha)=(1/4)*(M_Potencial(coluna+1,linha)+M_Potenci
al(coluna-1,linha)+(2/(1+E(coluna,linha+1)/E(coluna,linha1)))*(M_Potencial(coluna,linha-1)+(E(coluna,linha+1)/E(coluna,linha1))*M_Potencial(coluna,linha+1)));
elseif (E(coluna,linha+1)==E(coluna,linha1))&(E(coluna+1,linha)~=E(coluna-1,linha))
M_Potencial(coluna,linha)=(1/4)*(M_Potencial(coluna,linha+1)+M_Potenci
al(coluna,linha-1)+(2/(1+E(coluna1,linha)/E(coluna+1,linha)))*(M_Potencial(coluna+1,linha)+(E(coluna1
,linha)/E(coluna+1,linha))*M_Potencial(coluna-1,linha)));
elseif (E(coluna,linha+1)~=E(coluna,linha1))&(E(coluna+1,linha)~=E(coluna-1,linha))
M_Potencial(coluna,linha)=(1/4)*( (2/(1+E(coluna,linha+1)/E(coluna,lin
ha-1)))*(M_Potencial(coluna,linha1)+(E(coluna,linha+1)/E(coluna,linha1))*M_Potencial(coluna,linha+1))+(2/(1+E(coluna1,linha)/E(coluna+1,linha)))*(M_Potencial(coluna+1,linha)+(E(coluna1
,linha)/E(coluna+1,linha))*M_Potencial(coluna-1,linha)) );
end
end end
Erro = max(max(abs(Campo-M_Potencial)));
end
%Erro while Erro > 0.5 Campo = M_Potencial;
for coluna=2:199
for linha=2:199
if
(coluna>=100&coluna<=104 & linha>=79 &
linha<=94)|(coluna>=98 & coluna<=106 & linha>=94&linha<=95)
%Brao de 1000 V
M_Potencial(coluna,linha) = 1000;
elseif (coluna>=100&coluna<=104 & linha>=100 &
linha<=114)|(coluna>=98&coluna<=106 & linha>=99&linha<=100) %
%Brao de 0v
M_Potencial(coluna,linha)=0;
elseif
(E(coluna+1,linha)==E(coluna1,linha))&(E(coluna,linha+1)==E(coluna,lin
ha-1))
M_Potencial(coluna,linha)=(1/4)*(M_Potencial(coluna+1,linha)+M_Potenci
al(coluna1,linha)+M_Potencial(coluna,linha+1)+M_Potencial(coluna,linha-1));
elseif
(E(coluna+1,linha)==E(coluna1,linha))&(E(coluna,linha+1)~=E(coluna,lin
ha-1))
M_Potencial(coluna,linha)=(1/4)*(M_Potencial(coluna+1,linha)+M_Potenci
al(coluna-1,linha)+(2/(1+E(coluna,linha+1)/E(coluna,linha1)))*(M_Potencial(coluna,linha-1)+(E(coluna,linha+1)/E(coluna,linha1))*M_Potencial(coluna,linha+1)));
elseif (E(coluna,linha+1)==E(coluna,linha1))&(E(coluna+1,linha)~=E(coluna-1,linha))
M_Potencial(coluna,linha)=(1/4)*(M_Potencial(coluna,linha+1)+M_Potenci
al(coluna,linha-1)+(2/(1+E(coluna1,linha)/E(coluna+1,linha)))*(M_Potencial(coluna+1,linha)+(E(coluna1
,linha)/E(coluna+1,linha))*M_Potencial(coluna-1,linha)));
elseif (E(coluna,linha+1)~=E(coluna,linha-
11
1))&(E(coluna+1,linha)~=E(coluna-1,linha))
M_Potencial(coluna,linha)=(1/4)*( (2/(1+E(coluna,linha+1)/E(coluna,lin
ha-1)))*(M_Potencial(coluna,linha1)+(E(coluna,linha+1)/E(coluna,linha1))*M_Potencial(coluna,linha+1))+(2/(1+E(coluna1,linha)/E(coluna+1,linha)))*(M_Potencial(coluna+1,linha)+(E(coluna1
,linha)/E(coluna+1,linha))*M_Potencial(coluna-1,linha)) );
end
end
end
Erro = max(max(abs(Campo-M_Potencial)));
end
figure(1) hold
on contour(D,10,'k')
contour(M_Potencial,50);
colorbar;
title('Distribuio de Potencial Mtodo das Diferenas Finitas - Cuba de
Medio');
3.2.2. Resultados
12
13
Figura 10 Eletrodo semi esfrico/plano a ser utilizada como modelo para simulaes.
14
4.2.
Mtodo das Diferenas Finitas
4.2.1. Cdigo fonte
clc clear all;
h = 1;
%Passo
C_X = 120; %Eixo X
C_Y = 120; %Eixo Y
a = 1; for
i=1:h:C_X
x(i) = a;
a = a+1; end
%Matriz de posiao X e Y y
= x;
[X,Y] = meshgrid(x,y); %Matriz quadrada para guardar os vetores X e Y
M_Potencial = zeros(C_X,C_Y);
XX = X;
YY = Y;
%Constante Dieletrica
E(1:h:C_X,1:h:C_Y) = 1;
%Desenho
D(1:h:C_X,1:h:C_Y) = 1;
%Ponta
E(40:100,50:70) = 10000;
M_Potencial(40:100,50:70) = 1000; %Potencial 1000 V
D(40:100,50:70) = 1000;
%Plano
E(5:10,30:90) = 10000;
M_Potencial(5:10,30:90) = 0; %Potencial 0 V
D(5:10,30:90) = 1000;
%Meia esfera
E(40,40:80) = 10000;
M_Potencial(40,40:80) = 1000;
D(40,40:80) = 1000;
%Esfera do eletrodo
i =
40;
for esq=0:20 %Lado esquerdo da esfera X
l = 40+20-abs(20*cos(asin(esq/20)));
r = round(l);
X(i,r) = l;
for
q=r:60
E(i,q) = 10000;
15
M_Potencial(i,q) = 1000;
D(i,q) = 1000;
end
i = i-1;
end
j
= 40;
for esq=20:-1:0 %Lado esquerdo da esfera Y
l = 40-abs(20*sin(acos(esq/20)));
r = round(l);
Y(r,j) = l;
for
q=r:40
E(q,j) = 10000;
M_Potencial(q,j) = 1000;
D(q,j) = 1000;
end
j =
j+1; end
i = 40;
for dir=0:20 %Lado direito da esfera X
l = 60+abs(20*cos(asin(dir/20)));
r = round(l);
X(i,r) = l;
for
q=r:-1:60
E(i,q) = 10000;
M_Potencial(i,q) = 1000;
D(i,q) = 1000;
end
i =
i-1; end
j = 80;
for dir=20:-1:0 %Lado direito da esfera Y
l = 40-abs(20*sin(acos(dir/20)));
r = round(l);
Y(r,j) = l;
for
q=r:40
E(q,j) = 10000;
M_Potencial(q,j) = 1000;
D(q,j) = 1000;
end
j =
j-1; end
%Matriz para Calculo do Potencial
Sx = X./XX;
Sy = Y./YY;
Erro = 2;
while Erro > 0.5
%Calculo do Potencial
Z =
M_Potencial;
for j=2:(C_X-h)
for i=2:(C_Y-h)
if
D(i,j)==1000&i>15
M_Potencial(i,j) = 1000;
elseif D(i,j)==1000&i<15
Z(i,j) = 0;
elseif
(Sx(i+1,j)|Sx(i1,j)|Sx(i+1,j)|Sx(i1,j)|Sy(i+1,j)|Sy
(i-1,j)|Sy(i+1,j)|Sy(i-1,j))==1
if (E(i+1,j)==E(i1,j))&(E(i,j+1)==E(i,j-1))
M_Potencial(i,j) =
(1/4)*(M_Potencial(i+1,j)+M_Potencial(i1,j)+M_Potencial(i,j+1)+M_Poten
cial(i,j-1));
elseif (E(i+1,j)==E(i-1,j))&(E(i,j+1)~=E(i,j-1))
M_Potencial(i,j) =
(1/4)*(M_Potencial(i+1,j)+M_Potencial(i1,j)+(2/(1+E(i,j+1)/E(i,j1)))*(M_Potencial(i,j-1)+(E(i,j+1)/E(i,j-
16
1))*M_Potencial(i,j+1)));
elseif (E(i,j+1)==E(i,j1))&(E(i+1,j)~=E(i-1,j))
M_Potencial(i,j) =
(1/4)*(M_Potencial(i,j+1)+M_Potencial(i,j-1)+(2/(1+E(i1,j)/E(i+1,j)))*(M_Potencial(i+1,j)+(E(i-1,j)/E(i+1,j))*M_Potencial(i1,j)));
elseif (E(i,j+1)~=E(i,j-1))&(E(i+1,j)~=E(i-1,j))
M_Potencial(i,j) = (1/4)*( (2/(1+E(i,j+1)/E(i,j1)))*(M_Potencial(i,j-1)+(E(i,j+1)/E(i,j1))*M_Potencial(i,j+1))+(2/(1+E(i1,j)/E(i+1,j)))*(M_Potencial(i+1,j)+(E(i-1,j)/E(i+1,j))*M_Potencial(i1,j)) );
end
elseif (Sx(i+1,j)|Sx(i-1,j)|Sx(i+1,j)|Sx(i1,j)|Sy(i+1,j)|Sy(i1,j)|Sy(i+1,j)|Sy(i-1,j))~=1
M_Potencial(i,j) = ((1/(Sx(i,j+1)+Sx(i,j1))*(M_Potencial(i,j+1)/Sx(i,j+1)+M_Potencial(i,j-1)/Sx(i,j1))+(1/(Sy(i+1,j)+Sy(i1,j)))*(M_Potencial(i+1,j)/Sy(i+1,j)+M_Potencial(i1,j)/Sy(i1,j)))/(1/Sx(i,j-1)*Sx(i,j+1)+1/Sy(i,j1)*Sy(i,j+1)));
end
end
end
Erro = max(max(abs(Z-M_Potencial)));
end
figure(1) contour(X,Y,D,1,'ks')
hold on
contour(X,Y,M_Potencial,50); title('Distribuio de Potencial
Mtodo das Diferenas Finitas Eletrodo Semi Esfrico/Plano');
4.2.2. Resultados
17
18
5.2.
Mtodo das Diferenas Finitas
5.2.1. Cdigo fonte
clc clear all
%Constantes h = 2.5;
%Passo X = 2000/h;
20
%Eixo Y Y = 1200/h;
%Eixo X iteracao = 0;
%Iteraes %Constantes
dieltricas
E_vidro = 3.8; %Vidro
elseif
21
end
5.2.2. Resultados
22
23
24