• Aucun résultat trouvé

2 Mod` ele 1D

N/A
N/A
Protected

Academic year: 2022

Partager "2 Mod` ele 1D"

Copied!
12
0
0

Texte intégral

(1)

MAP 431

Contrˆ ole non destructif et imagerie par ultrason dans les guides d’ondes

E. Lun´eville

eric.luneville@ensta.fr

2012

L’utilisation des ondes pour inspecter des structures, d´etecter des objets, qualifier des milieux n’est pas nouvelle (radiographie, radar, sonar, ´echographie, tomographie, ...). Bien ´evidemment ces techniques ne sont pas destructives. Aujourd’hui on cherche `a les g´en´eraliser `a des structures de plus en plus complexes pour d´etecter des d´efauts soit lors d’un processus industriel (contrˆole de qualit´e) soit lors d’un contrˆole de s´ecurit´e (d´etection de fissures dans les cuves de centrale nucl´eaire, de d´elaminage dans les composites dont sont faites les ailes d’avions, ...). Le contrˆole non destructif vise `a d´efinir une proc´edure, si possible rapide et tr`es fiable, permettant de d´etecter la pr´esence de certains types de d´efauts sans forc´ement les quantifier.

Il s’agit donc de mettre au point les param`etres d’une exp´erimentation en utilisant des outils de simulation num´erique. Plus ambitieux mais plus difficile `a mettre au point et plus coˆuteuse, l’imagerie vise `a fournir une repr´esentation plus pr´ecise du d´efaut.

Dans ce projet, nous allons nous int´eresser `a la situation des guides d’ondes qui pr´esentent quelques par- ticularit´es : propagation sur de longues distances d’ondes privil´egi´ees (modes) mais en quantit´e limit´ee. A titre d’exemple, citons la d´etection par ultrason de d´efauts dans des structures inaccessibles (cables enterr´es, pipeline enterr´e, tuyauterie dans des zones irradi´ees). Rappelons que les ultrasons sont des ondes acoustiques dans l’air et des ondes ´elastodynamiques dans des milieux ´elastiques. Pour simplifier ce projet, nous nous placerons dans le cadre des ´equations de l’acoustique.

1 Propagation dans les guides d’ondes

On consid`ere le probl`eme de propagation acoustique en r´egime harmonique (d´ependance ene−iωt) dans un guide d’onde (2D) W = ]−∞,∞[×]0, h[ :

4u+k02u= 0 sur W

nu= 0 sur ∂W

o`uk0=ω/c0 (c0 c´el´erit´e du son dans le milieu homog`ene),u repr´esente la pression accoustique.

Ce probl`eme admet des solutions particuli`eres, appel´ees modes guid´es,∀n≥0:

Φ±n(x, y) =ancos(nπ

h y)e±iβnx avec βn=

r

k02−nπ h

2

(Re(βn)≥0 et Im(βn)≥0).

(2)

Lorsque n≤ k0πhn r´eel),Φ+n (resp. Φn) est un mode propagatif suivant lesx >0 (resp.x <0) et lorsque n > k0πhn imaginaire pur), Φ+n (resp. Φn) est un mode, dit ´evanescent, exponentiellement d´ecroissant suivant les x >0 (resp.x <0). an est un coefficient complexe non nul arbitraire. On le choisit de telle sorte que les fonctions

cn(y) =ancos(nπ h y) soient normalis´ees dans L2(]0, h[) :

kcnkL2(]0,h[) = 1.

On s’int´eresse maintenant au probl`eme de la diffraction d’un mode propagatif (Φ±n) par un d´efaut localis´e que l’on va mod´eliser par une perturbation du nombre d’onde :

k(x, y) =k0(1 +η(x, y))

o`uη est une fonction L `a support compact dans ]−a, a[×]0, h[ (a >0); le support repr´esente la position du d´efaut. Par la suite, on notera Γ le bord du d´efaut.

Le champ acoustique correspondant u±n v´erifie les ´equations suivantes (ν normale sortante):

















4u±n +k2(x, y)u±n = 0 dans W

νu±n = 0 sur ∂W [u±n] = [∂νu±n] = 0 sur Γ u±n −Φ±n =X

n≥0

µnΦ+n x > a u±n −Φ±n =X

n≥0

νnΦn x <−a

La troisi`eme relation traduit les conditions de transmission `a l’interface entre les deux milieux (raccord de la pression et de la vitesse normale) et les deux derni`eres conditions expriment que le champ diffract´e (champ total - champ incident) est un champ se d´ecomposant sur les modes ”sortants”. Il ne revient pas des ondes de l’infini !

