{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "### TCLab Heat Transfer Introduction\n", "\n", "***Introduction to the Temperature Control Lab:*** The Temperature Control Lab is used in the Course Problem Solving with Programming for Engineers. In addition to this introduction, the hands-on lab module includes three parts:\n", "\n", "* TCLab A: Build Loops, Plots, and Regressions\n", "* TCLab B: Interpolate and Solve Equations\n", "* TCLab C: Determine Thermal Conductivity\n", "\n", "\n", "\n", "See https://apmonitor.com/heat.htm for additional Python setup and example programs." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "***Learning Objective:*** Students will be able to make order of magnitude estimates, assess reasonableness of solutions, and select appropriate levels of solution sophistication.\n", "\n", "#### Background on Heat Transfer\n", "\n", "There are several modes of heat transfer including **radiative**, **convective**, and **conductive**. *Radiative heat transfer* is from the motion of particles and emitted as electromagnetic photons primarily as infrared radiation. *Convective heat transfer* is with the surrounding fluid such as air. Convection can be forced such as from a blower or natural such as in quiescent conditions. *Conductive heat transfer* is through solid contact as the energy transfers away but, unlike convection, the contact material is stationary. For each situation, determine which form best describes the heat transfer.\n", "\n", "1. Hair is dried with a blow dryer\n", "
\n", " Radiation\n", " Conduction\n", " Convection\n", "
\n", "\n", "2. A pan is heated on a gas stove\n", "
\n", " Radiation\n", " Conduction\n", " Convection\n", "
\n", "\n", "3. Food is cooked in the hot pan\n", "
\n", " Radiation\n", " Conduction\n", " Convection\n", "
\n", "\n", "4. Sunlight warms the ground\n", "
\n", " Radiation\n", " Conduction\n", " Convection\n", "
" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### TCLab Activity\n", "\n", "The temperature of transitor increases as electrical current flows through the small device. Energy is dispersed away from the transitor with two primary mechanisms: convection and radiation. The amount of heat lost by convection $\\left(q_{conv}\\right)$ is proportional to the temperature difference between the transistor $\\left(T_x\\right)$ and the surrounding air temperature $\\left(T_{air}\\right)$.\n", "\n", "$q_{conv} = h \\, A \\, \\left(T_{air}-T_x\\right)$\n", "\n", "A finned heat sink is attached to the transistor to increase the surface area and increase the heat removal. A temperature sensor is attached to the transistor to monitor the temperature.\n", "\n", "\n", "\n", "The surface area $(A)$ of the transistor and heat sink is about 12 $cm^2$. A convective heat transfer coefficient $(h)$ for quiescent air is approximately 10 $\\frac{W}{m^2\\,K}$. At lower temperatures, the heat generated by the transistor transfers away from the device primarily by convection but radiative heat transfer $\\left(q_{rad}\\right)$ may also be a contributing factor. The surrounding temperature $\\left(T_\\infty\\right)$ is that of objects such as walls or the ceiling. In this case is the same as the air temperature.\n", "\n", "$q_{rad} = \\epsilon \\, \\sigma \\, A \\, \\left(T_\\infty^4-T_x^4\\right)$\n", "\n", "Some of the constants needed for the transistor and finned heat sink are shown in the table below. Some of the constants in the table are not needed for this calculation.\n", "\n", "| ***Quantity*** | ***Value*** |\n", "| --- | --- |\n", "| Heat capacity ($C_p$) | 500 $\\frac{J}{kg\\,K}$ |\n", "| Air Temperature ($T_{air}$) | 20 $^oC$ |\n", "| Surrounding Temperature ($T_\\infty$) | 20 $^oC$ |\n", "| Surface Area ($A$) | 1.2e-3 $m^2$ (12 $cm^2$) |\n", "| Mass ($m$) | 0.004 $kg$ (4 $gm$) |\n", "| Heat Transfer Coefficient ($h$) | 10 $\\frac{W}{m^2\\,K}$ |\n", "| Emissivity ($\\epsilon$)| 0.9 |\n", "| Stefan Boltzmann Constant ($\\sigma$) | 5.67e-8 $\\frac{W}{m^2-K^4}$ |" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "***Action:*** Calculate the amount of heat lost by convection and by radiation at temperatures between 20 $^oC$ and 200 $^oC$. Create a plot that shows the heat transfer by each by filling in the ```convection``` and ```radiation``` expressions.\n", "\n", "```python\n", "# Energy Balance\n", "convection = h*A*(Ta-Tx)\n", "radiation = eps*sigma*A*(Tinf**4-Tx**4)\n", "```" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "ename": "SyntaxError", "evalue": "invalid syntax (, line 18)", "output_type": "error", "traceback": [ "\u001b[1;36m File \u001b[1;32m\"\"\u001b[1;36m, line \u001b[1;32m18\u001b[0m\n\u001b[1;33m convection = # fill-in\u001b[0m\n\u001b[1;37m ^\u001b[0m\n\u001b[1;31mSyntaxError\u001b[0m\u001b[1;31m:\u001b[0m invalid syntax\n" ] } ], "source": [ "import numpy as np\n", "%matplotlib inline\n", "import matplotlib.pyplot as plt\n", "\n", "Ta = 20 + 273.15 # Ambient air temperature (K)\n", "Tinf = Ta # Surrounding temperature (K)\n", "h = 10.0 # Heat Transfer Coefficient (W/m^2-K)\n", "m = 4.0/1000.0 # Mass (kg)\n", "Cp = 0.5 * 1000.0 # Heat capacity (J/kg-K) \n", "A = 12.0 / 100.0**2 # Surface Area (m^2)\n", "eps = 0.9 # Emissivity\n", "sigma = 5.67e-8 # Stefan-Boltzman\n", "\n", "T = np.linspace(20,200) # Temperature (degC)\n", "Tx = T + 273.15 # Temperature (K)\n", "\n", "# Energy Balance\n", "convection = # fill-in\n", "radiation = # fill-in\n", "\n", "#Plotting\n", "plt.figure(figsize=(10,5))\n", "plt.plot(T,-convection,'b-',label='Convection')\n", "plt.plot(T,-radiation,'r--',label='Thermal Radiation')\n", "plt.xlabel('Temperature $^oC$')\n", "plt.ylabel('Heat Loss (W)')\n", "plt.legend()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "***Action:*** What is the relative importance of heat transfer by convection and radiation at low (<80 $^oC$) and high (>180 $^oC$) temperature. Which heat transfer mode increases relatively more as the temperature increases?\n", "\n", "

\n", " Convection increases with $\\left(T_{air}-T_x\\right)$. It increases relatively more at high temperature.
\n", " Radiation increases with $\\left(T_\\infty^4-T_x^4\\right)$. It increases relatively more at high temperature.
\n", " Radiative and convective heat transfer are relatively the same at high temperature.\n", "
\n", "\n", "***Action:*** Use the plot above and make a function that prints values of the graph to determine the temperature where radiative heat transfer is greater than the heat lost by convective heat transfer.\n", "\n", "
\n", " Temperature:\n", " \n", " $^oC$\n", "
" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "print(np.transpose([-convection, -radiation, T])) # The graphing above must be run first\n", "# Use values printed below to see when radiation heat loss becomes greater than convection heat loss" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Equation for convection heat loss:\n", "$q_{conv} = h \\, A \\, \\left(T_{air}-T_x\\right)$\n", "\n", "Equation for radiation heat loss:\n", "$q_{rad} = \\epsilon \\, \\sigma \\, A \\, \\left(T_\\infty^4-T_x^4\\right)$\n", "\n", "***Action:*** Which of these factors could increase **only** thermal radiation?\n", "\n", "

\n", " Heat capacity ($c_p$)
\n", " Emissivity ($\\epsilon$)
\n", " Mass ($m$)
\n", " Surface area ($A$)
\n", "
" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "***Action:*** Which of these factors could increase **both** thermal radiation and convection?\n", "\n", "

\n", " Heat capacity ($c_p$)
\n", " Emissivity ($\\epsilon$)
\n", " Mass ($m$)
\n", " Surface area ($A$)
\n", "
" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "***Action:*** Without the finned heat sink, the transistor surface area is smaller. Show the effect on thermal radiation and convection with changing the surface area from 12 $cm^2$ to 2 $cm^2$. (Use the graph program and change the value for surface area)" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", "%matplotlib inline\n", "import matplotlib.pyplot as plt\n", "\n", "Ta = 20 + 273.15 # Ambient air temperature (K)\n", "Tinf = Ta # Surrounding temperature (K)\n", "h = 10.0 # Heat Transfer Coefficient (W/m^2-K)\n", "m = 4.0/1000.0 # Mass (kg)\n", "Cp = 0.5 * 1000.0 # Heat capacity (J/kg-K) \n", "A = ('Change this value') # Surface Area (m^2)\n", "eps = 0.9 # Emissivity\n", "sigma = 5.67e-8 # Stefan-Boltzman\n", "\n", "T = np.linspace(20,200) # Temperature (degC)\n", "Tx = T + 273.15 # Temperature (K)\n", "\n", "# Energy Balance\n", "convection2 = h*A*(Ta-Tx)\n", "radiation2 = eps*sigma*A*(Tinf**4-Tx**4)\n", "\n", "#Plotting\n", "plt.figure(figsize=(10,5))\n", "plt.plot(T,-convection,'b-',label='Convection')\n", "plt.plot(T,-radiation,'r--',label='Thermal Radiation')\n", "plt.plot(T,-convection2,'b-',label='Convection',lw=3) #New variable\n", "plt.plot(T,-radiation2,'r--',label='Thermal Radiation',lw=3) #New variable\n", "plt.xlabel('Temperature $^oC$')\n", "plt.ylabel('Heat Loss (W)')\n", "plt.legend()\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "***Action:*** If the transistor needs to dissipate 1 Watt of power from radiation and convection, what temperature will the transistor be with a surface area of 2 $cm^2$ versus 12 $cm^2$? (Combine then plot values or use the similiar function from above)" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "plt.figure(figsize=(10,5))\n", "plt.plot(T,-convection,'b-',label='Convection')\n", "plt.plot(T,-radiation,'r--',label='Thermal Radiation')\n", "# Try different colors and line types, e.g. k or *\n", "plt.plot(T,-(convection+radiation),'g:',label='Thermal Radiation')\n", "plt.xlabel('Temperature $^oC$')\n", "plt.ylabel('Heat Loss (W)')\n", "plt.legend()\n", "\n", "print(np.transpose([-(convection+radiation), T])) #Combined values in columns" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "
\n", " Temperature:\n", " \n", " $^oC$\n", "
" ] } ], "metadata": { "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.0" } }, "nbformat": 4, "nbformat_minor": 1 }