Vous êtes sur la page 1sur 43

Ondes dans les materiaux micro-structures

Mod`eles elements finis avec FreeFem++


Vincent Laude
Institut FEMTO-ST, Universit
e de Franche-Comt
e et CNRS, Besancon, France
vincent.laude@femto-st.fr

17 decembre 2012

Introduction

FreeFem++

Cristaux 2D scalaires

Cristaux phononiques

Fibres optiques

Couplages

Agenda
1

Introduction

FreeFem++ : un langage pour ecrire des mod`eles delements


finis

Cristaux artificiels bidimensionnels, ondes scalaires

Cristaux phononiques : ondes elastiques dans les milieux


periodiques

Fibres et guides donde optiques

Couplages multi-physiques : est-ce si complique ?

2/44

Introduction

FreeFem++

Cristaux 2D scalaires

Cristaux phononiques

Fibres optiques

Couplages

Ce que peut resoudre la methode des elements finis


Toute equation aux derivees partielles
Lu = f
avec u(x, y ) une fonction, L un operateur differentiel contenant x,
u
es, f une force, et
y , u, u
x , y ... et des fonctions de ces quantit
des conditions aux limites du domaine.
Exemples :
Equation de Laplace : (u) = 0
Equation de Poisson : () =
Equation de Helmholtz : (cu) 2 u = 0
2

Equation donde : (cu) + tu2 = 0

3/44

Introduction

FreeFem++

Cristaux 2D scalaires

Cristaux phononiques

Fibres optiques

Couplages

Methodes numeriques pour les ondes


Il existe (bien entendu) de tr`es nombreuses methodes et variantes.
Je parle de ce que je connais un peu : optique et acoustique.
Equation donde (temps et espace ; propagation des ondes)
FDTD (finite-difference time-domain) ; dominante en optique
et electromagnetisme

Equation de Helmholtz (espace seul ; monochromatique ;


valeurs propres et modes)
Methodes de Fourier, ondes planes : historiquement
dominantes, peu adaptees aux domaines irreguliers ou de
geometrie complexe
Fonctions de Green, BIM (boundary integral method), MST
(multiple scattering theory ) : dominant pour les geometries
ouvertes (rayonnement)
FEM (finite element method) : adaptee aux domaines
compacts, modes propres. Tr`es presente en acoustique, moins
en optique/EM

4/44

Introduction

FreeFem++

Cristaux 2D scalaires

Cristaux phononiques

Fibres optiques

Couplages

Pourquoi FreeFem++ ?
Il existe de tr`es nombreux programmes et codes pour les
elements finis...
Comsol est aujourdhui dominant dans les journaux de
physique et physique appliquee. Comsol est une bote noire,
composee de modules (les physiques), qui peuvent interagir
entre eux (le concept de multiphysique). Relativement
programmable `a travers Matlab. Cher, voire tr`es cher...
FreeFem++ est un langage FEM (syntaxe c++),
open-source, evolutif, gratuit, developpe par des
mathematiciens appliques francais (F. Hecht, LJLL, UPMC).
Graphisme limite (mais export vers logiciels specialises),
maillage 2D complet, maillage 3D limite (mais interface
gmsh), mais acc`es total aux matrices et elements finis.

5/44

Introduction

FreeFem++

Cristaux 2D scalaires

Cristaux phononiques

Fibres optiques

Couplages

Exemple : cristaux phononiques

6/44

Introduction

FreeFem++

Cristaux 2D scalaires

Cristaux phononiques

Fibres optiques

Couplages

Formulation variationnelle de lequation de Helmholtz

Projection de lequation differentielle sur les fonctions test


Z
Z
2
dr v (r ) (c(r )u(r )) =
dr v (r )(r )u(r )

Theor`eme de Gauss (vrai en 2D et 3D)


Z
Z
Z
u
2
dr v (cu) dn vc
=
dr v u
n

R
Application des conditions aux limites : vc u
n est connu
Dirichlet : v = 0 sur une partie de
Neumann : c u
n = 0 sur le reste de

7/44

Introduction

FreeFem++

Cristaux 2D scalaires

Cristaux phononiques

Fibres optiques

Couplages

Theor`eme de Bloch-Floquet
Theorem (Bloch-Floquet)
Les modes propres de lequation de Helmholtz sont de la forme
u(r, t) = u(r) exp((t k r))
avec u(r) periodique.
FreeFem++ permet de definir un espace delements finis
periodiques
Il reste `a remplacer u = (
u k
u ) exp((t k r)) dans
toutes les formes variationnelles.
On obtient ainsi la structure de bande (k) par solution dun
probl`eme aux valeurs propres generalise.