Remarque 1 Ce mod`ele peut ˆetre justifier par le principe d’absorption limite, qui consiste `a ajouter une partie imaginaire positive au nombre d’onde (amortissement), `a chercher une solution dans H1(W) (il en existe une et une seule), puis `a consid´erer la solution limite lorsque cette partie imaginaire tend vers 0.

2 Mod` ele 1D

Lorsque le nombre d’onde ou la hauteur est petit (kh < π) il n’y a qu’un seul mode propagatif Φ±0(x, y) = a0e±ik0x. On est alors proche de la solution monodimensionnelle (k(x) =k0(1 +γ(x)):





(u±)00+k2(x)u±= 0 dansR [u±] = [∂xu±] = 0 en x=±a u±=e±ik0x+µeik0x x > a u±=e±ik0x+νe−ik0x x <−a

Remarque 2 Lorsqueη est seulement une fonction dex `a support dans ]−a, a[, on retrouve ce mod`ele en consid´erant la moyenne du champ u sur la hauteur.

(3)

Les conditions `a l’infini peuvent ˆetre remplac´ees par les conditions locales suivantes (b > a) : ∂xu+ =ik0u+ enx=b

xu+ =−ik0u++ 2ik0e−ik0b enx=−b

et

xu=ik0u−2ik0e−ik0b enx=b

xu=−ik0u enx=−b . Conservation d’´energie

En multipliant l’´equation constitutive paru et en int´egrant sur l’intervalle ]−b, b[ on montre que

|u+(b)|2+|u+(−b)−e−ikb|2= 1,

|u(−b)|2+|u(b)−e−ikb|2= 1,

o`u |u+(b)|2 (resp. |u(−b)|2) repr´esente le coefficient de transmission et |u+(−b)−e−ikb|2 (resp. |u(b)− e−ikb|2) le coefficient de transmission.

Sch´ema aux diff´erences finies

Pour r´esoudre les probl`emes 1D pr´ec´edents, on propose d’utiliser le sch´ema aux diff´erences finies suivant sur la grille r´eguli`ere xj =−b+ (j−1)∆x, j = 1, N, ∆x = N−12b , uj d´esignant une approximation de u `a l’abcisse xj :













u+j+1+u+j−1−2u+j

∆x2 +k2(xj)u+j = 0 j= 2, N u+2 −u+1

∆x +ik0u+1 + ∆x

2 k02u+1 = 2ik0e−ik0b j= 1 u+N−1−u+N

∆x +ik0uN +∆x

2 k02u+N = 0 j=N et













uj+1+uj−1−2uj

∆x2 +k2(xj)uj = 0 j= 2, N u2 −u1

∆x +ik0u1 +∆x

2 k20u1 = 0 j= 1 uN−1−uN

∆x +ik0uN+ ∆x

2 k02uN = 2ik0e−ik0b j=N .

Remarque 3 Dans l’approximation des conditions aux limites, on a introduit un terme de correction (2xk20u±1) afin de rendre le sch´ema d’ordre 2. Sans cette correction il serait seulement d’ordre 1 !

Ces sch´emas se mettent sous la forme de syst`eme lin´eaires d’ordreN : AU+=F+ etAU=F, avec F+= (2ik0e−ik0b,0, ...,0)t etF+= (0, ...,0,2ik0e−ik0b)t.

(4)

Programmation Scilab

Ecrire une fonction Scilab qui `a partir des donn´ees (k0,b,N) et de la fonction γ construit la matriceA, les vecteurs second membre F±. R´esoudre les syst`emes lin´eaires et repr´esenter les solutionsU± obtenues.

Pour valider le code de calcul, on commencera par tester le casγ = 0 qui conduit aux solution u±=e±ik0x. On tracera (en ´echelle logarithmique) la courbe d’erreur L2 en fonction du pas de discr´etisation ∆x. Une approximation de l’erreur L2 est donn´ee par

|v|L2 = s

∆x X

j=1,N

vj2.

On en profitera pour analyser la fa¸con de choisir le param`etre de discr´etisation N en fonction du nombre d’onde k0.

Dans un deuxi`eme temps, on repr´esentera la variation des coefficients de transmission et de r´eflexion en fonction de l’amplitude η de la perturbationγ(x) =ηχ]−a,a[(prendre k0 = 4,b= 2,a= 0.5,η ∈[−0.1,2]).

3 Mod` ele 2D

On s’int´eresse dor´enavant au cas d’un guide 2D. On note par la suiteO le d´efaut de bord Γ.

Perfectly Matched Layer (PML)

Afin de prendre en compte les conditions de rayonnement, nous proposons d’utiliser des couches parfaitement absorbantes dites PML qui pr´esentent la particularit´e d’absorber les modes sortants sans g´en´erer de modes r´efl´echis (couche absorbante adapt´ee). Soitα∈Cet la fonctionαequi vaut 1 pour|x|< aetαpour|x|> a.

On consid`ere le probl`eme pos´e en champ diffract´e (ν= (νx, νy) normale sortante) :

















 αe ∂

x

αe∂evn±

∂x

+∂2ev±n

∂y2 +k2(x, y)ev±n = (k20−k2(x, y))Φ±n dans Ωb =]−b, b[×]0, h[

νven±= 0 sur y= 0 ety=h, |x|< a

α2xevn±νx+∂yven±νy = 0 sur y= 0 ety=h, |x|> a

xven±= 0 sur x=−b etx=b

[ven±] = [∂νev±n] = 0 sur Γ

[ven±] = [α∂e xev±n] = 0 sur x=−a etx=a.

Montrer qu’une formulation variationnelle de ce probl`eme est :

trouverevn±∈H1(Ωb) tel que ∀v∈H1(Ωb) Z

b

α∂e xevn±xv+ Z

b

1

αe∂yevn±yv− Z

b

k2(x, y)

αe evn±v=− Z

O

(k02−k2(x, y))Φ±nv (1) Le champ total est alors donn´e par ue±n = ev±n + Φ±n. On peut d´emontrer (ce n’est pas demand´e ici) les propri´et´es suivantes :

(5)

• D`es queRe(α)>0, la formulation (1) rel`eve de l’alternative de Fredholm et admet une unique solution hormis un nombre au plus d´enombrable de fr´equencek0.

• Les constantes de propagation associ´ees aux modes de la couches PML sont donn´ees par βn,α = βαn.

• Lorsque b→+∞ ue±n converge (localement dansH1) vers u±n.

La seconde propri´et´e fournit la fa¸con dont il faut choisir le nombre complexe α afin que la couche soit absorbante. En effet, on a

Im(βn,α) = Re(α)Im(βn)−Im(α)Re(βn)

|α|2 .

Par cons´equent, siRe(α)<0 etIm(α)<0 les modes se propageant dans la direction desx >0 (Re(βn)≥0 et Im(βn)≥0) se transforment en modes d´ecroissant exponentiellement dans la direction des x >0 et les modes se propageant dans la direction des x < 0 (Re(βn) ≤ 0 et Im(βn) ≤ 0) se transforment en modes d´ecroissant exponentiellement dans la direction desx <0.

R´esolution par ´el´ements finis - freefem++

Il s’agit maintenant de r´esoudre le probl`eme variationnel (1) `a l’aide de FreeFEM++ en utilisant des ´el´ements finis de Lagrange d’ordre 2 (P2). Pour ce faire :

• on d´efinira un maillage `a partir des fronti`eres (border) des rectangles ]−b,−a[×]0, h[, ]−a, a[×]0, h[

et ]a, b[×]0, h[ ainsi que du d´efaut (prendre un disque de centre (x0, y0) et de rayonRdans un premier temps). Attention `a bien identifier `a l’aide de la m´ethoderegion les diff´erentes r´egions (zones PML gauche et droite, zone du d´efaut) ainsi que les fronti`eres int´erieures −a×]0, h[ et a×]0, h[ (utiliser un label dansborder).

• on d´efinira la forme bilin´eaire du probl`eme comme un objetvarfagissant sur des ´el´ements complexes de l’espace ´el´ements finis (par exemple Vh<complex> u,v et on l’associera `a une matrice complexe (matrix<complex>) avec l’option UMFPACK comme solveur.

• On calculera le second membre du probl`eme `a l’aide d’une int´egrale 2D sur la r´egion d´efinissant le d´efaut.

• Enfin on utilisera l’op´erareur ^-1pour r´esoudre le syst`eme lin´eaire.

Dans un premier temps, on r´esoudra le probl`eme pour un mode propagatif incident Φ±n et on dessinera la solution; seule la partie dans le domaine ]−a, a[×]0, h[ est pertinente ! Afin de valider la solution, on pourra observer deux ph´enom`enes : lorsque la taille du d´efaut devient petite la solution doit tendre vers 0 et la solution dans la zone pertinente doit ˆetre quasiment ind´ependante de la position des fronti`eres PML

−a×]0, h[ eta×]0, h[.

Exemple de param`etres : guide de hauteurh = 1, taille du domaine de calculb = 1, abcisse des fronti`eres PML a= 0.5, d´efaut circulaire centr´e en (0,0.15) de rayon 0.05, nombre d’onde du guide k0 = 50 (16 modes propagatifs) et dans le d´efautk1= 60, param`etre de PML α= 0.5−0.5i.

Calcul des coefficients de diffraction

Les coefficients de diffraction sont les composantes sur la base modale des champs diffract´es. En d’autres termes, on les d´efinit de la fa¸con suivante

(Sm+)+n =a Z h

0

vm+(a, y)cn(y)dy (Sm+)n =a

Z h 0

vm+(−a, y)cn(y)dy (Sm)+n =a

Z h 0

vm(a, y)cn(y)dy (Sm)n =a

Z h 0

vm(−a, y)cn(y)dy

(6)

On adaptera le code FreeFem++ pour qu’il r´ealise une boucle afin de calculer tous les coefficients de diffraction (Sm±)±n pour n, m= 0, ..., N o`uN est le nombre de modes quid´es. Ces coefficients seront stock´es sous une forme matricielle dans des fichiers, par exemple spp.dat,spm.dat,smp.dat,smm.dat. Attention, les coefficients de diffraction sont complexes, les stocker comme deux r´eels.

4 Imagerie par m´ ethode LSM

Cette derni`ere partie est consacr´ee `a la reconstruction de l’image du d´efaut par une m´ethode appel´ee Linear Sampling Method. Elle n’exploite que les matrices des coefficients de diffraction. Il serait trop long de la justifier ici et nous renvoyons `a [1] pour ceux que cela int´eresse. En pratique, pour tout point (x, y) de la zone d’inspection, on introduit le syst`eme lin´eaire d’inconnueh= ((hn)n=0,N,(h+n−)n=0,N) :

∀m≤N,









 X

n≤N

ena

n (Sn+)mhn + (Sn)mh+n

= em(a+x)m cm(y) X

n≤N

enan

(Sn+)+mhn + (Sn)+mh+n

= em(a−x)m

cm(y).

(2)

On montre que lorsque le point d’´echantillonnage (x, y) se situe `a l’ext´erieur du d´efaut, la norme L2 de la solution h est tr`es grande. Ainsi en repr´esentant −log(||h||2L) pour diff´erents points d’´echantillonnage on reconstruit une image du guide dans lequel le d´efaut ”apparaˆıt”.

On ´ecrira en Scilab, un script qui `a partir des matrices de diffraction r´esout le syt`eme pr´ec´edent pour des points situ´es sur une grille r´eguli`ere (meshgrid) et repr´esente−log(||h||L2)(utiliser la fonction surf).

Exemple de reconstruction : guide de hauteurh= 1, taille du domaine de calculb= 1, abcisse des fronti`eres PML a= 0.5, d´efaut circulaire centr´e en (0,0.15) de rayon 0.05, nombre d’onde du guide k0 = 50 (16 modes propagatifs) et dans le d´efautk1= 60, param`etre de PML α= 0.5−0.5i.

Par la suite on pourra tester diff´erentes configurations, diminuer ou augmenter la fr´equence, consid´erer plusieurs d´efauts circulaires ou des d´efauts de formes diff´erentes.

References

[1] L. Bourgeois, E. Lun´eville, The Linear Sampling Method in a waveguide : a modal formulation, Inverse Problems, vol. 24, pp. 015018, 2008

(7)

5 Correction

Mod`ele 1D code Scilab

Calcul de la matrice et des seconds membres du syst`eme lin´eaire function [ A, Fp ,Fm]= guide1D ( b , k0 ,N)

dx=2∗b / (N−1 ) ; x j=−b : dx : b ; A=−2∗speye(N,N ) ;

f o r j =1:N−1 do A( j +1 , j ) = 1 . ; A( j , j +1)=1.;

end

k2=(dxk0∗(1+gamma( x j ) ) ) . ˆ 2 f o r j =1:N−1 do

A( j , j )=A( j , j )+k2 ( j ) ; end

A( 1 , 1 ) = %ik0dx+k0k0∗dx∗dx /2−1;

A( 1 , 2 ) = 1 ;

A(N,N)=%ik0dx+k0k0∗dx∗dx /2−1;

A(N, N−1)=1;

Fp=zeros(N , 1 ) ; Fp(1)=2∗dx∗%i∗k0∗exp(−%i∗k0b ) ; Fm=zeros(N , 1 ) ; Fm(N)=−2∗dx∗%i∗k0exp(−%i∗k0∗b ) ; endfunction

Fonction γ

function y=gamma( x ) y=e t a( x<a & x>−a ) ; endfunction

Calcul de l’erreur L2 (γ = 0) i =0;b=2; k0 =2; e t a =0; a = 0 . 5 ; f o r N= 1 0 : 1 0 : 5 0 0 do

[ A, Fp ,Fm]= guide1D ( b , k0 ,N ) ; up=umfpack (A, ”\” , Fp ) ;

i=i +1;

h ( i )=2∗b / (N−1 ) ; x=−b : h ( i ) : b ;

e r=abs ( up−exp ( %ik0∗x ’ ) ) ; erL2 ( i )= s q r t ( h ( i ) )norm ( e r ) ; end

c l f

p l o t ( l o g ( h ) , l o g ( erL2 ) ) ;

Evolution des coefficients de transmission et de r´eflexion pour une perturbation homg`eneγ(x) =ηχ]−0.5,0.5[

c l e a r;

exec( ’ guide1D . s c i ’ ) ; exec( ’gamma . s c i ’ ) ; b=2;N=400; k0 =4; i =0;

f o r e t a =−0 . 9 : 0 . 0 1 : 2

[ A, Fp ,Fm]= guide1D ( b , k0 ,N ) ; up=umfpack (A, ”\” , Fp ) ;

i=i +1;

e t a s ( i )= e t a ;

rp ( i )= abs ( up(1)−exp(−%ik0∗b ) ) ˆ 2 ; tp ( i )= abs ( up (N) ) ˆ 2 ;

end

(8)

Figure 1: ErreurL2 en fonction du pas (´echelle logarithmique)

Figure 2: Evolution du coefficient de r´eflexion (rouge) et du coefficient de transmission (bleu) en fonction de l’amplitude η de la perturbation

f i g u r e ( ” BackgroundColor ” , [ 1 1 1 ] ) p l o t ( e t a s , tp , ’ red ’ ) ;

p l o t ( e t a s , rp ) ;

Mod`ele 2D

Calcul des matrices de diffraction `a l’aide de FreeFem++

// m a i l l a g e

r e a l a = 0 . 5 , b = 1 . 5 , h=1 , r = 0 . 0 5 , x0 =0 , y0 = 0 . 1 5 ; b o r d e r B1 ( t=−b,−a ){x=t ; y =0;}

b o r d e r B2 ( t=−a , a ) {x=t ; y =0;}

b o r d e r B3 ( t=a , b ) {x=t ; y =0;}

b o r d e r B4 ( t =0 ,h ) {x=b ; y=t ;} b o r d e r B5 ( t=b , a ) {x=t ; y=h ;} b o r d e r B6 ( t=a ,−a ) {x=t ; y=h ;} b o r d e r B7 ( t=−a ,−b ){x=t ; y=h ;} b o r d e r B8 ( t=h , 0 ) {x=b ; y=t ;}

b o r d e r B9 ( t =0 ,h ) {x=−a ; y=t ; l a b e l =1;}

b o r d e r B10 ( t=h , 0 ) {x=a ; y=t ; l a b e l =2;}

b o r d e r B11 ( t =0 ,2p i ){x=x0+rcos( t ) ; y=y0+rs i n( t ) ;}

(9)

i n t n=40 , p=b−a , q=2∗a ;

mesh Th=b u i l d m e s h ( B1 ( p∗n)+B2 ( q∗n)+B3 ( p∗n)+B4 ( n)+B5 ( p∗n)+B6 ( q∗n)+B7 ( p∗n)+B8 ( n)+B9 ( n)+B10 ( n)+B11 ( 2∗n ) ) ; plot(Th , w a i t=t r u e ) ;

cout<<” l i s t e d e s r e g i o n s ”<<e n d l ;

cout<< ” m a t e r i a u : ” << Th( a0 . 0 1 , 0 . 0 1 ) . r e g i o n << e n d l ; cout<< ” o b s t a c l e : ” << Th( x0 , y0 ) . r e g i o n << e n d l ;

cout<< ”PML+ : ” << Th ( ( a+b ) / 2 , h / 2 ) . r e g i o n << e n d l ; cout<< ”PML : ” << Th(−( a+b ) / 2 , h / 2 ) . r e g i o n << e n d l ; f e s p a c e Vh(Th , P2 ) ; // d e f i n i t i o n de l ’ e s p a c e

Vh<complex> u , v ; // d e f i n i t i o n de l ’ i n c o n n u e e t de l a f o n c t i o n t e s t

// d ´e f i n i t i o n d e s c o n s t a n t e s du p r o b l`e m e complex a l p h a =0.5∗(1−1 i ) ;

r e a l k0 =50 , k1 =60;

// modes p r o p a g a t i f s i n t np=k0∗h/ p i ;

cout<<” nombre de modes p r o p a g a t i f s = ”<<np+1<<e n d l ; cout<<” V a l e u r s d e s b e t a s : ” ;

r e a l[i n t] b e t a s ( np +1) , a s ( np + 1 ) ; f o r (i n t m=0;m<=np ;m++)

{

a s [m]=sqrt( 2 / h ) ;

b e t a s [m]=sqrt( k0 ˆ2−(m∗p i /h ) ˆ 2 ) ; }

a s [ 0 ] =sqrt( 1 / h ) ;

// d ´e f i n i t i o n de l a forme b i l i n ´e a i r e v a r f b f ( u , v)=

int2d(Th , 5 ) ( dx ( u )dx ( v)+dy ( u )dy ( v)−k0 ˆ2∗u∗v ) +int2d(Th , 0 ) ( dx ( u )dx ( v)+dy ( u )dy ( v)−k1 ˆ2∗u∗v )

+int2d(Th , 1 ) ( a l p h a∗dx ( u )dx ( v)+dy ( u )dy ( v ) / alpha−k0 ˆ2/ a l p h au∗v ) +int2d(Th , 2 ) ( a l p h a∗dx ( u )dx ( v)+dy ( u )dy ( v ) / alpha−k0 ˆ2/ a l p h au∗v ) ; matrix<complex> A=b f (Vh , Vh , s o l v e r=UMFPACK) ;

i n t n b i =100;

r e a l vmin =−0.5 ,vmax = 0 . 5 ; r e a l[i n t] i s o v ( n b i ) ;

f o r(i n t c =0; c<n b i ; c++) i s o v ( c )=vmin+c( vmax−vmin ) / ( nbi−1 ) ; // b o u c l e s u r l e s modes p r o p a g a t i f s + e t

complex [int,i n t] spp ( np+1 ,np +1) , spm ( np+1 ,np +1) , smp ( np+1 ,np +1) , smm( np+1 ,np + 1 ) ; f o r (i n t m=0;m<=np ;m++)

{

//mode +

f u n c p h i p=a s [m]cos(m∗p i∗y/h )exp( 1 ib e t a s [m]x ) ; v a r f l f p ( u , v)=int2d(Th , 0 ) ( ( k1ˆ2−k0 ˆ 2 )p h i pv ) ; complex [i n t] B=l f p ( 0 , Vh ) ; // s e c o n d membre u [ ] =Aˆ−1∗B ; // r ´e s o l u t i o n

f o r(i n t n=0;n<=np ; n++) // c o e f f i c i e n t s de d i f f r a c t i o n {

f u n c phinp=a s [ n ]cos( n∗p i∗y/h )exp( 1 ib e t a s [ n ]x ) ; spp (m, n)= i n t 1 d (Th , 2 ) ( phinp∗u ) ;

f u n c phinm=a s [ n ]cos( n∗p i∗y/h )exp(−1 ib e t a s [ n ]x ) ; spm (m, n)= i n t 1 d (Th , 1 ) ( phinm∗u ) ;

}

plot( u , f i l l =1 ,dim=2 , n b i s o=nbi , v i s o=i s o v ,cmm=”mode +”+m+” : champ d i f f r a c t e ” , v a l u e=t r u e , w a i t=t r u e ) ;

// modes

(10)

f u n c phim=a s [m]cos(m∗p i∗y/h )exp(−1 ib e t a s [m]x ) ; v a r f l f m ( u , v)=int2d(Th , 0 ) ( ( k1ˆ2−k0 ˆ 2 )phim∗v ) ; B=l f m ( 0 , Vh ) ; // s e c o n d membre

u [ ] =Aˆ−1∗B ; // r ´e s o l u t i o n

f o r(i n t n=0;n<=np ; n++) // c o e f f i c i e n t s de d i f f r a c t i o n {

f u n c phinp=a s [ n ]cos( n∗p i∗y/h )exp( 1 ib e t a s [ n ]x ) ; smp (m, n)= i n t 1 d (Th , 2 ) ( phinp∗u ) ;

f u n c phinm=a s [ n ]cos( n∗p i∗y/h )exp(−1 ib e t a s [ n ]x ) ; smm(m, n)= i n t 1 d (Th , 1 ) ( phinm∗u ) ;

} }

