{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "### Hughes and Hase, Problem 4.8" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "import numpy as np" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The volume flow rate is given by \n", "\n", "$$\n", "\\frac{dV}{dt} = \\frac{\\pi\\rho ghr^4}{8\\eta L},\n", "$$ \n", "\n", "where $\\eta$ and $\\rho$ are the viscosity and density of the fluid, $h$ is the head of pressure across the tube, and $g$ the gravitational field strength. In an experiment, the graph of the flow rate versus height has a slope measured to 7%, the length is known to 0.5%, and the radius to 8%. What is the fractional precision to which the viscosity is known? If more experimental time is available, should this be devoted to (i) collecting more flow-rate data, (ii) measuring the length better, or (iii) measuring the radius of the tube better?" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "First, we need to rewrite this relation in terms that will enable us to calculate the viscosity $\\eta$ from the\n", "length $L$, the radius $r$ and the slope of a plot of flow rate $F = dV/dt$ versus $h$. Let’s call that \n", "slope $s$ to simplify the notation.\n", "\n", "The slople of the flow rate vs. $h$ graph is\n", "\n", "$$\n", "s = \\frac{\\pi\\rho gr^4}{8\\eta L},\n", "$$\n", "\n", "and solving for the viscosity gives\n", "\n", "$$\n", "\\eta = \\frac{\\pi\\rho gr^4}{8sl}.\n", "$$\n", "\n", "The uncertainty in the viscosity is given by\n", "\n", "\\begin{eqnarray*}\n", "\\alpha_\\eta^2 &=& \\left(\\frac{\\partial \\eta}{\\partial s}\\right)^2\\alpha_s^2 \n", " + \\left(\\frac{\\partial \\eta}{\\partial L}\\right)^2\\alpha_L^2 \n", " + \\left(\\frac{\\partial \\eta}{\\partial r}\\right)^2\\alpha_r^2 \\\\\n", " &=& \\left(\\frac{-\\eta}{s}\\right)^2\\alpha_s^2 + \\left(\\frac{-\\eta}{L}\\right)^2\\alpha_L^2 \n", " + \\left(\\frac{4\\eta}{r}\\right)^2\\alpha_r^2,\n", "\\end{eqnarray*}\n", "\n", "and the fractional uncertainty is given by\n", "\n", "$$\n", "\\left(\\frac{\\alpha_\\eta}{\\eta}\\right)^2 \n", " = \\left(\\frac{\\alpha_s}{s}\\right)^2 + \\left(\\frac{\\alpha_L}{L}\\right)^2 \n", " + \\left(4\\frac{\\alpha_r}{r}\\right)^2\n", "$$" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0.32760494501762333" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "Frac_alpha_s = 0.07 # Fractional uncertainty in s\n", "Frac_alpha_L = 0.005 # Fractional uncertainy in L\n", "Frac_alpha_r = 0.08 # Fractional uncertainty in r\n", "Frac_alpha_eta = np.sqrt(Frac_alpha_s**2+Frac_alpha_L**2+(4*Frac_alpha_r)**2)\n", "Frac_alpha_eta " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "So, the fractional precision to which the viscosity is known is 33%. Note that this is dominated by the\n", "error in the radius measurement. If the fractional error were zero for both the slope and the length L\n", "measurement, we’d get a fractional uncertainty of 32% with the radius measurement alone because of\n", "the factor of 4 that comes in from the fact that we take the 4th power of $r$ in the relation.\n", "\n", "So, clearly if we want to improve the measurement, the radius of the tube is the thing that we need to\n", "work on -- that dominates the error." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Version information\n", "`version_information` is from J.R. Johansson (jrjohansson at gmail.com); see Introduction to scientific computing with Python for more information and instructions for package installation.\n", "\n", "`version_information` is installed on the linux network at Bucknell" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "%load_ext version_information" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "application/json": { "Software versions": [ { "module": "Python", "version": "3.7.7 64bit [GCC 7.3.0]" }, { "module": "IPython", "version": "7.16.1" }, { "module": "OS", "version": "Linux 3.10.0 1062.9.1.el7.x86_64 x86_64 with centos 7.7.1908 Core" }, { "module": "numpy", "version": "1.18.5" } ] }, "text/html": [ "
Software | Version |
---|---|
Python | 3.7.7 64bit [GCC 7.3.0] |
IPython | 7.16.1 |
OS | Linux 3.10.0 1062.9.1.el7.x86_64 x86_64 with centos 7.7.1908 Core |
numpy | 1.18.5 |
Fri Aug 07 09:47:30 2020 EDT |