PYL: c Août 05 (Lagrée P.-Y.), LMM-Univ PARIS 6, B 162,
4 place Jussieu, 75252 PARIS pyl(a)ccr.jussieu.fr
http://www.lmm.jussieu.fr/~lagree

Résolution numérique implicite de l'équation de la chaleur


On veut résoudre l'équation de la chaleur:
   òT   ò2T
   -- = ---
   òt   òx2
avec comme condition initiale
   T(x,t=0)=1
et comme conditions aux limites
   T(0,t)=T(1,t)=0.
On discrétise en temps soit dt le pas de temps de discrétisation, la dérivée temporelle òT/òt devient
     (T(t,x)- T(t-dt,x))/dt
Soit dx le pas d'espace une approximation au pas de temps (t) de la dérivée seconde ò2T/òx2 en x est:
     (T(t,x+dx) -2 T(t,x)+ T(t,x-dx))/dx/dx.
Connaissant donc T en x au pas de temps t-dt, on obtient au temps t:
     T(t,x)=  T(t-dt,x)+ ((T(t,x+dx) -2 T(t,x)+ T(t,x-dx))/dx/dx)dt

L'équation de la chaleur discrétisée s'écrit:
     T[j]= To[j] +   dt  (T[j-1] -2 T[j] + T[j+1])/dx/dx
Les valeurs aux bornes sont données. On résout en implicite. donc l'équation de la chaleur discrétisée s'écrit:
     T[j]-To[j] =  dt  (T[j-1] -2 T[j] + T[j+1])/dx/dx
qui s'écrit après regroupements:
     diagi[j] T[j-1] +  diagp[j] T[j] + diags[j] T[j+1]= rhs[j] 

     diags[j] =   1       
     diagp[j] =  -2   - (dx) * (dx)/dt 
     diagi[j] =   1       
     rhs[j] =           -To[j] (dx) * (dx)/dt 
On cherche une solution sous la forme:
    T[j] = a[j] * T[j + 1] + b[j];  
on subsitue T[j-1] = a[j-1]T[j] + b[j-1] dans (E) et on identifie a[j] et b[j]. On trouve alors:
     a[j] = -diags[j] /(diagp[j] + diagi[j] * a[j - 1]) ; 
     b[j] = (rhs[j] - diagi[j] * b[j - 1]) /(diagp[j] + diagi[j] * a[j - 1])

On a donc un "double balayage" ("algorithme de montée descente", "algorithme de Thomas"), on calcule d'abord les a[j] et b[j] pour j croissant (les valeurs en j-1 sont connues). Ensuite, pour j décroissant on calcule les T[j] (les valeurs en j+1 sont connues). On a besoin d'initialiser les tableaux par les conditions aux limites.
Conditions aux limites Elles pemettent de fixer les coefficients initiaux et finaux des relation de récurrence. ... ... ... ... ...

retour à l'applet Java de la résolution implicite de l'équation de la chaleur, modification du pas de temps et des conditions aux limites en direct.
La source pour la solution de l'équation de la chaleur, La source pour l'interface graphique (inspirée de GraphLayout Sun/Apple).