diff options
21 files changed, 5733 insertions, 0 deletions
diff --git a/Solid_State_Electronic_Devices_by_D.K_Bhattacharya_,_Rajnish_Sharma/Chapter10_1.ipynb b/Solid_State_Electronic_Devices_by_D.K_Bhattacharya_,_Rajnish_Sharma/Chapter10_1.ipynb new file mode 100644 index 00000000..a26284d9 --- /dev/null +++ b/Solid_State_Electronic_Devices_by_D.K_Bhattacharya_,_Rajnish_Sharma/Chapter10_1.ipynb @@ -0,0 +1,544 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Chapter 10 : Opto-electronic Devices" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example number 10.1 , Page number 385" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Thickness of silicon= 0.016 cm\n" + ] + } + ], + "source": [ + "#importing module\n", + "import math\n", + "from __future__ import division\n", + "\n", + "#Variable declaration\n", + "alpha=10**2 #absorption coefficient in cm^-1\n", + "absorption=0.2 #80% absorption represented in decimal format\n", + "\n", + "#Calculations\n", + "d=(1/alpha)*math.log(1/absorption)\n", + "\n", + "#Result\n", + "print(\"Thickness of silicon= %.3f cm\" %d)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example number 10.2 , Page number 385" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "open-circuit voltage Voc= 0.541 V\n" + ] + } + ], + "source": [ + "#importing module\n", + "import math\n", + "from __future__ import division\n", + "\n", + "#Variable declaration\n", + "Na=3*10**18 #in cm^-3\n", + "Nd=2*10**16 #in cm^-3\n", + "Dn=25 #in cm**2/s\n", + "Dp=10 #in cm**2/s\n", + "tau_n0=4*10**-7 #in s\n", + "tau_p0=10**-7 #in s\n", + "JL=20*10**-3 #photocurrent density in mA/cm**2\n", + "T=300 #in K\n", + "ni=1.5*10**10 #in cm^-3\n", + "e=1.6*10**-19 #in Joules\n", + "Const=0.026 #constant for KT/e in V\n", + "\n", + "#Calculations\n", + "Ln=math.sqrt(Dn*tau_n0) #in micro-m\n", + "Lp=math.sqrt(Dp*tau_p0) #in micro-m\n", + "JS=e*ni**2*((Dn/(Ln*Na))+(Dp/(Lp*Nd))) #reverse saturation current density in A/cm**2\n", + "Voc=Const*math.log(1+(JL/JS))\n", + "\n", + "#Result\n", + "print(\"open-circuit voltage Voc= %0.3f V\" %Voc)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example number 10.3 , Page number 399" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Gain of the photoconductor= 686.4\n" + ] + } + ], + "source": [ + "#importing module\n", + "import math\n", + "from __future__ import division\n", + "\n", + "#Variable declaration\n", + "L=80*10**-4 #length in m\n", + "myu_n=1350 #in cm**2/V\n", + "myu_p=480 #in cm**2/V\n", + "V=12 #applied voltage in V\n", + "tau_n=3.95*10**-9 #transit time in sec\n", + "tau_p=2*10**-6 #carrier lifetime in sec\n", + "\n", + "#Calculations\n", + "tn=L**2/(myu_n*V) #transit time in sec\n", + "Gph=(tau_p/tau_n)*(1+(myu_p/myu_n))\n", + "\n", + "#Result\n", + "print(\"Gain of the photoconductor= %3.1f\" %Gph)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example number 10.4 , Page number 400" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "steady-state photocurrent density= 0.43 A/cm**2\n" + ] + } + ], + "source": [ + "#importing module\n", + "import math\n", + "from __future__ import division\n", + "\n", + "#Variable declaration\n", + "Na=5*10**16 #in cm**3\n", + "Nd=5*10**16 #in cm**3\n", + "Dn=25 #in cm**2/s\n", + "Dp=10 #in cm**2/s\n", + "tau_n0=6*10**-7 #in s\n", + "tau_p0=2*10**-7 #in s\n", + "VR=6 #in V\n", + "GL=5*10**20 #in cm^-3/s\n", + "ni=1.5*10**10 #in cm^-3\n", + "e=1.6*10**-19 #in Joules\n", + "epsilon_s=11.7*8.85*10**-14 #in F/cm\n", + "Const=0.026 #constant for KT/e in V\n", + "\n", + "#Calculations\n", + "Ln=math.sqrt(Dn*tau_n0) #in mico-m\n", + "Lp=math.sqrt(Dp*tau_p0) #in micro-m\n", + "Vbi=Const*math.log((Na*Nd)/ni**2) #in V\n", + "W=(((2*epsilon_s)/e)*((Na+Nd)/(Na*Nd))*(Vbi+VR))**0.5 #in micro-m\n", + "JL=e*GL*(W+Ln+Lp) #photocurrent density\n", + "\n", + "#Result\n", + "print(\"steady-state photocurrent density= %0.2f A/cm**2\" %JL)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example number 10.5 , Page number 401" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Critical angle for GaAs-air interface= 15.9 degrees\n" + ] + } + ], + "source": [ + "#importing module\n", + "import math\n", + "from __future__ import division\n", + "\n", + "#Variable declaration\n", + "n1=1 \n", + "n2=3.66\n", + "\n", + "#Calculations\n", + "theta_c=math.asin(n1/n2)\n", + "\n", + "#Result\n", + "print(\"Critical angle for GaAs-air interface= %2.1f degrees\" %math.degrees(theta_c))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example number 10.6 , Page number 402" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "a)\n", + "electron concentration= 1e+15 cm^-3\n", + "\n", + "hole concentration= 2.1e+05 cm^-3\n", + "\n", + "Fermi level w.r.t intrinsic fermi level= 0.279 eV\n", + "\n", + "b)\n", + "electron concentration= 1e+15 cm^-3\n", + "\n", + "hole concentration= 1e+12 cm^-3\n", + "\n", + "Quasi fermi level for n-type carrier= 0.279 eV\n", + "\n", + "Quasi fermi level for p-type carrier= 0.11 eV\n", + "\n", + "c)\n", + "electron concentration= 1e+18 cm^-3\n", + "\n", + "hole concentration= 1e+18 cm^-3\n", + "\n", + "Quasi fermi level for n-type carrier= 0.45 eV\n", + "\n", + "Quasi fermi level for p-type carrier= 0.45 eV\n", + "\n" + ] + } + ], + "source": [ + "#importing module\n", + "import math\n", + "from __future__ import division\n", + "\n", + "#Variable declaration\n", + "Nd=10**15 #donor atoms in cm^-3\n", + "ni=1.45*10**10 #in cm^-3\n", + "k=8.62*10**-5 #in eV/K\n", + "T=300 #in K\n", + "Const=0.025 #coonstant for kT in eV\n", + "\n", + "#Calculations\n", + "#a)\n", + "n=10**15 #in cm^-3\n", + "p=ni**2/Nd #in cm^-3\n", + "delE=Const*math.log(n/ni) #in eV\n", + "\n", + "#b)\n", + "n0=10**15 #in cm^-3\n", + "p0=10**12 #in cm^-3\n", + "delE_fni=Const*math.log(n0/ni) #in eV\n", + "delE_ifp=Const*math.log(p0/ni) #in eV\n", + "\n", + "#c)\n", + "n1=10**18 #in cm^-3\n", + "p1=10**18 #in cm^-3\n", + "delE_fni1=Const*math.log(n1/ni) #in eV\n", + "delE_ifp1=Const*math.log(p1/ni) #in eV\n", + "\n", + "#Result\n", + "print(\"a)\\nelectron concentration= %.1g cm^-3\\n\" %n)\n", + "print(\"hole concentration= %.2g cm^-3\\n\" %p)\n", + "print(\"Fermi level w.r.t intrinsic fermi level= %0.3f eV\\n\" %delE)\n", + "print(\"b)\\nelectron concentration= %.1g cm^-3\\n\" %n0)\n", + "print(\"hole concentration= %.1g cm^-3\\n\" %p0)\n", + "print(\"Quasi fermi level for n-type carrier= %0.3f eV\\n\" %delE_fni)\n", + "print(\"Quasi fermi level for p-type carrier= %0.2f eV\\n\" %delE_ifp)\n", + "print(\"c)\\nelectron concentration= %.1g cm^-3\\n\" %n1)\n", + "print(\"hole concentration= %.1g cm^-3\\n\" %p1)\n", + "print(\"Quasi fermi level for n-type carrier= %0.2f eV\\n\" %delE_fni1)\n", + "print(\"Quasi fermi level for p-type carrier= %0.2f eV\\n\" %delE_ifp1)\n", + "#The answers vary due to round off error" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example number 10.7 , Page number 403" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Wavelength of radiation for germanium= 1.85 micro-m\n", + "\n", + "Wavelength of radiation for silicon= 1.10 micro-m\n", + "\n", + "Wavelength of radiation for gallium-arsenide= 0.87 micro-m\n", + "\n", + "Wavelength of radiation for SiO2= 0.14 micro-m\n", + "\n" + ] + } + ], + "source": [ + "#importing module\n", + "import math\n", + "from __future__ import division\n", + "\n", + "#Variable declaration\n", + "h=4.135*10**-15 #plancks constant in eVs\n", + "c=3*10**8 #in m/s\n", + "EgGe=0.67 #in eV\n", + "EgSi=1.124 #in eV\n", + "EgGaAs=1.42 #in eV\n", + "EgSiO2=9 #in eV\n", + "\n", + "#Calculations\n", + "lamda1=(h*c)/EgGe/10**-6 #in micro-m\n", + "lamda2=(h*c)/EgSi/10**-6 #in micro-m\n", + "lamda3=(h*c)/EgGaAs/10**-6 #in micro-m\n", + "lamda4=(h*c)/EgSiO2/10**-6 #in micro-m\n", + "\n", + "#Result\n", + "print(\"Wavelength of radiation for germanium= %1.2f micro-m\\n\" %lamda1)\n", + "print(\"Wavelength of radiation for silicon= %1.2f micro-m\\n\" %lamda2) #The answers vary due to round off error\n", + "print(\"Wavelength of radiation for gallium-arsenide= %1.2f micro-m\\n\" %lamda3)\n", + "print(\"Wavelength of radiation for SiO2= %1.2f micro-m\\n\" %lamda4)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example number 10.8 , Page number 404" + ] + }, + { + "cell_type": "code", + "execution_count": 29, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "a)Current= 5.59*10**-15 A\n", + "\n", + "b)Total number of solar cells= 25000\n" + ] + } + ], + "source": [ + "#importing module\n", + "import math\n", + "from __future__ import division\n", + "\n", + "#Variable declaration\n", + "Na=10**18 #in cm**-3\n", + "Nd=10**17 #in cm**-3\n", + "myu_p=471 #in cm**2/Vs\n", + "myu_n=1417 #in cm**2/Vs\n", + "tau_p=10**-8 #in s\n", + "tau_n=10**-6 #in s \n", + "JL=40 #in mA/cm**2\n", + "A=10**-5 #in cm**2\n", + "R1=1000 #in ohm\n", + "e=1.6*10**-19 #in J\n", + "ni=1.45*10**10 #in cm**-3\n", + "Vt=0.02586 #constant for kT/e at 300K in V\n", + "V=0.1 #in V\n", + "n=10 #number of solar cells\n", + "\n", + "#Calculations\n", + "#a)\n", + "Dp=Vt*myu_p #in cm**2/s\n", + "Dn=Vt*myu_n #in cm**2/s\n", + "Ln=math.sqrt(Dn*tau_n) #in cm\n", + "Lp=math.sqrt(Dp*tau_p) #in cm\n", + "Js=e*ni**2*((Dp/(Nd*Lp))+(Dn/(Na*Ln))) #in A/cm**2\n", + "Is=Js*10**-5 #in A\n", + "IF=Is*(math.exp(V/Vt)-1) #in A\n", + "\n", + "#b)\n", + "IL=40*10**-8 #in A\n", + "I=IL-IF #in \n", + "X=((10**-3)/(I))*n\n", + "\n", + "#Result\n", + "print(\"a)Current= %.2f*10**-15 A\\n\" %round(IF/10**-15,2)) #The answers vary due to round off error\n", + "print(\"b)Total number of solar cells= %i\" %X)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example number 10.9 , Page number 405" + ] + }, + { + "cell_type": "code", + "execution_count": 33, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Wavelength= 8.69*10**-7 m\n" + ] + } + ], + "source": [ + "#importing module\n", + "import math\n", + "from __future__ import division\n", + "\n", + "#Variable declaration\n", + "Eg=1.43 #Energy band gap in eV\n", + "h=4.14*10**-15 #planck's constant in eV/s\n", + "c=3*10**8 #in m/s\n", + "\n", + "#Calculations\n", + "lamda=(h*c)/Eg\n", + "\n", + "#Result\n", + "print(\"Wavelength= %0.2f*10**-7 m\" %round(lamda/10**-7,2)) #The answers vary due to round off error" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example number 10.10 , Page number 406" + ] + }, + { + "cell_type": "code", + "execution_count": 49, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Power conversion efficiency = 0.32 %\n" + ] + } + ], + "source": [ + "#importing module\n", + "import math\n", + "from __future__ import division\n", + "\n", + "#Variable declaration\n", + "PC=190 #optical Power generated in mW\n", + "I=25*10**-3 #in A\n", + "V=1.5 #in V\n", + "\n", + "#Calculations\n", + "P=V/I #Electrical Power\n", + "n=PC/P\n", + "\n", + "#Result\n", + "print(\"Power conversion efficiency = %0.2f %%\" %(n/10))\n", + "#The answer provided in the textbook is wrong" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python [Root]", + "language": "python", + "name": "Python [Root]" + }, + "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.5.2" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} diff --git a/Solid_State_Electronic_Devices_by_D.K_Bhattacharya_,_Rajnish_Sharma/Chapter11_1.ipynb b/Solid_State_Electronic_Devices_by_D.K_Bhattacharya_,_Rajnish_Sharma/Chapter11_1.ipynb new file mode 100644 index 00000000..2cd846f8 --- /dev/null +++ b/Solid_State_Electronic_Devices_by_D.K_Bhattacharya_,_Rajnish_Sharma/Chapter11_1.ipynb @@ -0,0 +1,398 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Chapter 11 : Power Devices" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example number 11.1 , Page number 4420" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "maximum collector current= 3.75 A\n", + "\n", + "Maximum collector-emiiter voltage= 30 V\n", + "\n", + "Maximum Power rating= 28.12 W\n" + ] + } + ], + "source": [ + "#importing module\n", + "import math\n", + "from __future__ import division\n", + "\n", + "#Variable declaration\n", + "RL=8 #in ohm\n", + "VCC=30 #in V\n", + "\n", + "#Calculations\n", + "IC_max=VCC/RL \n", + "VCE_max=VCC\n", + "IC=VCC/(2*RL)\n", + "VCE=VCC-(IC*RL)\n", + "PT=VCE*IC\n", + "\n", + "#Result\n", + "print(\"maximum collector current= %1.2f A\\n\" %IC_max)\n", + "print(\"Maximum collector-emiiter voltage= %i V\\n\" %VCE_max)\n", + "print(\"Maximum Power rating= %2.2f W\" %PT) " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example number 11.2 , Page number 421" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Drain Resistance= 6.25 ohm\n", + "\n", + "Drain current at maximum power ditribution point= 2 A\n", + "\n", + "Drain-to-source voltage at maximum power dissipation point= 12.5 V\n", + "\n", + "Maximum power dissipation= 25 W\n" + ] + } + ], + "source": [ + "#importing module\n", + "import math\n", + "from __future__ import division\n", + "\n", + "#Variable declaration\n", + "VDD=25 #voltage axis intersection point in V\n", + "ID=4 #current in A\n", + "\n", + "#Calculations\n", + "RD=VDD/ID\n", + "ID=VDD/(2*RD)\n", + "VDS=VDD-(ID*RD)\n", + "PT=VDS*ID\n", + "\n", + "#Result\n", + "print(\"Drain Resistance= %1.2f ohm\\n\" %RD)\n", + "print(\"Drain current at maximum power ditribution point= %i A\\n\" %ID)\n", + "print(\"Drain-to-source voltage at maximum power dissipation point= %2.1f V\\n\" %VDS)\n", + "print(\"Maximum power dissipation= %i W\" %PT)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example number 11.3 , Page number 422" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "net common-emitter current gain= 440\n" + ] + } + ], + "source": [ + "#importing module\n", + "import math\n", + "from __future__ import division\n", + "\n", + "#Variable declaration\n", + "beta1=20 #bjt gain\n", + "beta2=20 #bjt gain\n", + "\n", + "#Calculations\n", + "beta0=beta1+beta2+(beta1*beta2)\n", + "\n", + "#Result\n", + "print(\"net common-emitter current gain= %i\" %beta0) #The answer in the textbook is mathematically incorrect" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example number 11.4 , Page number 91" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Case(a):No heat sink used :-Maximum power distribution= 2.95 W\n", + "\n", + "Case(b):Heaat sink used :- Maximum power distribution= 18.36 W\n" + ] + } + ], + "source": [ + "#importing module\n", + "import math\n", + "from __future__ import division\n", + "\n", + "#Variable declaration\n", + "TJ_max=150 #in C\n", + "Tamb=27 #in C\n", + "Rth_dp=1.7 #Thermal resistance in C/W\n", + "Rth_pa=40 #in C/W\n", + "Rth_ps=1 #in C/W\n", + "Rth_sa=4 #in C/W\n", + "\n", + "#Calculations\n", + "PD1_max=(TJ_max-Tamb)/(Rth_dp+Rth_pa)\n", + "PD2_max=(TJ_max-Tamb)/(Rth_dp+Rth_sa+Rth_ps)\n", + "\n", + "#Result\n", + "print(\"Case(a):No heat sink used :-Maximum power distribution= %1.2f W\\n\" %PD1_max)\n", + "print(\"Case(b):Heaat sink used :- Maximum power distribution= %2.2f W\" %PD2_max)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example number 11.5 , Page number 436" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Total power dissipation= 240.6 W\n", + "The BJT is working outside the SOA\n" + ] + } + ], + "source": [ + "#importing module\n", + "import math\n", + "from __future__ import division\n", + "\n", + "#Variable declaration\n", + "B=10 #current gain\n", + "IB=0.6 #in A\n", + "VBE=1 #in V\n", + "RC=10 #in ohm\n", + "VCC=100 #in Vs\n", + "\n", + "#Calculations\n", + "IC=B*IB #in A\n", + "VCE=VCC-(IC*RC) #in V\n", + "VCB=VCE-VBE #in V\n", + "PT=(VCE*IC)+(VBE*IB)\n", + "\n", + "#Result\n", + "print(\"Total power dissipation= %.1f W\" %PT)\n", + "print(\"The BJT is working outside the SOA\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example number 11.6 , Page number 437" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Emitter current= 12.55 A\n" + ] + } + ], + "source": [ + "#importing module\n", + "import math\n", + "from __future__ import division\n", + "\n", + "#Variable declaration\n", + "Beff=250 #effective gain\n", + "B1=25 #current gain of transistor\n", + "B2=8.65 #effective gain of Darlington-pair\n", + "iB=50*10**-3 #in A\n", + "\n", + "#Calculations\n", + "iC2=iB*(Beff-B1)\n", + "iE2=(1+(1/B2))*iC2\n", + "\n", + "#Result\n", + "print(\"Emitter current= %2.2f A\" %iE2)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example number 11.7 , Page number 438" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "peak-point voltage= 9.7 V\n" + ] + } + ], + "source": [ + "#importing module\n", + "import math\n", + "from __future__ import division\n", + "\n", + "#Variable declaration\n", + "VBB=24 #in V\n", + "r1=3 #in k-ohm\n", + "r2=5 #in k-ohm\n", + "\n", + "#Calculations\n", + "n=r1/(r1+r2)\n", + "VP=(n*VBB)+0.7\n", + "\n", + "#Result\n", + "print(\"peak-point voltage= %1.1f V\" %VP)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example number 11.8 , Page number 437" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Actual power dissipation= 12.23 W\n" + ] + } + ], + "source": [ + "#importing module\n", + "import math\n", + "from __future__ import division\n", + "\n", + "#Variable declaration\n", + "Rth_sink=4 #resistance in C/W\n", + "Rth_case=1.5 #in C/W\n", + "T2=200 #Temperature in C\n", + "T1=27 #Room temperature in C\n", + "P=20 #power in W\n", + "\n", + "#Calculations\n", + "Rth=(T2-T1)/P\n", + "Tdev=T2\n", + "Tamb=T1\n", + "Rth_dp=Rth \n", + "Rth_ps=Rth_case #case-sink resistance\n", + "Rth_sa=Rth_sink #sink-ambient resistance\n", + "PD=(Tdev-Tamb)/(Rth_dp+Rth_ps+Rth_sa)\n", + "\n", + "#Result\n", + "print(\"Actual power dissipation= %2.2f W\" %PD) #The answers vary due to round off error" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [] + } + ], + "metadata": { + "anaconda-cloud": {}, + "kernelspec": { + "display_name": "Python [Root]", + "language": "python", + "name": "Python [Root]" + }, + "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.5.2" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} diff --git a/Solid_State_Electronic_Devices_by_D.K_Bhattacharya_,_Rajnish_Sharma/Chapter12_1.ipynb b/Solid_State_Electronic_Devices_by_D.K_Bhattacharya_,_Rajnish_Sharma/Chapter12_1.ipynb new file mode 100644 index 00000000..2c961102 --- /dev/null +++ b/Solid_State_Electronic_Devices_by_D.K_Bhattacharya_,_Rajnish_Sharma/Chapter12_1.ipynb @@ -0,0 +1,159 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Chapter 12 : INTEGRATED CIRCUITS AND MICRO-ELECTROMECHANICAL SYSTEM" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example number 12.1 , Page number 456" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Effective Resistance= 10.17 k-ohm\n" + ] + } + ], + "source": [ + "#importing module\n", + "import math\n", + "from __future__ import division\n", + "\n", + "#Variable declaration\n", + "l=100 #length of resistor in micro-m\n", + "w=10 #width of resistor in micro-m\n", + "R=0.9 #sheet resistance in k-ohm/n \n", + "End_points=0.65*2 #Total contribution of two end points\n", + "\n", + "#Calculations\n", + "Total_squares=l/w\n", + "T=Total_squares+End_points #Total effective sqaures\n", + "Reff=T*R\n", + "\n", + "#Result\n", + "print(\"Effective Resistance= %0.2f k-ohm\" %Reff)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example number 12.2, Page number 457" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Capacitance per unit area = 0.69 pF/cm**2\n" + ] + } + ], + "source": [ + "#importing module\n", + "import math\n", + "from __future__ import division\n", + "\n", + "#Variable declaration\n", + "epsilon_0=8.85*10**-14 #in F/cm\n", + "epsilon_i=3.9 #in F/cm\n", + "tox=0.5*10**-4 #in cm\n", + "\n", + "#Calculations\n", + "C=(epsilon_0*epsilon_i)/tox\n", + "\n", + "#Result\n", + "print(\"Capacitance per unit area = %0.2f pF/cm**2\" %round(C/10**-8,2))\n", + "#The answer provided in the textbook is wrong" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example number 12.3 , Page number 457" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Sheet resistance= 250 ohm\n", + "\n", + "average resistivity= 0.025 ohm-cm\n" + ] + } + ], + "source": [ + "#importing module\n", + "import math\n", + "from __future__ import division\n", + "\n", + "#Variable declaration\n", + "Length=4 #in micro-m\n", + "Width=1 #in micro-m\n", + "R=1000 #in ohm\n", + "xj=1*10**-4 #junction depth in cm \n", + "\n", + "#Calculations\n", + "N=Length/Width\n", + "R0=R/N\n", + "rho=R0*xj\n", + "\n", + "#Result\n", + "print(\"Sheet resistance= %i ohm\\n\" %R0)\n", + "print(\"average resistivity= %0.3f ohm-cm\" %rho)" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python [Root]", + "language": "python", + "name": "Python [Root]" + }, + "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.5.2" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} diff --git a/Solid_State_Electronic_Devices_by_D.K_Bhattacharya_,_Rajnish_Sharma/Chapter1_1.ipynb b/Solid_State_Electronic_Devices_by_D.K_Bhattacharya_,_Rajnish_Sharma/Chapter1_1.ipynb new file mode 100644 index 00000000..d6e53c88 --- /dev/null +++ b/Solid_State_Electronic_Devices_by_D.K_Bhattacharya_,_Rajnish_Sharma/Chapter1_1.ipynb @@ -0,0 +1,332 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Chapter 1 : Electron Dynamics " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example number 1.1 , Page number 8" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The percentage change in mass of the electron is 4.2 %\n" + ] + } + ], + "source": [ + "#importing module\n", + "import math\n", + "from __future__ import division\n", + "\n", + "#Variable declaration\n", + "V=20000 #potential in Volts\n", + "e=1.602*10**-19 #electronic charge in C\n", + "m=9.1*10**-31 #mass of electron in kg\n", + "c=3*10**8 #speed of light in m/s\n", + "\n", + "#Calculations\n", + "u=math.sqrt((2*V*e)/m) #speed u after acceleration through a potential V in m/s\n", + "mu=1/math.sqrt(1-(u/c)**2) #mass of electron moving with velocity mu in kg\n", + "delm=mu-1 #change in mass\n", + "\n", + "#Result\n", + "print(\"The percentage change in mass of the electron is %1.1f %%\" %(delm*100)) " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example number 1.2 , Page number 9" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "i)\n", + "Velocity with which the electrons strikes the plate = 11.87*10**6 m/s\n", + "ii)\n", + "Kinetic energy acquired by electron in joules = 6.408*10**-17 J\n", + "Kinetic energy acquired by electron in eV = 400\n", + "iii)\n", + "transit time in ns = 0.506\n" + ] + } + ], + "source": [ + "#importing module\n", + "import math\n", + "from __future__ import division\n", + "\n", + "#Variable declaration\n", + "l=3*10**-3 #distance between two plate in meters\n", + "V=400 #potential difference in Volts\n", + "e=1.602*10**-19 #electronic charge in Joules\n", + "m=9.1*10**-31 #mass of electron in kg\n", + "\n", + "#Calculations\n", + "uB=math.sqrt((2*V*e)/m) #in m/s\n", + "KEJ=e*V #in Joules\n", + "KEeV=int(e*V/(1.6*10**-19)) #in eV\n", + "tAB=(2*l/uB) #in ns\n", + "\n", + "#Result\n", + "print(\"i)\")\n", + "print(\"Velocity with which the electrons strikes the plate = %.2f*10**6 m/s\" %(uB/10**6))\n", + "print(\"ii)\")\n", + "print(\"Kinetic energy acquired by electron in joules = %.3f*10**-17 J\" %(KEJ/10**-17))\n", + "print(\"Kinetic energy acquired by electron in eV = %i\" %KEeV)\n", + "print(\"iii)\")\n", + "print(\"transit time in ns = %.3f\" %(tAB/10**-9))#The answers vary due to round off error" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example number 1.3 , Page number 26" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "radius of the circular path followed by electron is = 1.42*10**-2 m\n" + ] + } + ], + "source": [ + "#importing module\n", + "import math\n", + "from __future__ import division\n", + "\n", + "#Variable declaration\n", + "B=0.02 #flux Density in Wb/m**2\n", + "u=5*10**7 #speed of electron in m/s\n", + "e=1.6*10**-19 #electronic charge Joules\n", + "m=9.1*10**-31 #mass of electron in kg \n", + "\n", + "#Calculations\n", + "r=(m*u)/(e*B) #in m\n", + "\n", + "#Result\n", + "print(\"radius of the circular path followed by electron is = %.2f*10**-2 m\" %(r/10**-2))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example number 1.4 , Page number 26" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Deflection Sensitivity = 4.5*10**-4 m/V\n" + ] + } + ], + "source": [ + "#importing module\n", + "import math\n", + "from __future__ import division\n", + "\n", + "#Variable declaration\n", + "L=3*10**-2 #length of plates in m\n", + "d=4*10**-3 #spacing betweenn plates in m\n", + "l=30*10**-2 #distance in m\n", + "V1=2500 #potential in V\n", + "\n", + "#Calculations\n", + "Se=(L*l)/(2*d*V1)/10**-4\n", + "\n", + "#Result\n", + "print(\"Deflection Sensitivity = %1.1f*10**-4 m/V\" %Se)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example number 1.5 , Page number 27" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Acceleration of the electron is = -5.3*10**15 m/s**2\n" + ] + } + ], + "source": [ + "#importing module\n", + "import math\n", + "from __future__ import division\n", + "\n", + "#Variable declaration\n", + "Ey=3*10**4 #electric field in y-axis in N/C\n", + "Ex=0 #electric field in x-axis in N/C\n", + "q=1.6*10**-19 #electric charge in C\n", + "me=9.1*10**-31 #in kg\n", + "\n", + "#Calculations\n", + "#F=q*E\n", + "Fy=-q*Ey #Force in y direction \n", + "ay=Fy/me\n", + "\n", + "#Result\n", + "print(\"Acceleration of the electron is = %.1f*10**15 m/s**2\" %(ay/10**15))\n", + "#The negative sign tells us that the direction of this acceleration is downward " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example number 1.6 , Page number 28" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "velocity with which electron beam will travel= 2.65*10**7 m/s\n" + ] + } + ], + "source": [ + "#importing module\n", + "import math\n", + "from __future__ import division\n", + "\n", + "#Variable declaration\n", + "Ey=3*10**4 #electric field in y-axis in N/C\n", + "V=2000 #potential in V\n", + "e=1.602*10**-19 #electronic charge in eV\n", + "m=9.1*10**-31 #mass of electron in kg\n", + "\n", + "#Calculations\n", + "u=math.sqrt((2*V*e)/m)\n", + "\n", + "#Result\n", + "print(\"velocity with which electron beam will travel= %.2f*10**7 m/s\" %(u/10**7))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example number 1.7 , Page number 28" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Time taken= 3.8 s\n" + ] + } + ], + "source": [ + "#importing module\n", + "import math\n", + "from __future__ import division\n", + "\n", + "#Variable declaration\n", + "l=5 #length to be covered in cm\n", + "up=26.5*10**8 #in cm/s\n", + "\n", + "#Calculations\n", + "t=(2*l/up)\n", + "\n", + "#Result\n", + "print(\"Time taken= %1.1f s\" %(t/10**-9))\n", + "#The answers vary due to round off error" + ] + } + ], + "metadata": { + "anaconda-cloud": {}, + "kernelspec": { + "display_name": "Python [Root]", + "language": "python", + "name": "Python [Root]" + }, + "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.5.2" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} diff --git a/Solid_State_Electronic_Devices_by_D.K_Bhattacharya_,_Rajnish_Sharma/Chapter2_1.ipynb b/Solid_State_Electronic_Devices_by_D.K_Bhattacharya_,_Rajnish_Sharma/Chapter2_1.ipynb new file mode 100644 index 00000000..63a5a06a --- /dev/null +++ b/Solid_State_Electronic_Devices_by_D.K_Bhattacharya_,_Rajnish_Sharma/Chapter2_1.ipynb @@ -0,0 +1,382 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Chapter 2 : Growth and Crystal properties of Semiconductor " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example number 2.1 , Page number 42" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Each corner sphere of the bcc unit cell is shared with eigth neighbouring cells.Thus each cell contains one eigth of a sphere at all the eigth corners.Each unit cell also contains one central sphere\n", + "bcc unit cell volume filled with hard sphere= 68 %\n" + ] + } + ], + "source": [ + "#importing module\n", + "import math\n", + "from __future__ import division\n", + "\n", + "#Variable declaration\n", + "print(\"Each corner sphere of the bcc unit cell is shared with eigth neighbouring cells.Thus each cell contains one eigth of a sphere at all the eigth corners.Each unit cell also contains one central sphere\")\n", + "S=2 #Sphere per unit cell\n", + "\n", + "#Calculations\n", + "f=S*math.pi*math.sqrt(3)/16 #maximum fraction of a unit cell\n", + "\n", + "#Result\n", + "print(\"bcc unit cell volume filled with hard sphere= %i %%\" %round(f*100))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example number 2.2 , Page number 43" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The plane depicted in the figure is denoted by (6,3,2)\n" + ] + } + ], + "source": [ + "#importing module\n", + "import math\n", + "from __future__ import division\n", + "\n", + "#Variable declaration\n", + "# r = p*a + q*b + s*c\n", + "p=1\n", + "q=2\n", + "s=3\n", + "LCM=6\n", + "\n", + "#Calculations\n", + "rx=1/p*LCM #reciprocals\n", + "ry=1/q*LCM\n", + "rz=1/s*LCM\n", + "\n", + "#Result\n", + "\n", + "print(\"The plane depicted in the figure is denoted by (%i,%i,%i)\" %(rx,ry,rz))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example number 2.3 , Page number 43" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Density of Si= 2.33 g/cm**3\n", + "\n", + "Density of GaAs= 5.33 g/cm**3\n" + ] + } + ], + "source": [ + "#importing module\n", + "import math\n", + "from __future__ import division\n", + "\n", + "#Variable declaration\n", + "#Atomic weigths\n", + "Si=28.1 \n", + "Ga=69.7\n", + "As=74.9\n", + "Na=6.02*10**23 # Avagadro Number in mol**-1\n", + "\n", + "#(a)Si\n", + "a=5.43*10**-8 #in cm\n", + "n=8 #no. of atoms/cell\n", + "\n", + "#(b)GaAs\n", + "a1=5.65*10**-8 #in cm \n", + "\n", + "#Calculations\n", + "N=8/a**3 #Atomic Concentration in atoms/cc\n", + "N1=4/a1**3 #Atomic Concentration in atoms/cc\n", + "Density=(N*Si)/(Na)\n", + "Density1=(N1*(Ga+As))/(Na)\n", + "\n", + "#Result\n", + "print(\"Density of Si= %1.2f g/cm**3\\n\" %Density)#answer vary due to round-off error\n", + "print(\"Density of GaAs= %1.2f g/cm**3\" %Density1)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example number 2.4 , Page number 44" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "n(111)= 2.3*10**18 atoms/m**2\n" + ] + } + ], + "source": [ + "#importing module\n", + "import math\n", + "from __future__ import division\n", + "\n", + "#Variable declaration\n", + "a=5*10**-10 #lattice constatnt in m\n", + "\n", + "#Calculations\n", + "n111=1/(a**2*math.sqrt(3))\n", + "\n", + "#Result\n", + "print(\"n(111)= %.1f*10**18 atoms/m**2\" %(n111/10**18))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example number 2.5 , Page number 56" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "(a)Cl= 1.43*10**17 cm**-3\n", + "\n", + "(b)Wt of P= 12.63*10**-3 g\n" + ] + } + ], + "source": [ + "#importing module\n", + "import math\n", + "from __future__ import division\n", + "\n", + "#Variable declaration\n", + "Cs=5*10**16 #impurity concentration in solid in atoms/cm**3\n", + "ks=0.35 #segregation coefficient \n", + "d=2.33 #density of Si in g/cm**3\n", + "Na=6.02*10**23 # Avagadro Number in mol**-1\n", + "Si=31 #weight of Si\n", + "loadSi=4000 #initial load in gm\n", + "\n", + "#Calculations\n", + "Cl=Cs/ks #impurity concentration in liquid\n", + "V=loadSi/d #volume of the melt in cm**3\n", + "Nummber_of_atoms=Cl*V #in atoms\n", + "Wt=(Cl*V*Si)/(Na)\n", + "\n", + "#Result\n", + "print(\"(a)Cl= %1.2f*10**17 cm**-3\\n\" %(Cl/10**17))\n", + "print(\"(b)Wt of P= %.2f*10**-3 g\" %(Wt/10**-3)) #The answers vary due to round off error" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example number 2.7 , Page number 59" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Miller indices of plane are (20,15,12)\n" + ] + } + ], + "source": [ + "#importing module\n", + "import math\n", + "from __future__ import division\n", + "\n", + "#Variable declaration\n", + "# r = p*a + q*b + s*c\n", + "x=3 #intercept on x axis\n", + "y=4 #intercept on y axis\n", + "z=5 #intercept on z zxis\n", + "LCM=60 \n", + "\n", + "#Calculations\n", + "rx=1/x*LCM #reciprocal\n", + "ry=1/y*LCM\n", + "rz=1/z*LCM\n", + "\n", + "#Result\n", + "print(\"Miller indices of plane are (%i,%i,%i)\" %(rx,ry,rz))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example number 2.9 , Page number 60" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "(a)no. of atoms in each cell= 8\n", + "\n", + "(b)Density of atoms in silicon= 5*10**22 atoms cm**-3\n" + ] + } + ], + "source": [ + "#importing module\n", + "import math\n", + "from __future__ import division\n", + "\n", + "#Variable declaration\n", + "a=8 #number of atoms shared by 8 cells\n", + "b=6 #number of atoms shared by 2 cells\n", + "c=4 #number of atoms shared by a single cell\n", + "L=5.43*10**-8 #Lattice constant in cm\n", + "\n", + "#Calculations\n", + "N=(a/8)+(b/2)+c #no. of atoms in each cell\n", + "Volume=L**3\n", + "Density=8/Volume\n", + "\n", + "#Result\n", + "print(\"(a)no. of atoms in each cell= %i\\n\" %N)\n", + "print(\"(b)Density of atoms in silicon= %i*10**22 atoms cm**-3\" %round(Density/10**22))\n", + "#The answer provided in the textbook is wrong" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example number 2.10, Page number 60" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Density per unit volume= 2.33 g cm**-3\n" + ] + } + ], + "source": [ + "#importing module\n", + "import math\n", + "from __future__ import division\n", + "\n", + "#Variable declaration\n", + "Na=6.02*10**23 # Avagadro Number in mol**-1\n", + "AtWt=28.09 #in g/mole\n", + "Density=5*10**22 #in atoms/cm**-3\n", + "\n", + "#Calculations\n", + "DensityPerUnitVolume=(Density*AtWt)/(Na)\n", + "\n", + "#Result\n", + "print(\"Density per unit volume= %1.2f g cm**-3\" %DensityPerUnitVolume)" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python [Root]", + "language": "python", + "name": "Python [Root]" + }, + "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.5.2" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} diff --git a/Solid_State_Electronic_Devices_by_D.K_Bhattacharya_,_Rajnish_Sharma/Chapter3_1.ipynb b/Solid_State_Electronic_Devices_by_D.K_Bhattacharya_,_Rajnish_Sharma/Chapter3_1.ipynb new file mode 100644 index 00000000..a0fd4aba --- /dev/null +++ b/Solid_State_Electronic_Devices_by_D.K_Bhattacharya_,_Rajnish_Sharma/Chapter3_1.ipynb @@ -0,0 +1,607 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Chapter 3 : Energy Bands and Charge Carriers in Semiconductors" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example number 3.1 , Page number 75" + ] + }, + { + "cell_type": "code", + "execution_count": 31, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Increase in kinetic energy of electron= 5.7*10**-8 eV\n" + ] + } + ], + "source": [ + "#importing module\n", + "import math\n", + "from __future__ import division\n", + "\n", + "#Variable declaration\n", + "v=5*10**5 #velocity of electron in cm/s\n", + "m=9.11*10**-31 #mass of electron in kg\n", + "const=1.6*10**-19 #in eV\n", + "\n", + "#Calculations\n", + "delv=0.02 #change in speed in cm/s\n", + "delE=(m*v*delv)/const\n", + "\n", + "#Result\n", + "print(\"Increase in kinetic energy of electron= %1.1f*10**-8 eV\" %(delE/10**-8))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example number 3.2 , Page number " + ] + }, + { + "cell_type": "code", + "execution_count": 32, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Energy required to excite the donor electron= 8.34*10**-22 J\n", + "\n", + "Energy required to excite the donor electron= 0.0052 eV\n" + ] + } + ], + "source": [ + "#importing module\n", + "import math\n", + "from __future__ import division\n", + "\n", + "#Variable declaration\n", + "epsilon_r=13.2 \n", + "m0=9.11*10**-31 #in kg\n", + "q=1.6*10**-19 #in eV\n", + "epsilon_0=8.85*10**-12 #in F/m\n", + "h=6.63*10**-34 #planck's constant in J/s \n", + "\n", + "#Calculations\n", + "mn=0.067*m0 #in kg\n", + "E=((mn*q**4)/(8*(epsilon_0*epsilon_r)**2*h**2))\n", + "E1=E/q\n", + " \n", + "#Result\n", + "print(\"Energy required to excite the donor electron= %.2f*10**-22 J\\n\" %(E/10**-22))\n", + "print(\"Energy required to excite the donor electron= %.4f eV\" %E1)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example number 3.3 , Page number 110" + ] + }, + { + "cell_type": "code", + "execution_count": 33, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Density of states effective mass of electrons in silicon= 1.1 m0\n" + ] + } + ], + "source": [ + "#importing module\n", + "import math\n", + "from __future__ import division\n", + "\n", + "#Variable declaration\n", + "ml=0.98#*m0\n", + "mt=0.19#*m0\n", + "#rest mass m0 = 9.1*10**-31 kg \n", + "\n", + "#Calculations\n", + "mn=6**(2/3)*(ml*mt**2)**(1/3)\n", + "\n", + "#Result\n", + "print(\"Density of states effective mass of electrons in silicon= %1.1f m0\" %mn)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example number 3.4 , Page number 110" + ] + }, + { + "cell_type": "code", + "execution_count": 34, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Ef-Ei= 0.347 eV\n" + ] + } + ], + "source": [ + "#importing module\n", + "import math\n", + "from __future__ import division\n", + "\n", + "#Variable declaration\n", + "n0=10**16 #doping atoms of P in atoms/cm**3\n", + "ni=1.5*10**10 #in cm**-3 \n", + "Const=0.0259 #constant value for kT in eV\n", + "\n", + "#Calculations\n", + "p0=(ni**2)/n0 #in cm**-3\n", + "x=(n0/ni) \n", + "delE=Const*math.log(x) #difference between energy bands Ef-Ei\n", + "\n", + "#Result\n", + "print(\"Ef-Ei= %.3f eV\" %delE)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example number 3.5 , Page number 111" + ] + }, + { + "cell_type": "code", + "execution_count": 35, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "ename": "SyntaxError", + "evalue": "invalid syntax (<ipython-input-35-754c806b687a>, line 1)", + "output_type": "error", + "traceback": [ + "\u001b[1;36m File \u001b[1;32m\"<ipython-input-35-754c806b687a>\"\u001b[1;36m, line \u001b[1;32m1\u001b[0m\n\u001b[1;33m http://localhost:8888/notebooks/Chapter3.ipynb##importing module\u001b[0m\n\u001b[1;37m ^\u001b[0m\n\u001b[1;31mSyntaxError\u001b[0m\u001b[1;31m:\u001b[0m invalid syntax\n" + ] + } + ], + "source": [ + "http://localhost:8888/notebooks/Chapter3.ipynb##importing module\n", + "import math\n", + "from __future__ import division\n", + "\n", + "#Variable declaration\n", + "ml=0.98#*m0\n", + "mt=0.19#*m0\n", + "#rest mass m0 = 9.1*10**-31 kg\n", + "\n", + "#Calculations\n", + "mnc=0.33*(1/ml+2/mt)\n", + "\n", + "#Result\n", + "print(\"1/mnc*= %1.2f m0\" %(1/mnc))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example number 3.6 , Page number 111" + ] + }, + { + "cell_type": "code", + "execution_count": 36, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Resistivity of the sample p= 16.03 ohm-cm\n" + ] + } + ], + "source": [ + "#importing module\n", + "import math\n", + "from __future__ import division\n", + "\n", + "#Variable declaration\n", + "Nd=10**14 #in cm**-3\n", + "myu_n=3900 #in cm**2/V\n", + "e=1.6*10**-19 #in J\n", + "\n", + "#Calculations\n", + "p=1/(Nd*e*myu_n)\n", + "\n", + "#Result\n", + "print(\"Resistivity of the sample p= %.2f ohm-cm\" %p)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example number 3.7 , Page number 111" + ] + }, + { + "cell_type": "code", + "execution_count": 37, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Resistivity= 0.156 ohm-cm\n", + "\n", + "Hall coefficient= -125 cm**3/c\n", + "\n", + "Hall Voltage= -62.5*10**-5 V\n" + ] + } + ], + "source": [ + "#importing module\n", + "import math\n", + "from __future__ import division\n", + "\n", + "#Variable declaration\n", + "n0=5*10**16 #doping level of Si with As in cm**-3\n", + "myu_n=800 #in cm**2/Vs\n", + "Ix=2*10**-3 #in A\n", + "Bz=5*10**-5 #in A\n", + "d=2*10**-2 #in cm\n", + "e=1.6*10**-19 #in J\n", + "\n", + "#Calculations\n", + "p=1/(e*myu_n*n0) \n", + "RH=-1/(e*n0) \n", + "VH=(Ix*Bz*RH)/(d)\n", + "\n", + "#Result\n", + "print(\"Resistivity= %0.3f ohm-cm\\n\" %p)\n", + "print(\"Hall coefficient= %i cm**3/c\\n\" %RH)\n", + "print(\"Hall Voltage= %.1f*10**-5 V\" %(VH/10**-5))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example number 3.9 , Page number 111" + ] + }, + { + "cell_type": "code", + "execution_count": 38, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Density of majority carriers(holes)= 9.2*10**17 cm**-3\n" + ] + } + ], + "source": [ + "#importing module\n", + "import math\n", + "from __future__ import division\n", + "\n", + "#Variable declaration\n", + "Boron_impurity=10**18 #in cm**-3\n", + "Phosphorus_impurity=10**16 #in cm**-3\n", + "\n", + "#Calculations\n", + "Density=Boron_impurity-(8*Phosphorus_impurity)\n", + "\n", + "print(\"Density of majority carriers(holes)= %1.1f*10**17 cm**-3\" %(Density/10**17))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example number 3.10 , Page number 115" + ] + }, + { + "cell_type": "code", + "execution_count": 39, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Drift velocity of remaining hole group= -11.3*10**8 cm s**-1\n" + ] + } + ], + "source": [ + "#importing module\n", + "import math\n", + "from __future__ import division\n", + "\n", + "#Variable declaration\n", + "J=14.14*10**-14 #current density in A/cm**2\n", + "v1=3*10**7 #hole group drift velocities in cm/s\n", + "v2=5*10**8 #in cm/s\n", + "v3=6*10**8 #in cm/s\n", + "q=1.6*10**-19 #in C\n", + "n=1000 #number of holes\n", + "\n", + "#Calculations\n", + "x=((J/(n*q))-v1-v2-v3)\n", + "\n", + "#Result\n", + "print(\"Drift velocity of remaining hole group= %.1f*10**8 cm s**-1\" %(x/10**8))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example number 3.11 , Page number 115" + ] + }, + { + "cell_type": "code", + "execution_count": 40, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "a)minimum frequency= 3.454*10**14 Hz\n", + "\n", + "b)wavelength= 8.7*10**-7 m\n" + ] + } + ], + "source": [ + "#importing module\n", + "import math\n", + "from __future__ import division\n", + "\n", + "#Variable declaration\n", + "E=1.43 #in eV\n", + "h=4.14*10**-15 #plancks constant in e*V*s\n", + "c=3*10**8 #in m/s\n", + "\n", + "#Calculations\n", + "#a)\n", + "v=E/h\n", + "\n", + "#b)\n", + "lamda=c/v\n", + "\n", + "#Result\n", + "print(\"a)minimum frequency= %.3f*10**14 Hz\\n\" %(v/10**14))\n", + "print(\"b)wavelength= %.1f*10**-7 m\" %(lamda/10**-7)) #The answers vary due to round off error" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example number 3.12 , Page number 116" + ] + }, + { + "cell_type": "code", + "execution_count": 41, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "a)Limiting electric field= 100 V/cm\n", + "\n", + "b)Length of resistor= 5.0*10**-2 cm\n", + "\n", + "c)Area of cross-section= 1.0*10**-5 cm**2\n", + "\n", + "d)Acceptor doping concentration= 5.00*10**15 cm**-3\n" + ] + } + ], + "source": [ + "#importing module\n", + "import math\n", + "from __future__ import division\n", + "\n", + "#Variable declaration\n", + "R=10*10**3 #Resistance in ohm\n", + "V=5 #Voltage in V\n", + "J=50 #current density in A/cm**2\n", + "E=100 #in V/cm\n", + "q=1.6*10**10 #in eV\n", + "myu_p=410 #in cm**2/V*s\n", + "Nd=5*10**15 #in cm**-3\n", + "\n", + "#Calculations\n", + "I=V/R #ohms law in mA\n", + "A=I/J #Area in cm**2\n", + "L=V/E \n", + "rho=(R*A)/L\n", + "sigma=1/rho #in ohm**-1 cm**-1\n", + "Na=(sigma/(myu_p*q))+Nd\n", + "\n", + "#Result\n", + "print(\"a)Limiting electric field= %i V/cm\\n\" %E)\n", + "print(\"b)Length of resistor= %.1f*10**-2 cm\\n\" %(L/10**-2))\n", + "print(\"c)Area of cross-section= %.1f*10**-5 cm**2\\n\" %(A/10**-5))\n", + "print(\"d)Acceptor doping concentration= %.2f*10**15 cm**-3\" %(Na/10**15)) #The answer provided in the textbook is wrong" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example number 3.13 , Page number 117" + ] + }, + { + "cell_type": "code", + "execution_count": 42, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "a)Doping value= 1.109*10**16 cm**-3\n", + "\n", + "c)resistivity of the doped pieces of silicon= 0.4025 ohm-cm\n", + "\n", + "c)resistivity of the undoped pieces of silicon= 2.2*10**5 ohm-cm\n" + ] + } + ], + "source": [ + "#importing module\n", + "import math\n", + "from __future__ import division\n", + "\n", + "#Variable declaration\n", + "E_fi=0.35 #in eV\n", + "ni=1.5*10**10 #in cm**-3\n", + "q=1.6*10**-19 #in eV\n", + "myu_n=1400 #in cm**2/Vs\n", + "myu_p=500 #in cm**2/Vs\n", + "Const=0.0259 #constant value for kT in eV\n", + "\n", + "#Calculations\n", + "#a)\n", + "n0=ni*math.exp((E_fi)/Const)\n", + "\n", + "#c)\n", + "#doped substrate\n", + "sigma=q*(myu_n*n0) #in ohm**-1 cm**-1\n", + "rho=1/sigma\n", + "\n", + "#undoped substrate\n", + "sigma1=q*(ni*(myu_n+myu_p))\n", + "rho1=1/sigma1\n", + "\n", + "#Result\n", + "print(\"a)Doping value= %1.3f*10**16 cm**-3\\n\" %(n0/10**16))\n", + "print(\"c)resistivity of the doped pieces of silicon= %.4f ohm-cm\\n\" %rho)\n", + "print(\"c)resistivity of the undoped pieces of silicon= %.1f*10**5 ohm-cm\" %(rho1/10**5)) #The answers vary due to round off error" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example number 3.14 , Page number 119" + ] + }, + { + "cell_type": "code", + "execution_count": 43, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "concentration of doping= 1.726*10**20 cm**-3\n" + ] + } + ], + "source": [ + "#importing module\n", + "import math\n", + "from __future__ import division\n", + "\n", + "#Variable declaration\n", + "ni=1.5*10**10 #in cm**-3\n", + "Ex=0.6 #position of energy level in eV\n", + "Const=0.0259 #constant value for kT in eV\n", + "\n", + "#Calculations\n", + "n0=ni*math.exp(Ex/Const)\n", + "\n", + "#Result\n", + "print(\"concentration of doping= %.3f*10**20 cm**-3\" %(n0/10**20)) #The answers vary due to round off error" + ] + } + ], + "metadata": { + "anaconda-cloud": {}, + "kernelspec": { + "display_name": "Python [Root]", + "language": "python", + "name": "Python [Root]" + }, + "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.5.2" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} diff --git a/Solid_State_Electronic_Devices_by_D.K_Bhattacharya_,_Rajnish_Sharma/Chapter4_1.ipynb b/Solid_State_Electronic_Devices_by_D.K_Bhattacharya_,_Rajnish_Sharma/Chapter4_1.ipynb new file mode 100644 index 00000000..cf309081 --- /dev/null +++ b/Solid_State_Electronic_Devices_by_D.K_Bhattacharya_,_Rajnish_Sharma/Chapter4_1.ipynb @@ -0,0 +1,491 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Chapter 4 : Excess Carriers in Semiconductors" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example number 4.1 , Page number 135" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "excess electron concentration= 8.19*10**15 cm**-3\n" + ] + } + ], + "source": [ + "#importing module\n", + "import math\n", + "from __future__ import division\n", + "\n", + "#Variable declaration\n", + "del_n0=10**16 #concentration of electrons in cm**-3\n", + "tau_n0=5 #excess carrier lifetime in micro-s\n", + "t=1 #time in micro-s\n", + "\n", + "#Calculations\n", + "del_nt=del_n0*math.exp(-t/tau_n0)\n", + "\n", + "#Result\n", + "print(\"excess electron concentration= %.2f*10**15 cm**-3\" %(del_nt/10**15))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example number 4.2 , Page number 135" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Recombination rate= 0.74*10**21 cm**-3 s**-1\n" + ] + } + ], + "source": [ + "#importing module\n", + "import math\n", + "from __future__ import division\n", + "\n", + "#Variable declaration\n", + "del_n0=10**16 #concentration of electrons in cm**-3\n", + "tau_n0=5 #excess carrier lifetime in s\n", + "tau_n01=5*10**-6 #excess carrier lifetime in micro-s\n", + "t=5 #in micro-s\n", + "\n", + "#Calculations\n", + "del_nt=del_n0*math.exp(-t/tau_n0) #in cm**-3\n", + "Rn1=del_nt/tau_n01\n", + "\n", + "#Result\n", + "print(\"Recombination rate= %.2f*10**21 cm**-3 s**-1\" %(Rn1/10**21))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example number 4.3 , Page number 136" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Recombination rate= 9.17*10**19 cm**-3 s**-1\n" + ] + } + ], + "source": [ + "#importing module\n", + "import math\n", + "from __future__ import division\n", + "\n", + "#Variable declaration\n", + "Nd=10**15 #dopant concentration in cm**-3\n", + "Na=0 #in cm**-3\n", + "tau_p0=10*10**-7 #in s\n", + "tau_n0=10*10**-7 #in s\n", + "ni=1.5*10**10 #in cm**-3\n", + "deln=10**14 #in cm**-3\n", + "delp=10**14 #in cm**-3\n", + "nt=1.5*10**15 #in cm**-3\n", + "pt=1.5*10**15 #in cm**-3\n", + " \n", + "#Calculations\n", + "n0=Nd #in cm**-3\n", + "p0=ni**2/Nd #in cm**-3\n", + "n=n0+deln #in cm**-3\n", + "p=p0+delp #in cm**-3\n", + "R=((n*p)-ni**2)/(tau_n0*(n+p))\n", + "\n", + "#Result\n", + "print(\"Recombination rate= %1.2f*10**19 cm**-3 s**-1\" %(R/10**19))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example number 4.4 , Page number 146" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "1)\n", + "position of the Fermi level at thermal equilibrium= 0.3412 eV\n", + "\n", + "2)\n", + "quasi-Fermi level for electrons in non-equilibrium= 0.3414 eV\n", + "\n", + "3)\n", + "quasi-Fermi level for holes in non-equilibrium= 0.2214 eV\n" + ] + } + ], + "source": [ + "#importing module\n", + "import math\n", + "from __future__ import division\n", + "\n", + "#Variable declaration\n", + "n0=5*10**15 #carrier concentration in cm**-3\n", + "ni=10**10 #in cm**-3\n", + "p0=2*10**4 #in cm**-3\n", + "deln=5*10**13 #excess carriers in semiconductor in cm**-3\n", + "delp=5*10**13 #in cm**-3\n", + "Const=0.026 #constant value for kT/e in V\n", + "\n", + "#Calculations\n", + "delE1=Const*math.log(n0/ni) \n", + "delE2=Const*math.log((n0+deln)/ni)\n", + "delE3=Const*math.log((p0+delp)/ni)\n", + "\n", + "#Result\n", + "print(\"1)\\nposition of the Fermi level at thermal equilibrium= %0.4f eV\\n\" %delE1)\n", + "print(\"2)\\nquasi-Fermi level for electrons in non-equilibrium= %0.4f eV\\n\" %delE2)\n", + "print(\"3)\\nquasi-Fermi level for holes in non-equilibrium= %0.4f eV\" %delE3)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example number 4.6 , Page number 147" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "1)\n", + "Hole mobility= 2000 cm**2/Vs\n", + "\n", + "2)\n", + "Diffusion coefficient= 52.22 cm**2/s\n" + ] + } + ], + "source": [ + "#importing module\n", + "import math\n", + "from __future__ import division\n", + "\n", + "#Variable declaration\n", + "l=1.8 #distance between plates in cm\n", + "E=3/2 #in V\n", + "t=0.6*10**-3 #time taken by the pulse in s \n", + "del_t=236*10**-6 #pulse width in s\n", + "\n", + "#Calculations\n", + "vd=l/t #in cm/s\n", + "myu_p=vd/E\n", + "Dp=(del_t*l)**2/(16*t**3)\n", + "\n", + "#Result\n", + "print(\"1)\\nHole mobility= %i cm**2/Vs\\n\" %myu_p)\n", + "print(\"2)\\nDiffusion coefficient= %2.2f cm**2/s\" %Dp)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example number 4.7 , Page number 149" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "a)\n", + "\n", + "photo generation rate= 8*10**20 EHPs/cm**3s\n", + "\n", + "b)\n", + "\n", + "resistivity before illumination= 5.21 ohm-cm\n", + "\n", + "resistvity after illumination= 3.397 ohm-cm\n", + "\n", + "percent of conductivity= 8.70 percent\n", + "\n", + "c)\n", + "\n", + "quasi Fermi level due to electron=Efi+0.296 eV\n", + "\n", + "quasi Fermi level due to holes=Efi-0.264 eV\n", + "\n" + ] + } + ], + "source": [ + "#importing module\n", + "import math\n", + "from __future__ import division\n", + "\n", + "#Variable declaration\n", + "delp=4*10**14 #excess EHP in cm**-3\n", + "deln=4*10**14 #excess EHP in cm**-3\n", + "n0=10**15 #donor atoms in cm**-3\n", + "p0=0 #in cm**-3\n", + "t=0.5*10**-6 #hole-lifetime in s\n", + "myu_n=1200 #mobility of electron in cm**2/V*s\n", + "myu_p=400 #mobility of hole in cm**2/V*s\n", + "q=1.6*10**-19 #electron charge in eV\n", + "ni=1.5*10**10 #in cm**-3\n", + "Const=0.0259 #constant value for kT in eV\n", + "\n", + "#Calculations\n", + "#a)\n", + "gop=delp/t\n", + "\n", + "#b)\n", + "rho_0=(q*n0*myu_n)**-1 #Before illumination\n", + "n=n0+deln #in cm**-3\n", + "p=p0+delp #in cm**-3\n", + "rho=1/(q*((myu_n*n)+(myu_p*p)))#conductivity\n", + "rho1=q*myu_p*delp #in mho/cm\n", + "Pcond=(rho*rho1)*100\n", + "\n", + "#c)\n", + "delE_e=Const*math.log(n/ni)\n", + "delE_h=Const*math.log(p/ni)\n", + "\n", + "#Result\n", + "print(\"a)\\n\")\n", + "print(\"photo generation rate= %i*10**20 EHPs/cm**3s\\n\" %(gop/10**20))\n", + "print(\"b)\\n\")\n", + "print(\"resistivity before illumination= %1.2f ohm-cm\\n\" %rho_0)\n", + "print(\"resistvity after illumination= %1.3f ohm-cm\\n\" %rho)\n", + "print(\"percent of conductivity= %1.2f percent\\n\" %Pcond) #The answers vary due to round off error\n", + "print(\"c)\\n\")\n", + "print(\"quasi Fermi level due to electron=Efi+%0.3f eV\\n\" %delE_e)\n", + "print(\"quasi Fermi level due to holes=Efi-%0.3f eV\\n\" %delE_h)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example number 4.8 , Page number 151" + ] + }, + { + "cell_type": "code", + "execution_count": 26, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "a)\n", + "\n", + "lifetime of both type of carriers= 1 micro-s\n", + "\n", + "b)\n", + "\n", + "excess carrier concentration= 1*10**15 cm**-3\n", + "\n", + "c)\n", + "\n", + "Induced change in current= 0.064 A\n" + ] + } + ], + "source": [ + "#importing module\n", + "import math\n", + "from __future__ import division\n", + "\n", + "#Variable declaration\n", + "n0=10**16 #donor atoms in cm**-3\n", + "q=1.6*10**-19 #electron charge in J\n", + "ni=1.5*10**10 #in cm**-3\n", + "Nd=10**16 #Donors added to silicon to make it n-type) in cm**-3\n", + "GT=2.25*10**10 #Thermal generation rate of carriers under equilibrium cm**-3/s\n", + "gop=10**21 #in cm**-3/s\n", + "tau_n=10**-6 #in s\n", + "tau_t=2.5*10**-3 #transit time in s\n", + "V=1 #in V\n", + "\n", + "#Calculations\n", + "#a)\n", + "alpha_r=GT/ni**2\n", + "tau_p=(alpha_r*n0)**-1\n", + " \n", + "#b)\n", + "delp=gop*tau_n\n", + "\n", + "#c)\n", + "delI=(q*V*gop*tau_n)/tau_t\n", + "\n", + "#Result\n", + "print(\"a)\\n\")\n", + "print(\"lifetime of both type of carriers= %i micro-s\\n\" %(tau_p/10**-6))\n", + "print(\"b)\\n\")\n", + "print(\"excess carrier concentration= %i*10**15 cm**-3\\n\" %(delp/10**15))\n", + "print(\"c)\\n\")\n", + "print(\"Induced change in current= %.3f A\" %delI)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example number 4.9 , Page number 151" + ] + }, + { + "cell_type": "code", + "execution_count": 30, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "a)\n", + "\n", + "Current density for 1000V potential= 8.48*10**5 A/cm**2\n", + "\n", + "b)\n", + "\n", + "Doping concentration= 7.1*10**11 cm**-3\n", + "\n", + "c)\n", + "\n", + "Energy gap= 0.3280 eV\n" + ] + } + ], + "source": [ + "#importing module\n", + "import math\n", + "from __future__ import division\n", + "\n", + "#Variable declaration\n", + "E1000=8.48*10**5 #Current density for 1000 V in A/cm**2\n", + "delE=0.1 #in eV\n", + "q=1.6*10**-19 #electron charge in eV\n", + "ni=1.5*10**10 #in cm**-3\n", + "Nd=10**16 #Donors added to silicon to make it n-type) in cm**-3\n", + "gop=10**19 #in cm**-3/s\n", + "tau=10**-5 #in s\n", + "Const=0.0259 #constant value for kT in eV\n", + "\n", + "#Calculations\n", + "#a)\n", + "E10000=E1000\n", + "\n", + "#b)\n", + "n0=ni*math.exp(delE/Const)\n", + "\n", + "#c)\n", + "deln=gop*tau #in cm**-3\n", + "n=n0 #in cm**-3\n", + "p=deln #in cm**-3s\n", + "delE_np=Const*math.log((n*p)/ni**2)\n", + "\n", + "#Result\n", + "print(\"a)\\n\")\n", + "print(\"Current density for 1000V potential= %1.2f*10**5 A/cm**2\\n\" %(E10000/10**5))\n", + "print(\"b)\\n\")\n", + "print(\"Doping concentration= %1.1f*10**11 cm**-3\\n\" %(n0/10**11)) #The answer provided in the textbook is wrong\"\n", + "print(\"c)\\n\")\n", + "print(\"Energy gap= %0.4f eV\" %delE_np) #The answer provided in the textbook is wrong\"" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python [Root]", + "language": "python", + "name": "Python [Root]" + }, + "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.5.2" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} diff --git a/Solid_State_Electronic_Devices_by_D.K_Bhattacharya_,_Rajnish_Sharma/Chapter5_1.ipynb b/Solid_State_Electronic_Devices_by_D.K_Bhattacharya_,_Rajnish_Sharma/Chapter5_1.ipynb new file mode 100644 index 00000000..c69c6d26 --- /dev/null +++ b/Solid_State_Electronic_Devices_by_D.K_Bhattacharya_,_Rajnish_Sharma/Chapter5_1.ipynb @@ -0,0 +1,499 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Chapter 5 : P - N Junction" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example number 5.1 , Page number 180" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "rootD = 0.18 micro-m/h**-2\n", + "\n", + "Temperature at diffusion should be carried out= 1100 Celsius\n", + "The temperature value was choosen by determing the value of T against root(D) in the figure of Diffusivity of acceptor impurities in silicon versus T\n" + ] + } + ], + "source": [ + "#importing module\n", + "import math\n", + "from __future__ import division\n", + "\n", + "#Variable declaration\n", + "rho=10 #resistivity in ohm-cm\n", + "myu_n=1300 #electron mobility in cm**2/V*s\n", + "e=1.6*10**-19 #in eV\n", + "Cs=5*10**18 #constant surface concentartion in cm**-3\n", + "t=1 #in hour\n", + "x=1 #depth in micro-m\n", + "\n", + "#Calculations\n", + "sigma=1/rho #in (ohm-cm)**-1\n", + "n=sigma/(myu_n*e) #in cm**-3\n", + "n_Cs=n/Cs \n", + "erfc1_y=n_Cs #error function\n", + "y=2.75 #reference page 181 from fig 5.1.1. value obtained by plotting erfc1_y (Complementary error function) as a function of y\n", + "rootD=x/(2*y*math.sqrt(t))\n", + "T=1100 #reference page 168 from fig 5.10(b)\n", + "\n", + "#Result\n", + "print(\"rootD = %.2f micro-m/h**-2\\n\" %rootD)\n", + "print(\"Temperature at diffusion should be carried out= %i Celsius\" %T)\n", + "print(\"The temperature value was choosen by determing the value of T against root(D) in the figure of Diffusivity of acceptor impurities in silicon versus T\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example number 5.2 , Page number 182" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "built-in potential= 0.841 V\n" + ] + } + ], + "source": [ + "#importing module\n", + "import math\n", + "from __future__ import division\n", + "\n", + "#Variable declaration\n", + "Na=5*10**18 #doping densities in cm**-3\n", + "Nd=5*10**15 #in cm**-3\n", + "ni=1.5*10**10 #in cm**-3\n", + "Const=0.026#constant for kT/e in V\n", + "\n", + "#Calculations\n", + "Vbi=Const*math.log((Na*Nd)/ni**2)\n", + "\n", + "#Result\n", + "print(\"built-in potential= %0.3f V\" %Vbi) #The answers vary due to round off error" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example number 5.3 , Page number 182" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Total space-charge width= 0.466 micro-m\n" + ] + } + ], + "source": [ + "#importing module\n", + "import math\n", + "from __future__ import division\n", + "\n", + "#Variable declaration\n", + "Na=5*10**18 #doping densities in cm**-3\n", + "Nd=5*10**15 #in cm**-3\n", + "ni=1.5*10**10 #in cm**-3 \n", + "epsilon_s=11.7 #in F/cm\n", + "epsilon_0=8.85*10**-14 #in F/cm\n", + "Vbi=0.838 #built-in potential in V\n", + "e=1.6*10**-19 #in J \n", + "\n", + "#Calculations\n", + "W=((2*epsilon_s*epsilon_0*Vbi*(Na+Nd))/(e*Na*Nd))**0.5\n", + "\n", + "#Result\n", + "print(\"Total space-charge width= %0.3f micro-m\" %(W/10**-4))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example number 5.4 , Page number 201" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Total space-charge width= 1.12 micro-m\n" + ] + } + ], + "source": [ + "#importing module\n", + "import math\n", + "from __future__ import division\n", + "\n", + "#Variable declaration\n", + "Na=5*10**18 #doping densities in cm**-3\n", + "Nd=5*10**15 #in cm**-3\n", + "ni=1.5*10**10 #in cm**-3\n", + "VR=4 #voltage in V\n", + "epsilon_s=11.7 #in F/cm\n", + "epsilon_0=8.85*10**-14 #in F/cm\n", + "Vbi=0.838 #built-in potential in V\n", + "e=1.6*10**-19 #in J\n", + "\n", + "#Calculations\n", + "W=((2*epsilon_s*epsilon_0*(Vbi+VR)*(Na+Nd))/(e*Na*Nd))**0.5\n", + "\n", + "#Result\n", + "print(\"Total space-charge width= %1.2f micro-m\" %(W/10**-4))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example number 5.5 , Page number 143" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Junction Capacitance= 1*10**-8 F/cm**2\n", + "\n", + "Depletion Capacitance= 5 pF\n" + ] + } + ], + "source": [ + "#importing module\n", + "import math\n", + "from __future__ import division\n", + "\n", + "#Variable declaration\n", + "Na=5*10**18 #doping densities in cm**-3\n", + "Nd=5*10**15 #in cm**-3\n", + "ni=1.5*10**10 #in cm**-3\n", + "VR=3 #voltage in V\n", + "epsilon_s=11.7 #in F/cm\n", + "epsilon_0=8.85*10**-14 #in F/cm\n", + "Vbi=0.838 #built-in potential in V\n", + "e=1.6*10**-19 #in J\n", + "A=5*10**-4 #Area in cm**2\n", + "\n", + "#Calculations\n", + "Cdep=((e*epsilon_s*epsilon_0*Na*Nd)/(2*(Vbi+VR)*(Na+Nd)))**0.5 #junction capacitance \n", + "Cdep1=Cdep*A\n", + "\n", + "#Result\n", + "print(\"Junction Capacitance= %i*10**-8 F/cm**2\\n\" %(Cdep/10**-8))\n", + "print(\"Depletion Capacitance= %i pF\" %(Cdep1/10**-12))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example number 5.7 , Page number 205" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Breakdown voltage= 13.87 V\n" + ] + } + ], + "source": [ + "#importing module\n", + "import math\n", + "from __future__ import division\n", + "\n", + "#Variable declaration\n", + "Na=10**17 #in cm**-3\n", + "epsilon_0=8.85*10**-14 #in F/cm\n", + "Emax=5*10**5 #peak electric field in V/cm\n", + "e=1.6*10**-19 #in J\n", + "epsilon_si=88.76*10**-14 #in F/cm\n", + "\n", + "#Calculations\n", + "E=(Emax*Emax*epsilon_si)/(e*Na)\n", + "\n", + "#Result\n", + "print(\"Breakdown voltage= %2.2f V\" %E) #The answers vary due to round off error" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example number 5.8 , Page number 206" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "a)\n", + " As 18.24 micro-m is less than the given length of the n-region i.e 22 micro-m, device will only have avalanche breakdown\n" + ] + } + ], + "source": [ + "#importing module\n", + "import math\n", + "from __future__ import division\n", + "\n", + "#Variable declaration\n", + "Na=10**19 #doping densities in cm**-3\n", + "Nd=10**15 #in cm**-3\n", + "epsilon_s=88.76*10**-14 #in F/cm\n", + "e=1.6*10**-19 #in J\n", + "Vbi=300 #breakdown voltage in V\n", + "\n", + "#Calculations\n", + "xn=((2*epsilon_s*Na*Vbi)/(e*Nd*(Na+Nd)))**0.5\n", + "\n", + "#Result\n", + "print(\"a)\")\n", + "print(\" As %.2f micro-m is less than the given length of the n-region i.e 22 micro-m, device will only have avalanche breakdown\" %(xn/10**-4))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example number 5.9 , Page number 207" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "a)\n", + "\n", + "Total concentration of holes= 5.45*10**11 cm**-3\n", + "\n", + "b)\n", + "\n", + "Additional voltage required= 0.9051 V\n" + ] + } + ], + "source": [ + "#importing module\n", + "import math\n", + "from __future__ import division\n", + "\n", + "#Variable declaration\n", + "Na=10**15 #doping densities in cm**-3\n", + "Nd=10**17 #in cm**-3\n", + "V=0.5 #in V\n", + "e=1.6*10**-19 #in J\n", + "nn0=10**17 #in cm**-3\n", + "ni=1.5*10**10 #in cm**-3\n", + "Si_bandgap=1.1 #bandgap of silicon in eV\n", + "Const=0.0259 #constant value for kT/e in J\n", + "\n", + "#Calculations\n", + "#a)\n", + "pn0=ni**2/nn0 #in cm**-3\n", + "pn=pn0*math.exp((V)/Const) \n", + "\n", + "#b)\n", + "\n", + "Vbi=0.6949 #breakdown voltage in V\n", + "Vp=Vbi-V #potential already present in V\n", + "Vz=Si_bandgap-Vp #Zener breakdown voltage in V\n", + "\n", + "#Result\n", + "print(\"a)\\n\")\n", + "print(\"Total concentration of holes= %.2f*10**11 cm**-3\\n\" %(pn/10**11)) \n", + "print(\"b)\\n\")\n", + "print(\"Additional voltage required= %.4f V\" %Vz)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example number 5.10 , Page number 208" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Donor Concentration= 3.447*10**18 cm**-3\n" + ] + } + ], + "source": [ + "#importing module\n", + "import math\n", + "from __future__ import division\n", + "\n", + "#Variable declaration\n", + "Cj=12*10**-12 #Capacitance in F/cm**2\n", + "A=10**-4 #junction Area in A/cm**2\n", + "Vr=20 #in V\n", + "e=1.6*10**-19 #in J\n", + "epsilon_r=11.8 #in F/cm\n", + "epsilon_0=8.85*10**-14 #in F/cm\n", + "\n", + "#Calculations\n", + "Nd=((2*Cj)/A)**2*(Vr/(2*epsilon_r*epsilon_0*e))\n", + "\n", + "#Result\n", + "print(\"Donor Concentration= %1.3f*10**18 cm**-3\" %(Nd/10**18))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example number 5.11 , Page number 209" + ] + }, + { + "cell_type": "code", + "execution_count": 27, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Depletion capacitance per unit area= 1.804 nF/cm**2\n", + "\n", + "Width of depletion region= 5.74*10**-4 cm\n" + ] + } + ], + "source": [ + "#importing module\n", + "import math\n", + "from __future__ import division\n", + "\n", + "#Variable declaration\n", + "Na=4.22*10**14 #doping densities in cm**-3\n", + "Nd=4.22*10**16 #in cm**3\n", + "e=1.6*10**-19 #in eV\n", + "Vbi=0.65 #breakdown voltage in V\n", + "ni=1.5*10**10 #in cm**-3\n", + "epsilon_si=11.7 #in F/cm\n", + "epsilon_0=8.85*10**-14 #in F/cm\n", + "V=10 #applied voltage in V\n", + "Const=0.0259 #value for kT/e in V\n", + "\n", + "#Calculations\n", + "Nd=math.sqrt((math.exp(Vbi/Const)*ni**2)/100)\n", + "Na=100*Nd\n", + "W=(((2*epsilon_0*epsilon_si*(Vbi+V))*(Na+Nd))/(e*Na*Nd))**0.5\n", + "Cj=(epsilon_0*epsilon_si)/W\n", + "\n", + "#Result\n", + "print(\"Depletion capacitance per unit area= %1.3f nF/cm**2\\n\" %(Cj/10**-9)) #The answers vary due to round off error\n", + "print(\"Width of depletion region= %1.2f*10**-4 cm\" %(W/10**-4)) #The answers vary due to round off error" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python [Root]", + "language": "python", + "name": "Python [Root]" + }, + "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.5.2" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} diff --git a/Solid_State_Electronic_Devices_by_D.K_Bhattacharya_,_Rajnish_Sharma/Chapter6_1.ipynb b/Solid_State_Electronic_Devices_by_D.K_Bhattacharya_,_Rajnish_Sharma/Chapter6_1.ipynb new file mode 100644 index 00000000..d8624900 --- /dev/null +++ b/Solid_State_Electronic_Devices_by_D.K_Bhattacharya_,_Rajnish_Sharma/Chapter6_1.ipynb @@ -0,0 +1,483 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Chapter 6 : P - N Junction Current" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example number 6.1 , Page number 226" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "minority carrier concentration= 6.92*10**12 cm**-3\n" + ] + } + ], + "source": [ + "#importing module\n", + "import math\n", + "from __future__ import division\n", + "\n", + "#Variable declaration\n", + "ni=1.5*10**10 #in cm**-3\n", + "Nd=5*10**16 #doping density in cm**-3\n", + "V=0.55 #in V\n", + "Const=0.026 #constant for kT/e in V\n", + "\n", + "#Calculations\n", + "Pn0=ni**2/Nd #in cm**-3\n", + "Pn=Pn0*math.exp(V/Const)\n", + "\n", + "#Result\n", + "print(\"minority carrier concentration= %1.2f*10**12 cm**-3\" %(Pn/10**12))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example number 6.2 , Page number 226" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Reverse saturation current density= 4.38*10**-11 A/cm**2\n" + ] + } + ], + "source": [ + "#importing module\n", + "import math\n", + "from __future__ import division\n", + "\n", + "#Variable declaration\n", + "ni=1.5*10**10 #in cm**-3\n", + "e=1.6*10**-19 #in J\n", + "Na=10**16 #doping density in cm**-3\n", + "Nd=5*10**16 #in cm**-3\n", + "Dn=25 #in cm**2/s\n", + "Dp=10 #in cm**2/s\n", + "tau_p0=4*10**-7 #in s\n", + "tau_n0=2*10**-7 #in s\n", + "\n", + "#Calculations\n", + "Js=e*ni**2*((1/Na)*math.sqrt(Dn/tau_n0)+(1/Nd)*math.sqrt(Dp/tau_p0))\n", + "\n", + "#Result\n", + "print(\"Reverse saturation current density= %1.2f*10**-11 A/cm**2\" %(Js/10**-11)) #The answers vary due to round off error" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example number 6.3 , Page number 227" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "1)\n", + "Reverse bias stauration current density= 0.620*10**-6 A/m**2\n", + "\n", + "2)\n", + "Ratio of hole to electron current= 37.69 \n", + "\n", + "3)\n", + "Total current density= 2.98 A/m**2\n" + ] + } + ], + "source": [ + "#importing module\n", + "import math\n", + "from __future__ import division\n", + "\n", + "#Variable declaration\n", + "sigma_p=1000 #conductivity of p-junction in ohm**-1*m**-1\n", + "sigma_n=20 #conductivity of n-junction in ohm**-1*m**-1\n", + "myu_p=0.05 #in m**2/V*s\n", + "myu_n=0.13 #in m**2/V*s\n", + "K=8.61*10**-5 #Boltzmann constant in eV/K\n", + "T=300 #in K\n", + "V=0.4 #forward bias voltage in V\n", + "e=1.602*10**-19 #in J\n", + "ni=1.5*10**16 #in m**-3\n", + "tau_n=10**-6 #minority carrier lifetime in s\n", + "tau_p=5*10**-6 #in s\n", + "Const=0.026 #constant for kT/e in V\n", + "hole_current=0.603*10**-6 #in A\n", + "electron_current=0.016*10**-6 #in A \n", + "\n", + "#Calculations\n", + "pp0=sigma_p/(e*myu_p) #majority carrier densities in m**-3\n", + "nn0=sigma_n/(e*myu_n) #in m**-3\n", + "np0=ni**2/pp0 #minority carrier densities in m**-3\n", + "pn0=ni**2/nn0 #in m**-3\n", + "Dn=myu_n*K*T #in m**2/s\n", + "Dp=myu_p*K*T #in m**2/s\n", + "Ln=math.sqrt(Dn*tau_n) #in m\n", + "Lp=math.sqrt(Dp*tau_p) #in m\n", + "Js=(((e*np0*Ln)/tau_n)+((e*pn0*Lp)/tau_p))\n", + "Ratio=(hole_current)/(electron_current)\n", + "J=Js*(math.exp(V/Const)-1)\n", + "\n", + "#Result\n", + "print(\"1)\\nReverse bias stauration current density= %0.3f*10**-6 A/m**2\\n\" %(Js/10**-6)) #The answers vary due to round off error\n", + "print(\"2)\\nRatio of hole to electron current= %2.2f \\n\" %Ratio)\n", + "print(\"3)\\nTotal current density= %2.2f A/m**2\" %J) #The answers vary due to round off error" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example number 6.4 , Page number 242" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Diffusion Capacitance= 4*10**-9 F\n" + ] + } + ], + "source": [ + "#importing module\n", + "import math\n", + "from __future__ import division\n", + "\n", + "#Variable declaration\n", + "Ip0=0.5*10**-3 #in A\n", + "tau_p0=5*10**-7 #in s\n", + "Const=0.026 #constant for kT/e in V\n", + "\n", + "#Calculations\n", + "Cd0=(1/(2*Const))*tau_p0*Ip0\n", + "\n", + "#Result\n", + "print(\"Diffusion Capacitance= %i*10**-9 F\" %math.floor(Cd0/10**-9))\n", + "#The answers vary due to round off error" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example number 6.5 , Page number 243" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "reverse-bias generation current density= 3.15*10**-7 A/cm**2\n" + ] + } + ], + "source": [ + "#importing module\n", + "import math\n", + "from __future__ import division\n", + "\n", + "#Variable declaration\n", + "ni=1.5*10**10 #in cm**-3\n", + "epsilon_si=11.7 #in F/cm\n", + "epsilon_0=8.85*10**-14 #in F/cm\n", + "e=1.6*10**-19 #in J\n", + "Na=10**16 #in cm**-3\n", + "Nd=5*10**16 #in cm**-3\n", + "tau_p0=4*10**-7 #in s\n", + "tau_n0=2*10**-7 #in s\n", + "\n", + "#Calculations\n", + "W=(((2*epsilon_si*epsilon_0)*(Na+Nd)*4)/(e*Na*Nd))**0.5 #in micro-m\n", + "tau_m=(tau_p0+tau_n0)/2 #in s\n", + "Jgen=(e*ni*W)/(2*tau_m) \n", + "\n", + "#Result\n", + "print(\"reverse-bias generation current density= %1.2f*10**-7 A/cm**2\" %(Jgen/10**-7)) #The answers vary due to round off error" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example number 6.6 , Page number 245" + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Nd= 2.55*10**15 cm**-3\n", + "\n", + "Na= 1.01*10**15 cm**-3\n" + ] + } + ], + "source": [ + "#importing module\n", + "import math\n", + "from __future__ import division\n", + "\n", + "#Variable declaration\n", + "Jn=20 #in A/cm**2\n", + "Jp=5 #in A/cm**2\n", + "Va=0.65 #in V\n", + "Dn=25 #in cm**2/s\n", + "Dp=10 #/in cm**2/s\n", + "tau_n0=5*10**-7 #in s\n", + "tau_p0=5*10**-7 #in s\n", + "epsilon_r=11.8 #in F/cm\n", + "epsilon_0=8.85*10**-14 #in F/cm\n", + "e=1.6*10**-19 #in eV\n", + "ni=1.5*10**10 #in cm**-3\n", + "Const=0.0259 #constant for kT/e in V\n", + "\n", + "#Calculations\n", + "Lp=math.sqrt(Dp*tau_p0) #in cm\n", + "pn0=(Jp*Lp)/(e*Dp*(math.exp(Va/Const)-1)) #law of mass action in cm**-3\n", + "Nd=(ni**2/pn0)\n", + "Ln=math.sqrt(Dn*tau_n0) #in cm\n", + "np0=(Jn*Ln)/(e*Dn*(math.exp((Va/Const))-1)) #in cm**-3\n", + "Na=ni**2/np0 \n", + "\n", + "#Result\n", + "print(\"Nd= %1.2f*10**15 cm**-3\\n\" %(Nd/10**15)) #The answers vary due to round off error\n", + "print(\"Na= %1.2f*10**15 cm**-3\" %(Na/10**15))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example number 6.7 , Page number 246" + ] + }, + { + "cell_type": "code", + "execution_count": 29, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Minority carrier hole concentration= 2.59*10**14 cm**-3\n" + ] + } + ], + "source": [ + "#importing module\n", + "import math\n", + "from __future__ import division\n", + "\n", + "#Variable declaration\n", + "ni=1.5*10**10 #in cm**-3\n", + "Nd=1*10**16 #n-type doping in cm**-3\n", + "V=0.6 #forward bias current in V\n", + "e=1.6*10**-19 #in eV\n", + "Const=0.0259 #constant for kT/e in V\n", + "\n", + "#Calculations\n", + "Pn0=ni**2/Nd #in cm**-3\n", + "Pn=Pn0*math.exp(V/Const)\n", + "\n", + "#Result\n", + "print(\"Minority carrier hole concentration= %1.2f*10**14 cm**-3\" %(Pn/10**14))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example number 6.8 , Page number 247" + ] + }, + { + "cell_type": "code", + "execution_count": 39, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Current= 0.55 micro-Ampere\n" + ] + } + ], + "source": [ + "#importing module\n", + "import math\n", + "from __future__ import division\n", + "\n", + "#Variable declaration\n", + "ni=1.5*10**10 #in cm**-3\n", + "Nd=5*10**16 #n-type doping in cm**-3\n", + "V=0.5 #forward bias current in V\n", + "e=1.6*10**-19 #in eV\n", + "tau_p=1*10**-6 #in s \n", + "Dp=10 #in cm**2/s\n", + "A=10**-3 #cross-sectional area in cm**2\n", + "Const=0.0259 #constant for kT/e in V\n", + "\n", + "#Calculations\n", + "pn=ni**2/Nd #in cm**-3\n", + "Lp=math.sqrt(Dp*tau_p) #in cm\n", + "I=e*A*(Dp/Lp)*pn*(math.exp(V/Const))\n", + "\n", + "#Result\n", + "print(\"Current= %.2f micro-Ampere\" %(I/10**-6))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example number 6.9 , Page number 247" + ] + }, + { + "cell_type": "code", + "execution_count": 42, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Electric field value= 2.07 V/cm\n" + ] + } + ], + "source": [ + "#importing module\n", + "import math\n", + "from __future__ import division\n", + "\n", + "#Variable declaration\n", + "ni=1.5*10**10 #in cm**-3\n", + "e=1.6*10**-19 #in eV\n", + "Na=10**16 #doping density in cm**-3 \n", + "Nd=10**16 #in cm**-3 \n", + "tau_p0=5*10**-7 #in s \n", + "tau_n0=5*10**-7 #in s\n", + "Dn=25 #in cm**2/s\n", + "Dp=10 #in cm**2/s\n", + "epsilon_r=11.7 #in F/cm\n", + "epsilon_0=8.85*10**-14 #in F/cm\n", + "myu_n=1350 #in cm**2/V*s\n", + "myu_p=450 #in cm**2/V*s \n", + "V=0.65 #in V\n", + "Const=0.0259 #constant for kT/e in V\n", + "\n", + "\n", + "#Calculations\n", + "pn0=ni**2/Nd #in cm**-3\n", + "np0=ni**2/Na #in cm**-3\n", + "Lp=math.sqrt(Dp*tau_p0) #in cm\n", + "Ln=math.sqrt(Dn*tau_n0) #in cm\n", + "Js=(((e*Dp*pn0)/Lp)+((e*Dn*pn0)/Lp)) #in A/cm**2\n", + "J=Js*(math.exp(V/Const)-1) #Total current density in A/cm**2\n", + "sigma=e*myu_n*Nd #in mho/cm\n", + "E=J/sigma\n", + "\n", + "#Result\n", + "print(\"Electric field value= %1.2f V/cm\" %E) #The answer provided in the textbook is wrong" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python [Root]", + "language": "python", + "name": "Python [Root]" + }, + "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.5.2" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} diff --git a/Solid_State_Electronic_Devices_by_D.K_Bhattacharya_,_Rajnish_Sharma/Chapter7_1.ipynb b/Solid_State_Electronic_Devices_by_D.K_Bhattacharya_,_Rajnish_Sharma/Chapter7_1.ipynb new file mode 100644 index 00000000..242910a9 --- /dev/null +++ b/Solid_State_Electronic_Devices_by_D.K_Bhattacharya_,_Rajnish_Sharma/Chapter7_1.ipynb @@ -0,0 +1,459 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Chapter 7 : Metal - Semiconductor Junction and Hetero - junctions " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example number 7.1 , Page number 266" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "a) Ideal Schottky barrier height= 0.165 eV\n", + "\n", + "b) Built-in potential barrier= 0.925 V\n", + "\n", + "c) Space charge width at zero bias= 0.155*10**-4 cm\n", + "\n", + "d) maximum electric field= 11.96*10**4 V cm**-1\n" + ] + } + ], + "source": [ + "#importing module\n", + "import math\n", + "from __future__ import division\n", + "\n", + "#Variable declaration\n", + "Nd=5*10**16 #Doping level of n-type silicon in cm**-3\n", + "Nc=2.8*10**19 #in cm**-3 \n", + "e=1.6*10**-19 #in J\n", + "phi_B0=1.09 #in eV\n", + "epsilon_r=11.7 #in F/cm\n", + "epsilon_0=8.85*10**-14 #in F/cm\n", + "Const=0.026 #constant for kT/e in V\n", + "\n", + "#Calculations\n", + "phi_n=Const*math.log(Nc/Nd) #in eV\n", + "Vbi=(phi_B0-phi_n) #in eV\n", + "xn=((2*epsilon_r*epsilon_0*Vbi)/(e*Nd))**0.5\n", + "Emax=(e*Nd*xn)/(epsilon_r*epsilon_0)\n", + "\n", + "#Result\n", + "print(\"a) Ideal Schottky barrier height= %0.3f eV\\n\" %phi_n)\n", + "print(\"b) Built-in potential barrier= %0.3f V\\n\" %Vbi)\n", + "print(\"c) Space charge width at zero bias= %1.3f*10**-4 cm\\n\" %(xn/10**-4))\n", + "print(\"d) maximum electric field= %.2f*10**4 V cm**-1\" %round(Emax/10**4,2))#answer vary due to sound-off error" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example number 7.2 , Page number 267" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Actual barrier height= 0.578 V\n" + ] + } + ], + "source": [ + "#importing module\n", + "import math\n", + "from __future__ import division\n", + "\n", + "#Variable declaration\n", + "Nd=2.01*10**7 #Doping level of n-type silicon in cm**-3\n", + "Nc=2.8*10**19 #in cm**-3\n", + "e=1.6*10**-19 #in J\n", + "epsilon_r=11.7 #in F/cm\n", + "epsilon_0=8.85*10**-14 #in F/cm\n", + "slope=6*10**13 \n", + "Vbi=0.45 #in V\n", + "Const=0.026 #constant for kT/e in V\n", + "\n", + "#Calculations\n", + "Nd=2/(e*epsilon_r*epsilon_0*slope) #in cm**-3\n", + "phi_n=Const*math.log(Nc/Nd) #in V\n", + "phi_Bn=Vbi+phi_n\n", + "\n", + "#Result\n", + "print(\"Actual barrier height= %0.3f V\" %phi_Bn)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example number 7.3 , Page number 267" + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Schottkybarrier-lowering for Si-metal contact= 0.011 V\n", + "\n", + "maximum barrier height= 5.54*10**-7 cm\n" + ] + } + ], + "source": [ + "#importing module\n", + "import math\n", + "from __future__ import division\n", + "\n", + "#Variable declaration\n", + "E=10**4 #Electric field in V/cm\n", + "e=1.6*10**-19 #in J\n", + "epsilon_r=11.7 #in F/cm\n", + "epsilon_0=8.85*10**-14 #in F/cm \n", + "\n", + "#Calculations\n", + "del_phi=math.sqrt((e*E)/(4*math.pi*epsilon_r*epsilon_0))\n", + "xm=math.sqrt(e/(16*math.pi*epsilon_r*epsilon_0*E))\n", + "\n", + "#Result\n", + "print(\"Schottkybarrier-lowering for Si-metal contact= %0.3f V\\n\" %del_phi)\n", + "print(\"maximum barrier height= %1.2f*10**-7 cm\" %(xm/10**-7))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example number 7.4 , Page number 268" + ] + }, + { + "cell_type": "code", + "execution_count": 28, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Reverse saturation current density= 2.06*10**-7 A/cm**2\n" + ] + } + ], + "source": [ + "#importing module\n", + "import math\n", + "from __future__ import division\n", + "\n", + "#Variable declaration\n", + "A=114 #effective Richardson constant A/K**2*cm**2\n", + "e=1.6*10**-19 #in J\n", + "T=300 #in K\n", + "phi_Bn=0.82 #in eV\n", + "const=0.026 #value for kT/e in V\n", + "\n", + "#Calculations\n", + "J0=A*T**2*math.exp(-(phi_Bn/const))\n", + "\n", + "#Result\n", + "print(\"Reverse saturation current density= %1.2f*10**-7 A/cm**2\" %(J0/10**-7))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example number 7.5 , Page number 272" + ] + }, + { + "cell_type": "code", + "execution_count": 29, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Conduction band= 0.06 eV\n", + "\n", + "Valence band= 0.69 eV\n" + ] + } + ], + "source": [ + "#importing module\n", + "import math\n", + "from __future__ import division\n", + "\n", + "#Variable declaration\n", + "xGe=4.13 #in eV\n", + "xGaAs=4.07 #in eV\n", + "Eg_Ge=0.7 #in eV\n", + "Eg_GaAs=1.45 #in eV\n", + "\n", + "#Calculations\n", + "delE_c=xGe-xGaAs\n", + "delE_v=(Eg_GaAs-Eg_Ge)-delE_c\n", + "\n", + "#Result\n", + "print(\"Conduction band= %1.2f eV\\n\" %delE_c)\n", + "print(\"Valence band= %1.2f eV\" %delE_v)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example number 7.6 , Page number 272" + ] + }, + { + "cell_type": "code", + "execution_count": 35, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "a)\n", + "\n", + "ideal schottky barrier height= 0.49 ev\n", + "\n", + "b)\n", + "\n", + "peak electric field= 6.81*10**4 V/cm\n", + "\n", + "c)\n", + "\n", + "depletion layer capacitance per unit area= 7.05*10**-9 F/cm**2\n" + ] + } + ], + "source": [ + "#importing module\n", + "import math\n", + "from __future__ import division\n", + "\n", + "#Variable declaration\n", + "Nd=3*10**15 #Doping level of n-type silicon in cm**-3\n", + "Nc=2.8*10**19 #in cm**-3\n", + "e=1.6*10**-19 #in J\n", + "phi_m=4.5 #work function for chromium in eV\n", + "epsilon_si=11.7 #in F/cm\n", + "epsilon_0=8.854*10**-14 #in F/cm\n", + "xsi=4.01 #electron affinity for Si in eV\n", + "Vbi=5 #reverse bias voltage in V\n", + "VR=0 #in V\n", + "\n", + "#Calculations\n", + "phi_B=phi_m-xsi #in eV\n", + "xn=((2*epsilon_si*epsilon_0*(Vbi+VR))/(e*Nd))**0.5 #in cm\n", + "Emax=(e*Nd*xn)/(epsilon_si*epsilon_0)\n", + "CJ=((e*epsilon_si*epsilon_0*Nd)/(2*(Vbi+VR)))**0.5\n", + "\n", + "#Result\n", + "print(\"a)\\n\")\n", + "print(\"ideal schottky barrier height= %1.2f ev\\n\" %phi_B)\n", + "print(\"b)\\n\")\n", + "print(\"peak electric field= %1.2f*10**4 V/cm\\n\" %(Emax/10**4))\n", + "print(\"c)\\n\")\n", + "print(\"depletion layer capacitance per unit area= %1.2f*10**-9 F/cm**2\" %(CJ/10**-9)) #The answer provided in the textbook is wrong" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example number 7.9 , Page number 272" + ] + }, + { + "cell_type": "code", + "execution_count": 37, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Energy state difference= 0.407 eV\n", + "\n", + " a)phi_s= 4.957 eV\n", + "\n", + " b)Forward Bias (phi_B)= 0.3 eV\n", + "\n", + " eV0= 0.657 eV\n" + ] + } + ], + "source": [ + "#importing module\n", + "import math\n", + "from __future__ import division\n", + "\n", + "#Variable declaration\n", + "phi_m=4.3 #work function in eV\n", + "xsi=4 #electron affinity in eV\n", + "p0=10**17 #in cm**-3\n", + "Na=10**17 #in cm**-3\n", + "ni=1.5*10**10 #in cm**-3\n", + "delE_fc=0.957 #in eV\n", + "Const=0.0259 #constant value for kT in eV\n", + "\n", + "#Calculations\n", + "delE_if=Const*math.log(p0/ni)\n", + "\n", + "#a) Before contact\n", + "phi_s=xsi+delE_fc \n", + "\n", + "#b) After contact\n", + "phi_B=phi_m-xsi \n", + "eV0=phi_s-phi_m\n", + "\n", + "#Result\n", + "print(\"Energy state difference= %.3f eV\\n\" %delE_if)\n", + "print(\" a)phi_s= %.3f eV\\n\" %phi_s)\n", + "print(\" b)Forward Bias (phi_B)= %.1f eV\\n\" %phi_B)\n", + "print(\" eV0= %.3f eV\" %eV0) #The answer provided in the textbook is wrong" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example number 7.9 , Page number 272" + ] + }, + { + "cell_type": "code", + "execution_count": 41, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "electron doping concentration = 4.1*10**10 cm**-3\n", + "\n", + "workfuntion of the semiconductor = 4.34 eV\n", + "\n", + "workfuntion of the semiconductor on B side = 4.89 eV\n", + "\n", + "workfuntion of the semiconductor at 400K = 4.74 eV \n" + ] + } + ], + "source": [ + "#importing module\n", + "import math\n", + "from __future__ import division\n", + "\n", + "#Variable declaration\n", + "ni=1.5*10**10 #in cm**-3\n", + "delE_iF=0.0259 #in eV\n", + "delE_cF=0.29 #in eV\n", + "phi_G=4.8 #in eV\n", + "impurity_conc=9.9*10**14 #in cm**-3\n", + "affinity=0.55 #in eV\n", + "Const=0.0259 #constant value for kT in eV\n", + "x=4.05 #electron affinity for silicon in eV\n", + "\n", + "#Calculations\n", + "#a)\n", + "n0=ni*math.exp(delE_iF/Const) #in cm**-3\n", + "phi_s=x+delE_cF \n", + "\n", + "#b)\n", + "Ptype_conc=impurity_conc-n0 #net concentration of p-type on B side in cm**-3\n", + "delE_iF_Bside=Const*math.log(Ptype_conc/ni) #in eV\n", + "phi_s_Bside=x+delE_iF_Bside+affinity\n", + "\n", + "#d)\n", + "ni1=8*10**12 #increased ni in cm**-3\n", + "delE_iF1=Const*math.log(n0/ni1) #in eV\n", + "phi_s1=x+(affinity-delE_iF1)\n", + "eV0=phi_s-phi_m\n", + "\n", + "#Result\n", + "print(\"electron doping concentration = %.1f*10**10 cm**-3\\n\" %(n0/10**10)) #The answer provided in the textbook is wrong\n", + "print(\"workfuntion of the semiconductor = %.2f eV\\n\" %phi_s)\n", + "print(\"workfuntion of the semiconductor on B side = %.2f eV\\n\" %phi_s_Bside) #The answer provided in the textbook is wrong\n", + "print(\"workfuntion of the semiconductor at 400K = %.2f eV \" %phi_s1) #The answer provided in the textbook is wrong" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python [Root]", + "language": "python", + "name": "Python [Root]" + }, + "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.5.2" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} diff --git a/Solid_State_Electronic_Devices_by_D.K_Bhattacharya_,_Rajnish_Sharma/Chapter8_1.ipynb b/Solid_State_Electronic_Devices_by_D.K_Bhattacharya_,_Rajnish_Sharma/Chapter8_1.ipynb new file mode 100644 index 00000000..8f45a209 --- /dev/null +++ b/Solid_State_Electronic_Devices_by_D.K_Bhattacharya_,_Rajnish_Sharma/Chapter8_1.ipynb @@ -0,0 +1,304 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Chapter 8 : Bipolar Junction Transistors" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example number 8.1 , Page number " + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "common-base current gain= 0.98\n" + ] + } + ], + "source": [ + "#importing module\n", + "import math\n", + "from __future__ import division\n", + "\n", + "#Variable declaration\n", + "iC=21 #collector current in mA\n", + "iE=21.4 #Emitter current in mA\n", + "\n", + "#Calculations\n", + "alpha=iC/iE\n", + "\n", + "#Result\n", + "print(\"common-base current gain= %1.2f\" %alpha)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example number 8.2 , Page number 297" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Excess minority carrier concentration at x=WB/3 = 3.16*10**13 cm**-3\n", + "\n", + "Excess minority carrier concentration at x=0 = 4.74*10**13 cm**-3\n", + "\n" + ] + } + ], + "source": [ + "#importing module\n", + "import math\n", + "from __future__ import division\n", + "\n", + "#Variable declaration\n", + "ni=1.5*10**10 #in cm**3\n", + "Na=5*10**16 #in cm**3\n", + "Nd=5*10**18 #in cm**3\n", + "VBE=0.6 #in V\n", + "WB=3*10**-4 #in cm\n", + "Const=0.026 #constant for kT/e in V\n", + "\n", + "#Calculations\n", + "#a)\n", + "np0=ni**2/Na #in cm**-3\n", + "deln_x=(np0/WB)*(((math.exp(VBE/Const)-1)*(2/3*WB))-WB/3)\n", + "\n", + "#b)\n", + "deln_x1=(np0/WB)*(math.exp(VBE/Const)-1)*WB\n", + "\n", + "#Result\n", + "print(\"Excess minority carrier concentration at x=WB/3 = %1.2f*10**13 cm**-3\\n\" %round(deln_x/10**13,2)) #The answers vary due to round off error\n", + "print(\"Excess minority carrier concentration at x=0 = %1.2f*10**13 cm**-3\\n\" %round(deln_x1/10**13,2)) #The answers vary due to round off error" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example number 8.3 , Page number 315" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Collector-emitter voltage at saturation= 0.16 V\n" + ] + } + ], + "source": [ + "#importing module\n", + "import math\n", + "from __future__ import division\n", + "\n", + "#Variable declaration\n", + "alpha_F=0.98\n", + "alpha_R=0.18\n", + "IC=2 #current in mA\n", + "IB=0.06 #current in mA\n", + "Const=0.026 #constant for kT/e in V\n", + "\n", + "#Calculations\n", + "VCE=Const*math.log((((IC*(1-alpha_R))+IB)/((alpha_F*IB)-((1-alpha_F)*IC)))*(alpha_F/alpha_R))\n", + "\n", + "#Result\n", + "print(\"Collector-emitter voltage at saturation= %1.2f V\" %VCE)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example number 8.4 , Page number 315" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Transconductannce= 0.025 mho\n", + "\n", + "Voltage gain= -75\n" + ] + } + ], + "source": [ + "#importing module\n", + "import math\n", + "from __future__ import division\n", + "\n", + "#Variable declaration\n", + "RL=3 #load resistor in ohm\n", + "hie=1*10**3 #in ohm\n", + "hre=2*10**-4 #in mho\n", + "hfe=25 #in mho\n", + "hoe=15*10**-6 #in mho\n", + "\n", + "#Calculations\n", + "gm=hfe/hie \n", + "Ave=-gm*RL*10**3\n", + "\n", + "#Result\n", + "print(\"Transconductannce= %0.3f mho\\n\" %gm)\n", + "print(\"Voltage gain= %0.2i\" %Ave)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example number 8.5 , Page number 316" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Total emitter-to-collector delay time= 84.6 ps\n", + "\n", + "cut-of frequency of transistor= 1.88 GHz\n" + ] + } + ], + "source": [ + "#importing module\n", + "import math\n", + "from __future__ import division\n", + "\n", + "#Variable declaration\n", + "IE=1.5*10**-3 #in mA\n", + "Cje=1.2*10**-12 #in F\n", + "Dn=25 #in cm**2/s\n", + "WB=0.4*10**-4 #in cm\n", + "Wdc=2.5*10**-4 #in cm\n", + "vs=10**7 #in cm/s\n", + "Rc=25 #in ohm\n", + "CBC=0.15*10**-12 #in F\n", + "CS=0.12*10**-12 #in F\n", + "Const=0.026 #constant for kT/e in V\n", + "\n", + "#Calculations\n", + "Re=Const*(1/IE) #in ohm\n", + "tau_e=Re*Cje #emitter-base junction charging in s\n", + "tau_b=WB**2/(2*Dn) #transit time in the base in s\n", + "tau_d=Wdc/vs #collector depletion region transit time in s\n", + "tau_c=Rc*(CBC+CS) #collector capacitance charging time in s\n", + "tau_D=tau_e+tau_b+tau_d+tau_c\n", + "fT=1/(2*math.pi*(tau_D))\n", + "\n", + "\n", + "#Result\n", + "print(\"Total emitter-to-collector delay time= %0.1f ps\\n\" %round(tau_D/10**-12,1))\n", + "print(\"cut-of frequency of transistor= %0.2f GHz\" %round(fT/10**9,2))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example number 8.7 , Page number 319" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "a) upper frequency limit= 1.91 GHz\n" + ] + } + ], + "source": [ + "#importing module\n", + "import math\n", + "from __future__ import division\n", + "\n", + "#Variable declaration\n", + "Wb=0.5*10**-6 #width of base region in m\n", + "Dp=15*10**-4 # in m**2/s\n", + "\n", + "#Calculations\n", + "tau_n=Wb**2/(2*Dp) #in s\n", + "tau_B=tau_n #in s\n", + "fT=1/(2*math.pi*tau_B)\n", + "\n", + "\n", + "#Result\n", + "print(\"a) upper frequency limit= %1.2f GHz\" %round(fT/10**9,2))" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python [Root]", + "language": "python", + "name": "Python [Root]" + }, + "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.5.2" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} diff --git a/Solid_State_Electronic_Devices_by_D.K_Bhattacharya_,_Rajnish_Sharma/Chapter9_1.ipynb b/Solid_State_Electronic_Devices_by_D.K_Bhattacharya_,_Rajnish_Sharma/Chapter9_1.ipynb new file mode 100644 index 00000000..6dec3b62 --- /dev/null +++ b/Solid_State_Electronic_Devices_by_D.K_Bhattacharya_,_Rajnish_Sharma/Chapter9_1.ipynb @@ -0,0 +1,376 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Chapter 9 : Field-effect Transistor" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example number 9.1 , Page number 335" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "a) Pitch-off voltage= 55.6 V\n", + "\n", + "b) Pitch-off current= 640.8*10**-3 A\n", + "\n", + "c) Drain current at pinch-off= 203*10**-3 A\n" + ] + } + ], + "source": [ + "#importing module\n", + "import math\n", + "from __future__ import division\n", + "\n", + "#Variable declaration\n", + "Nd=5*10**16 #in cm**-3\n", + "Na=10**19 #in cm**-3 \n", + "d=1.2*10**-4 #in cm\n", + "e=1.6*10**-19# in J\n", + "epsilon_r=11.7 #in F/cm\n", + "epsilon_0=8.85*10**-14 #in F/cm\n", + "L=18*10**-4 #in cm\n", + "W=80*10**-4 #in micro-W\n", + "myu_n=1350 #in cm**2/V*s\n", + "ni=1.5*10**10 #in cm**3\n", + "VGS=0 #in V\n", + "Const=0.026 #constant for kT/e in V\n", + "\n", + "#Calculations\n", + "Vp=(e*Nd*d**2)/(2*epsilon_r*epsilon_0) #Pitch-off voltage in V\n", + "Ip=(W*myu_n*e**2*Nd**2*d**3)/(epsilon_r*epsilon_0*L) #Pitch-off current in A\n", + "Vbi=Const*math.log((Na*Nd)/ni**2) #in V\n", + "ID=Ip*(1/3-((VGS+Vbi)/Vp)+(2/3)*((VGS+Vbi)/Vp)**3/2)\n", + "\n", + "#Result\n", + "print(\"a) Pitch-off voltage= %1.1f V\\n\" %Vp)\n", + "print(\"b) Pitch-off current= %.1f*10**-3 A\\n\" %(Ip*10**3))\n", + "print(\"c) Drain current at pinch-off= %i*10**-3 A\" %(ID*10**3)) #The answers vary dueto round off error" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example number 9.2 , Page number 336" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Channel thickness= 0.476 micro-m\n" + ] + } + ], + "source": [ + "#importing module\n", + "import math\n", + "from __future__ import division\n", + "\n", + "#Variable declaration\n", + "e=1.6*10**-19 #in eV\n", + "epsilon_r=13.1 #in F/cm\n", + "epsilon_0=8.85*10**-14 #in F/cm\n", + "Nc=4.7*10**17 #in cm**-3\n", + "Nd=3*10**15 #in cm**-3\n", + "phi_Bn=0.9 #barrier height in V\n", + "VT=0.3 #threshold voltage in V\n", + "Const=0.026 #constant for kT/e in V\n", + "\n", + "#Calculations\n", + "phi_n=Const*math.log(Nc/Nd) #in V\n", + "Vbi=phi_Bn-phi_n #built-in voltage in V\n", + "Vp=Vbi-VT #pinch-off voltage in V\n", + "d=math.sqrt((2*epsilon_r*epsilon_0*Vp)/(e*Nd))\n", + "\n", + "#Result\n", + "print(\"Channel thickness= %0.3f micro-m\" %round(d/10**-4,3))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example number 9.3 , Page number 358" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Maximum space-charge width= 0.142 micro-meter\n" + ] + } + ], + "source": [ + "#importing module\n", + "import math\n", + "from __future__ import division\n", + "\n", + "#Variable declaration\n", + "e=1.6*10**-19 #in J\n", + "epsilon_r=11.7 #in F/cm\n", + "epsilon_0=8.85*10**-14 #in F/cm\n", + "Na=5*10**16 #in cm**-3\n", + "ni=1.5*10**10 #in cm**-3\n", + "Const=0.026 #constant for kT/e in V\n", + "\n", + "#Calculations\n", + "phi_pF=Const*math.log(Na/ni) #in V\n", + "WdT=((4*epsilon_r*epsilon_0*phi_pF)/(e*Na))**0.5\n", + "\n", + "#Result\n", + "print(\"Maximum space-charge width= %0.3f micro-meter\" %round(WdT/10**-4,3))\n", + "#The answer provided in the textbook is wrong" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example number 9.4 , Page number 359" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "work-function difference= -0.894 V\n" + ] + } + ], + "source": [ + "#importing module\n", + "import math\n", + "from __future__ import division\n", + "\n", + "#Variable declaration\n", + "phi_m=3.20 #in V\n", + "Na=10**15 #in cm**-3\n", + "ni=1.5*10**10 #in cm**-3\n", + "x=3.25\n", + "Eg=1.11 #in eV\n", + "e=1.6*10**-19 #in J\n", + "Const=0.026 #constant for kT/e in V\n", + "\n", + "#Calculations\n", + "phi_pF=Const*math.log(Na/ni) #in V\n", + "phi_ms=(phi_m-(x+(Eg/2)+phi_pF))\n", + "\n", + "#Result\n", + "print(\"work-function difference= %0.3f V\" %phi_ms)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example number 9.5 , Page number 360" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Channel width= 14.9 micro-m\n" + ] + } + ], + "source": [ + "#importing module\n", + "import math\n", + "from __future__ import division\n", + "\n", + "#Variable declaration\n", + "ID_sat=5*10**-3 #in mA\n", + "L=1.3*10**-4 #in micro-m\n", + "myu_n=660 #in cm**2/V*s\n", + "Cox=7*10**-8 #in F/cm**2\n", + "VGS=5 #in V\n", + "VT=0.66 #in V\n", + "\n", + "#Calculations\n", + "Z=(ID_sat*2*L)/(myu_n*Cox*(VGS-VT)**2)\n", + "\n", + "#Result\n", + "print(\"Channel width= %.1f micro-m\" %round(Z/10**-4,1))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example number 9.6 , Page number 362" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Voltage of n-channel Si(1)= 1.03 V\n", + "\n", + "Voltage of n-channel Si(2)= 2.513 V\n" + ] + } + ], + "source": [ + "#importing module\n", + "import math\n", + "from __future__ import division\n", + "\n", + "#Variable declaration\n", + "epsilon_0=8.854*10**-14 #in F/cm\n", + "epsilon_r=11.8 #in F/cm\n", + "epsilon_i=3.9 #in F/cm\n", + "d=100*10**-8 #gate oxide thickness in cm\n", + "phi_ms=-1.5 #in V\n", + "Qi=5*10**10*1.6*10**-19 #fixed oxide charge in C/cm**2\n", + "Na=10**18 #in cm**-3\n", + "ni=1.5*10**10 #in cm**-3\n", + "e=1.6*10**-19 #in J\n", + "VB=2.5 #in V\n", + "const=0.0259 #value for kT/e in V\n", + "\n", + "#Calculations\n", + "Ci=(epsilon_0*epsilon_i)/d #in F/cm**2\n", + "VFB=phi_ms-(Qi/Ci) #in V\n", + "phi_F=const*math.log(Na/ni) #in V\n", + "W=math.sqrt((2*epsilon_0*epsilon_r*(2*phi_F))/(e*Na)) #in cm\n", + "Qd=-e*Na*W #in C\n", + "VT=VFB+(2*phi_F)-(Qd/Ci) #in V\n", + "Wm=math.sqrt((2*epsilon_0*epsilon_r*((2*phi_F)+VB))/(e*Na)) #in cm\n", + "Qd1=-e*Na*Wm #in C\n", + "VT1=VFB+(2*phi_F)-(Qd1/Ci) #in V\n", + "\n", + "#Result\n", + "print(\"Voltage of n-channel Si(1)= %1.2f V\\n\" %VT)\n", + "print(\"Voltage of n-channel Si(2)= %1.3f V\" %VT1) #The answers vary due to round off error" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example number 9.7 , Page number 363" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Voltage of n-channel= -1.98 V\n" + ] + } + ], + "source": [ + "#importing module\n", + "import math\n", + "from __future__ import division\n", + "\n", + "#Variable declaration\n", + "epsilon_0=8.854*10**-14 #in F/cm\n", + "epsilon_r=11.8 #in F/cm\n", + "epsilon_i=3.9 #in F/cm\n", + "d=80*10**-8 #gate oxide thickness in cm\n", + "phi_ms=-0.15 #work-function difference in V\n", + "Qi=10**11*1.6*10**-19 #fixed oxide charge in C/cm**2\n", + "Nd=5*10**17 #in cm**-3\n", + "ni=1.5*10**10 #in cm**-3\n", + "e=1.6*10**-19 #in J\n", + "const=0.0259 #value for kT/e in V\n", + "\n", + "#Calculations\n", + "phi_F=const*math.log(Nd/ni) #in V \n", + "Wm=2*math.sqrt((epsilon_0*epsilon_r*abs(phi_F))/(e*Nd)) #in cm\n", + "Qd=e*Nd*Wm #depletion charges in C\n", + "Ci=(epsilon_0*epsilon_i)/d #in F/cm**2\n", + "VT=phi_ms-(Qi/Ci)-(Qd/Ci)-(2*phi_F)\n", + "\n", + "#Result\n", + "\n", + "print(\"Voltage of n-channel= %1.2f V\" %VT)" + ] + } + ], + "metadata": { + "anaconda-cloud": {}, + "kernelspec": { + "display_name": "Python [Root]", + "language": "python", + "name": "Python [Root]" + }, + "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.5.2" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} diff --git a/Solid_State_Electronic_Devices_by_D.K_Bhattacharya_,_Rajnish_Sharma/chapter13_1.ipynb b/Solid_State_Electronic_Devices_by_D.K_Bhattacharya_,_Rajnish_Sharma/chapter13_1.ipynb new file mode 100644 index 00000000..c0e79f73 --- /dev/null +++ b/Solid_State_Electronic_Devices_by_D.K_Bhattacharya_,_Rajnish_Sharma/chapter13_1.ipynb @@ -0,0 +1,227 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Chapter 13 : MICROWAVE DEVICES" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example number 13.1, Page number 480" + ] + }, + { + "cell_type": "code", + "execution_count": 31, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Drift velocity= 1*10**7\n", + "current density= 320.000000 A/cm**2\n", + "negative electron mobility= -3124 cm**2/Vs\n" + ] + } + ], + "source": [ + "#importing modules\n", + "import math\n", + "from __future__ import division\n", + "\n", + "#Variable declaration\n", + "l=10*10**-6 #length in m\n", + "f=10*10**9 #frequency in Hz\n", + "n=2*10**14 # n type doping concentration in cm**-3\n", + "e=1.6*10**-19 #in J\n", + "E=3200 #electric field in V/cm\n", + "\n", + "#Calculatiions\n", + "vd=l*f*10**2 #converting from m**2 to cm**2\n", + "J=e*n*vd\n", + "myu=-vd/E\n", + "\n", + "#Result\n", + "print(\"Drift velocity= %.0f*10**7 cms**-1\" %round(vd/10**7,0))\n", + "print(\"current density= %f A/cm**2\" %J) \n", + "print(\"negative electron mobility= %d cm**2/Vs\" %myu) #The answer provided in the textbook is wrong" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Example number 13.2, Page number 481" + ] + }, + { + "cell_type": "code", + "execution_count": 32, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Drift time= 1*10**-11 s\n", + "Operating frequency= 50 GHz\n" + ] + } + ], + "source": [ + "#importing modules\n", + "import math\n", + "from __future__ import division\n", + "\n", + "#Variable declaration\n", + "drift_length=2*10**-4 #in cm\n", + "drift_velocity=2*10**7 #in cm/s\n", + "\n", + "#Calculatiions\n", + "d=drift_length/drift_velocity\n", + "f=(drift_velocity*10**-2)/(2*drift_length*10**-2)\n", + "\n", + "#Result\n", + "print(\"Drift time= %.0f*10**-11 s\" %round(d*10**11,0))\n", + "print(\"Operating frequency= %.0f GHz\" %round(f/10**9,0))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Example number 13.3, Page number 487" + ] + }, + { + "cell_type": "code", + "execution_count": 36, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "avalanche-zone velocity is= 6.25*10**7 cm/s\n" + ] + } + ], + "source": [ + "#importing modules\n", + "import math\n", + "from __future__ import division\n", + "\n", + "#Variable declaration\n", + "J=20*10**3 #in kA/cm**2\n", + "e=1.6*10**-19 #in C\n", + "Nd=2*10**15 #in cm**-3\n", + "\n", + "#Calculatiions\n", + "vz=J/(e*Nd)\n", + "\n", + "#Result\n", + "print(\"avalanche-zone velocity is= %.2f*10**7 cm/s\" %(vz/10**7))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Example number 13.4, Page number 488" + ] + }, + { + "cell_type": "code", + "execution_count": 44, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Breakdown voltage is= 154.37 V\n", + "Breakdown electric field is=2.57*10**5 V/m\n" + ] + } + ], + "source": [ + "#importing modules\n", + "import math\n", + "from __future__ import division\n", + "\n", + "#Variable declaration\n", + "e=1.6*10**-19 #in eV\n", + "Nd=2.8*10**21 # donor doping concentration in m**-3\n", + "L=6*10**-6 #length in m\n", + "epsilon_s=8.854*10**-12*11.8 # in F/m\n", + "\n", + "#Calculatiions\n", + "Vbd=(e*Nd*L**2)/epsilon_s\n", + "Ebd=Vbd/L\n", + "\n", + "#Result#importing modules\n", + "import math\n", + "from __future__ import division\n", + "\n", + "#Variable declaration\n", + "e=1.6*10**-19 #in eV\n", + "Nd=2.8*10**21 # donor doping concentration in m**-3\n", + "L=6*10**-6 #length in m\n", + "epsilon_s=8.854*10**-12*11.8 # in F/m\n", + "\n", + "#Calculatiions\n", + "Vbd=(e*Nd*L**2)/epsilon_s\n", + "Ebd=Vbd/L\n", + "\n", + "#Result\n", + "print(\"Breakdown voltage is= %.2f V\" %Vbd)#The answers vary due to round off error\n", + "print(\"Breakdown electric field is=%.2f*10**5 V/m\" %round(Ebd/10**7,2))\n", + "print(\"Breakdown voltage is= %.2f V\" %Vbd)#The answers vary due to round off error\n", + "print(\"Breakdown electric field is=%.2f*10**5 V/m\" %round(Ebd/10**7,2))" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python [Root]", + "language": "python", + "name": "Python [Root]" + }, + "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.5.2" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} diff --git a/Solid_State_Electronic_Devices_by_D.K_Bhattacharya_,_Rajnish_Sharma/chapter14_1.ipynb b/Solid_State_Electronic_Devices_by_D.K_Bhattacharya_,_Rajnish_Sharma/chapter14_1.ipynb new file mode 100644 index 00000000..ead244bb --- /dev/null +++ b/Solid_State_Electronic_Devices_by_D.K_Bhattacharya_,_Rajnish_Sharma/chapter14_1.ipynb @@ -0,0 +1,218 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Chapter 14 : Rectifiers and Power Supplies" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example number 14.1, Page number 507" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "(a)Maximum current Im is (A)= 20.0 mA\n", + "(b)dc component of current Idc is (A)= 6.37*10**-3 A\n", + "(c)rms value of current Irms (A)= 10.0 mA\n" + ] + } + ], + "source": [ + "#importing modules\n", + "import math\n", + "from __future__ import division\n", + "\n", + "#Variable declaration\n", + "Vm=100 #voltage in V\n", + "Rf=1*10**3 #resistance in series in ohm\n", + "Rl=4*10**3 #load resistance in ohm\n", + "\n", + "#Calculatiions\n", + "Im=Vm/(Rf+Rl)*10**3\n", + "Idc=Im/math.pi\n", + "Irms=Im/2\n", + "\n", + "#Result\n", + "print(\"(a)Maximum current Im is (A)= \",Im,\"mA\")\n", + "print(\"(b)dc component of current Idc is (A)= %0.2f*10**-3 A\" %Idc)\n", + "print(\"(c)rms value of current Irms (A)= \",Irms,\"mA\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example number 14.2, Page number 508" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "(a)Maximum current Im= 0.133 A\n", + "\n", + "(b)dc component of current Idc= 0.0849 A\n", + "\n", + "(c)rms value of current Irms= 0.094 A\n", + "\n", + "(d)Ripple Factor Y= 0.483\n" + ] + } + ], + "source": [ + "#importing modules\n", + "import math\n", + "from __future__ import division\n", + "\n", + "#Variable declaration\n", + "Vm=200 #voltage in V\n", + "Rf=500 #resistance in series in ohm\n", + "Rl=1000 #load resistance in ohm\n", + "\n", + "#Calculatiions\n", + "Im=Vm/(Rf+Rl) \n", + "Idc=(2*Im)/math.pi\n", + "Irms=Im/math.sqrt(2)\n", + "Y=math.sqrt(((Irms/Idc)**2)-1)\n", + "\n", + "#Result\n", + "print(\"(a)Maximum current Im= %0.3f A\\n\" %Im)\n", + "print(\"(b)dc component of current Idc= %1.4f A\\n\" %Idc)\n", + "print(\"(c)rms value of current Irms= %1.3f A\\n\" %Irms)\n", + "print(\"(d)Ripple Factor Y= %1.3f\" %Y) #The answers vary due to round off error" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example number 14.3, Page number 509" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Ripple factor Y= 0.00056\n" + ] + } + ], + "source": [ + "#importing modules\n", + "import math\n", + "from __future__ import division\n", + "\n", + "#Variable declaration\n", + "RL=500 #load resistance in ohm\n", + "C1=100*10**-6 #capacitance in F\n", + "C2=50*10**-6 #capacitance in F\n", + "L=5 #in H\n", + "f=50 #frequency in Hz\n", + "\n", + "#Calculatiions\n", + "Y=0.216/(RL*C1*C2*L*(2*math.pi*f)**3)\n", + "\n", + "#Result\n", + "print(\"Ripple factor Y= %0.5f\" %Y) #The answers vary due to round off error" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example number 14.4, Page number 517" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Minimum Power Rating p= 37.3 W\n" + ] + } + ], + "source": [ + "#importing modules\n", + "import math\n", + "from __future__ import division\n", + "\n", + "#Variable declaration\n", + "\n", + "Iz_min=1492.5*10**-3 #Zener diode current in Ampere\n", + "Vz=25 #Zener diode voltage in Volt\n", + "\n", + "#Calculatiions\n", + "Pmin=Vz*Iz_min\n", + "\n", + "#Result\n", + "print(\"Minimum Power Rating p= %2.1f W\" %Pmin)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [] + } + ], + "metadata": { + "anaconda-cloud": {}, + "kernelspec": { + "display_name": "Python [Root]", + "language": "python", + "name": "Python [Root]" + }, + "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.5.2" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} diff --git a/Solid_State_Electronic_Devices_by_D.K_Bhattacharya_,_Rajnish_Sharma/screenshots/Chapter10.png b/Solid_State_Electronic_Devices_by_D.K_Bhattacharya_,_Rajnish_Sharma/screenshots/Chapter10.png Binary files differnew file mode 100644 index 00000000..3da40d4f --- /dev/null +++ b/Solid_State_Electronic_Devices_by_D.K_Bhattacharya_,_Rajnish_Sharma/screenshots/Chapter10.png diff --git a/Solid_State_Electronic_Devices_by_D.K_Bhattacharya_,_Rajnish_Sharma/screenshots/Chapter1_1.png b/Solid_State_Electronic_Devices_by_D.K_Bhattacharya_,_Rajnish_Sharma/screenshots/Chapter1_1.png Binary files differnew file mode 100644 index 00000000..3b8779fb --- /dev/null +++ b/Solid_State_Electronic_Devices_by_D.K_Bhattacharya_,_Rajnish_Sharma/screenshots/Chapter1_1.png diff --git a/Solid_State_Electronic_Devices_by_D.K_Bhattacharya_,_Rajnish_Sharma/screenshots/Chapter5.png b/Solid_State_Electronic_Devices_by_D.K_Bhattacharya_,_Rajnish_Sharma/screenshots/Chapter5.png Binary files differnew file mode 100644 index 00000000..6a230a12 --- /dev/null +++ b/Solid_State_Electronic_Devices_by_D.K_Bhattacharya_,_Rajnish_Sharma/screenshots/Chapter5.png diff --git a/f_by_134/1_An_overview_of_C++.ipynb b/f_by_134/1_An_overview_of_C++.ipynb new file mode 100644 index 00000000..ecf52ddd --- /dev/null +++ b/f_by_134/1_An_overview_of_C++.ipynb @@ -0,0 +1,254 @@ +{ + "metadata": { + "name": "1 An overview of C++" + }, + "nbformat": 3, + "nbformat_minor": 0, + "worksheets": [ + { + "cells": [ + { + "cell_type": "code", + "collapsed": false, + "input": "#Ex 1 , Page Number: 14#\\n#This program outputs a string, two integer values, and a double floating-point value. #\ni=10\nj=20\nd=99.101\nprint ('Here are some values : %d %d %2.3f'%(i,j,d))\n ", + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": "Here are some values : 10 20 99.101\n" + } + ], + "prompt_number": 1 + }, + { + "cell_type": "code", + "collapsed": false, + "input": "#Ex 3 , Page Number: 16#\n\n#Variable declaration\ni=100\n\n#Result\nprint('Enter a value: 100')\nprint 'Here\\'s your number: ',i\n\n", + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": "Enter a value: 100\nHere's your number: 100\n" + } + ], + "prompt_number": 2 + }, + { + "cell_type": "code", + "collapsed": false, + "input": "#Ex 4 , Page Number 16#\n\n#Variable declaration\ni=10\nf=100.12\ns='Hello World'\n\n#Result\nprint 'Enter an integer,float and string: ',i,f,s\nprint 'Here\\'s your data: ',i,f,s \n ", + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": " Enter an integer,float and string: 10 100.12 Hello World\nHere's your data: 10 100.12 Hello World\n" + } + ], + "prompt_number": 2 + }, + { + "cell_type": "code", + "collapsed": false, + "input": "#Ex 5 , Page Number 17#\n\n#Variable declaration\nch='X'\n\n#Result\nprint 'Enter keys,X to stop.'\n\n#while loop\nwhile ch!='X':\n if(ch!='X'): \n print ': ',ch\n else:\n break", + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": "Enter keys,X to stop.\n" + } + ], + "prompt_number": 4 + }, + { + "cell_type": "code", + "collapsed": false, + "input": "#Ex 1 , Page Number 19#\n\n#Variable declaration\na=199\n\nprint 'Enter number to be tested: ',a\n#if loop\nif a % 2 == 0:\n#Result\n print 'Number is even'\nelse:\n print 'Number is odd'\n", + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": "Enter number to be tested: 199\nNumber is odd\n" + } + ], + "prompt_number": 5 + }, + { + "cell_type": "code", + "collapsed": false, + "input": "#Ex 3 ,Page Number 25#\n\n#class declaration\nclass Myclass():\n def __init__(self,c,d):\n self.a = c\n self.b = d\nobj = Myclass(10,99)\nobj.a,obj.b\n\n#Result\nprint obj.a\nprint obj.b", + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": "10\n99\n" + } + ], + "prompt_number": 6 + }, + { + "cell_type": "code", + "collapsed": false, + "input": "#Ex 2 , Page Number 30#\n\n#DefiningFunction\ndef sum(a,b):\n return a+b\na=10\nb=40\n\n#Result\nprint 'Enter two numbers: ',a,b\nprint 'Sum is: ',sum(a,b)", + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": "Enter two numbers: 10 40\nSum is: 50\n" + } + ], + "prompt_number": 7 + }, + { + "cell_type": "code", + "collapsed": false, + "input": "#Ex 3 , Page Number 31#\n\n#Variable declaration\ni=5\nprint 'Enter number: ',i\nfact=1\nfor j in range(i):\n fact = fact * (j+1)\n \n#Result\nprint 'Factorial is ',fact\n", + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": "Enter number: 5\nFactorial is 120\n" + } + ], + "prompt_number": 8 + }, + { + "cell_type": "code", + "collapsed": false, + "input": "#Ex 4 ,Page Number 32#\n\noutcome = 'false'\n\n#if loop\nif(outcome):\n print 'true'\nelse:\n print 'false'", + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": "true\n" + } + ], + "prompt_number": 9 + }, + { + "cell_type": "code", + "collapsed": false, + "input": "#Ex 2 ,Page Number 36#\n\n#Defining function\ndef get_date(day=None, month=None, year=None, as_string=None):\n\tif as_string:\n\t\tprint 'Date:', as_string\n\telse:\n\t\tif not (day and month and year):\n\t\t\traise Exception(\"Invalid Date arguments\")\n\t\tprint \"Date : %d/%d/%d\" % (month, day, year)\n\n\nif __name__ == '__main__':\n\tget_date(as_string=\"3/12/2013\")\n\tget_date(day=12, month=3, year=2013)\n", + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": "Date: 3/12/2013\nDate : 3/12/2013\n" + } + ], + "prompt_number": 10 + }, + { + "cell_type": "code", + "collapsed": false, + "input": "#Exercise 1.3 Q3 , Page Number 18#\n\n#Variable declaration\na=4\nb=8\nd=2\nprint 'Enter two numbers: ',a,b\nif a>b:\n min=b\nelse:\n min=a\nfor d in range(d,min):\n if a % d == 0 and b % d == 0: \n break\nif d == min:\n print 'No common denominators ' \nelse:\n print 'The lowest common denominator is ',d\n", + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": "Enter two numbers: 4 8\nThe lowest common denominator is 2\n" + } + ], + "prompt_number": 11 + }, + { + "cell_type": "code", + "collapsed": false, + "input": "#Ex 1 , Page Number 34#\n\nprint 'Absolute value of -10: ',abs(-10)\nprint 'Absolute value of -10L: ',abs(-10L)\nprint 'Absolute value of -10.01: ',abs(-10.01)\n\n#Defining function\ndef abs(n):\n print 'In integer abs() '\n \n\ndef abs(n):\n print 'In longs abs() '\n\ndef abs(n):\n print 'In double abs() '\n", + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": "Absolute value of -10: 10\nAbsolute value of -10L: 10\nAbsolute value of -10.01: 10.01\n" + } + ], + "prompt_number": 12 + }, + { + "cell_type": "code", + "collapsed": false, + "input": "#Excercise 1 , Page Number 18#\n\n#Variable declaration\nhours=3\nwage=2000\n\n#Result\nprint 'Enter hours worked: ',hours\n\nprint 'Enter wage per hour: ',wage\nprint 'Pay is: $',wage*hours", + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": "Enter hours worked: 3\nEnter wage per hour: 2000\nPay is: $ 6000\n" + } + ], + "prompt_number": 13 + }, + { + "cell_type": "code", + "collapsed": false, + "input": "#Exercise 2 , Page Number 18#\n\n#Variable declaration\nfeet = 5.0\n\n#If loop\nif(feet == 0.0):\n print 'Wrong inpt.'\nelse:\n print 'Enter feet :',feet\n #Result\n print feet*12,'inches'\n ", + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": "Enter feet : 5.0\n60.0 inches\n" + } + ], + "prompt_number": 14 + }, + { + "cell_type": "code", + "collapsed": false, + "input": "#Exercise 1.7 Q1 , Page Number 38#\n\nimport math\n\n#Result\nprint 'Square root of 90.34 is : ',math.sqrt(90.34)\nprint 'Square root of 90L is: ',math.sqrt(90L)\nprint 'Square root of 90 is: ',math.sqrt(90)\n\n#Defining functions\ndef sqrt(n):\n print 'computing integer root '\n \n\ndef sqrt(n):\n print 'computing long root '\n\ndef sqrt(n):\n print 'computing double root '", + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": "Square root of 90.34 is : 9.50473566176\nSquare root of 90L is: 9.48683298051\nSquare root of 90 is: 9.48683298051\n" + } + ], + "prompt_number": 15 + }, + { + "cell_type": "code", + "collapsed": false, + "input": "#Example 3 , Page Number 36#\n\n#Defining functions\ndef f1(a=None,b=None,c=None):\n if a:\n print 'In f1',(a)\n else:\n if not (b and c):\n raise Exception(\"Invalid arguments\")\n print 'In f1',(b,c)\nif __name__ == '__main__':\n\tf1(a=10)\n\tf1(b=10, c=20)", + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": "In f1 10\nIn f1 (10, 20)\n" + } + ], + "prompt_number": 16 + } + ], + "metadata": {} + } + ] +}
\ No newline at end of file diff --git a/f_by_134/screenshots/chapter14_eg3.png b/f_by_134/screenshots/chapter14_eg3.png Binary files differnew file mode 100644 index 00000000..237faedf --- /dev/null +++ b/f_by_134/screenshots/chapter14_eg3.png diff --git a/f_by_134/screenshots/chapter14_eg6.png b/f_by_134/screenshots/chapter14_eg6.png Binary files differnew file mode 100644 index 00000000..b0ea8878 --- /dev/null +++ b/f_by_134/screenshots/chapter14_eg6.png diff --git a/f_by_134/screenshots/chapter14_eg6_1.png b/f_by_134/screenshots/chapter14_eg6_1.png Binary files differnew file mode 100644 index 00000000..b0ea8878 --- /dev/null +++ b/f_by_134/screenshots/chapter14_eg6_1.png |