// s a u v e g a r d e d e s m a t r i c e s de d i f f r a c t i o n {o f s t r e a m o s ( ”param . d a t ” ) ;

os<<k0<<” ”<<h<<” ”<<np+1<<e n d l ; }

{o f s t r e a m o s ( ” spp . d a t ” ) ; f o r(i n t m=0;m<=np ;m++) {

f o r(i n t n=0;n<=np ; n++) os<<r e a l( spp (m, n))<<” ”<<imag( spp (m, n))<<” ” ; os<<e n d l ;

} };

{o f s t r e a m o s ( ”spm . da t ” ) ; f o r(i n t m=0;m<=np ;m++) {

f o r(i n t n=0;n<=np ; n++) os<<r e a l( spm (m, n))<<” ”<<imag( spm (m, n))<<” ” ; os<<e n d l ;

} };

{o f s t r e a m o s ( ”smp . da t ” ) ; f o r(i n t m=0;m<=np ;m++) {

f o r(i n t n=0;n<=np ; n++) os<<r e a l( smp (m, n))<<” ”<<imag( smp (m, n))<<” ” ; os<<e n d l ;

} };

{o f s t r e a m o s ( ”smm . d a t ” ) ; f o r(i n t m=0;m<=np ;m++) {

f o r(i n t n=0;n<=np ; n++) os<<r e a l(smm(m, n))<<” ”<<imag(smm(m, n))<<” ” ; os<<e n d l ;

} };

