{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Chapter 4  EXCESS CARRIER IN SEMICONDUCTOR"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Example 4_2 pgno: 100"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Nd =  200000000000000000 cmˆ−3\n",
      "Er =  11.9\n",
      "e =  1.6e-19 columns\n",
      "eo =  8.854e-14\n",
      "un =  1350 cm2/Vs\n",
      " conducitivity , sigma=e∗un∗Nd)= 43.2 S/cm\n",
      "Dielectric releaxation time ,td=((Er∗Eo)/sigma))= 2.43894907407e-14 s\n"
     ]
    }
   ],
   "source": [
    "#exa 4.2\n",
    "Nd =2*10**17\n",
    "print\"Nd = \",Nd,\"cmˆ−3\" # initializing value of donor concentration .\n",
    "Er =11.9\n",
    "print\"Er = \",Er # initializing value of relative dielectric constant.\n",
    "e=1.6*10**-19\n",
    "print\"e = \",e,\"columns\" # initializing value of charge of electrons .\n",
    "Eo=8.854*10**-14\n",
    "print\"eo = \",Eo # initializing value of permittivity of free space .\n",
    "un=1350\n",
    "print\"un = \",un,\"cm2/Vs\" # initializing value of mobility .\n",
    "sigma=e*un*Nd\n",
    "print\" conducitivity , sigma=e∗un∗Nd)=\",sigma,\"S/cm\"# calculation\n",
    "td=((Er*Eo)/sigma)\n",
    "print\"Dielectric releaxation time ,td=((Er∗Eo)/sigma))=\",td,\"s\"# calculation"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Example 4_3 pgno: 101"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "n =  1000000000000000 cmˆ−3\n",
      "no =  10000000000 cmˆ−3\n",
      "t =  1e-06 s\n",
      "Excess electron concentration =  100000000000000 cmˆ−3\n",
      "electron hole recombination ,R=(c/t))= 1e+20  /cmˆ3s\n"
     ]
    }
   ],
   "source": [
    "#exa 4.3\n",
    "n=10**15\n",
    "print\"n = \",n,\"cmˆ−3\" # initializing value of concentration of electrons/cmˆ3.\n",
    "no =10**10\n",
    "print\"no = \",no,\"cmˆ−3\" # initializing value of intrinsic concentration of electron .\n",
    "t=10**-6\n",
    "print\"t = \",t,\"s\" # initializing value of carrier lifetime .\n",
    "c=1*10**14\n",
    "print\"Excess electron concentration = \",c,\"cmˆ−3\" # initializing value of excess electrons concentration .\n",
    "R=(c/t)\n",
    "print\"electron hole recombination ,R=(c/t))=\",R,\" /cmˆ3s\"# calculation,"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Example 4_4 pgno: 101"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Nd =  1000000000000000 cmˆ−3\n",
      "minority carrier lifetime =  1e-05 s\n",
      "no =  15000000000.0 cmˆ−3\n",
      "excess carrier concentration ,p=(noˆ2/Nd))= 225000.0 /cmˆ3\n",
      "electron hole generation and recombination rate ,R=(p/t))= 22500000000.0 /cmˆ3s\n",
      "majority carrier concentration ,t=Nd/R)= 44444.4444444 s\n"
     ]
    }
   ],
   "source": [
    "#exa 4.4\n",
    "Nd =10**15\n",
    "print\"Nd = \",Nd,\"cmˆ−3\" # initializing value of donor concentration ..\n",
    "tn =10*10**-6\n",
    "print\"minority carrier lifetime = \",tn,\"s\" #initializing value of minority carrier lifetime\n",
    "no=1.5*10**10\n",
    "print\"no = \",no,\"cmˆ−3\" # initializing value of electron and hole concentration per cmˆ3.\n",
    "p=(no**2/Nd)\n",
    "print\"excess carrier concentration ,p=(noˆ2/Nd))=\",p,\"/cmˆ3\"# calculation\n",
    "R=(p/tn)\n",
    "print\"electron hole generation and recombination rate ,R=(p/t))=\",R,\"/cmˆ3s\"#calculation\n",
    "t=Nd/R\n",
    "print\"majority carrier concentration ,t=Nd/R)=\",t,\"s\"# calculation .\n",
    "#the value of majority carrier concentration,t=Nd/R( after calculation ) , is provided wrong in the solution .\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Example 4_5 pgno: 101"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Nd =  10000000000000000  cmˆ−3\n",
      "p =  1000000  cmˆ−3\n",
      "no =  10000000000  cmˆ−3\n",
      "n∗ =  1000000000000000  cmˆ−3\n",
      "p∗ =  1000000000000000  cmˆ−3\n",
      "KT =  0.0259  eV\n",
      "T =  300  K\n",
      "Thermal equilibirium fermi level ,( Ef Efi )=(KT∗log(n/no)))= 0.357821723451  eV\n",
      "Quasi−fermi levels for n−type dopant ,( Efn Efi )=(KT∗log ((n+n∗)/no))= 0.360290257108  eV\n",
      "Quasi−fermi levels for p−type dopant ,( Efi Efp )=(KT∗log ((p+p∗)/no))= 0.360290257108  eV\n"
     ]
    }
   ],
   "source": [
    "#exa 4.5\n",
    "from math import log\n",
    "Nd =10**16\n",
    "print\"Nd = \",Nd,\" cmˆ−3\" # initializing value of donor concentration .\n",
    "p=10**6\n",
    "print\"p = \",p,\" cmˆ−3\" # initializing value of minority hole concentration .\n",
    "no =10**10\n",
    "print\"no = \",no,\" cmˆ−3\" # initializing value of electron and hole concentration per cm ˆ3..\n",
    "n1 =10**15\n",
    "print\"n∗ = \",n1,\" cmˆ−3\" # initializing value of excess electron carrier concentration(denoted by n∗).\n",
    "p1=10**15\n",
    "print\"p∗ = \",p1,\" cmˆ−3\" # initializing value of excess hole carrier concentration( denoted by p∗).\n",
    "KT=0.0259\n",
    "print\"KT = \",KT,\" eV\" # initializing value of multipication of temperature and bolzmann constant .\n",
    "T=300\n",
    "print\"T = \",T,\" K\" # initializing value of temperature .\n",
    "Ef_Efi=(log(Nd/no)*KT)\n",
    "print\"Thermal equilibirium fermi level ,( Ef Efi )=(KT∗log(n/no)))=\",Ef_Efi,\" eV\"#calculation .\n",
    "Efn_Efi=log((Nd+n1)/no)*KT\n",
    "print\"Quasi−fermi levels for n−type dopant ,( Efn Efi )=(KT∗log ((n+n∗)/no))=\",Efn_Efi,\" eV\"# calculation .\n",
    "Efi_Efp=log((Nd+p1)/no)*KT\n",
    "print\"Quasi−fermi levels for p−type dopant ,( Efi Efp )=(KT∗log ((p+p∗)/no))=\",Efi_Efp,\" eV\"# calculation .\n",
    "#the answer for Efn Efi , Efi Efp is provided wrong in the book.\n",
    "#In this question,Nd=(n(used in the formula))."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Example 4_6 pgno: 102"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Nd =  50000000000000000 cmˆ−3\n",
      "Na =  0 cmˆ−3\n",
      "no = 15000000000.0 cmˆ−3\n",
      "n∗ = 500000000000000 cmˆ−3\n",
      "p∗ = 500000000000000 cmˆ−3\n",
      "KT = 0.0259\n",
      "thermal equilibrium fermi level ,( Ef Efi )=(KT∗log(n/no)))= 0.389004619083 eV\n",
      "Excess carrier concentration ,(Efn Efi)=(KT∗log ((n+n∗)/no))= 0.389262332652 eV\n",
      "(Ef Efi)=(KT∗log((p+p∗)/no))= 0.269730711266 eV\n"
     ]
    }
   ],
   "source": [
    "#exa 4.6\n",
    "from math import log\n",
    "Nd =5*10**16\n",
    "print\"Nd = \",Nd,\"cmˆ−3\" # initializing value of donor ion concentration .\n",
    "Na=0\n",
    "print\"Na = \",Na,\"cmˆ−3\" # initializing value of value of acceptor ion concentration .\n",
    "no=1.5*10**10\n",
    "print\"no =\",no,\"cmˆ−3\" # initializing electron and hole concentration per cmˆ3.\n",
    "n1 =5*10**14\n",
    "print\"n∗ =\",n1,\"cmˆ−3\" # initializing excess electron carrier concentration .\n",
    "p1 =5*10**14\n",
    "print\"p∗ =\",p1,\"cmˆ−3\" # initializing excess hole carrier concentration .\n",
    "KT=0.0259\n",
    "print\"KT =\",KT  #initializing value of voltage \n",
    "Ef_Efi=(KT*log(Nd/no))\n",
    "print\"thermal equilibrium fermi level ,( Ef Efi )=(KT∗log(n/no)))=\",Ef_Efi,\"eV\" #calculation .\n",
    "Efn_Efi=log((Nd+n1)/no)*KT\n",
    "print\"Excess carrier concentration ,(Efn Efi)=(KT∗log ((n+n∗)/no))=\",Efn_Efi,\"eV\" # calculation .\n",
    "Efi_Efp=log((Na+p1)/no)*KT\n",
    "print\"(Ef Efi)=(KT∗log((p+p∗)/no))=\",Efi_Efp,\"eV\"# calculation ."
   ]
  }
 ],
 "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.10"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 0
}
