Table des matières PDFScilab

Structures multicouches de matériaux linéaires

1. Introduction

Le système considéré comporte N couches planes perpendiculaires à l'axe z. Chaque couche est définie par son indice de réfraction et son épaisseur. Les matériaux sont supposés non magnétiques. Dans le cas d'un matériau absorbant ou d'un conducteur, on définira un indice complexe.

Les matériaux et leurs surfaces sont supposés non diffusants. Dans ce cas, les réflexions sont spéculaires. En pratique, cela est réalisé pour des surfaces polies, dont les irrégularités sont beaucoup plus petites que la longueur d'onde du rayonnement.

On considère la réflexion et la transmission d'une onde électromagnétique plane monochromatique sur cette structure. L'indice du milieu d'incidence est noté ni et l'angle d'incidence de l'onde θi. L'indice du milieu de transmission est nt.

En partant du milieu d'incidence, les couches sont numérotées de 1 à N. On note nk l'indice de réfraction de la couche k et ek son épaisseur.

figureA.svgFigure pleine page

La polarisation du champ électrique de l'onde incidente est décomposée en polarisations perpendiculaire et parallèle au plan d'incidence (plan Oyz). On désigne par TE l'onde dont le champ électrique est perpendiculaire au plan d'incidence et par TM celle dont le champ magnétique est perpendiculaire au plan d'incidence.

2. Coefficient de réflexion

La théorie des structures multicouches est exposée dans [1] (chap. I.6). En voici les principaux résultats.

Pour chaque couche, l'angle des rayons par rapport à l'axe z est donné par la loi de Descartes :

nisinθi=nksinθk

On définit pour chaque couche la phase suivante :

φk=2πλnkekcosθk

Pour une onde TE, on définit le paramètre suivant pour chaque couche et pour les milieux d'incidence et de transmission :

pk=nkccosθk

Dans le cas de l'onde TM, on pose :

pk=cnkcosθk

La matrice de transfert de la couche k est :

Mk=cosφkipksinφkipksinφkcosφk

Pour l'ensemble des N couches, la matrice de transfert est donnée par le produit suivant :

M=M1M2MN

Si la première interface est en z=0 et la dernière en z=L, la matrice permet d'exprimer les amplitudes des champs électrique et magnétique en z=0 en fonction des amplitudes en z=L. Ainsi, pour l'onde TE :

E(0)B(0)=ME(L)B(L)

Dans cette relation E(z) désigne l'amplitude du champ électrique (composante x) et B(z) celle du champ magnétique (composante y). Pour l'onde TM, il suffit d'inverser E et B.

La continuité des composantes tangentielles des champs en z=0 et z=L s'écrit :

Ei+Er=E(0)E(L)=EtB(0)=pi(Ei-Er)B(L)=ptEt

Si mij désigne l'élément de la ligne i et de la colonne j de la matrice M, le coefficient de réflexion est :

r=ErEi=(m11+m12pt)pi-(m21+m22pt)(m11+m12pt)pi+(m21+m22pt)

Le coefficient de transmission est :

t=EtEi=2pi(m11+m12pt)pi+(m21+m22pt)

Dans le cas de l'onde TM, ce coefficient de transmission doit être multiplié par ni/nt pour obtenir le rapport des amplitudes du champ électrique.

Les coefficients de réflexion et de transmission des puissances, appelés aussi facteurs de réflexion et de transmission, sont :

R=|r|2T=ptpi|t|2

Dans le cas de couches absorbantes (voir ci-dessous), le facteur d'absorption donne la fraction de puissance incidente absorbée dans la structure :

A=1-R-T

Remarques :

3. Matériaux absorbants

Pour un matériau diélectrique à pertes, la permittivité électrique comporte une partie imaginaire. L'indice de réfraction est dans ce cas :

n˜=εra-iεrb=n-iκ

La partie imaginaire est le facteur d'atténuation. Elle est ici négative en raison de la convention adoptée pour la dépendance temporelle des champs en exp(iωt).

Si le milieu est conducteur, l'équation de Maxwell-Ampère s'écrit avec la loi d'Ohm :

rotB=μ0γE+iωεrc2E

où une dépendance temporelle de la forme exp(iωt) est supposée (même hypothèse que pour le calcul présenté plus haut).

Ce matériau conducteur est donc équivalent à un milieu diélectrique (sans courant) d'indice:

n=εr-iγε0ω

Dans le domaine infrarouge et visible, cette relation ne présente pas d'intérêt car les variations de la conductivité avec la fréquence ne sont pas négligeables. Par exemple, le cuivre a une conductivité plus faible dans le bleu que dans le rouge.

Pour traiter des structures multicouches comportant une ou plusieurs couches conductrices, les calculs présentés plus haut sont utilisables avec cet indice complexe.

La densité de puissance moyenne absorbée par la matière est ([2] p.98) :

p=12|E|2Re(γ)+ωε0εrb

L'absorption est donc donnée par la partie réelle de la conductivité (effet Joule) et par la partie imaginaire de la permittivité relative (pertes diélectriques).

L'absorption apparait aussi dans la partie imaginaire du carré de l'indice complexe :

n˜2=εra+1ε0ωIm(γ)-iε0ωRe(γ)+ωε0εrb