8/44

Introduction

FreeFem++

Cristaux 2D scalaires

Cristaux phononiques

Fibres optiques

Couplages

Cristaux photoniques TE (1)


Equation de Helmholtz scalaire (Ez )
int i, j;
// Geometry
real a=1.0; // pitch
real d=0.9; // inclusion diameter
mesh Th;
int nnb=16; int nni=24;
border b1(t=-0.5,0.5) {x=a*t; y=-a/2.0; label=1;};
border b2(t=-0.5,0.5) {x=a/2.0; y=a*t; label=2;};
border b3(t=0.5,-0.5) {x=a*t; y=a/2.0; label=3;};
border b4(t=0.5,-0.5) {x=-a/2.0; y=a*t; label=4;};
border i1(t=0,2.0*pi) {x=d/2.0*cos(t); y=d/2.0*sin(t); label=5;};
Th=buildmesh(b1(nnb)+b2(nnb)+b3(nnb)+b4(nnb)+i1(nni));
plot (Th,wait=false);
// recover the regions
int mat=Th((a+d)/4.0,0.0).region;
int incl=Th(0.0,0.0).region;

9/44

Introduction

FreeFem++

Cristaux 2D scalaires

Cristaux phononiques

Fibres optiques

Couplages

Cristaux photoniques TE (2)


// Bloch-Floquet variables
real kx=0.0*pi; real ky=0.0*pi; real kz=0.0*pi;
// Finite element space
fespace Vh(Th, P2, periodic=[[1,x],[3,x],[2,y],[4,y]]);
Vh<complex> u, v;
// Material constants
real eps=3.48^2; // silicon
//real eps=2.13756^2; // LNO extraordinary
// Variational formulation
varf vb(u,v)=int2d(Th,mat)(eps*u*v)+int2d(Th,incl)(u*v);
macro Gx(u) (dx(u)-1i*kx*u) // EOM
macro Gy(u) (dy(u)-1i*ky*u) // EOM
macro Gz(u) (-1i*kz*u) // EOM
macro Gxp(u) (dx(u)+1i*kx*u) // EOM
macro Gyp(u) (dy(u)+1i*ky*u) // EOM
macro Gzp(u) (+1i*kz*u) // EOM
varf va(u,v)=int2d(Th)(Gxp(u)*Gx(v)+Gyp(u)*Gy(v)+Gzp(u)*Gz(v));

10/44

Introduction

FreeFem++

Cristaux 2D scalaires

Cristaux phononiques

Fibres optiques

Couplages

Cristaux photoniques TE (3)


