import matplotlib.pyplot  as plt
import numpy as np

lamb=390 #conductivité thermique du cuivre, extrémités de températures fixes
c=385 # capacité thermique massique du cuivre
mu=8960 # masse volumique du cuivre
Nx=101
Nt=12000 # pour que Nt*dt soit de l'ordre de L**2/Dcd
L=0.15 # longueur de la barre
dx=L/(Nx-1) #pas spatial

dt=0.2*mu*c*dx**2/lamb #pas temporel

T=np.zeros((Nx,Nt)) #création du tableau des températures

T[:,0]=20 #condition initiale : température uniforme à t=0

for j in range(Nt-1):
    for i in range(1,Nx-1):
        T[i,j+1]=T[i,j]+lamb*dt/mu/c/dx/dx*(T[i+1,j]+T[i-1,j]-2*T[i,j]) # récurrence
    T[0,j+1]=40 # condition aux limite à l'entrée de la barre
    T[-1,j+1]=20 # condition aux limite au bout de la barre, ou T[100,j+1]=20

x=np.arange(0,L+dx,dx)


for j in range(0,10000,400):
    plt.plot(x,T[:,j])
plt.show()


