Вы находитесь на странице: 1из 7

METODO DE DIFERENCIAS FINITAS GAUSSIANAS

TEORIA

La forma básica de discretica el espacio y el avance temporal por pasos nos lleva
hasta 1966 con una publicaci´on seminal de Kane Yee [16]. Y el nombre del
método y su acrónimo es original del Allen Taflove que lo publico en 1980 [17].
Inicialmente había poco interés en el FDTD posiblemente debido a la falta del
poder de computo que exige este método. Sin embargo, con el advenimiento de
los bajos costos, computadoras cada vez mas poderosas y la misma mejora del
método, la técnica del FDTD se ha convertido en uno de los algoritmos de
computo mas populares para resolver problemas del electromagnetismo

¿Qué son?

El método de diferencias finitas en el dominio temporal, o FDTD; es uno de los


métodos computacionales mas populares por su simplicidad, alta eficiencia y su
fácil adaptabilidad a diversos problemas

APLICACIONES Y CUALIDADES DEL METODO DE DIFERENCIAS FINITAS


GAUSSIANAS

Predicciones de respuesta en banda ancha.

Permite modelos geométricos arbitrarios. Interacción con objetos con cualquier


conductividad desde metales perfectos, o hasta metales con absorción.

Permite parámetros constitutivos para modelar los materiales especiales, tales


como dieléctricos con pérdidas, plasma aniso trópico, etc.

Permite cualquier tipo de respuesta, incluyendo campos lejanos derivados de


campos cercanos, como por ejemplo: Campos difractados, patrones de antenas,
respuestas superficiales, etc

CODIGO DE SIMULACION

%----------------------------DIFERENCIAS FINITAS GAUSIANAS---------------


-
%Este código es una simulación en el dominio del tiempo de diferencias
finitas de 3 gaussianas
% de pulsos en una cavidad resonante con paredes perfectamente
conductoras (PEC)
% Crea una animación de los resultados, pero si desea dejar que el
sistema
% al estado estable, necesitará alrededor de 50,000 pasos (es decir, nMax
= 50000)
% Esto no puede ser animado, se quedará sin memoria. Comenta elEl
comando% getframe al final del bucle externo y descomenta los gráficos en
% de la parte inferior para obtener cortes del resultado del estado
estacionario y la FFT.
clc
clear
nMax = 700; % número de pasos de tiempo
scalefactor=1; %Granularidad (para animaciones que no superen 2)

mu = 1.2566306E-6;%Permitividad del vacio


eps0 = 8.854E-12;%permeabilidad del vacio
epsr = 4.2; %
eps = eps0*epsr;%
c = 1/sqrt(mu*eps);%velocidad de la luz
cfln = 0.995; %criterio de estabilidad
tw = 15; %medio ancho de pulso 10-20 se ve bien
n0 = 5*tw; %retardo de tiempo para las fuentes (criterio de estabilidad)
Lx = 0.08; %dimensiones del cavit resonante
Ly = 0.06;
Lz = 0.048;

nx = 80*scalefactor; %3 discretizaciones iguales


ny =60*scalefactor;
nz= 48*scalefactor;

dx = Lx/nx; %diferencias finitas para diferenciales


dy = Ly/ny;
dz = Lz/nz;
dt = cfln/(c*sqrt((1/dx)^2+(1/dy)^2+(1/dz)^2));%criterio de estabilidad
de tiempo
fres = c/sqrt(Lx^2+Ly^2+Lz^2);
%Coeficientes FDTD
cHxy = dt/(mu*dy);
cHxz = dt/(mu*dz);
cHyz = dt/(mu*dz);
cHyx = dt/(mu*dx);
cHzx = dt/(mu*dx);
cHzy = dt/(mu*dy);
cExy = dt/(eps*dy);
cExz = dt/(eps*dz);
cEyz = dt/(eps*dz);
cEyx = dt/(eps*dx);
cEzx = dt/(eps*dx);
cEzy = dt/(eps*dy);

% PEC condiciones de frontera


% Establezca todos los campos tangenciales E en cero y nunca los
actualice. Esto mantendrá
% de ellos cero. Los bucles de actualización solo modifican las celdas
internas
Hx=zeros(nx,ny,nz);
Hy=zeros(nx,ny,nz);
Hz=zeros(nx,ny,nz);
Ex=zeros(nx,ny,nz);
Ey=zeros(nx,ny,nz);
Ez=zeros(nx,ny,nz);