// eigenvalues
int nev=32;
// number of computed eigenvalues
complex[int] ev(nev);
// to store eigenvalues
Vh<complex>[int] eVu(nev); // to store eigenvectors
real freq;
Vh ur;
int ncev; int nk=50;
ofstream f("bs_TE.dat");
matrix<complex> B=vb(Vh,Vh,solver=UMFPACK);
for (j=1;j<nk;j++) {
kx = real(j)/real(nk-1)*pi/a; ky = 0.0;
matrix<complex> A=va(Vh,Vh,solver=UMFPACK);
ncev=EigenValue(A,B,value=ev,tol=1e-18,maxit=0,ncv=0);
for (i=0;i<ncev;i++) {
freq=real(sqrt(ev[i]))/(2*pi);
f << kx/(2*pi) +" "+ ky/(2*pi) +" "+ kz/(2*pi) +" "+ freq << endl;
}
f << endl;

11/44

Introduction

FreeFem++

Cristaux 2D scalaires

Cristaux phononiques

Fibres optiques

Couplages

Cristaux photoniques TM
Equation de Helmholtz scalaire (Hz )
Idem que TE, il suffit de remplacer :
varf va(u,v)=int2d(Th,mat)((Gxp(u)*Gx(v)+Gyp(u)*Gy(v)+Gzp(u)*Gz(v))/eps1)
+int2d(Th,inc)((Gxp(u)*Gx(v)+Gyp(u)*Gy(v)+Gzp(u)*Gz(v))/eps2);
varf vb(u,v)=int2d(Th)(u*v);

12/44

Introduction

FreeFem++

Cristaux 2D scalaires

Cristaux phononiques

Fibres optiques

Couplages

Cristaux sonores
(1/p) = 2 /cS2 p
avec cS la vitesse acoustique. Equation identique aux cristaux
photoniques 2D TM !

13/44

Introduction

FreeFem++

Cristaux 2D scalaires

Cristaux phononiques

Fibres optiques

Couplages

Guides donde

14/44

Introduction

FreeFem++

Cristaux 2D scalaires

Cristaux phononiques

Fibres optiques

Couplages

Structure de bande complexe (1)


On repart des equations acoustiques plus compl`etes :
p(r, t) = (r)

v(r, t)
t

p(r, t)
= B(r) v(r, t)
t
Pour obtenir la formulation variationnelle :
Z
Z
drA(, q; , p) = (k) drB(, q; , p), (, q)

avec = v
1
1
1
A(, q; , p) = + ( )
p + 2 q p (
q )
p

1
1
B(, q; , p) = p (
q ) p q

15/44

Introduction

FreeFem++

Cristaux 2D scalaires

Cristaux phononiques

Fibres optiques

Couplages

Structure de bande complexe (2)

16/44

Introduction

FreeFem++

Cristaux 2D scalaires

Cristaux phononiques

Fibres optiques

Couplages

Structure de bande complexe (3)

17/44

Introduction

FreeFem++

Cristaux 2D scalaires

Cristaux phononiques

Fibres optiques

Couplages

Formulation faible de lelasticite 3D (1)


1

Equation de lelastodynamique
T +

2u
=f
t 2

Projection sur les fonctions test v


Z
Z
Z
2u
vf
v T +
v 2 =
t

Theor`eme de Gauss
Z
Z
Z
Z
2u
vT v Tn +
v 2 =
vf
t

18/44

Introduction

FreeFem++

Cristaux 2D scalaires

Cristaux phononiques

Fibres optiques

Couplages

Formulation faible de lelasticite 3D (2)

Loi de Hooke : TI = cIJ SJ avec S = u


Z
Z
Z
Z
2u
S(v)I cIJ S(u)J v Tn +
v 2 =
vf
t

R
Conditions aux limites : v Tn est connu
Dirichlet : v = 0 sur une partie de (blocage)
Neumann : Tn = 0 sur le reste de (traction nulle)

Cas monochromatique (ou excitation harmonique)


Z
Z
Z
Z
2
S(v)I cIJ S(u)J v Tn
v u =
vf

19/44

Introduction

FreeFem++

Cristaux 2D scalaires

Cristaux phononiques

Fibres optiques

Couplages

Mode de cavite phononique : tungst`ene in silicium

20/44

Introduction

FreeFem++

Cristaux 2D scalaires

Cristaux phononiques

Fibres optiques

Couplages

Representer les pertes materiaux ?

Solve elastodynamic equation, as a function of and k

2 ui
[cijkl uk,l ],j = [Ties ],j ,
t 2

Elastic constants tensor cijkl and mass density

Phonon damping introduced by viscoelastic tensor ijkl :


elastic constants become cijkl + iijkl

(1)

21/44

Introduction

FreeFem++

Cristaux 2D scalaires

Cristaux phononiques

Fibres optiques

Couplages

Perfectly matched layer


Afin de trouver les frequences de resonance dun resonateur
mecanique sur une surface, on peut utiliser une PML (couche
parfaitement absorbante ; sans reflexion).
Loi de Hooke dans la PML : TI = cIJ (1 f (r ))SJ , f (r ) une
fonction continue croissante de r
= 2 lignes de code dans FreeFem++.

22/44

Introduction

FreeFem++

Cristaux 2D scalaires

Cristaux phononiques

Fibres optiques

Couplages

Mod`ele des modes hybrides (Hx , Hy )

// Finite element space


fespace Vh(Th, [P2,P2]);
Vh [u,v], [uu,vv];
// Material constants
real eps=3.48^2; // core (silicon)
real epc=1.0;
// cladding (air)
real epd=1.0/epc-1.0/eps; // jump
// Variational formulation
varf vb([u,v],[uu,vv])=int2d(Th)(u*uu+v*vv);
// transverse rotational, divergence, and normal component
macro rot(u,v) (dx(v)-dy(u)) // EOM
macro div(u,v) (dx(u)+dy(v)) // EOM
macro normal(u,v) (N.x*u+N.y*v) // EOM
varf va([u,v],[uu,vv])=
int2d(Th,core)((rot(u,v)*rot(uu,vv)+div(u,v)*div(uu,vv)+kz*kz*(u*uu+v*vv))/eps)
+int2d(Th,clad)((rot(u,v)*rot(uu,vv)+div(u,v)*div(uu,vv)+kz*kz*(u*uu+v*vv))/epc
+int1d(Th,1,2,3,4)(div(u,v)*normal(uu,vv)*epd);

23/44

Introduction

FreeFem++

Cristaux 2D scalaires

Cristaux phononiques

Fibres optiques

Couplages

Guide donde rectangulaire

24/44

Introduction

FreeFem++

Cristaux 2D scalaires

Cristaux phononiques

Fibres optiques

Couplages

Modulation acousto-optique
Il suffit dune integrale de recouvrement des modes optiques et
acoustiques.

25/44

Introduction

FreeFem++

Cristaux 2D scalaires

Cristaux phononiques

Fibres optiques

Couplages

Modulation photo-structurale

26/44

Introduction

FreeFem++

Cristaux 2D scalaires

Cristaux phononiques

Fibres optiques

Couplages

Electrostriction des phonons

27/44

Introduction

FreeFem++

Cristaux 2D scalaires

Cristaux phononiques

Fibres optiques

Couplages

Couplage acoustique / elastique


Comment une membrane qui vibre communique telle son
mouvement `a lair (ou leau) ? Et le probl`eme inverse (le
micro, ou le transducteur) ?
Mod`ele elastique pour la membrane
Mod`ele acoustique pour lair ou leau
A linterface :
Lacceleration normale de la membrane cree une variation de
pression
2 un
1 p
=
t 2
F n
La pression du fluide exerce une force (de surface) sur la
membrane
Tij nj = pni

29/44

Introduction

FreeFem++

Cristaux 2D scalaires

Cristaux phononiques

Fibres optiques

Couplages

Couplage par les conditions aux limites


Dans de nombreux cas, le syst`eme considere est compose de
differentes regions, chacune gouvernee par un ensemble de lois
physiques
Couplage fluide - structure
Couplage acoustique - elastique (transducteurs acoustiques)
Couplage electrostatique - piezoelectrique

A linterface entre les regions, les conditions aux limites


permettent de coupler les equations delements finis :
Milieu 1 : A1 u1 + (integrale de fronti`ere sur u2 ) = f1
Milieu 2 : A2 u2 + (integrale de fronti`ere sur u1 ) = f2
Syst`eme complet


 

A1 C12
u1
f1
=
C21 A2
u2
f2

30/44

Introduction

FreeFem++

Cristaux 2D scalaires

Cristaux phononiques

Fibres optiques

Couplages

Credits
Merci `a...
Frederic Hecht et tous les contributeurs de FreeFem++, la
communaute des utilisateurs
Tous ceux `a qui je fais subir ma manie pour ce logiciel :
Rayisa Moiseyenko, cristaux phononiques, couplage
acoustique/elastique
Jean-Charles Beugnot, electrostriction des phonons
Jose Maria Escalante, cristaux photoniques et phononiques
Lyes Djoumi, resonateurs et perfectly matched layers
...

Et si vous etes interesses pour discuter ou collaborer, nhesitez


pas. ;)

31/44

Methode de Galerkin
Lu = f est definie sur un certain domaine . On choisit de
representer u sur une base de fonctions wj , soit
u=

n
X

aj w j

j=1

o`
u aj sont des coefficients (reels ou complexes).
On projete lequation differentielle sur les fonctions wi
Z
Z
wi Lu =
wi f , i = 1...n

On obtient une equation lineaire


Aa = f
avec Aij =
a = A1 f.

wi Lwj

et fi =

wi f .

La solution formelle est

32/44

Il ne faut pas avoir peur des equations lineaires !


Il existe beaucoup de programmes informatiques pour resoudre les
equations lineaires. Exemples : Matlab, Comsol, etc.
Inversion de matrice
A1 A = I
Probl`eme lineaire
Ax = f
Probl`eme aux valeurs propres
Ax = x
Probl`eme aux valeurs propres generalise
Ax = Bx

33/44

Maillage et regions

On divise le domaine en regions dans lesquelles les


coefficients de lequation differentielle sont homog`enes, ou
dans lesquelles on sait que la solution doit etre continue.
Chacune des regions est maillee. La qualite du maillage est
tr`es importante pour obtenir des solutions de qualite. Un
maillage trop serre conduit `a des temps de calcul tr`es longs ;
un maillage trop lache conduit `a des erreurs importantes.

34/44

Conditions aux limites


Le comportement de la solution aux fronti`eres est decrite par des
conditions aux limites (CL). Il en existe 2 types principaux
1

Dirichlet, ou conditions aux limites essentielles


u = 0, ou u = u0

Neumann, ou conditions aux limites naturelles


u
=0
n
o`
u n est la normale `a la fronti`ere

Les logiciels permettent aussi parfois des conditions de type mixte


(Neumann + Dirichlet), periodicite, symetrie, rayonnement,
absorption, etc.

35/44

Espace delements finis


Etant donne un domaine et son maillage Th, on choisit de
decrire la solution par un nombre fini de degres de liberte
(dof ), par exemple les valeurs nodales uje pour les j noeuds de
lelement e.
Lespace delements finis Wh est lensemble des fonctions
representables par ce choix. Propriete importante en pratique :
cest un espace fonctionnel de dimension finie.
Representation
P dans un elemente fini
u Nj (x, y ) sont les fonctions de
u e (x, y ) = j Nje (x, y )uje o`
base.
P
Il y a continuite de u(x, y ) = e u e (x, y ) entre les elements.

36/44

Formulation faible
Supposons que nous avons choisi un espace delements finis
Wh (pour un domaine et son maillage Th).
On remplace le probl`eme initial Lu = f par une
approximation :
R
R
Trouver u Wh tel que w Lu = wf pour toutes les
fonctions test w Wh.
u et w sont compl`etement determines par les valeurs aux
noeuds U = {uje } et W = {wje }.
Il existe donc une matrice K et un vecteur B tels que
WT K U = WT B, W
Et donc lequation lineaire : K U = B

37/44

Resolution pratique par le logiciel FEM ?

Dessiner (ou definir) le domaine et les regions

Mailler le domaine (discretisation du domaine)

Choisir le type des elements finis

Definir les conditions aux limites

Definir les coefficients des equations physiques, les constantes


utiles

Choisir le solveur (et ses options si necessaire)

Resoudre le probl`eme

Post-traiter les resultats

38/44

Elasticite 3D : Deformations
Soit un point x de coordonnees (x1 , x2 , x3 ).
ui
i
ui (x + dx) = ui (x) + u
xj dxj au premier ordre. xj est le
gradient des deplacements.
On separe ce gradient en partie symetrique (le tenseur des
deformations Sij ) et antisym
 etrique selon


uj
uj
ui
1 ui
1 ui
=
S
+
AS
,
S
=
+
et
AS
=

ij
ij
ij
ij
xj
2 xj
xi
2 xj
xi
Seule la partie symetrique du gradient des deplacements
mesure une deformation locale (la partie antisymetrique
mesure les rotations locales).
La dilatation (variation locale du volume) est
S = S11 + S22 + S33 = u.
Les termes S11 , S22 et S33 correspondent `a des mouvements
longitudinaux, les termes Sij , i 6= j, `a des mouvements de
cisaillement.

39/44

Elasticite 3D : Contraintes

Trois forces independantes sexercent sur


une surface : une contrainte de tractioncompression et deux contraintes de cisaillement.
Sur la face orthogonale `a x1 dun cube, la force par unite de
surface ou tension mecanique est T11 + T21 + T31 . Tij est un
tenseur de rang 2 symetrique, le tenseur des contraintes. Pour
une surface de normale n, la tension mecanique est le vecteur
Tij nj .
Lequation de la dynamique secrit (avec fi les forces internes)
Tij
2 ui
xj + fi = t 2

40/44

Elasticite 3D : Loi de Hooke


Lexperience montre que le comportement elastique de la
plupart des solides dans le cas de petites deformations obeit `a
la loi de Hooke :
Tij = cijkl Skl
cest-`a-dire que les contraintes sont une fonction lineaire des
deformations.
cijkl est le tenseur des rigidites, de rang 4. Il a a priori 34 = 81
composantes. Mais la symetrie de Tij et Skl impose que
cjikl = cijkl et cijkl = cijlk . Il ny a donc que 36 composantes
independantes au plus.
Avec la symetrie cijkl = cklij on tombe `a 21 composantes
independantes au plus.

41/44

Elasticite 3D : Notation contractee (ou matricielle)


(11) 1; (22) 2; (33) 3
(23) = (32) 4; (13) = (31) 5; (12) = (21) 6
TI = Tij ; cIJ = cijkl ; TI = cIJ SJ
S1 = S11 ; S2 = S22 ; S3 = S33 ; S4 = 2S23 ; S5 = 2S13 ; S6 = 2S12

42/44

Maillage 3D
Comme en 2D on peut mailler tout domaine connexe par des
triangles...
En 3D on peut utiliser des tetrah`edres

43/44

Elements finis vectoriels

On consid`ere le vecteur (u1 , u2 , u3 ).


Etant donne un domaine et son maillage Th, on decrit la
solution par un nombre fini de degres de liberte (dof ), les
valeurs nodales uije pour les j noeuds de lelement e.
Lespace delements finis Wh est lensemble (fini) des
fonctions representables par ce choix.
Representation
un element fini
P dans
e
e
u Nje (x, y ) sont les fonctions de
ui (x, y ) = j Nj (x, y )uije o`
base (comme dans le cas scalaire).
P
Il y a continuite de ui (x, y ) = e uie (x, y ) entre les elements.

44/44