Programme Scilab de reconstruction

// L i n e a r s a m p l i n g dans un g u i d e d ’ onde c l e a r;

// l e c t u r e d e s m a t r i c e s de d i f f r a c t i o n f=mopen( ”param . dat ’ , ’ r t ’ ) ;

[ n , k , h , np]= m f s c a n f ( f , ’ %g %d %i ’ ) ; m c l o s e ( f ) ;

Rpp=f s c a n f M a t ( ” spp . dat ’ ) ; Rpm=fscanfMat( ”spm . dat ’ ) ; Rmp=f s c a n f M a t ( ”smp . dat ’ ) ; Rmm=fscanfMat( ”smm . dat ’ ) ; Smm=z e r o s ( np , np ) ;

Spm=z e r o s ( np , np ) ; Smp=z e r o s ( np , np ) ; Spp=z e r o s ( np , np ) ;

f o r n=1: np do

Smm( : , n)=Rmm( : , 2n−1)+%i∗Rmm( : , 2n ) ; Spm ( : , n)=Rpm( : , 2n−1)+%i∗Rpm( : , 2n ) ; Smp ( : , n)=Rmp( : , 2n−1)+%i∗Rmp( : , 2n ) ; Spp ( : , n)=Rpp ( : , 2n−1)+%i∗Rpp ( : , 2n ) ;

