La lecture en ligne est gratuite
Télécharger
Contents
Mise en œuvre des approches Di´erenceFinietVolumeFini
B. Nkonga
February 13, 2009
1Di´erenceFinipourSchr¨odingernonline´aire1D. 1.1Deuxidentite´s............................. 1.2Casquadratique,sche´madeCrank-Nicolson............ 1.3Sche´maderelaxation......................... 1.4 Cas critique. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2 Volume Fini pour Loi de Conservation 1D. 2.1Sch´emaetFluxNum´eriques..................... 2.2 Algorithme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.3 Mise en œuvre En fortran 90. . . . . . . . . . . . . . . . . . . . . 2.3.1De´clarationsEnfortran90.................. 2.3.2Sauvegardedelasolutiona`untempsdonn´e........ 2.4 Structuration du logiciel en fortran 90. . . . . . . . . . . . . . . 2.5FonctionsIntrine`quesUtililes.................... 2.6 Plan du travail . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.7FonctionsF90`autiliser......................
1
2 2 2 5 5
6 6 7 8 8 9 9 9 9 10
1
Di´erenceFinipour 1D.
Schr¨odinger
nonlin´eaire
Lebutdeceprojetestdemode`lisernume´riquementlapropagationdunfaisceau lasera`laidedele´quationdeSchr¨odingernonlin´eaire:
2 2σ +∂ u=ε|u|u, t[0, T], xR,(1 i∂tux) ou`u(t, x) : [0, T]×RC,ε=±1 etσ >0.|z|gise´dudomelenmbnodulere complexez. On se donneu0(x) :=u(0, x) pourxR. Poursimplierl´etude,nousallonsnousrestreindreaucasou`pourtouttemps t, l’applicationx7→u(t, x) est 2Lunurrtcenaipire´qidoopeuL >0 si bien qu’il sutde´tudierusur l’intervalle [L, L].
1.1Deuxidentit´es. 2 On se donneude classeC([0, T]×[L, L]) solution de (1). a.Montrer que pour toutt0 Z Z L L 2 2 |u(t, x)|dx=|u0(x)|dx. LL
(Indic:d´eriverlapremie`reint´egraleparrapporta`tet remplacertupar sa valeurdonn´eeparl´equation(1)). b.Montrer que pour toutt0 Z Z L L 1ε1ε 2 2σ+2 2 2σ+2 |xu(t, x)|+|u(t, x)|=|xu0(x)|+|u0(x)|. 2 2σ+ 2 2 2σ+ 2 LL
(Indic.: multiplier (1) part¯ursuregreint´[,L, L] enxet prendre la partie r´eelledure´sultat. iωt e2ω 2.0.Montrer que pour toutω >0, (t, x)7→ √est solution de (1). cosh(ωt)
1.2Casquadratique,sch´emadeCrank-Nicolson. Dans ce paragraphe, on se fixeσettreenplaceunem´et1h=oNd.euoasllnoms di´erencesniespourceprobl`eme.SoitT >se donne0. On NtetNxdes T2L nombres de pas de temps et d’espace et on poseδt= etδxpas= les NtNx n de temps et d’espace. On noteu(pourj=1`aNxetna`0=Nt) une valeur j approch´eedeu(nδt, jδxaconirelisfaesatAdn.)eosnpeot´ciidoire´pednoitid n n n n u=upour toutnetu=upour toutn.Lesch´emaauxdi´reneecs 0NxNx+1 1
2
niesse´crit " # n+1n n+1n+1n+1n n n uu(u2u+u) + (u2u+u) j j1j+1j j1j+1j j1 i+ 2 δt δx2  ! n+1 2n2n+1n |u|+|u|u+u j j j j =ε 2 2
(2)
pourj=a`1Nxetna`0=Nt.   n u 1 n  On poseU= et . n u Nx   2 1. . .0. . . . . .0. . .1 12 1. . .0. . .. . . 0. . . 1. . . . . . . . . . . . . . . M= 2 δx . . .0. . .12 1. . .0. . .     . . .0. . .. . . 0. . .12 1 1. . .0. . . . . .0. . .12   X1   PourX= et pour toute fonctionf:CC, on notef(X) le vecteur . XNx   f(X1)  Nx  et siXetYsont dansR, on note (comme en fortran 90!)X.Y . f(X) Nx leproduitterme`atermecesta`direlevecteurdecomposantesXiYi. 2.1.uqlertrenaitseuqsuivt´esssonantesedtavninairidstresc,tsonMi.e.toute solutionde(2)ve´rie
NxNx X X n2 0 2 |u|=|u|, j j j=1j=1
et N N xn n2x20 0 X X |uuu| j+1j|ε|uj+1jε0 4 n4 +|u|= +|u|. j j 2 2 δx2δx2 j=1j=1 2.2.tirce´ntreMo(2)srque
n+1n n+1n n+1 2n2n+1n UU U+U|U|+|U|U+U i+M=ε ..(3) δt2 2 2 2.3Lit´eration:neOcteulosnoitnueue´rede(3h´eeprocdeapohed´mtep)ra n+1n U+U N ite´rative.OnsedonneU, on prend comme inconnueZ= et (3) 2
3
s´ecrit:   n2n2 2i|2ZU|+|U| n (Zu) +M Z=ε .Z. δt2 n Pour trouverZ, on prendZ0=Uonconstruitparr´ceruercneteZppar   n2n2 2i|2ZpU|+|U| n (Zp+1u) +M Zp+1=ε .Zp+1. δt2
On pose   n2n2 2i ε|2ZpU|+|U| Mp=Id+M. δt2 2 2.3.aMontrer queMpest inversible (Calculer la partie imaginaire du produit scalaire deM XavecXpour tout vecteurX). 2.3.bMontrer que pour toutp
NxNx X X p2n2 |Z|=|u|. j j j=1j=1
On forme P Nxj j2 |ZZ| j=1p+1p εp=P Nx n2 |u| j=1j etonarrˆetelit´erationlorsqueεpest assez petit.
irDne´L, T , Nx, Nt. riee´udndEδt,δx.
Algorithme
rladenieeinonn´elaiti´Du0par ” function”. FabriquerM( si possible en en matrice creuse (”sparse” en scilab)). 2 2 nureloteeSnnodno:aritit´eurlnces´eratol=ηmin(δxδt , ). ` BOUCLE EN TEMPS :: POURi= 1 ANtFAIRE 1.re´sidu=1,Z=U, 2.tantquere´sidu>tol faire: 2i ε 2 2 FabriquerMp=Id+M(|2ZU|+|U|) δt2 (si possible en matrice creuse). 2i Rudre´esoMpY= . δt P Nx 2 |ZjYj| j=1 Caullc=udielrese´rP. n2 |u| j
4
Z:=Y. 3. fin 4. U=2Z-U
FIN DE LA BOUCLE EN TEMPS.
2.4.ical)bA.hcqaeuapnFortran90(etensglalreteemhtiroeIsdeneml´mp temps,sauverlesinvariantsdiscretsde´nisenII.1.. 4 2.6.On prendL= 5,T= 5,ω= 4,ηrreruemeuqltne01=´erirnumcule.Cal 2 Larepscleropitdualosulit´hmesaruedentepoonpr´ec´er´diuralsvteenedsrue NxetNt(Ex.:Nt=Nx= 50,100,200...eddrchusma´e?Q.eulroelts Jusieraposteriorilad´enitionduparame`tretol. 2.7.dituleruinceenapud`marerteEηlapr´ecision?Suralaripid´terus dexe´cution? 2.8.Commentez.Tracer les invariants discrets en fonction du temps.
1.3Sche´maderelaxation. On utilise maintenant n+1n n+1n n+1n uu u+u u+u n+1/2 i+M=εϕ ., δt2 2 (4) n+1/2n1/2 ϕ+ϕ n2 =|u|. 2 1/2 La valeur deϕest obtenue par un demi-pas de temps d’Euler explicite:
01/2 uu 0 0 2 0 i+M u=ε|u|u δt/2
1/21/2 2 etϕ=|u|. Impl´ementercesche´ma.Comparersesperformancesetsesr´esultatsparrap-portsauxpr´ece´dent(erreurparrapport`alasolutionexacte,invariants...)
1.4 Cas critique. Onconside`remaintenantσ= 2:
2 4 i∂tu+∂ u=ε|u|u. x
2 0.5x Adapterlesch´emadu3recace`erdnsaP.u0(x) =λeaugmenter. Faire λjusqu`avoiruneisgnluratie´R.a.egalliamelren
5