{
 "metadata": {
  "name": ""
 },
 "nbformat": 3,
 "nbformat_minor": 0,
 "worksheets": [
  {
   "cells": [
    {
     "cell_type": "heading",
     "level": 1,
     "metadata": {},
     "source": [
      "Chapter 10:Traction Drives"
     ]
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Example No:10.1,Page No:320"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "import math\n",
      "from __future__ import division\n",
      "\n",
      "#variable declaration\n",
      "Ma=480             #mass of each motor armature in kg  0.48tonne=480kg\n",
      "Da=0.5             #average diameter of each motor in m\n",
      "m=450              #mass of each wheel in kg\n",
      "R=0.54             #radius of each wheel tread in m\n",
      "M=40               #combine wight of one motor and one trailer coach in ton\n",
      "alpha=5            #accelaration\n",
      "N=4                #number of DC motors \n",
      "a=0.4              #gear ratio\n",
      "r=20               #train resistance\n",
      "\n",
      "#calculation\n",
      "Jw=1/2*m*R**2      #inertia of the each wheel\n",
      "nw=2*(N*2)         #total number of wheels\n",
      "J1=nw*Jw           #total inertia of all the wheels\n",
      "\n",
      "Jm=N*(1/2*Ma*(Da/2)**2)  #approximate inertia of all the motors\n",
      "J2=Jm/a**2               #approximate innertia of the motor referred to the wheels\n",
      "\n",
      "Fa2=(J1+J2)*alpha*1000/3600/R    #Tractive efforts for driving rorating parts\n",
      "Fa1=277.8*M*alpha                #tractive efforts to accelerate the train mass horizontally\n",
      "Fr=r*M                           #Tractive efforts required to overcome train resistance\n",
      "Ft=Fa1+Fa2+Fr                    #Tractive efforts required to move the train\n",
      "Tm=a*R*Ft/N                      #torque per motor\n",
      "\n",
      "#results\n",
      "print\"\\nTorque per motor:Tm=\",round(Tm,1),\"N-m\""
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "\n",
        "Torque per motor:Tm= 3241.3 N-m\n"
       ]
      }
     ],
     "prompt_number": 5
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Example No:10.2,Page No:321"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "import math\n",
      "from __future__ import division\n",
      "\n",
      "#variable declaration\n",
      "M=100              #mass of each motor armature in tonne\n",
      "Me=100\n",
      "Tm=5000            #torque of each motor in N-m\n",
      "Da=0.5             #average diameter of each motor in m\n",
      "m=450              #mass of each wheel in kg\n",
      "R=0.54             #radius of each wheel tread in m\n",
      "N=4                #number of DC motors \n",
      "r=25               #train resistance N/tonne\n",
      "a=0.25             #gear ratio \n",
      "nt=0.98            #gear transmission efficiency\n",
      "G=50               #up gradient\n",
      "Vm=100             #speed in kmph\n",
      "\n",
      "#calculation        \n",
      "Ft=nt*Tm*N/a/R     #Tractive efforts required to move the train\n",
      "alpha=(Ft-(9.81*M*G+M*r))/(277.8*1.1*Me)  #accelaration\n",
      "t=Vm/alpha         #time taken to attain speed of Vm\n",
      "\n",
      "#results\n",
      "print\"\\n time taken to reach a speed of 100kmph is :t=\",round(t,1),\"sec\""
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "\n",
        " time taken to reach a speed of 100kmph is :t= 32.6 sec\n"
       ]
      }
     ],
     "prompt_number": 6
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Example No:10.3,Page No:321"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "import math\n",
      "from __future__ import division\n",
      "\n",
      "#variable declaration\n",
      "G=8               #up gradient\n",
      "r=25              #train resistance N/tonne\n",
      "M=500             #mass of the electric train in tonne\n",
      "n=0.8             #combine effiency of transmission and motor\n",
      "#speed time curve characteristics\n",
      "t1=60       #characteristic for uniform accelaration at v1 in sec\n",
      "alpha=2.5   #given accelaration in km/hr/sec at t1\n",
      "t2=5*60     #characteristic for constant speed in sec \n",
      "t3=3*60     #characteristic for coasting in sec\n",
      "B=3         #dynamic braking deceleration in km/hr/sec\n",
      "\n",
      "#calculation\n",
      "Vm=alpha*t1  #peak voltage\n",
      "Fg=9.81*M*G  #tractive effort required to overcome the force of gravity\n",
      "Fr=M*r       #tractive effort required to overcome the train resistance\n",
      "F_bc=Fg+Fr   #retarding force during coasting\n",
      "\n",
      "Me=1.1*M\n",
      "B_c=F_bc/(277.8*Me)   #deceleration during coasting\n",
      "V=Vm-B_c*t3           #speed after coasting\n",
      "t4=V/B                #characteristic for a dynamic braking of 3km/hr/sec\n",
      "\n",
      "d1=1/2*Vm*t1/3600     #distance covered during accelaration \n",
      "d2=Vm*t2/3600         #distance covered during constant speed\n",
      "d3=1/2*(Vm+V)*t3/3600 #distance covered coasting\n",
      "d4=1/2*V*t4/3600      #distance covered during braking\n",
      "D=d1+d2+d3+d4         #distance during stops\n",
      "D1=d1+d2\n",
      "x=D1/D\n",
      "y=1-x\n",
      "E=(0.01072*Vm**2/D)*(Me/M)+2.725*G*x+0.2778*r*x   #specific energy output\n",
      "Eo=E/n              #specific energy consumption\n",
      "\n",
      "#results\n",
      "print\"\\n Specific energy consumption is :Eo=\",round(Eo,1),\"Whptpkm\"    "
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "\n",
        " Specific energy consumption is :Eo= 41.1 Whptpkm\n"
       ]
      }
     ],
     "prompt_number": 12
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Example No:10.4,Page No:323"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "import math\n",
      "from __future__ import division\n",
      "\n",
      "#variable declaration\n",
      "G=20              #up gradient\n",
      "r=25              #train resistance N/tonne\n",
      "M=500             #mass of the electric train in tonne\n",
      "n=0.8             #combine effiency of transmission and motor\n",
      "#speed time curve characteristics\n",
      "t1=50       #characteristic for uniform accelaration at v1 in sec\n",
      "alpha=3     #given accelaration in km/hr/sec at t1\n",
      "t2=10*60    #characteristic for constant speed in sec \n",
      "B=2.5       #uniform braking deceleration in kmphs to rest\n",
      "\n",
      "\n",
      "#calculation \n",
      "Vm=alpha*t1  #peak voltage\n",
      "t3=Vm/B      #characteristic for a uniform braking of B=2.5 kmphs\n",
      "\n",
      "#(i)during accelaration total tractive effort \n",
      "Me=1.1*M\n",
      "Fta=277.8*Me*alpha-9.81*M*G+M*r   #total tractive effort during accelaration\n",
      "Da=1/2*Vm*t1/3600     #distance covered during accelaration ,and t1 is in seconds\n",
      "Ea=Fta*Da*1000/3600   #energy output during accleration in Wh\n",
      "\n",
      "#(ii)during uniform speed net tractive effort\n",
      "Ftu=-9.81*M*G+M*r     #total tractive effort during uniform speed\n",
      "#the answer for Ftu in the book is -105220 N  which is wrong which leads to the other incorrect answers in the book\n",
      "\n",
      "Du=Vm*t2/3600         #distance traveled,and t2 is in seconds\n",
      "Eu=Ftu*Du*1000/3600   #energy output in Wh\n",
      "\n",
      "#(iii)during braking net tractive effort\n",
      "Ftb=-277.8*Me*B-9.81*M*G+M*r  #total tractive effort for the net braking\n",
      "Db=1/2*Vm*t3/3600     #distance covered during braking\n",
      "Eb=Ftb*Db*1000/3600   #energy output during braking in Wh\n",
      "\n",
      "E=Ea/n+n*(Eu+Eb)      #net energy consumption\n",
      "D=Da+Du+Db            #total distance traveled\n",
      "Eo=E/(M*D)            #specific energy consumption\n",
      "\n",
      "#results \n",
      "print\"(i)Energy consumption during accelaration is :Ea :\",round(Ea),\"Wh\"\n",
      "print\"   There is a slight difference in the answer due to the number of decimal place\"\n",
      "print\"\\n(ii)Energy consumption during uniform speed is :Eu :\",round(Eu),\"Wh\" \n",
      "print\"\\n(iii)Energy consumption during braking is :Eb :\",round(Eb,1),\"Wh\"    \n",
      "print\"\\n Net Energy consumption  is E :\",round(E,1),\"Wh\"    \n",
      "print\"\\n Total Distance traveled is D :\",round(D,4),\"km\"\n",
      "print\"\\n Specific Energy consumption  is Eo :\",round(Eo,2),\"Whptpkm\"\n",
      "#answers in the book are incorrect\n"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "(i)Energy consumption during accelaration is :Ea : 107862.0 Wh\n",
        "   There is a slight difference in the answer due to the number of decimal place\n",
        "\n",
        "(ii)Energy consumption during uniform speed is :Eu : -594444.0 Wh\n",
        "\n",
        "(iii)Energy consumption during braking is :Eb : -162352.4 Wh\n",
        "\n",
        " Net Energy consumption  is E : -470610.4 Wh\n",
        "\n",
        " Total Distance traveled is D : 27.2917 km\n",
        "\n",
        " Specific Energy consumption  is Eo : -34.49 Whptpkm\n"
       ]
      }
     ],
     "prompt_number": 11
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Example No:10.5,Page No:325"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "import math\n",
      "from __future__ import division\n",
      "\n",
      "#variable declaration\n",
      "Mm=40       #weight of the motor coach in tonne\n",
      "Mt=35       #weight of the trailer in tonne\n",
      "u=0.2       #co-efficient of adhesion\n",
      "r=30        #train resistance N/tonne\n",
      "\n",
      "#calculation\n",
      "#(a)when the motor to trailer ratio is 1:2\n",
      "M=Mm+2*Mt     #weight of one unit\n",
      "Me=1.1*M\n",
      "Md=40         #weight on the driving wheels\n",
      "Fm=9810*u*Md  #total tractive effort without the wheel\n",
      "Ft=Fm         #at maximum accelaration    \n",
      "alpha=(Ft-M*r)/(277.8*Me) #required accelaration since Ft=277.8*u*alpha*M*r\n",
      "\n",
      "#(b)when the motor to trailer ratio is 1:1\n",
      "M=Mm+Mt       #weight of one unit\n",
      "Me=1.1*M\n",
      "Md=40         #weight on the driving wheels\n",
      "Fm=9810*u*Md  #total tractive effort wihout the wheel\n",
      "Ft=Fm         #at maximum accelaration    \n",
      "alpha1=(Ft-M*r)/(277.8*Me) #required accelaration since Ft=277.8*u*alpha*M*r\n",
      "\n",
      "\n",
      "#results\n",
      "print\"(a)maximum accelaration on a level track  is alpha :\",round(alpha,4),\"kmphps\"\n",
      "print\"\\n(b)maximum accelaration when motor to trailer coaches ratio is 1:1 is alpha :\",round(alpha1,3),\"kmphps\""
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "(a)maximum accelaration on a level track  is alpha : 2.2366 kmphps\n",
        "\n",
        "(b)maximum accelaration when motor to trailer coaches ratio is 1:1 is alpha : 3.326 kmphps\n"
       ]
      }
     ],
     "prompt_number": 3
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Example No:10.6,Page No:326"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "import math\n",
      "from __future__ import division\n",
      "\n",
      "#variable declaration\n",
      "G=10        #up gradient of the locomotive\n",
      "Ml=110      #weight of the locomotive coach in tonne\n",
      "Mt=500      #weight of the train in tonne\n",
      "r=35        #train resistance N/tonne\n",
      "n=0.8       #80% of the locomotive weight is carried by the driving wheels\n",
      "alpha=1     #acelaration in kmphps\n",
      "\n",
      "#calculation\n",
      "#when only the 110 tonne locomotive is present\n",
      "Md=Ml*n     #weight of the motor\n",
      "M=Mt+Ml     #total mass of the train\n",
      "Me=1.1*M\n",
      "Ft=277.8*Me*alpha+9.81*M*G+M*r  #total tractive effort required to move the train\n",
      "Fm=Ft\n",
      "u=Fm/(9810*Md)   #co-efficient of adhesion ,since Fm=9810*u*Md\n",
      "\n",
      "#when another locomotive of 70 is added together\n",
      "Md=Ml*n+70      # mass of the motor\n",
      "M_=Mt+Ml+70     # mass of the train\n",
      "Fm=9810*u*Md\n",
      "Ft=Fm\n",
      "M=Ft/(277.8*1.1*alpha+9.81*G+r)  #total mass of the train, since Ft=277.8*Me*alpha+9.81*M*G+M*r\n",
      "W=M-M_          #weight of additional bogies to be attached\n",
      "\n",
      "\n",
      "#results\n",
      "print\"\\n Given co-efficient of adhesion is:\",round(u,2)\n",
      "print\"\\n Weight of additional bogies to be attached is:\",round(W,1),\"T\""
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "\n",
        " Given co-efficient of adhesion is: 0.31\n",
        "\n",
        " Weight of additional bogies to be attached is: 415.2 T\n"
       ]
      }
     ],
     "prompt_number": 16
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Example No:10.7,Page No:327"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "import math\n",
      "from sympy import Symbol\n",
      "from __future__ import division\n",
      "\n",
      "#variable declaration\n",
      "Ml=1000      #weight of the empty train in tonne\n",
      "Mt=5000      #weight of the fully loaded train in tonne\n",
      "G=15         #gradient of the track\n",
      "V=30         #maximum speed of the train \n",
      "r=40         #train resistance in N/tonne\n",
      "u=0.25       #co-efficient of adhesion\n",
      "alpha=0.3    #acelaration in kmphps\n",
      "\n",
      "n = Symbol('n')  #number of locomotive required\n",
      "W=100            #weight of each locomotive\n",
      "\n",
      "#calculation\n",
      "Md=W*n\n",
      "Fm=9810*u*Md\n",
      "Fb=9.81*(Mt+W*n)*G-(Mt+W*n)*r\n",
      "print\"\\nFm=\",Fm\n",
      "print\"\\nFb=\",Fb\n",
      "print\"\\nequating Fb and Fm we get\"\n",
      "n=535750/(245250-10715)\n",
      "if (n>2) : \n",
      "    n=3\n",
      "print\"\\nThe number of locomotives is n:\",n    \n",
      "Md=W*n\n",
      "M=Ml+W*n\n",
      "Ft=277.8*1.1*M*alpha+9.81*M*G+M*r  \n",
      "Fm=9810*0.3*Md\n",
      "if (Fm>Ft) :\n",
      "    print\"\\nThe train can be accelarated with \",n,\"locomotives\""
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "\n",
        "Fm= 245250.0*n\n",
        "\n",
        "Fb= 10715.0*n + 535750.0\n",
        "\n",
        "equating Fb and Fm we get\n",
        "\n",
        "The number of locomotives is n: 3\n",
        "\n",
        "The train can be accelarated with  3 locomotives\n"
       ]
      }
     ],
     "prompt_number": 18
    }
   ],
   "metadata": {}
  }
 ]
}