{ "cells": [ { "cell_type": "markdown", "metadata": { "id": "ZyYxarWXICGB" }, "source": [ "\"Licencia
Python en ciencias e ingeniería: tutoriales basados en ejemplos por Sergio Gutiérrez Rodrigo y Adrián Navas Montilla se distribuye bajo una Licencia Creative Commons Atribución-NoComercial-CompartirIgual 4.0 Internacional." ] }, { "cell_type": "markdown", "metadata": { "id": "cU67irCkAoSz" }, "source": [ "---\n", "Programa de Recursos en Abierto en la UZ (2022)\n", "\n", "**Python en ciencias e ingeniería: tutoriales basados en ejemplos**\n", "---\n", "Universidad de Zaragoza\n", "---\n", "*PRAUZ-739*\n" ] }, { "cell_type": "markdown", "metadata": { "id": "aZ4I0EbyAqVW" }, "source": [ "##
Resolución numérica de la distribución de temperatura en una aleta
\n", "\n", "\n", "-----------------------------------------" ] }, { "cell_type": "markdown", "metadata": { "id": "xzTBZ3ZZQGR3" }, "source": [ "## Introducción\n", "\n", "En este cuaderno se va a utilizar el método de las diferencias finitas para resolver la distribución de temperaturas en una aleta de longitud $L$. La ecuación a resolver es la ecuación diferencial de una aleta:\n", "\n", "$$\n", "\t\\rho c A_c \\frac{\\partial T }{\\partial t} = k A_c\t\\frac{\\partial ^2 T }{\\partial x^2} - hp(T-T_{\\infty})\\, \n", "$$\n", "\n", "donde $A_c$ es la sección de la aleta, $k$ es la conductividad del material, $\\rho$ su densidad y $c$ su calor específico. Consideraremos estos parámetros constantes. Por otro lado $p$ es el perímetro de la sección de la aleta y $h$ el coeficiente de convección con el aire.\n", "\n", "Para resolver numéricamente esta ecuación mediante el método de las diferencias finitas la reescribimos de la siguiente manera:\n", "\n", "$$\n", "\t \\frac{\\partial T }{\\partial t} = b\t\\frac{\\partial ^2 T }{\\partial x^2} - bm^2(T-T_{\\infty})\\, \n", "$$\n", "\n", "donde $m=\\sqrt{\\frac{hp}{kA_c}}$ y $b=k/(\\rho c)$.\n", "\n", "Las posibles condiciones de contorno son:\n", "\n", "- Temperatura en la base: $T(0)=T_b$\n", "- Flujo de calor en la base: $q(0)=q_L$\n", "- Punta adiabática: $q(L)=0$\n", "- Convección en la punta: $q(L)=h(T(L)-T_{\\infty})$\n", "\n" ] }, { "cell_type": "markdown", "metadata": { "id": "TOAEZ1Ozv8QS" }, "source": [ "## Configuración de la simulación\n", "\n", "En el código siguiente se ha implementado el método de las diferencias finitas para la resolución de la ecuación anterior, incluyendo la posibilidad de configurar las condiciones de contorno indicadas arriba. \n" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "id": "FNuY3zZTdbtN" }, "outputs": [], "source": [ "import numpy as np # Librería para cálculo numérico\n", "import math # Librería para utilizar símbolos matemáticos como el número pi, que se escribe como math.pi\n", "from scipy import special\n", "import matplotlib.pyplot as plt # Librería para poder dibujar gráficas\n", "import matplotlib.animation as animation\n", "from matplotlib.animation import FuncAnimation\n", "from IPython.display import HTML\n", "from scipy.interpolate import Rbf" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 748 }, "executionInfo": { "elapsed": 1923, "status": "ok", "timestamp": 1682207578409, "user": { "displayName": "Adrián Navas Montilla", "userId": "05883326183094944917" }, "user_tz": -120 }, "id": "lV7vNgQN_hII", "outputId": "e662b531-b28a-4986-d922-89db8173adee" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "La longitud de la aleta es: 0.33 m\n", "El parámetro m es: 9.128709291752768 m^-1\n", "La difusividad térmica es: 1.4822134387351778e-05\n", "El numero de nodos espaciales es: 20\n", "El numero de pasos temporales es: 1965\n", "El paso de tiempo es es: 2.035213296398892\n", "El tiempo final es: 3997.1589141274235\n", "\n", "Las posiciones de los termopares son (en m):\n", "[0.018 0.048 0.078 0.108 0.138 0.168 0.198 0.228 0.258 0.288]\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "#Primero definimos los parámetros del problema\n", "\n", "L = 0.33 #longitud del dominio en metros\n", "tf = 4000 #tiempo final que queremos simular en segundos\n", "c = 920.0 #J/kgK\n", "rho = 8800.0 #kg/m^3 \n", "k = 120 #W/(m·ºC)\n", "h = 25.0 #W/(m^2·ºC)\n", "w = 0.01 #m de anchura de la seccion\n", "t = 0.01 #m de altura de la sección\n", "p = 2*w + 2*t\n", "b = k/(rho*c) # valor de la difusividad térmica b=k/rho*c\n", "Ac = w*t # area de la sección en m^2\n", "m=np.sqrt(h*p/(k*Ac))\n", "\n", "xpos=np.linspace(0,0.27,10)+0.018 # posiciones de los termopares\n", "\n", "Tinf = 18 #ºC\n", "Tb = 55 #ºC\n", "\n", "Power=7.0 #Watt de potencia total generada en el calentador resistivo\n", "f=0.7 #factor por perdidas en el calentador resistivo (no toda la potencia se transmite a la base de la aleta)\n", "q_L=Power/Ac*f # Watt/m^2\n", "\n", "#tipos de condiciones de contorno: fijar a 1 o 0 en cada caso\n", "#base:\n", "CCBTYPE = 0 # 1: temperatura en la base, 0: flujo de calor en la base \n", "#punta:\n", "CCPTYPE = 0 # 1: conveccion en la punta, 0: punta adiabática \n", "\n", "\n", "# Parametros discretización numérica diferencias finitas\n", "N = 20 #numero de nodos espaciales en x\n", "dx = L/(N-1)\n", "sigma = 0.1 #sigma es un parametro que controla la estabilidad del metodo numérico\n", "#después calculamos el paso de tiempo y el numero de pasos necesario\n", "dt = sigma*dx**2/b #se calcula el paso de tiempo para la integración temporal\n", "nt=int(tf/dt) # número de pasos de tiempo necesarios\n", "\n", "print(\"La longitud de la aleta es:\",L,\"m\")\n", "print(\"El parámetro m es:\",m,\"m^-1\")\n", "print(\"La difusividad térmica es:\",b)\n", "print(\"El numero de nodos espaciales es:\",N)\n", "print(\"El numero de pasos temporales es:\",nt)\n", "print(\"El paso de tiempo es es:\",dt)\n", "print(\"El tiempo final es:\",(nt-1)*dt)\n", "print()\n", "\n", "#inicializamos los arrays\n", "x = np.zeros(N)\n", "t = np.zeros(nt)\n", "T = np.zeros((nt, N))\n", "\n", "#damos valores a las posiciones espaciales\n", "for i in range(N):\n", " x[i]=dx*i\n", "\n", "#damos valores a los tiempos\n", "for i in range(nt):\n", " t[i]=dt*i\n", "\n", "#definimos la condición inicial\n", "def initial_condition1(x):\n", " return np.piecewise(x, [x < 1, x >= 1], [Tinf, Tinf]) #con esto se define una condicion inicial a trozos, comprueba los valores\n", "\n", "#imponemos la condición inicial en el tiempo \"cero\"\n", "T[0,:] = initial_condition1(x)\n", "\n", "\n", "#calculo de evolución de la temperatura en el tiempo\n", "for n in range(0,nt-1): #bucle temporal desde 0 hasta nt-2\n", " for i in range(1,N-1): #bucle espacial entre 1 y N-2 (sin incluir primer y ultimo nodo)\n", " T[n + 1, i] = T[n,i] + b*dt/dx**2 * (T[n,i+1] + T[n,i-1] - 2*T[n,i]) - b*m*m*dt*(T[n,i]-Tinf)\n", " #condiciones de contorno en primer y ultimo nodo\n", " if CCBTYPE==1:\n", " T[n + 1, 0]=Tb\n", " else:\n", " T[n + 1, 0]=T[n, 0] + b*dt/dx**2 * (T[n,1]- T[n,0] + dx*q_L/k) - b*m*m*dt*(T[n,0]-Tinf)\n", " q_R=h*Ac*(T[n,N-1]-Tinf)*CCPTYPE\n", " T[n + 1, N-1]=T[n, N-1] + b*dt/dx**2 * (-dx*q_R/k - (T[n,N-1] - T[n,N-2])) - b*m*m*dt*(T[n,N-1]-Tinf)\n", "\n", "\n", "# Representaciones graficas\n", "fig, (ax1,ax2) = plt.subplots(1,2,figsize=(12, 3))\n", "ax1.plot(x,T[0, :],'--',label='Condicion inicial')\n", "ax1.plot(x,T[nt-1,:],'-o',label=f'Solución en t= {(nt-1)*dt/60:.3f} min')\n", "ax1.set_xlabel(\"x(m)\") \n", "ax1.set_ylabel(\"T(°C)\") \n", "ax1.legend()\n", "\n", "ax2.plot(t/60,T[:,0],'-',label='Base')\n", "ax2.plot(t/60,T[:,int(N/2)],'-',label='Punto medio')\n", "ax2.plot(t/60,T[:,N-1],'-',label='Punta')\n", "ax2.set_xlabel(\"t(min)\") \n", "ax2.set_ylabel(\"T(°C)\") \n", "ax2.legend()\n", "\n", "XX, YY = np.meshgrid(x, [0,.02])\n", "T2D = np.zeros(np.shape(XX))\n", "T2D[0,:] = T[nt-1,:]\n", "T2D[1,:] = T[nt-1,:]\n", "\n", "interpx = Rbf(XX, YY, T2D)\n", "Tmeasures = interpx(xpos,np.zeros(len(xpos)))\n", "\n", "print(\"Las posiciones de los termopares son (en m):\")\n", "print(xpos)\n", "\n", "fig, ax = plt.subplots(figsize=(14, 3))\n", "levels = np.linspace(np.min(T2D), np.max(T2D), 240)\n", "CS = ax.contourf(XX, YY, T2D,levels=levels,cmap='nipy_spectral')\n", "ax.set_title(f'T(°C) en t= {(nt-1)*dt/60:.3f} min')\n", "ax.set_xlabel(\"x(m)\") \n", "ax.set_ylabel(\"\")\n", "plt.colorbar(CS)\n", "ax.plot(xpos,np.ones(len(xpos))*0.01,'wo',markeredgecolor=\"k\")\n", "for i in range(len(xpos)):\n", " ax.text(xpos[i], 0.015, str(round(Tmeasures[i],1)), fontsize=9.5, color=\"white\")\n", "ax.set_aspect('equal', 'box')\n", " " ] } ], "metadata": { "colab": { "provenance": [] }, "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.7.6" } }, "nbformat": 4, "nbformat_minor": 1 }