# -*- coding: utf-8 -*-
"""
Created on Tue Jun 18 16:23:20 2013

@author: bruno
"""
#liste des bibliotheques incluses
import matplotlib.pyplot as plt
import numpy as np
from copy import copy

#effacement ecran avant simulation
plt.clf() 
 
 

###liste des parametres
rho=7900.0 #kg/m^3
lamda=25.0 #W/m/K
cp=450.0 #J/kg/K
L=0.1#m
Ti=20.0#+273.15# K
T0=100.0#+273.15#K
TL=10.0#+273.15#K
N=80
tmax=500.0 #s
idisplay=80 #frequence d'affichage des courbes
D=lamda/(rho*cp)  #diffusivite
print ('D[m^2/s]=',D)


### creation maillage spatial 

#Q.2
###calcul dx
#Q.2 
 

print ("dx[m]=",dx)

###condition de stabilite
beta=0.999  #coefficient de sécurité numérique
dtstab=beta*dx**2/(2.0*D)
print ("dtstab[s]=",dtstab)
nbfourier=D*dtstab/dx**2   #nombre de fourier adimensionnel
print ("nbfourier=",nbfourier)

 
#calcul nb pas de temps nbstep 
#Q.3 

#conditions initiales à compléter
 

#affichage condition initiale
plt.plot(x,TA)
 
#Boucle en temps
for istep in range(1,nbstep):
    #afficher pas de temps
    print ("temps=",istep*dtstab)
    
    #Boucle sur les noeuds internes du maillage à compléter
     
     
     
     
    #Traitement des conditions aux limites à compléter
    #-------------------------------------    
 
     
    #Affichage du champ de temperature dans la barre
    if istep%idisplay==0:
        plt.xlabel('x [m]')
        plt.ylabel('T [C]')
        plt.grid(True)
        plt.plot(x,TB,color=plt.get_cmap('jet')(float(istep)/float(nbstep)))
        plt.show()
        
    #Copie pour le nouveau pas de temps à compléter
 
    
 