{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Chapter 2 Semiconductor devices"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Ex 2.1 Pg-2.18"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "the equivalent resistance are Rf=3.333 ohm and Rr=2.4 M ohm\n"
     ]
    }
   ],
   "source": [
    "Vf=0.2 #  #voltage in volts\n",
    "Vr=60 #  #voltage in volts\n",
    "If=60*10**(-3) #  #current in  ampere\n",
    "I0=0.025*10**(-3) #  #current in  ampere\n",
    "Rf=Vf/If # #forward resistance\n",
    "Rr=Vr/I0 # #reverse resistance\n",
    "Rr=Rr*1e-6\n",
    "print \"the equivalent resistance are Rf=%.3f ohm and Rr=%-.1f M ohm\"%(Rf,Rr)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Ex-2.2 Pg-2.18"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "refer to the Figure-2.19 given \n",
      "from the characteristics at point P, Vf=0.7V,If=60mA\n",
      "\n",
      " DC forward resistance Rf : 11.67 ohm\n",
      "\n",
      "as the forward voltage changes from P to Q\n",
      "\n",
      " Dynamic forward resistance rf : 1.167 ohm\n"
     ]
    }
   ],
   "source": [
    "print \"refer to the Figure-2.19 given \"\n",
    "print \"from the characteristics at point P, Vf=0.7V,If=60mA\"\n",
    "Vf=0.7 #\n",
    "If=0.06 #\n",
    "Rf=Vf/If # #DC forward resistance\n",
    "print \"\\n DC forward resistance Rf : %.2f ohm\\n\"%(Rf)\n",
    "print \"as the forward voltage changes from P to Q\"\n",
    "delta_Vf=0.77-.7 #\n",
    "delta_If=(120-60)*10**(-3) #\n",
    "rf=delta_Vf/delta_If # #dynamic forward resistance\n",
    "print \"\\n Dynamic forward resistance rf : %.3f ohm\"%(rf)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Ex 2_3 Pg-2-22"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      " Refer to the figure-2.24 shown \n",
      " since Rf=0 The circuit becomes as shown in figure-2.24(a)\n",
      "\n",
      " \n",
      " current through the resistance Il=If = is 9.3 mA\n",
      "\n",
      " \n",
      " voltage across Rl is 9.3 V\n",
      "\n",
      " \n",
      " diode power Pd = 6.51 mW\n",
      "\n",
      " \n",
      " load power Pl = 86.49 mW\n"
     ]
    }
   ],
   "source": [
    "print \" Refer to the figure-2.24 shown \"\n",
    "print \" since Rf=0 The circuit becomes as shown in figure-2.24(a)\"\n",
    "V=10 # #supply voltage\n",
    "Rf=0 # #forward resistance\n",
    "Rl=1 # #load resistance in k ohm\n",
    "Vin=0.7 # #cut in voltage\n",
    "Il=(V-Vin)/Rl # #applying KVL to the loop\n",
    "If=Il #\n",
    "print \"\\n \\n current through the resistance Il=If = is %.1f mA\"%(If)\n",
    "Vl=Il*Rl #\n",
    "print \"\\n \\n voltage across Rl is %.1f V\"%(Vl)\n",
    "Pd=If*Vin #\n",
    "print \"\\n \\n diode power Pd = %.2f mW\"%(Pd)\n",
    "Pl=Il*Vl #\n",
    "print \"\\n \\n load power Pl = %.2f mW\"%(Pl)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Ex 2_4 PG-2.23"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Refer the Figure-2.25 shown\n",
      "When forward resistance Rf is neglected  then\n",
      "the diode behaves as a battery as shown in Figure-2.25(a)\n",
      "\n",
      " Forward current is 18.60 mA\n",
      "\n",
      "When forward resistance is Rf is 3.2 Ohm then\n",
      "the equivalent circuit is as shown in fig-2.25(b)\n",
      "\n",
      " therefore Forward current is 18.4817 mA\n"
     ]
    }
   ],
   "source": [
    "print \"Refer the Figure-2.25 shown\"\n",
    "print \"When forward resistance Rf is neglected  then\"\n",
    "print \"the diode behaves as a battery as shown in Figure-2.25(a)\"\n",
    "Vf=0.7 # #cut-in voltage\n",
    "V=10 # #supply voltage\n",
    "Rl=500 # #load resistance\n",
    "If=(V-Vf)/Rl # #applying KVL to the circuit\n",
    "If=If*1e3\n",
    "print \"\\n Forward current is %.2f mA\\n\"%(If)\n",
    "print \"When forward resistance is Rf is 3.2 Ohm then\"\n",
    "print \"the equivalent circuit is as shown in fig-2.25(b)\"\n",
    "Rf=3.2 #\n",
    "If=(V-Vf)/(Rl+Rf) # #applying KVL to the circuit\n",
    "If=If*1e3\n",
    "print \"\\n therefore Forward current is %.4f mA\"%(If)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Ex 2_5 PG-2.23"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "when forward current is zero then\n",
      " voltage across the diode is 0.3 V\n",
      "\n",
      "when forward current is 80mA then\n",
      " voltage across the diode is 0.332 V\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7fb06044c950>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "%matplotlib inline\n",
    "import matplotlib.pyplot as plt\n",
    "\n",
    "If=80e-3 # #maximum forward current\n",
    "Rf=0.4 # #dynamic resistance\n",
    "Vin=0.3 # #cut-in voltage for germanium\n",
    "print \"when forward current is zero then\"\n",
    "Vf=Vin # #voltage across the diode\n",
    "print \" voltage across the diode is %1.1f V\\n\"%(Vf)\n",
    "print \"when forward current is 80mA then\"\n",
    "Vf=Vin+If*Rf #\n",
    "print \" voltage across the diode is %1.3f V\"%(Vf)\n",
    "x=[0 ,.1 ,.2 ,.3 ,.332] # #x-coordinate\n",
    "y=[0  ,0  ,0  ,0  ,80] # #y-coordinate\n",
    "plt.plot(x,y)\n",
    "plt.xlabel('voltage across the diode (V) ') #\n",
    "plt.ylabel('current (mA)') #\n",
    "plt.title('Piecewise linear characteristic')\n",
    "plt.grid()\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Ex 2_6 PG-2.28"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Refer to the Figure:2.29 shown\n",
      "for Q point If=25mA, ie Iq=25mA\n",
      "for If=0 A, Vf=Vin=3V at point B\n",
      "Now we draw the graph\n",
      "The coordinates are Q=(1V,25mA) B=(3V,0mA)\n"
     ]
    },
    {
     "data": {
      "image/png": "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\nSUVORK5CYII=\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7fb060470d50>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Q-point is denoted by the intersection of two lines as shown in the plot\n",
      "Therefore load resistance is the reciprocal of the slope \n",
      "\n",
      " required load resistance is 90 ohm\n"
     ]
    }
   ],
   "source": [
    "%matplotlib inline\n",
    "import matplotlib.pyplot as plt\n",
    "\n",
    "print \"Refer to the Figure:2.29 shown\"\n",
    "If=25e-3 # #current at Q-point\n",
    "print \"for Q point If=25mA, ie Iq=25mA\"\n",
    "print \"for If=0 A, Vf=Vin=3V at point B\"\n",
    "print \"Now we draw the graph\"\n",
    "print \"The coordinates are Q=(1V,25mA) B=(3V,0mA)\"\n",
    "x=[ 0 ,0.5, 0.6,    1,   1.1 ] # #x-coordinate\n",
    "y=[ 0 , 1 ,  5     ,25   ,30 ] # #y-coordinate\n",
    "plt.plot(x,y)\n",
    "x1=[0.5 ,  1,    3] # #x-coordinate\n",
    "y1=[ 31   ,25 ,  0] # #y-coordinate\n",
    "plt.plot(x1,y1)\n",
    "x2=[ 0, 1] #\n",
    "y2=[25 ,25] #\n",
    "plt.plot(x2,y2)\n",
    "plt.xlabel('Vf (volts)') #\n",
    "plt.ylabel('If (mA)') #\n",
    "plt.title(\"Piece-wise linear characteristic\")\n",
    "plt.grid() #\n",
    "plt.show()\n",
    "print \"Q-point is denoted by the intersection of two lines as shown in the plot\"\n",
    "delta_If=10e-3 # #from the graph plotted\n",
    "delta_Vf=0.9 # #from the graph plotted\n",
    "s=delta_If/delta_Vf # #slope\n",
    "print \"Therefore load resistance is the reciprocal of the slope \"\n",
    "Rl=1/s # #load resistance\n",
    "print \"\\n required load resistance is %.0f ohm\"%(Rl)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Ex 2_7 PG-2.29"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "We draw the new DC load line in the plot\n",
      "\n",
      " slope is -1.000000 \n",
      "\n",
      "The slope passes through the Q-point so the equation of the load \n",
      "line is If=(-Vf/Rl)+(Vin/Rl)\n",
      "Now from the graph we can see that slope =(change in If)/(change in Vf)\n",
      "For If=35 mA Vf=1.1 V\n",
      "The coordinates are Q=(1.1V,35mA) C=(2.6V,25mA) B=(6.4V,0mA)\n",
      "\n",
      " change in Vf is 0.0 V \n",
      "\n",
      "This is point C corresponding to If=35-10=35mA, as If is change by 10mA\n",
      "and Vf=2.6V \n",
      "We join the Q-point and point C as shown in the plot to get the DC load\n",
      " line we extend the line to intersect point B \n",
      "the voltage at point B is the new supply voltage required\n",
      "\n",
      " From the plot voltage at point B = 6.7 V\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7fb060470dd0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "import matplotlib.pyplot as plt\n",
    "%matplotlib inline\n",
    "\n",
    "Rl=150 # #load resistance\n",
    "If=35e-3 # #current at which Q-point appears\n",
    "print \"We draw the new DC load line in the plot\"\n",
    "s=-1/Rl # #slope\n",
    "print \"\\n slope is %f \\n\"%(s)\n",
    "x=[ 0 ,0.5,  1,   1.1, 1.15 ] # #x-coordinate\n",
    "y=[ 0  ,1 , 25   ,35  , 40 ] # #y-coordinate\n",
    "plt.plot(x,y)\n",
    "x1=[0, 1.1, 2.6, 6.4 ] # #x-coordinate\n",
    "y1=[42  ,35  , 25 , 0] # #y-coordinate\n",
    "plt.plot(x1,y1)\n",
    "x2=[ 0 , 1 , 1.1] # #x-coordinate\n",
    "y2=[35 ,35 , 35] # #y-coordinate\n",
    "plt.plot(x2,y2)\n",
    "x3=[0 , 1 , 2.6] # #x-coordinate\n",
    "y3=[25 ,25 ,25] # #y-coordinate\n",
    "plt.plot(x3,y3)\n",
    "x4=[1.1 ,1.1, 1.1] #\n",
    "y4=[ 0  ,10  , 35 ] #\n",
    "plt.plot(x4,y4)\n",
    "x5=[2.6, 2.6] #\n",
    "y5=[0  ,  25] #\n",
    "plt.plot(x5,y5)\n",
    "plt.xlabel('Vf (volts)') #\n",
    "plt.ylabel('If (mA)') #\n",
    "plt.title(\"Piece-wise linear characteristic\")\n",
    "plt.grid()\n",
    "print \"The slope passes through the Q-point so the equation of the load \"\n",
    "print \"line is If=(-Vf/Rl)+(Vin/Rl)\"\n",
    "print \"Now from the graph we can see that slope =(change in If)/(change in Vf)\"\n",
    "print \"For If=35 mA Vf=1.1 V\"\n",
    "print \"The coordinates are Q=(1.1V,35mA) C=(2.6V,25mA) B=(6.4V,0mA)\"\n",
    "delta_If=10e-3 # #change in If\n",
    "delta_Vf=delta_If/abs(s) # #change in Vf and we take only the magnitudeof the slope \n",
    "print \"\\n change in Vf is %1.1f V \\n\"%(delta_Vf)\n",
    "print \"This is point C corresponding to If=35-10=35mA, as If is change by 10mA\" \n",
    "print \"and Vf=2.6V \"\n",
    "print \"We join the Q-point and point C as shown in the plot to get the DC load\"\n",
    "print \" line we extend the line to intersect point B \"\n",
    "print \"the voltage at point B is the new supply voltage required\"\n",
    "print \"\\n From the plot voltage at point B = 6.7 V\""
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Ex 2_8 PG-2.33"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "therefore the P-N junction diode current is 10.483844 A\n"
     ]
    }
   ],
   "source": [
    "from math import exp\n",
    "V=0.22 # #forward bias voltage\n",
    "T=25+273 # #room temperature in degree kelvin\n",
    "I0=2e-3 # #reverse saturation current\n",
    "n=1# #for germanium diode\n",
    "k=8.62e-5 #Boltzmann's constant\n",
    "Vt=k*T #\n",
    "I=I0*(exp(V/(n*Vt))) # # diode current\n",
    "print \"therefore the P-N junction diode current is %f A\"%(I)\n",
    "# in the book they have taken the approximate value \n",
    "#hence the answer is slighty different. in the book \n",
    "#Vt=0.02568(approx) whereas Vt=0.0256876(exact value)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Ex 2_9 PG-2.36"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "At temperature T=27 degree C\n",
      "For silicon diode Vf=0.7 V is constant \n",
      " \n",
      " Therefore maximum forward current at T=27 degree C is 0.7143 A \n",
      "\n",
      "At temperature T=77 degree C\n",
      "\n",
      " Therefore maximum forward current at T=77 degree C is 0.4286 A\n"
     ]
    }
   ],
   "source": [
    "P1=500e-3 # #rated power rating of the diode \n",
    "T1=27 # #temperature in Degree Celsius\n",
    "Df=4e-3 # #Derating factor \n",
    "print \"At temperature T=27 degree C\"\n",
    "print \"For silicon diode Vf=0.7 V is constant \"\n",
    "Vf=0.7 #\n",
    "If1=P1/Vf #\n",
    "print \" \\n Therefore maximum forward current at T=27 degree C is %.4f A \\n\"%(If1)\n",
    "print \"At temperature T=77 degree C\"\n",
    "T2=77 # #temperature in degree celsius\n",
    "P2=P1-(T2-T1)*Df # #rated power rating of the diode at T=77 degree C\n",
    "If2=P2/Vf #\n",
    "print \"\\n Therefore maximum forward current at T=77 degree C is %.4f A\"%(If2)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Ex 2_10 PG-2.37"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "at T2=25 degree C\n",
      "\n",
      " therefore forward voltage drop at 50 degree C is 0.6471 V \n",
      "\n",
      "at T3=77 degree C\n",
      "\n",
      " therefore forward voltage drop at 77 degree C is 0.585 V\n"
     ]
    }
   ],
   "source": [
    "T1=27 # #initial temperature\n",
    "Vfl=0.7 # #forward voltage\n",
    "Vtc=-2.3e-3 # #voltage temperature coefficient\n",
    "print \"at T2=25 degree C\"\n",
    "T2=50 #\n",
    "Vf2=Vfl+((T2-T1)*Vtc)\n",
    "print \"\\n therefore forward voltage drop at 50 degree C is %.4f V \\n\"%(Vf2)\n",
    "print \"at T3=77 degree C\"\n",
    "T3=77 #\n",
    "Vf2=Vfl+((T3-T1)*Vtc)\n",
    "print \"\\n therefore forward voltage drop at 77 degree C is %.3f V\"%(Vf2)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Ex 2_11 PG-2.38"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Therefore at a temperature of 25 Degree C \n",
      "\n",
      " dynamic resistance is 0.867 ohm \n",
      "\n",
      "Therefore at a temperature of 75 Degree C \n",
      "\n",
      " dynamic resistance is 0.867 ohm\n"
     ]
    }
   ],
   "source": [
    "If=30e-3 # #forward current\n",
    "T1=25+273 # #temperature in degree kelvin\n",
    "print \"Therefore at a temperature of 25 Degree C \"\n",
    "Rf=26e-3/If #\n",
    "print \"\\n dynamic resistance is %.3f ohm \\n\"%(Rf)\n",
    "print \"Therefore at a temperature of 75 Degree C \"\n",
    "T2=75+273 #Temperature in degree kelvin\n",
    "Rf=Rf*(T2/T1) #\n",
    "print \"\\n dynamic resistance is %.3f ohm\"%(Rf)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Ex 2_12 PG-2.43"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "the maximum recovery time is 0.0 micro sec\n"
     ]
    }
   ],
   "source": [
    "Tf_min=1 # #fall time in micro second\n",
    "Trr_max=Tf_min/10\n",
    "print \"the maximum recovery time is %.1f micro sec\"%(Trr_max)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Ex 2_13 PG-2.48"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Therefore the derated power rating at a temperature T=100 Degree celsius\n",
      "\n",
      " is 0.205 W\n"
     ]
    }
   ],
   "source": [
    "PD_max=320e-3 # #maximum power rating\n",
    "T1=50 # #temperature in degree celsius at which maximum power rating occurs\n",
    "DF=2.3e-3 # #Derating factor\n",
    "print \"Therefore the derated power rating at a temperature T=100 Degree celsius\"\n",
    "T2=100 #\n",
    "PD=PD_max-DF*(T2-T1) #\n",
    "print \"\\n is %.3f W\"%(PD)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Ex 2_14 PG-2.52"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "zener resistance Zz=20 ohm\n"
     ]
    }
   ],
   "source": [
    "Vzd=50e-3 # #change in Vz\n",
    "Izd=2.5e-3 #change in Iz\n",
    "Zz=Vzd/Izd # #zener resistance\n",
    "print \"zener resistance Zz=%.0f ohm\"%(Zz)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Ex 2_15 PG-2.52"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Therefore total terminal voltage across the diode Vz''= 5.2V\n"
     ]
    }
   ],
   "source": [
    "rz=4 # #zener diode resistance\n",
    "Vz=5.1 #\n",
    "Iz=25e-3 #\n",
    "x=Iz*rz #\n",
    "Vzz=Vz+x # #total terminal voltage across the diode \n",
    "print \"Therefore total terminal voltage across the diode Vz''= %.1fV\"%(Vzz)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Ex 2_16 PG-2.52"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "   At T=40 degree celsius maximum zener current Izm=73.53 mA\n",
      "\n",
      "\n",
      "   At T=100 degree celsius maximum zener current Izm=50.588 mA\n",
      "\n",
      "\n"
     ]
    }
   ],
   "source": [
    "Vz=6.8 #nominal voltage\n",
    "Pd_max=500 # #zener diode power loss in mW at 40 degree celsius\n",
    "D=2.6 # #Derating factor in mW/degree celsius\n",
    "T1=40 # #Temperature in degree celsius\n",
    "Izm=Pd_max/Vz #\n",
    "print \"   At T=40 degree celsius maximum zener current Izm=%.2f mA\\n\\n\"%(Izm)\n",
    "T2=100 # #Temperature in degree celsius\n",
    "delta_T=T2-T1 # #change in temperature\n",
    "Pd_derated=Pd_max-D*delta_T\n",
    "Izm=Pd_derated/Vz #\n",
    "print \"   At T=100 degree celsius maximum zener current Izm=%.3f mA\\n\\n\"%(Izm)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Ex 2_17 PG-2.52"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Refer to the figure-2.51 shown\n",
      "\n",
      " We apply KVL across the circuit \n",
      "\n",
      " Therefore -Iz*R1-Vz+Vin = 0 \n",
      "\n",
      " \n",
      " zener diode current Iz:14.626866 mA\n",
      " power dissipation :76.059701 mW \n"
     ]
    }
   ],
   "source": [
    "print \"Refer to the figure-2.51 shown\\n\"\n",
    "print \" We apply KVL across the circuit \\n\"\n",
    "print \" Therefore -Iz*R1-Vz+Vin = 0 \\n\"\n",
    "Vin=15 #\n",
    "Vz=5.2 #\n",
    "R1=670 #\n",
    "Iz=(Vin-Vz)/R1 # #zener diode current\n",
    "Iz=Iz*1e3 # #in mA\n",
    "Pd=Vz*Iz # #power dissipation\n",
    "print \" \\n zener diode current Iz:%f mA\\n power dissipation :%f mW \"%(Iz,Pd)"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 2",
   "language": "python",
   "name": "python2"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 2
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython2",
   "version": "2.7.9"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 0
}