%=====================Bucle externo
for n=1:nMax

%==================== Principales bucles de actualización para los campos


eléctricos:
%===================Ex
for k = 2:nz-1
for j = 2:ny-1
for i = 1:nx-1 %1->2
Ex(i,j,k) = Ex(i,j,k)+cExy*(Hz(i,j,k)-Hz(i,j-1,k))-
cExz*(Hy(i,j,k)-Hy(i,j,k-1));
end
end
end
%===================Ey
for k = 2:nz-1
for j = 1:ny-1%1->2
for i = 2:nx-1
Ey(i,j,k) = Ey(i,j,k)+cEyz*(Hx(i,j,k)-Hx(i,j,k-1))-
cEyx*(Hz(i,j,k)-Hz(i-1,j,k));
end
end
end
%===================Ez
for k = 1:nz-1 %1->2
for j = 2:ny-1
for i = 2:nx-1
Ez(i,j,k) = Ez(i,j,k)+cEzx*(Hy(i,j,k)-Hy(i-1,j,k))-
cEzy*(Hx(i,j,k)-Hx(i,j-1,k));
end
end
end

%Defina los componentes del campo E en 3 puntos arbitrarios separados con


pulsos gaussianos
Ex(30*scalefactor,20*scalefactor,25*scalefactor)=2*tw*exp(-((n-
n0)/tw)^2);
Ey(25*scalefactor,45*scalefactor,20*scalefactor)=2*tw*exp(-((n-
n0)/tw)^2);
Ez(55*scalefactor,30*scalefactor,23*scalefactor)=2*tw*exp(-((n-
n0)/tw)^2);

%==================== Principales bucles de actualización para los campos


magnéticos:
%===================Hx
for k = 1:nz-1 %1->2 all 3
for j = 1:ny-1
for i = 1:nx %-1
Hx(i,j,k) = Hx(i,j,k)-cHxy*(Ez(i,j+1,k)-
Ez(i,j,k))+cHxz*(Ey(i,j,k+1)-Ey(i,j,k));
end
end
end
%===================Hy
for k = 1:nz-1 %1->2 all 3
for j = 1:ny %-1
for i = 1:nx-1
Hy(i,j,k) = Hy(i,j,k)-cHyz*(Ex(i,j,k+1)-
Ex(i,j,k))+cHyx*(Ez(i+1,j,k)-Ez(i,j,k));
end
end
end
%===================Hz
for k = 1:nz %-1 %1->2 all 3
for j = 1:ny-1
for i = 1:nx-1
Hz(i,j,k) = Hz(i,j,k)-cHzx*(Ey(i+1,j,k)-
Ey(i,j,k))+cHzy*(Ex(i,j+1,k)-Ex(i,j,k));
end
end
end

%Defina los componentes del campo H en 3 puntos arbitrarios separados con


pulso gaussiano
% Hx(30,30,30)=exp(-((n-n0)/tw)^2);
% Hy(45,35,20)=exp(-((n-n0)/tw)^2);
% Hz(25,40,20)=exp(-((n-n0)/tw)^2);
clc
round(n/nMax*100) %da el porcentaje de actualización de progreso en la
pantalla de inicio
surf(Ez(:,:,28*scalefactor));
set(gcf,'renderer','zbuffer')
%Espere
whitebg('black');
grid off
set(gcf,'Position',[20 50 1500 800]);
axis([-10*scalefactor 60*scalefactor -20*scalefactor 70*scalefactor -
.01/scalefactor .01/scalefactor])
view([3,4,5])

Mov(n)=getframe; % comenta esto para un análisis no animado

end
movie(Mov,20,40); % comenta esto para un análisis no animado
UNIVERSIDAD MAYOR DE SAN SIMON

FACULTAD DE CIENCIAS Y TECNOLOGIA

INGENIERIA ELECTRONICA

ELECTROMAGNETISMO

METODO DE DIFERENCIAS FINITAS GAUSSIANAS

Nombre:
Víctor Hugo Gutierrez Mérida
Victor Zurita Mallcu
Alexis Escalera Valenzuela
Hetzel Montoya Cardozo

Docente:
Ing. Gerardo Guzman

SEMESTRE II – 2018

Вам также может понравиться