Propagation d'onde plane gaussienne dans une cavité électroma
Fermé
jackboer63
Messages postés1Date d'inscriptionmercredi 10 février 2016StatutMembreDernière intervention10 février 2016
-
10 févr. 2016 à 15:20
Bonjour à tous,
Je m'adresse à tous les spécialistes en électromagnétisme. J'ai un projet de simulation numérique concernant la propagation d'ondes planes gaussiennes à travers une cavité parallélépipédique à rendre la semaine prochaine.
J'aurais deux points à soulever :
1) il faudrait que je programme une onde plane dont la direction de propagation est déterminée par un vecteur k, cependant je ne sais pas comment programmer l'incidence de l'onde en agissant sur k;
2) le deuxième problème est plus particulier : il me faudrait coder le formalisme total field/scattered field. Je ne vois pas comment modifier les équations de Maxwell pour intégrer le TFSF. Enfin, je souhaiterais définir un plan de coupe me permettant de voir la propagation de l'onde plane, suivant l'orientation du vecteur d'onde k.
% Constantes physiques
eps0 = 8.8541878e-12; % Permittivite du vide
mu0 = 4e-7 * pi; % Permeabilite du vide
c0 = 299792458; % Vitesse de la lumiere dans le vide
% Initialisation parametrique
Lx = 6.7; Ly = 8.4; Lz = 3.5; % Dimensions de la cavite en metres
Nx = 60; Ny = 60; Nz = 60; % Nombre de cellules dans chaque direction
Cx = Nx / Lx; % Dimensions inverses des cellules
Cy = Ny / Ly;
Cz = Nz / Lz;
Nt = 1000; % Nombre de pas temporels
Dt = 1/(c0*norm([Cx Cy Cz])); % Definition du pas temporel
Dt = Dt*0.9;
% Allocation des champs de matrices
Ex = zeros(Nx , Ny+1, Nz+1);
Ey = zeros(Nx+1, Ny , Nz+1);
Ez = zeros(Nx+1, Ny+1, Nz );
Hx = zeros(Nx+1, Ny , Nz );
Hy = zeros(Nx , Ny+1, Nz );
Hz = zeros(Nx , Ny , Nz+1);
% Déclaration de la variable à la même taille que t
Ets = zeros(Nt+1,3);
Ets1 = zeros(Nt+1,3);
Ets2 = zeros(Nt+1,3);
% Initialisation des champs (pas sur les bords)
Ex(1,2,2) = 0;
Ey(2,1,2) = 0;
Ez(2,2,1) = 0;
tic
% Boucle pour le remplissage des matrices
for n = 1:Nt;
% Mise a jour de E partout sauf sur les bords
Ex(:,2:Ny,2:Nz) = Ex(:,2:Ny,2:Nz) + (Dt /eps0) * ...
((Hz(:,2:Ny,2:Nz)-Hz(:,1:Ny-1,2:Nz))*Cy ...
- (Hy(:,2:Ny,2:Nz)-Hy(:,2:Ny,1:Nz-1))*Cz);
% Echantillon de champ electrique dans un point precis du DC
Ets(n,:) = Ex(10,10,10);% Remplissage de la matrice/vecteur avec les valeurs de Ex, Ey, ...
Ets1(n,:) = Ey(10,10,10);
Ets2(n,:) = Ez(10,10,10);
t = [0:Dt:Nt*Dt];
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%TF/SF%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%definition de la surface fictive
%parallelepipede de 4 par 4 par 4
i0 = 10;
i1 = 14;
j0 = 10;
j1 = 14;
k0 = 10;
k1 = 14;
%%%%%%%%%%%% FACES NORMALES AU VECTEUR X %%%%%%%%%%%%%%
%definition du plan du coupe carre
%cut = (i1-i0)*(j1-j0);
%Affichage des résultats
% figure(1)
% plot(t,Ets,'b');
% legend('Ex(10,10,10)')
% title('Allure temporelle de la source Gaussienne')
% xlabel('temps(s)')
% ylabel('Amplitude du champ electrique (V/m)')
%
% figure(2)
% plot(t,Ets1,'r',t,Ets2,'g');
% legend('Ey(10,10,10)','Ez(10,10,10)')
% title('Propagation de la Gaussienne à travers le domaine de calcul')
% xlabel('temps(s)')
% ylabel('Amplitude du champ electrique (V/m)')
toc
% %FFT
% figure
% freqdiscret=[0:Nt+1];
% freq=1./t;
% fen=max(freq);
% TF=fft(Ets,Nt+1);
% TF1=fft(Ets1,Nt+1);
% TF2=fft(Ets2,Nt+1);
% loglog(freq,abs(TF),'r',freq,abs(TF1),'b',freq,abs(TF2),'g');
% legend('Ets','Ets1','Ets2')
% title('FFT de Ex, Ey et Ez au point (2;3;3)')
% xlabel('frequence(f)')
% ylabel('amplitude de FFT(V/m)')
Je suis preneur de toute remarque !
Merci infiniment pour vos réponses !
Cordialement
A voir également:
Propagation d'onde plane gaussienne dans une cavité électroma