On remarque qu'un facteur d'atténuation κ non nul ne signifie pas nécessairement qu'il y ait absorption : il faut aussi que la partie réelle de l'indice soit non nulle. Un exemple de milieu atténuant mais non absorbant est le plasma de faible densité, dont la conductivité est purement imaginaire.

4. Module Scilab

Le module scilab suivant (télécharger) permet d'effectuer ces calculs et de tracer les différentes courbes.

La fonction suivante calcule la matrice d'une couche. L'argument pola vaut 1 pour une onde TE et 0 pour une onde TM :

function [M]=matriceCouche(lambda,ni,thetai,pola,n,e)
    cosinus = sqrt(1-(ni/n*sin(thetai))^2);
    if pola==1 then
        p = n*cosinus;
    else
        p = cosinus /n;
    end,
    phi = 2*%pi/lambda*n*e*cosinus;
    M=[cos(phi),%i*sin(phi)/p;%i*p*sin(phi),cos(phi)]
endfunction
            

La structure mutlicouche est décrite par une matrice (2xN) dont chaque ligne donne l'indice et l'épaisseur de la couche correspondante. La fonction suivante calcule la matrice de la structure :

function [M]=matriceMultiCouches(lambda,ni,thetai,pola,couches)
    M = [1,0;0,1];
    s = size(couches);
    nc = s(1);
    for k=1:nc,
        M = M*matriceCouche(lambda,ni,thetai,pola,couches(k,1),couches(k,2));
    end,
endfunction
            

La fonction suivante calcule le coefficient de réflexion et de transmission :

function [r,t]=coefficientsRT(lambda,ni,thetai,nt,pola,couches)
    if pola==1 then 
        pi = ni*cos(thetai);
        pt = nt*sqrt(1-(ni/nt*sin(thetai))^2);
    else 
        pi = cos(thetai)/ni;
        pt = sqrt(1-(ni/nt*sin(thetai))^2)/nt;
    end,
    m = matriceMultiCouches(lambda,ni,thetai,pola,couches);
    a = (m(1,1)+m(1,2)*pt)*pi;
    b = m(2,1)+m(2,2)*pt;
    r = (a-b)/(a+b);
    if pola==1 then
        t = 2*pi/(a+b);
    else
        t = 2*pi/(a+b)*ni/nt;
    end,
endfunction

            

la fonction suivante calcule les coefficients de réflexion et de transmission des puissances :

function [R,T]=coefficientsRTpuissances(lambda,ni,thetai,nt,pola,couches)
    [r,t] = coefficientsRT(lambda,ni,thetai,nt,pola,couches);
    R=abs(r)^2;
    if pola==1 then 
            pi = ni*cos(thetai);
            pt = nt*sqrt(1-(ni/nt*sin(thetai))^2);
    else 
            pi = cos(thetai)/ni;
            pt = sqrt(1-(ni/nt*sin(thetai))^2)/nt;
    end,
    T = pt/pi*abs(t)^2;
endfunction 
            

La fonction suivante fait le calcul pour une liste d'angles d'incidence :

function [r,t]=coefRT(lambda,ni,listThetai,nt,pola,couches)
    np = length(listThetai);
    r = zeros(np);
    t = zeros(np);
    for i=1:np,
        [r(i),t(i)] = coefficientsRT(lambda,ni,listThetai(i),nt,pola,couches);
    end,
endfunction
            

Celle-ci fait la même chose pour les coefficients de réflexion et de transmission des puissances :

function [r,t]=coefRTpuissances(lambda,ni,listThetai,nt,pola,couches)
    np = length(listThetai);
    r = zeros(np);
    t = zeros(np);
    for i=1:np,
        [r(i),t(i)] = coefficientsRTpuissances(lambda,ni,listThetai(i),nt,pola,couches);
    end,
endfunction
            

Test du module avec une structure à zéro couches (interface entre deux milieux) :

getf('multilayer.sci');
angles = linspace(0,90,90);
[re,te]=coefRTpuissances(1,1,angles*%pi/180,1.5,1,[]);
[rm,tm]=coefRTpuissances(1,1,angles*%pi/180,1.5,0,[]);
            
plotA=scf();
plot2d(angles,re,style=4);
plot2d(angles,rm,style=5);
legend('TE','TM');
xtitle('n1=1, n2=1.5','theta1','R');
            
../../../../figures/sciphys/elecmag/multicouches/plotA.svgFigure pleine page

Autre exemple : une couche anti-reflet, d'épaisseur égale à un quart de longueur d'onde :


n=sqrt(1.5);
[re,te]=coefRTpuissances(1,1,angles*%pi/180,1.5,1,[n,0.25]);
[rm,tm]=coefRTpuissances(1,1,angles*%pi/180,1.5,0,[n,0.25]);  
            
plotB=scf();
plot2d(angles,re,style=4);
plot2d(angles,rm,style=5);
legend('TE','TM');
xtitle('','theta1','R');
            
../../../../figures/sciphys/elecmag/multicouches/plotB.svgFigure pleine page
Références
[1]  M. Born, E. Wolf,  Principles of Optics,  (Pergamon Press, 1980)
[2]  R. Petit,  Ondes électromagnétiques en radioélectricité et en optique,  (Masson, 1993)
Creative Commons LicenseTextes et figures sont mis à disposition sous contrat Creative Commons.