(11)

Figure 3: Partie r´eelle du champ diffract´e pour le mode incident Φ+0 k0= 50,k1 = 60 (16 modes propagatifs) et pour un d´efaut circulaire centr´e en (0,0.15) et de rayon 0.05

end ,

// c a l c u l d e s beta m f o r m=1: np do

b e t a s (m)= s q r t ( k ˆ2−((m−1)∗%pi/h ) ˆ 2 ) ; a (m)= s q r t ( 2 / h ) ;

end

a (1)= s q r t ( 1 / h ) ;

// c a l c u l de l a m a t r i c e LSM s = 0 . 5 ;

L=z e r o s ( 2∗np , 2np ) ; f o r m=1: np do

f o r n=1: np do

e=exp ( %i∗b e t a s ( n )s ) / ( 2%i∗b e t a s ( n ) ) ; L (m, n)= e∗Spm(m, n ) ;

L (m, n+np)= e∗Smm(m, n ) ; L (m+np , n)= eSpp (m, n ) ; L (m+np , n+np)= e∗Smp(m, n ) ; end

end

// i n v e r s i o n de L Lm1=i n v ( L ’L ) ;

// b o u c l e d ’ ´e c h a n t i l l o n n a g e R=1;

x=R : . 0 1 : R ; y = 0 : . 0 1 : 1 ;

