mod eles el ements nis avec freefem++ vincent...
TRANSCRIPT
Ondes dans les materiaux micro-structuresModeles elements finis avec FreeFem++
Vincent Laude
Institut FEMTO-ST, Universite de Franche-Comte et CNRS, Besancon, [email protected]
17 decembre 2012
Introduction FreeFem++ Cristaux 2D scalaires Cristaux phononiques Fibres optiques Couplages
Agenda
1 Introduction
2 FreeFem++ : un langage pour ecrire des modeles d’elementsfinis
3 Cristaux artificiels bidimensionnels, ondes scalaires
4 Cristaux phononiques : ondes elastiques dans les milieuxperiodiques
5 Fibres et guides d’onde optiques
6 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 ,y , u, ∂u
∂x , ∂u∂y ... et des fonctions de ces quantites, f une “force”, et
des conditions aux limites du domaine.Exemples :
Equation de Laplace : −∇ · (∇u) = 0
Equation de Poisson : −∇ · (ε∇φ) = ρ
Equation de Helmholtz : −∇ · (c∇u)− ω2u = 0
Equation d’onde : −∇ · (c∇u) + ρ∂2u∂t2 = 0
3/44
Introduction FreeFem++ Cristaux 2D scalaires Cristaux phononiques Fibres optiques Couplages
Methodes numeriques pour les ondes
Il existe (bien entendu) de tres nombreuses methodes et variantes.Je parle de ce que je connais un peu : optique et acoustique.
Equation d’onde (temps et espace ; propagation des ondes)
FDTD (finite-difference time-domain) ; dominante en optiqueet electromagnetisme
Equation de Helmholtz (espace seul ; monochromatique ;valeurs propres et modes)
Methodes de Fourier, ondes planes : historiquementdominantes, peu adaptees aux domaines irreguliers ou degeometrie complexeFonctions de Green, BIM (boundary integral method), MST(multiple scattering theory) : dominant pour les geometriesouvertes (rayonnement)FEM (finite element method) : adaptee aux domainescompacts, modes propres. Tres presente en acoustique, moinsen optique/EM
4/44
Introduction FreeFem++ Cristaux 2D scalaires Cristaux phononiques Fibres optiques Couplages
Pourquoi FreeFem++ ?
Il existe de tres nombreux programmes et codes pour leselements finis...
Comsol est aujourd’hui dominant dans les journaux dephysique et physique appliquee. Comsol est une “boıte noire”,composee de modules (les “physiques”), qui peuvent interagirentre eux (le concept de “multiphysique”). Relativementprogrammable a travers Matlab. Cher, voire tres cher...
FreeFem++ est un langage FEM (syntaxe c++),open-source, evolutif, gratuit, developpe par desmathematiciens appliques francais (F. Hecht, LJLL, UPMC).Graphisme limite (mais export vers logiciels specialises),maillage 2D complet, maillage 3D limite (mais interfacegmsh), mais acces 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 l’equation de Helmholtz
1 Projection de l’equation differentielle sur les fonctions test
−∫
Ωdr v(r)∇ · (c(r)∇u(r)) = ω2
∫Ω
dr v(r)ρ(r)u(r)
2 Theoreme de Gauss (vrai en 2D et 3D)∫Ω
dr ∇v · (c∇u)−∫σ
dn vc∂u
∂n= ω2
∫Ω
dr vρu
3 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
Theoreme de Bloch-Floquet
Theorem (Bloch-Floquet)
Les modes propres de l’equation 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 d’elements finisperiodiques
Il reste a remplacer ∇u = (∇u − ıku) exp(ı(ωt − k · r)) danstoutes les formes variationnelles.
On obtient ainsi la structure de bande ω(k) par solution d’unprobleme 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/c2Sp
avec cS la vitesse acoustique. Equation identique aux cristauxphotoniques 2D TM !
13/44
Introduction FreeFem++ Cristaux 2D scalaires Cristaux phononiques Fibres optiques Couplages
Guides d’onde
14/44
Introduction FreeFem++ Cristaux 2D scalaires Cristaux phononiques Fibres optiques Couplages
Structure de bande complexe (1)
On repart des equations acoustiques plus completes :
−∇p(r, t) = ρ(r)∂v(r, t)
∂t
∂p(r, t)
∂t= −B(r)∇ · v(r, t)
Pour obtenir la formulation variationnelle :∫Ω
drA(ψ, q;φ, p) = (ık)
∫Ω
drB(ψ, q;φ, p),∀(ψ, q)
avec φ = ıωα · v
A(ψ, q;φ, p) = ψ∗φ+ ψ∗1
ρ(α · ∇)p + ω2q∗
1
Bp − (∇q)†
1
ρ∇p
B(ψ, q;φ, p) = ψ∗1
ρp − (α · ∇q)∗
1
ρ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 l’elasticite 3D (1)
1 Equation de l’elastodynamique
−∇T + ρ∂2u
∂t2= f
2 Projection sur les fonctions test v
−∫
Ωv · ∇T +
∫Ωv · ρ∂
2u
∂t2=
∫Ωv · f
3 Theoreme de Gauss∫Ω∇vT −
∫σv · Tn +
∫Ωv · ρ∂
2u
∂t2=
∫Ωv · f
18/44
Introduction FreeFem++ Cristaux 2D scalaires Cristaux phononiques Fibres optiques Couplages
Formulation faible de l’elasticite 3D (2)
1 Loi de Hooke : TI = cIJSJ avec S = ∇u∫Ω
S(v)I cIJS(u)J −∫σv · Tn +
∫Ωv · ρ∂
2u
∂t2=
∫Ωv · f
2 Conditions aux limites :∫σ v · Tn est connu
Dirichlet : v = 0 sur une partie de σ (blocage)Neumann : Tn = 0 sur le reste de σ (traction nulle)
3 Cas monochromatique (ou excitation harmonique)∫Ω
S(v)I cIJS(u)J −∫σv · Tn − ω2
∫Ωv · ρu =
∫Ωv · f
19/44
Introduction FreeFem++ Cristaux 2D scalaires Cristaux phononiques Fibres optiques Couplages
Mode de cavite phononique : tungstene in silicium
20/44
Introduction FreeFem++ Cristaux 2D scalaires Cristaux phononiques Fibres optiques Couplages
Representer les pertes materiaux ?
1 Solve elastodynamic equation, as a function of ω and k
ρ∂2ui
∂t2− [cijkluk,l ],j = [T es
i ],j , (1)
2 Elastic constants tensor cijkl and mass density ρ
3 Phonon damping introduced by viscoelastic tensor ηijkl :elastic constants become cijkl + iωηijkl
21/44
Introduction FreeFem++ Cristaux 2D scalaires Cristaux phononiques Fibres optiques Couplages
Perfectly matched layer
Afin de trouver les frequences de resonance d’un resonateurmecanique sur une surface, on peut utiliser une PML (coucheparfaitement absorbante ; sans reflexion).
Loi de Hooke dans la PML : TI = cIJ(1− ıf (r))SJ , f (r) unefonction continue croissante de r
= 2 lignes de code dans FreeFem++.
22/44
Introduction FreeFem++ Cristaux 2D scalaires Cristaux phononiques Fibres optiques Couplages
Modele 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 d’onde rectangulaire
24/44
Introduction FreeFem++ Cristaux 2D scalaires Cristaux phononiques Fibres optiques Couplages
Modulation acousto-optique
Il suffit d’une integrale de recouvrement des modes optiques etacoustiques.
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 t’elle sonmouvement a l’air (ou l’eau) ? Et le probleme inverse (lemicro, ou le transducteur) ?
Modele elastique pour la membrane
Modele acoustique pour l’air ou l’eau
A l’interface :
L’acceleration normale de la membrane cree une variation depression
∂2un
∂t2=
1
ρF
∂p
∂n
La pression du fluide exerce une force (de surface) sur lamembrane
Tijnj = −pni
29/44
Introduction FreeFem++ Cristaux 2D scalaires Cristaux phononiques Fibres optiques Couplages
Couplage par les conditions aux limites
Dans de nombreux cas, le systeme considere est compose dedifferentes regions, chacune gouvernee par un ensemble de loisphysiques
Couplage fluide - structureCouplage acoustique - elastique (transducteurs acoustiques)Couplage electrostatique - piezoelectrique
A l’interface entre les regions, les conditions aux limitespermettent de coupler les equations d’elements finis :
Milieu 1 : A1u1 + (integrale de frontiere sur u2) = f1
Milieu 2 : A2u2 + (integrale de frontiere sur u1) = f2
Systeme complet(A1 C12
C21 A2
)(u1
u2
)=
(f1
f2
)
30/44
Introduction FreeFem++ Cristaux 2D scalaires Cristaux phononiques Fibres optiques Couplages
Credits
Merci a...
Frederic Hecht et tous les contributeurs de FreeFem++, lacommunaute des utilisateurs
Tous ceux a qui je fais subir ma manie pour ce logiciel :
Rayisa Moiseyenko, cristaux phononiques, couplageacoustique/elastiqueJean-Charles Beugnot, electrostriction des phononsJose Maria Escalante, cristaux photoniques et phononiquesLyes Djoumi, resonateurs et perfectly matched layers...
Et si vous etes interesses pour discuter ou collaborer, n’hesitezpas. ;)
31/44
Methode de Galerkin
Lu = f est definie sur un certain domaine Ω. On choisit derepresenter u sur une base de fonctions wj , soit
u =n∑
j=1
ajwj
ou aj sont des coefficients (reels ou complexes).On projete l’equation differentielle sur les fonctions wi∫
ΩwiLu =
∫Ω
wi f , ∀i = 1...n
On obtient une equation lineaire
Aa = f
avec Aij =∫
Ω wiLwj et fi =∫
Ω wi f . La solution formelle esta = A−1f.
32/44
Il ne faut pas avoir peur des equations lineaires !
Il existe beaucoup de programmes informatiques pour resoudre lesequations lineaires. Exemples : Matlab, Comsol, etc.
Inversion de matriceA−1A = I
Probleme lineaireAx = f
Probleme aux valeurs propres
Ax = λx
Probleme aux valeurs propres generalise
Ax = λBx
33/44
Maillage et regions
On divise le domaine Ω en regions dans lesquelles lescoefficients de l’equation differentielle sont homogenes, oudans lesquelles on sait que la solution doit etre continue.
Chacune des regions est maillee. La qualite du maillage esttres importante pour obtenir des solutions de qualite. Unmaillage trop serre conduit a des temps de calcul tres longs ;un maillage trop lache conduit a des erreurs importantes.
34/44
Conditions aux limites
Le comportement de la solution aux frontieres est decrite par desconditions aux limites (CL). Il en existe 2 types principaux
1 Dirichlet, ou conditions aux limites essentiellesu = 0, ou u = u0
2 Neumann, ou conditions aux limites naturelles
∂u
∂n= 0
ou n est la normale a la frontiere
Les logiciels permettent aussi parfois des conditions de type mixte(Neumann + Dirichlet), periodicite, symetrie, rayonnement,absorption, etc.
35/44
Espace d’elements finis
Etant donne un domaine Ω et son maillage Th, on choisit dedecrire la solution par un nombre fini de degres de liberte(dof ), par exemple les valeurs nodales ue
j pour les j noeuds del’element e.
L’espace d’elements finis Wh est l’ensemble des fonctionsrepresentables par ce choix. Propriete importante en pratique :c’est un espace fonctionnel de dimension finie.
Representation dans un element finiue(x , y) =
∑j Ne
j (x , y)uej ou Ne
j (x , y) sont les fonctions debase.
Il y a continuite de u(x , y) =∑
e ue(x , y) entre les elements.
36/44
Formulation faible
Supposons que nous avons choisi un espace d’elements finisWh (pour un domaine Ω et son maillage Th).
On remplace le probleme initial Lu = f par uneapproximation :Trouver u ∈Wh tel que
∫Ω wLu =
∫Ω wf pour toutes les
fonctions test w ∈Wh.
u et w sont completement determines par les valeurs auxnoeuds U = ue
j et W = w ej .
Il existe donc une matrice K et un vecteur B tels que
WTKU = WTB,∀W
Et donc l’equation lineaire : KU = B
37/44
Resolution pratique par le logiciel FEM ?
1 Dessiner (ou definir) le domaine et les regions
2 Mailler le domaine (discretisation du domaine)
3 Choisir le type des elements finis
4 Definir les conditions aux limites
5 Definir les coefficients des equations physiques, les constantesutiles
6 Choisir le solveur (et ses options si necessaire)
7 Resoudre le probleme
8 Post-traiter les resultats
38/44
Elasticite 3D : Deformations
Soit un point x de coordonnees (x1, x2, x3).ui (x + dx) = ui (x) + ∂ui
∂xjdxj au premier ordre. ∂ui
∂xjest le
gradient des deplacements.
On separe ce gradient en partie symetrique (le tenseur desdeformations Sij) et antisymetrique selon∂ui∂xj
= Sij + ASij , Sij = 12
(∂ui∂xj
+∂uj∂xi
)et ASij = 1
2
(∂ui∂xj− ∂uj
∂xi
)Seule la partie symetrique du gradient des deplacementsmesure une deformation locale (la partie antisymetriquemesure les rotations locales).
La dilatation (variation locale du volume) estS = S11 + S22 + S33 = ∇ · u.
Les termes S11, S22 et S33 correspondent a des mouvementslongitudinaux, les termes Sij , i 6= j , a des mouvements decisaillement.
39/44
Elasticite 3D : Contraintes
Trois forces independantes s’exercent surune surface : une contrainte de traction-compression et deux contraintes de ci-saillement.
Sur la face orthogonale a x1 d’un cube, la force par unite desurface ou tension mecanique est T11 + T21 + T31. Tij est untenseur de rang 2 symetrique, le tenseur des contraintes. Pourune surface de normale n, la tension mecanique est le vecteurTijnj .
L’equation de la dynamique s’ecrit (avec fi les forces internes)∂Tij
∂xj+ fi = ρ∂
2ui∂t2
40/44
Elasticite 3D : Loi de Hooke
L’experience montre que le comportement elastique de laplupart des solides dans le cas de petites deformations obeit ala loi de Hooke :
Tij = cijklSkl
c’est-a-dire que les contraintes sont une fonction lineaire desdeformations.
cijkl est le tenseur des rigidites, de rang 4. Il a a priori 34 = 81composantes. Mais la symetrie de Tij et Skl impose quecjikl = cijkl et cijkl = cijlk . Il n’y a donc que 36 composantesindependantes au plus.
Avec la symetrie cijkl = cklij on tombe a 21 composantesindependantes 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 = cIJSJ
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 destriangles...
En 3D on peut utiliser des tetrahedres
43/44
Elements finis vectoriels
On considere le vecteur (u1, u2, u3).
Etant donne un domaine Ω et son maillage Th, on decrit lasolution par un nombre fini de degres de liberte (dof ), lesvaleurs nodales ue
ij pour les j noeuds de l’element e.
L’espace d’elements finis Wh est l’ensemble (fini) desfonctions representables par ce choix.
Representation dans un element finiuei (x , y) =
∑j Ne
j (x , y)ueij ou Ne
j (x , y) sont les fonctions debase (comme dans le cas scalaire).
Il y a continuite de ui (x , y) =∑
e uei (x , y) entre les elements.
44/44