On considère un système à une dimension où la température T est fonction d'une abscisse rectiligne x et du temps t. On note λ la conductivité thermique du matériau (supposée uniforme et constante), ρ la masse volumique, c la capacité thermique massique (à pression constante pour les gaz). On prend en compte une éventuelle dissipation électrique ou chimique, en définissant une puissance dégagée par unité de volume, notée σ(x).
La loi de Fourier de la conduction thermique relie la densité surfacique de flux thermique au gradient de température :
La conservation de l'énergie s'écrit :
On obtient ainsi l'équation de diffusion thermique, appelée aussi équation de la chaleur :
Le coefficient de diffusion thermique est
Materiau | λ (W/m/K) | ρ (kg/m3) | c (J/K/kg) | D (m2/s) |
Aluminium | 237 | 2700 | 897 | 9.8e-05 |
Fer | 80.2 | 7870 | 449 | 2.3e-05 |
Tungsten | 174 | 19300 | 132 | 6.8e-05 |
Eau(l) | 0.61 | 1000 | 4180 | 1.5e-07 |
Eau(s) | 2.2 | 917 | 2050 | 1.2e-06 |
Azote(g) | 0.026 | 1.15 | 1040 | 2.2e-05 |
Silice | 1.4 | 2200 | 703 | 9e-07 |
On considère une plaque (perpendiculaire à l'axe x) de conductivité thermique uniforme, soumise en x=0 à une température constante T=T0 et en x=1 à une température constante T=T1. Il n'y a aucune source thermique dans la plaque. Initialement la température est égale à T0 sur l'intervalle [0,1].
On pose
La fonction Y(x,t) vérifie l'équation de diffusion. Pour le calcul numérique, on pose D=1. Le module de calcul est défini ici.
getf('../../../../srcdoc/numerique/diffusion/scilab/equationDiffusion1D.sci'); N=100; X=linspace(0,1,N).'; Y=zeros(N,1); S=zeros(N,1); coef=[[1,1]]; t=0; [Y1,t]=diffusion(N,'dirichlet',1,'dirichlet',0,coef,S,Y,t,0.0001,0.001); [Y2,t]=diffusion(N,'dirichlet',1,'dirichlet',0,coef,S,Y1,t,0.001,0.01); [Y3,t]=diffusion(N,'dirichlet',1,'dirichlet',0,coef,S,Y2,t,0.01,0.1); [Y4,t]=diffusion(N,'dirichlet',1,'dirichlet',0,coef,S,Y3,t,0.1,1);Figure pleine page
On constate que le temps d'établissement du régime stationnaire est environ t=1. Pour une plaque d'épaisseur e et un coefficient de diffusion D, ce temps est
Ci-dessous le tracé de τ en fonction de e pour la silice.
e=logspace(-6,-1,100).'; D=1e-6; tau=e^2/D;Figure pleine page
Deux corps sont à deux températures différentes. On les met en contact à l'instant t=0. La conduction thermique au contact est généralement moins bonne que dans les corps. Il y a dans ce cas une résistance de contact à prendre en compte. Pour la modéliser, on introduit une couche intermédiaire de conductivité plus faible. L'ensemble forme un système isolé. La condition limite sur les bords est donc un flux thermique nul.
N=500; Y=zeros(N,1); X=linspace(0,1,N).'; for j=1:int(N/2), Y(j)=1; end; S=zeros(N,1); coef=[[0.45,1];[0.55,0.1];[1,1]]; t=0; [Y1,t]=diffusion(N,'neumann',0,'neumann',0,coef,S,Y,t,0.00001,0.001); [Y2,t]=diffusion(N,'neumann',0,'neumann',0,coef,S,Y1,t,0.001,0.01); [Y3,t]=diffusion(N,'neumann',0,'neumann',0,coef,S,Y2,t,0.01,0.1); [Y4,t]=diffusion(N,'neumann',0,'neumann',0,coef,S,Y3,t,0.1,1);Figure pleine page
Considérons le cas où l'un des corps (le plus chaud) a une taille beaucoup plus grande que le second. Cette fois-ci, on néglige la résistance de contact. Le corps chaud s'étend sur l'intervalle [0,0.99].
N=1000; Y=zeros(N,1); X=linspace(0,1,N).'; for j=1:int(N*0.99), Y(j)=1; end; S=zeros(N,1); coef=[[1,1]]; t=0; [Y1,t]=diffusion(N,'neumann',0,'neumann',0,coef,S,Y,t,0.0000001,0.00001); [Y2,t]=diffusion(N,'neumann',0,'neumann',0,coef,S,Y1,t,0.00001,0.0001); [Y3,t]=diffusion(N,'neumann',0,'neumann',0,coef,S,Y2,t,0.0001,0.001); [Y4,t]=diffusion(N,'neumann',0,'neumann',0,coef,S,Y3,t,0.001,0.01); [Y5,t]=diffusion(N,'neumann',0,'neumann',0,coef,S,Y4,t,0.01,0.1);Figure pleine page
On constate que la température finale est très proche de celle du corps chaud (Y=1). Celui-ci se comporte comme un thermostat vis à vis du petit. Pendant la transformation, le gradient de température est présent aussi bien dans le petit que dans le grand. À partir de t=0.001, il n'y a pratiquement plus de gradient dans le petit corps.