# -*- coding: utf-8 -*-
"""
    Concours Centrale-Supélec
    Oral de Physique-Chimie 2 MP
"""
import numpy as np
import matplotlib.pyplot as plt

#exemple d'application numérique
e=1 #épaisseur en mm
T=1 #durée de l'expérience en s
dt=0.01 #en s
Diff=.5 #diffusivité en mm2/s

tps=np.arange(0,T,dt)
#-----------------------------------------
# A compléter... l'expression de u et u_approx (seules parties modifiées)
u=1
for n in range(1,100):
    u+=2*(-1)**n*np.exp(-n**2*np.pi**2*Diff*tps/e**2)

u_approx=1-2*np.exp(-np.pi**2*Diff*tps/e**2)
#---------------------------------------------
plt.plot(tps,u,'b', label='Courbe analytique') #solution exacte"
plt.plot(tps,u_approx,'r', label='Courbe approchée') #solution approchée
plt.axis([0,T,0,1])
plt.xlabel('temps(s)',fontsize=14)
plt.ylabel('Température réduite u(t)',fontsize=14)
plt.legend(loc='upper left', frameon=False)
plt.show()