[ X,Y]= m e s h g r i d ( x , y ) ; n b p t s=l e n g t h (X ) ; Xg=m a t r i x (X, 1 , n b p t s ) ; Yg=m a t r i x (Y, 1 , n b p t s ) ; B=z e r o s ( 2∗np , n b p t s ) ;

f o r m=1: np do

e=exp ( %i∗b e t a s (m)s ) / ( 2%i∗b e t a s (m) ) ;

B(m, : ) = a (m)∗c o s ( (m−1)∗%pi/h∗Yg ) .exp ( %i∗b e t a s (m)Xg ) ; B( np+m, : ) = a (m)∗c o s ( (m−1)∗%pi/h∗Yg ) .exp(−%i∗b e t a s (m)Xg ) ; end

f o r j =1: nbpts , Bj=B ( : , j ) ;

B ( : , j )=B ( : , j ) / norm ( Bj , 2 ) ;

(12)

Figure 4: Image reconstruite par LSM pour k0 = 50, k1 = 60 (16 modes propagatifs) et pour un d´efaut circulaire centr´e en (0,0.15) et de rayon 0.05

end ,

// r ´e s o l u t i o n eq LSM H=Lm1∗L ’B ;

Hn=o n e s ( 1 , 2np )( abs (H) .abs (H ) ) ; Z=m a t r i x (Hn , l e n g t h ( y ) , l e n g t h ( x ) ) ; // d e s s i n

