text_plain_output_1.png
from scipy.special import erfc

import matplotlib.pyplot as plt

import numpy as np

def Dirichlet1(T0, dT, t, x, alpha):
    T = T0 + dT * erfc(abs(x) / (2.0 * np.sqrt(alpha * t)))
    return T

T0 = 0.2
dT = 15.0
t1 = 10.0
t2 = 1000.0
xs = np.arange(0, 0.1, 0.001)
alpha_m = 9.19e-08
T = Dirichlet1(T0, dT, t1, xs, alpha_m)
T2 = Dirichlet1(T0, dT, t2, xs, alpha_m)

fig0,ax0 = plt.subplots(1);
# Gráfico. Definimos una figura fig0 y sus ejes ax0

fig0.set_size_inches((5,5));  #tamaño de la figura
ax0.plot(xs,T,label='t=%.0f'%t1)  # plot sobre los ejes
ax0.plot(xs,T2,label='t=%.0f'%t2)
ax0.set_xlim([min(xs),max(xs)]);#definimos límites
ax0.set_xlabel('distancia (m)',fontsize=18); #nombre para ordenadas
ax0.set_ylabel('Temperature ($^\circ$C)',fontsize=18); #nombre para abcisas
ax0.grid(True); #grilla de coordenadas
ax0.legend()

def Dirichlet_armonica(T0, Ta, t, x, omega, alpha=1e-06):
    T = T0 + Ta * np.exp(-x * np.sqrt(np.pi * omega / alpha)) * np.sin(2.0 * np.pi * omega * t - x * np.sqrt(np.pi * omega / alpha))
    return T

T0 = 10.0
Ta = 1.0
ts = np.linspace(0, 10.0, 200)
xs = np.arange(0, 0.04, 0.0001)
omega = 0.2
alpha_l = 1.5e-05
n_profiles = 5
fig1, ax1 = plt.subplots(1)
fig1.set_size_inches((4, 4))
ax1.plot(ts, T0 + Ta * np.sin(2.0 * np.pi * omega * ts), 'k')
ax1.set_ylabel('Temperatura en la superficie ($^\\circ$C)', fontsize=12)
ax1.set_xlabel('Tiempo', fontsize=12)