# -*- coding: utf-8 -*-
"""
Created on Thu Nov 27 11:57:24 2014

@author: yvestalbourdel
"""


import numpy as np
import matplotlib.pyplot as plt


D=0.00002345
L=1
T0=20.0
Tc=100.0
Tf=0.0
Nx=100
Nt=10000
dx=L/Nx
dt=(dx**2)/(2*D)
tau=((L/2)**2)/(D)
print ('durée du régime observé (en minutes)', np.floor(Nt*dt/60))
print ('ordre de grandeur du temps caractéristique (en minutes)',np.floor(tau/60))

x=np.arange(0,(Nx+2)*dx,dx)
T=np.concatenate(([Tc],[T0]*Nx,[Tf]))
dT=np.zeros((Nx+2))

for j in range(0,Nt):
    # dT[1:-1]=......................
    T+=dT
    if ((j-1)%600==0):
        plotlabel="t=%0.0f minutes" %((j)*dt/60)
        plt.plot(x,T,'+-',label=plotlabel,color = plt.get_cmap('cool')(float(j/Nt)))

plt.xlabel(u'$x(m)$', fontsize=10)
plt.ylabel(u'$T(degrés C)$', fontsize=10, rotation=90)
plt.title(u"régime transitoire dans une barre d'aluminium entre deux thermostats")
plt.legend()
plt.show()