Documente Academic
Documente Profesional
Documente Cultură
Equation donde
Equation de Shrodinger
Etc
Equation donde
Equation de Shrodinger
Leur rsolution est souvent plus complexe que les quations 1 seul paramtre
(ODE), et fait intervenir des grilles car il faudra discrtiser tous les paramtres
Par exemple : Une grille 3D pour lespace et une grille 1D pour le temps
Soit on travail dans lespace de Fourrier (dcomposition des fonctions sur une base
de fourrier) , et les mthodes seront appeles Spectrales. On travaille sur une base
finie (donc incomplte) sur laquelle les solutions se dcomposent. On aura donc une
grille qui contiendra les termes de la dcomposition.
Drive totale
Du
= f (r , t )
Dt
u u x u y u z
= f (r , t )
+
+
+
t x t y t z t
u r r
+ v u = f ( r , t )
t
v scalaire gradient de u
t u ( x, t ) + c x u ( x, t ) = f ( x, t )
drive partielle
par rapport au temps
drive partielle
par rapport lespace
Les caractristiques.
Une proprit remarquable de lquation d'advection (que lon retrouve
dans les quations dondes) est que la solution se propage linairement
la vitesse C. On appelle cela une courbe caractristique.
Cette proprit va nous tre trs utile.
t u ( x, t ) + c x u ( x, t ) = f ( x, t )
Faisons le changement de variables suivant :
u ( x, t ) = U ( X , T )
U
U
dT
dX +
du =
T
X
u U X U T
x = X x + T x
u = U X + U T
t X t T t
U
U
u
x = X + T
u = U + U
t
X
T
Comment se rcrit alors lquation d'advection ?
U
U
=0
( + c )
+ ( + c )
T
X
si on prend = -c alors l' quation devient
U
=0
T
Donc u(x,t)=U(X)=u(x-ct)=u(x-ct)
Donc u reste constant le long des droites x-ct=cste
t=x/c+ cste
t=
x/
c+
an
t=
x/
c+
a3
t=
x/
c+
a1
t=
x/
c+
a0
0
Xmin
Xmax
Exemple :
Supposons que U(x,0) =
Alors U(x,0) se propage la vitesse c
t
r
ca
Xmin
r
ct
is
u
tiq
Xmax
unj
J=nb de boites en X
N= nb de boites en T
Soit Un j lapproximation
numrique de u(xj, tn)
dt
b
0 a
Ltat initial du systme est
donn par U0j pour tout j = u(xj,0)
dx
Uj
espace
n varie de 1 N
j varie de 1 J
t u ( x, t ) + c x u ( x, t ) = 0
Appliquons des mthodes dordre 1
d u(xj,tn)/dt ?
d u(xj,tn)/dx ?
U nj
t
et
U nj
x
U nj +1 U nj
dt
U nj U nj1
dx
t u ( x, t ) + c x u ( x, t ) = 0
U nj
t
U nj +1 U nj
U nj
dt
n +1
j
n
j
+c
U U
n
j
n
j 1
dx
=0
dx
cdt n
n +1
n
n
U j =U j
U j U j 1
dx
dt
U nj U nj1
n +1
j
cdt n
n
=U
U j U j 1
dx
n
j
cdt
=
dx
Ujn+1
tn+1
dx-cdt
p
tn
Uj-1n
Ujn
cdt
ca
ra
c
t
r is
tiq
ue
tn-1
xj-1
xj
Xj+1
Ujn
dx-cdt
Ujn
cdt
Un0<j<J =Un=
U1n +1
...
U n +1
J
n +1
0
U 0n
U1n
...
U n
J
U 0n +1 CL
0
0
U1n +1 1
0
1
... = 0
... 0
0
n +1
U J 0
0
0
0
0
0
...
U
0 0
n
0 U1
0 ...
... ...
n
1 U J
Stockage mmoire
important
Algorithme dintgration.
Conditions limites en dehors du domaine: U=0
Conditions aux bords :
Sinus(wt)
Fonction creneaux
Prenons dt=0.01
=> sigma=0.2
Que se passe-t-il ?
dt=0.001
sigma)=0.02
On observe de la
dispersion numrique
=>
Diffusion artificielle
engendre par le schma
Dt=0.05
sigma=1
Dt=0.01
Sigma=0.2
U j 1
U j U j 1
dx
U j 1
2
dx U j 1
=
+
+ O(dx)
2
x
2 x
U
U cdx U
dx
+c
+
+
0
(
)
=
0
2
t
x
2 x
2
Terme dissipatif
U = f e
n ikx j
k
n
j
= f e
n ik jdx
k
Dcomposition
dune solution
Sur les modes
K=0
K=1
Domaine : 0 < x < 1000
K=2
U = f e
n
j
K=3
K=4 etc
n ik jdx
k
approche spectrale :
travailler sur les f plutt
que sur les U
U nj = f kn e ik jdx
k
n +1
j
= (1 )U nj + U
Schma dintgration
n
j 1
On remplace U par sa TF
f kn +1 e ikj dx = (1 ) f kn e ikj dx + f kn e ik ( j 1) dx =
k
= (1 ) f + e
n +1
k
n
k
n +1
ikdx
n
k
= (1 + e
ikdx
)f
g (k ) = (1 + e
ikdx
) = 1 + (e
fk
n
k
ikdx
1)
g (k ) = 1 2 (1 )(1 cos(kdx) )
2
Sigma=0.2
Evolution dune impulsion
gaussienne
Espace
U nj
t
U nj
x
U nj
x
=
=
=
U nj +1 U nj
dt
U nj U nj1
dx
U nj+1 U nj
dx
si C > 0
si C < 0
J-1
U nj
J+1
2 n
Uj
dx
2
n
n
+
+
O
dx
(1) U j +1 = U j + dx
(
)
2
x
2! x
n
2 n
2
Uj
U
dx
j
n
n
2
+
+
O
dx
(2) U j 1 = U j dx
(
)
2
x
2! x
(1) (2) donne
U
x
n
j
n
j +1
2dx
n
j 1
D.L. en XJ+dx
D.L. en Xj - dx
Mthode dordre 2
Diffrence centrale
+ O(dx 2 )
U nj
t
U nj +1 U nj 1
2dt
+ O(dt 2 )
U nj
x
U nj+1 U nj1
2dx
n
n
n
n
U
U
U
U
1
j +1
j
j
j 1
=
+
2
dx
dx
U nj
2 n
2 n
2
3
U
Uj
4
8
dx
dx
j
n
n
3
(1) U j + 2 = U j + 2dx
(
)
+
+
+
O
dx
2
3
2! x
3! x
x
n
2 n
2 n
2
3
U
U
Uj
dx
dx
j
j
n
n
3
(2) U j +1 = U j + dx
+
(
)
+
+
O
dx
2
3
2! x
3! x
x
n
3 n
2 n
3
2
U
U
Uj
dx
dx
j
j
3
n
n
(3) U j 1 = U j dx
+
(
)
O
dx
3
2
x
2! x
3! x
U nj
x
+ O(dx 3 )
t u ( x, t ) + c x u ( x, t ) = 0
U nj
t
U nj +1 U nj 1
2dt
U nj
x
U nj+1 U nj1
2dx
t u ( x, t ) + c x u ( x, t ) = 0
U U
1
n +1
n 1
U j U j + c
2dt
2dx
n +1
n 1
n
n
U j = U j U j +1 U j 1
)
(
n
j +1
n
j 1
=0
n +1
= AU + U
n
n 1
+
A= 0
0
0
0
0
+
0
0
0
+
0
...
+
0
0
...
0
Problme : Comment Calculer le 1ER pas de temps (N=1) car on ne connat pas
le systme N=-1.
Solution : Faire le premier pas avec un UPWIND, et ensuite continuer en LEAPFROG
Pas de temps
suivants par
leap-frog
3. Calculer U2=AleapfrogU1+U0
4. U0=U1 et U1=U2
5. Retourner en 3
On garde en mmoire
Un-1
Upwind
Leap Frog
En fait pas toujours Quand la fonction est trs raide le Leap-Frog peu devenir
instable
Evolution dune impulsion crneau
upwind
Leap frog
=U
N+3
Il y a toujours un dcalage
de 2 .
En fait on dcouple les temps
pairs et impairs
N+2
temps
N+1
Cela pourra engendrer des instabilits
pour les fonctions trs raides
N-1
J-2
j-1
espace
J+1
U
+
U
u 1 u
u
1 j+1 j1
j+1
j1
=
+
=
x 2 x t=n+1 x t=n 2
2dx
temps
N+2
N+1
N
N-1
J-2
j-1
espace
J+1
)(
u u
+c = 0
t x
n+1
n cdt
Uj =Uj
Unj++11 Unj+11 + Unj+1 Unj1
4dx
[(
Schma implicite
)(
)]
[(
) (
cdt
n +1
n +1
n
n
U =U
U j +1 U j 1 + U j +1 U j 1
4dx
= cdt/dx
n +1
j
n
j
)]
n +1
j
(
U
4
n +1
j +1
AU
U
n +1
n +1
= BU
1
= A BU
n +1
j 1
)=U
n
j
(
U
4
n
j +1
n
j 1
n +1
j
AU
(
U
4
n +1
n +1
j +1
n +1
j 1
)=U
= BU U
n
n +1
n
j
(
U
4
= A BU
n
j +1
n
j 1
0
0
/4
1
1
0
/4
/ 4
A= 0
/ 4
1
/4
/ 4
0
...
0
0
/ 4
0
0
0
0
0
/ 4
1
0
1
0
/ 4
/ 4
0 ; B = 0
1
/ 4
/4
...
0
...
/4
0
0
1
0
0
/4
0
0
...
1
1 / 2i sin( dx)
g (k ) =
1 + / 2i sin( dx)
Donc la norme de g(k) est 1 pour tout k,donc cest une mthode inconditionnellement
convergente.
Elle est adapte pour les problmes trs doux, mais produit des oscillations ds
quil y a des discontinuits.
Evolution de la solution
La solution est bien stable
Ici on a 1000 boites en x
Evolution de la fonction
Vue globale
2
2 f
2 f
=c
2
x 2
t
f
f
+c
=0
t
x
Equation de Shrodinger :
T
2T
=k 2
t
x
2U
U
= i 2 + U
t
x
2u 2u
+ 2 =0
2
x
y
2
2
2
( x, y, z ) = 2 + 2 + 2 V ( x, y, z )
y
z
x
DERIVEES SECONDES
Beaucoup dquations en physique font intervenir une drive seconde.
On peut lapproximer avec le mme type de raisonnement que pour
la drive premire
U nj
2 n
2
Uj
dx
n
n
2
(
)
+
O
dx
U j +1 = U j + dx
+
2
2! x
x
n
2 n
2
Uj
dx
j
n
n
2
U j 1 = U j dx
+
+
O
(
dx
)
2
2! x
x
2 n
2
Uj
dx
n
n
2
(1) U j +1 U j = dx
+
+
O
(
dx
)
2
2! x
x
n
2 n
Uj
j
2
n
n
2
(2) U j + 2 U j = 2dx
+ 2dx
+
O
(
dx
)
2
x
x
U nj
On trouve donc :
2U nj
x 2
U nj+ 2 2U nj+1 + U nj
dx 2
+ o(dx)
Diffrence AVANT
2U nj
x
2U nj
x
U nj 2 2U nj1 + U nj
dx
U nj+1 2U nj + U nj1
dx
+ o(dx)
+ o(dx 2 )
Diffrence ARRIERE
Diffrence CENTREE
Les mme formules sappliquent pour les drives temporelles (remplacer x par t)
Noter que la diffrence CENTREE est toujours meilleure (ordre 2)
2U nj
xt
2U nj
xt
2U nj
xt
U nj++11 U nj +1 U nj+1 + U nj
dxdt
U nj+11 U nj 1 U nj1 + U nj
dxdt
+ o(dx) + o(dt )
Diffrence AVANT
+ o(dx) + o(dt )
Diffrence ARRIERE
U
U
2 = 0
t
x
2
Exemple :
quation de la chaleur
(Fourrier)
=diffusivit thermique
U nj
2U nj
x 2
U nj +1 U nj
dt
U nj+1 2U nj + U nj1
dx 2
+ o(dx 2 )
n +1
j
= (1 2 )U + (U
o = dt / dx
n
j
n
j 1
+U
n
j +1
n +1
j
= (1 2 )U nj + (U
n
j +1
+U
n
j 1
n + 1 ikj dx
n ikj dx
u
e
u
(
1
2
)
=
k
ke +
k
u kn e ik ( j +1) dx + u kn e ik ( j 1) dx
k
k
ikdx
+ ikdx
n ikj dx
n ikj dx
n + 1 ikj dx
u
e
=
(
1
)
u
e
+
(
e
+
e
)
u
k
k
ke
k
kdx
g (k ) = 1 4 sin 2
g (k )2
1
dx 2
1 dt
<
2
2
Ici SIGMA=0.8
. Le rsultat est faux
U nj
t
2U nj
x 2
U nj +1 U nj
dt
U nj++11 2U nj +1 + U nj+11
dx 2
U nj++11 + (1 + 2 )U nj +1 U nj+11 = U nj
o = dt / dx 2
+ o(dx 2 )
AU
Avec A
n +1
=U
n +1
=A U
-1
1 + 2
1 + 2
A= 0
1 + 2
0
0
0
0
0
0
0
...
...
1 + 2
0
g (k ) =
1
kdx
1 + 4 sin 2
U nj
t
U nj +1 U nj
dt
2U nj
x 2
n +1
n +1
n +1
n
n
n
1 U j +1 2U j + U j 1 U j +1 2U j + U j 1
2
+
+
o
(
dx
)
2
2
2
dx
dx
AU
n +1
= BU
Ici =a
Stabilit : ||g(k)||2=
TESTS : a marche bien, est cest plus prcis que les mthodes prcdentes
2U = ( x, y, z )
2U 2U 2U ( x, y, z )
+ 2 + 2 =
2
x
y
z
0
v=
2
coulement de Poiseuille
grad ( P)
Ils sont en gnral assez complexes a rsoudre. Nous les survolerons rapidement
Il existe quelques mthodes matricielles, mais les meilleures sont les mthodes
spectrale, i.e o le systme est rsolu dans lespace de fourrier et ensuite converti
dans lespace rel.
2U 2U
+ 2 =
2
x
y
0
En prenant pour expression de la drive seconde, la diffrence centrs, on
Aboutit une quation du genre
Y
Charge lectrique
au nud i,j
i
Grille de Charges
ij
Grille du champ
de potentiel Uij
Poids
: -4
:1
2
1
Oprateur LAPLACIEN
Champ U
Distribution de
charges
1
1
1
1
S-1
S+1
Rflchissons un peu .
PROBLEME !!!! =>
La transposition de matrice nEST PAS une opration linaire
Il nest pas possible dexprimer un dcalage de colonne
par une simple multiplication matricielle
Exemple :
Soit f une suite de valeurs ( un vecteurs), ici 20 valeurs
F(m)=[100, 98,95,89,80,70, 58,45,30,15, 0, -15, -30,-45,-58 ,-70,-80,-89,-95,-98]
Si on pose :
X=M*dx
O dx=0.157
En fait F=100*cos(x)
Soit C=f*g , alors chaque point de C est remplac par la moyenne des trois
points voisins de f
F(m)=[100, 98,95,89,80,70, 58,45,30,15, 0, -15, -30,-45,-58 ,-70,-80,-89,-95,-98
[1/3,1/3,1/3]
[0.,97.6,94.0,88.0, 79.6, 69.3, 57.6, 44.3, 30.0,15.0, 0.0, 15.0, -30.0, -44.3, -57.6, -69.3, -79.6,]
Ligne : f
Tirets : f*g
Convolution 2D :
On fait parcourir une boite glissante, le nouyeau de convolution sur une grille
Laplacien
-4
j
g
Laplacien de U
Ex :
F(i,j)= 1/i+1/j
Laplacien de F (convolue)
f = (U * lap )( x, y ) = ( x, y )
2
Oprateur Laplacien
U=
TF-1(*/Lap*)
U = ( x, y )
2
Mais on se souvient que le potentiel engendr par UNE charge qi la position ri est :
q
Vi (r ) =
r ri
Alors U peut se rcrire plus simplement
U (r ) =
i
qi
= ( * p )
r ri
Convolution
EXEMPLE :
Calculer le champ de potentiel engendr par 10 charges + et 10 charges -, placs
Dans une grille 200x200 (40,000 points de maillage)
blanc = +1
noir =-1
(r)
Noyau de convolution :
1/R
P(r)
Affichage code de couleurs
Affichage P(x,y)
TF
TF
P*
P*
U*
Champ de potentiel
La mme chose avec 4000 charges (ce nest pas plus long)