====== MIRAGES : SIMULATION DANS UN MILIEU NON PERTURBE ======
===== CODES MATLAB =====
==== SNELL_DESCARTES ====
function [ xf, zf, af ] = snell_descartes( xi, zi, ai )
%SNELL_DESCARTES float * float * float -> float*float*float
% Retourne une position et un angle refracte a partir d une position
% initiale et un angle incident
dx = 0.0001; %pas pour le calcul
ni = indice_exp(zi); %indice en zi
dz = dx/tan(ai); %calcul de l'incrémentage de l'altitude
zf = zi - dz; %altitude final
nf = indice_exp(zf); %indice optique à l'altitude zf
af=asin(ni*sin(ai)/nf);%calcul de l'ange refracte grâce a la loi de Snell-Descartes
xf = xi + dx; %abscisse final
end
==== SIMULATION ====
%-------------------------------------------------------------------------%
% Simulation de propagation du laser dans le mileu non perturbé
z = 0.066; %z initial
x=0; %abscisse initiale
a= pi/2 - 0.018; %angle incident initial (interface horizontale)
xmax = 0.6; %limite de la cuve en abscisse
zmax = 0.1; %limite de la cuve en altitude
res(1,1)=x; %
res(1,2)=z; %
res(1,3)=a; %
i=2;
while and(x0,z
==== INDICE_EXP ====
function [ n ] = indice_exp( z )
%INDICE_EXP float -> float
% Retourne l'indice optique n correspondant à l'altitude z
load('ft_ind.mat'); %chargement de l'ajustement de l'indice pour le calcul
n=ft_ind(z);
end
==== DEVFITE ====
function [ dz ] = devfite( x )
%DEVFITE float -> float
% Retourne la valeur de la derivee de l'approximation de l'altitude en x
p1 = -1.041e+04; %(-2.659e+04, 5763)
p2 = 1.972e+04; %(-6919, 4.636e+04)
p3 = -1.496e+04 ; %(-3.337e+04, 3460)
p4 = 5926 ; %(-1012, 1.286e+04)
p5 = -1345 ; %(-2893, 201.9)
p6 = 180 ; %(-27.59, 387.7)
p7 = -14.18 ;%(-30.47, 2.11)
p8 = 0.5147 ; %(-0.1748, 1.204)
p9 = -0.02478 ;%(-0.03808, -0.01147)
p10 = 0.06588 ;%(0.0658, 0.06597)
dz = 9*p1*x^8 + 8*p2*x^7 + 7*p3*x^6 + 6*p4*x^5 + 5*p5*x^4 + 4*p6*x^3 + 3*p7*x^2 + 2*p8*x + p9;
end
===== GRAPHES =====
{{ :wiki:projet:alt_theo_31_03_a.jpg?nolink&600 |}}
===== COMMENTAIRES =====
Afin de déterminer si notre résultat pour l'indice semble cohérent avec la réalité, nous pouvons simuler le trajet d'un faisceau laser dans la cuve. On suppose toujours que l'indice est constant selon x, on découpe ainsi la cuve en bandes (non uniformes) d'indice constant. Afin de pouvoir calculer l'indice à toute altitude, on va faire un fit de l'indice obtenu précédent toujours en l'approximant par un polynôme d'ordre 9. On va ainsi pouvoir commencer la simulation, avec les conditions initiales définies par l'expérience. On ne prendra pas en compte le passage dans le plexiglas. Nous approximerons le changement d'indice continu par des interfaces parallèles au plan (x,y), et le passage d'un "milieu" à l'autre se fera grâce à la loi de Snell_Descartes pour la réfraction. Nous obtenons alors le graphe précédent qui montre une corrélation avec l'altitude expérimentale ce qui indique que nos approximations n'étaient pas aberrantes.