s u r f (X, Y,−l o g ( Z ) , ’ f a c e c o l ’ , ’ i n t e r p ’ ) ; h f=g e t ( ” h d l ” ) ;

h f . c o l o r m o d e =−1;

f=g e t ( ” c u r r e n t f i g u r e ” ) ; f . c o l o r m a p=h s v c o l o r m a p ( 1 0 0 ) // p l o t d ´e f a u t

t =0:2∗%pi / 4 0 : 2%pi ; x0 =0; y0 = 0 . 1 5 ; r = 0 . 0 5 ;

param3d ( x0+rc o s ( t ) , y0+rs i n ( t ) ,−15+0∗t ) ; ax=g c a ( ) ;

ax . view=” 2d” ;

Références

Documents relatifs

Tracer le maximum de segments ne se croisant pas revient ` a faire une triangulation de l’int´ erieur du triangle ABC en utilisant les n points

Le r´ esultat obtenu est-il en accord avec la question pr´ ec´

[r]

Quelles sont les caract´eristiques observ´ees sur le march´e pour les produits spot et forward que le mod`ele 2 facteurs permet de reproduire?. Quels effets ne permet-il pas

A chaque alignement, est associ´ e un score (simple ici) suivant: pour chaque position on associe 0 si les 2 bases sont identiques, +1 si les deux bases sont diff´ erentes et +3 s’il

Cette sonde est constitu´ee d’un cˆ able coaxial analogue au pr´ec´edent et d’une tˆete de sonde comprenant une r´esistance R s de 9 MΩ en parall`ele avec un condensateur C

Pr´ eciser pour chaque point critique si f y admet un maximum local, un minimum local ou un point col

Cepen- dant, si on ajoute une variable explicative dans un mod` ele, le R 2 ne peut qu’augmenter, le R 2 n’est donc pas adapt´ e pour comparer entre eux des mod` eles avec un