summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Basic_Electronics_by_Rakesh_Kumar_Garg,_Ashish_Dixit_&_Paban_Yadav/chapter1.ipynb1600
-rw-r--r--Basic_Electronics_by_Rakesh_Kumar_Garg,_Ashish_Dixit_&_Paban_Yadav/chapter2.ipynb1099
-rw-r--r--Basic_Electronics_by_Rakesh_Kumar_Garg,_Ashish_Dixit_&_Paban_Yadav/chapter3.ipynb827
-rw-r--r--Basic_Electronics_by_Rakesh_Kumar_Garg,_Ashish_Dixit_&_Paban_Yadav/chapter4.ipynb1419
-rw-r--r--Basic_Electronics_by_Rakesh_Kumar_Garg,_Ashish_Dixit_&_Paban_Yadav/chapter5.ipynb1388
-rw-r--r--Basic_Electronics_by_Rakesh_Kumar_Garg,_Ashish_Dixit_&_Paban_Yadav/chapter6.ipynb1225
-rw-r--r--Basic_Electronics_by_Rakesh_Kumar_Garg,_Ashish_Dixit_&_Paban_Yadav/chapter7.ipynb915
-rw-r--r--Basic_Electronics_by_Rakesh_Kumar_Garg,_Ashish_Dixit_&_Paban_Yadav/chapter8.ipynb238
-rw-r--r--Basic_Electronics_by_Rakesh_Kumar_Garg,_Ashish_Dixit_&_Paban_Yadav/screenshots/DCLOADLINEchapter4.pngbin0 -> 22739 bytes
-rw-r--r--Basic_Electronics_by_Rakesh_Kumar_Garg,_Ashish_Dixit_&_Paban_Yadav/screenshots/DCLOADLineCH4.pngbin0 -> 16088 bytes
-rw-r--r--Basic_Electronics_by_Rakesh_Kumar_Garg,_Ashish_Dixit_&_Paban_Yadav/screenshots/TransferCharofnchmosfetCH8.pngbin0 -> 22730 bytes
-rw-r--r--Engineering_Mechanics_by_A._K._Tayal/Chapter10.ipynb333
-rw-r--r--Engineering_Mechanics_by_A._K._Tayal/Chapter12.ipynb355
-rw-r--r--Engineering_Mechanics_by_A._K._Tayal/Chapter13.ipynb116
-rw-r--r--Engineering_Mechanics_by_A._K._Tayal/Chapter14.ipynb887
-rw-r--r--Engineering_Mechanics_by_A._K._Tayal/Chapter15.ipynb678
-rw-r--r--Engineering_Mechanics_by_A._K._Tayal/Chapter16.ipynb406
-rw-r--r--Engineering_Mechanics_by_A._K._Tayal/Chapter17.ipynb298
-rw-r--r--Engineering_Mechanics_by_A._K._Tayal/Chapter18.ipynb532
-rw-r--r--Engineering_Mechanics_by_A._K._Tayal/Chapter19.ipynb230
-rw-r--r--Engineering_Mechanics_by_A._K._Tayal/Chapter2.ipynb677
-rw-r--r--Engineering_Mechanics_by_A._K._Tayal/Chapter20.ipynb448
-rw-r--r--Engineering_Mechanics_by_A._K._Tayal/Chapter21.ipynb552
-rw-r--r--Engineering_Mechanics_by_A._K._Tayal/Chapter22.ipynb241
-rw-r--r--Engineering_Mechanics_by_A._K._Tayal/Chapter23.ipynb73
-rw-r--r--Engineering_Mechanics_by_A._K._Tayal/Chapter24.ipynb290
-rw-r--r--Engineering_Mechanics_by_A._K._Tayal/Chapter25.ipynb198
-rw-r--r--Engineering_Mechanics_by_A._K._Tayal/Chapter26.ipynb813
-rw-r--r--Engineering_Mechanics_by_A._K._Tayal/Chapter3.ipynb582
-rw-r--r--Engineering_Mechanics_by_A._K._Tayal/Chapter4.ipynb133
-rw-r--r--Engineering_Mechanics_by_A._K._Tayal/Chapter5.ipynb279
-rw-r--r--Engineering_Mechanics_by_A._K._Tayal/Chapter6.ipynb252
-rw-r--r--Engineering_Mechanics_by_A._K._Tayal/Chapter7.ipynb465
-rw-r--r--Engineering_Mechanics_by_A._K._Tayal/Chapter8.ipynb282
-rw-r--r--Engineering_Mechanics_by_A._K._Tayal/Chapter9.ipynb564
-rw-r--r--Engineering_Mechanics_by_A._K._Tayal/screenshots/1.pngbin0 -> 194029 bytes
-rw-r--r--Engineering_Mechanics_by_A._K._Tayal/screenshots/2.pngbin0 -> 134808 bytes
-rw-r--r--Engineering_Mechanics_by_A._K._Tayal/screenshots/3.pngbin0 -> 163010 bytes
-rw-r--r--Semiconductor_circuit_approximations_by_A.P._Malvino/ch10.ipynb395
-rw-r--r--Semiconductor_circuit_approximations_by_A.P._Malvino/ch11.ipynb170
-rw-r--r--Semiconductor_circuit_approximations_by_A.P._Malvino/ch12.ipynb191
-rw-r--r--Semiconductor_circuit_approximations_by_A.P._Malvino/ch14.ipynb165
-rw-r--r--Semiconductor_circuit_approximations_by_A.P._Malvino/ch16.ipynb296
-rw-r--r--Semiconductor_circuit_approximations_by_A.P._Malvino/ch2.ipynb269
-rw-r--r--Semiconductor_circuit_approximations_by_A.P._Malvino/ch3.ipynb636
-rw-r--r--Semiconductor_circuit_approximations_by_A.P._Malvino/ch4.ipynb277
-rw-r--r--Semiconductor_circuit_approximations_by_A.P._Malvino/ch5.ipynb533
-rw-r--r--Semiconductor_circuit_approximations_by_A.P._Malvino/ch6.ipynb463
-rw-r--r--Semiconductor_circuit_approximations_by_A.P._Malvino/ch7.ipynb441
-rw-r--r--Semiconductor_circuit_approximations_by_A.P._Malvino/ch8.ipynb197
-rw-r--r--Semiconductor_circuit_approximations_by_A.P._Malvino/ch9.ipynb564
-rw-r--r--Semiconductor_circuit_approximations_by_A.P._Malvino/screenshots/ACloadLineChapter10.pngbin0 -> 17628 bytes
-rw-r--r--Semiconductor_circuit_approximations_by_A.P._Malvino/screenshots/DCandACloadlinechapter9.pngbin0 -> 28774 bytes
-rw-r--r--Semiconductor_circuit_approximations_by_A.P._Malvino/screenshots/Powerratingchapter9.pngbin0 -> 30901 bytes
54 files changed, 22992 insertions, 0 deletions
diff --git a/Basic_Electronics_by_Rakesh_Kumar_Garg,_Ashish_Dixit_&_Paban_Yadav/chapter1.ipynb b/Basic_Electronics_by_Rakesh_Kumar_Garg,_Ashish_Dixit_&_Paban_Yadav/chapter1.ipynb
new file mode 100644
index 00000000..0d151d06
--- /dev/null
+++ b/Basic_Electronics_by_Rakesh_Kumar_Garg,_Ashish_Dixit_&_Paban_Yadav/chapter1.ipynb
@@ -0,0 +1,1600 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Chapter 1 - Semiconductor Material & Junction Diode"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exa 1.1 Page No 51"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The electron drift velocity = 40.00 m/s\n",
+ "The time required for an electron to move across the thickness = 12.50 micro seconds\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Given data\n",
+ "miu = 0.2# m**2/V-s\n",
+ "V = 100# mV\n",
+ "V = V * 10**-3# V\n",
+ "d = 0.5# mm\n",
+ "d = d * 10**-3# m\n",
+ "# mobility, miu = Vd/E and\n",
+ "E = V/d\n",
+ "# Drift velocity,\n",
+ "Vd = miu*E# m/s\n",
+ "print \"The electron drift velocity = %.2f m/s\"%Vd\n",
+ "# Time required,\n",
+ "T = d/Vd# sec\n",
+ "T=T*10**6# µs\n",
+ "print \"The time required for an electron to move across the thickness = %.2f micro seconds\"%T"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exa 1.2 Page No 52"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The intrinsic conductivity = 2.24 (ohm-m)**-1\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Given data\n",
+ "q = 1.6*10**-19# C\n",
+ "n_i = 2.5*10**19# /m**3\n",
+ "miu_n = 0.38# m**2/V-s\n",
+ "miu_p = 0.18# m**2/V-s\n",
+ "# The intrinsic conductivity for germanium,\n",
+ "sigma_i = q*n_i*(miu_n+miu_p)# (ohm-m)**-1\n",
+ "print \"The intrinsic conductivity = %.2f (ohm-m)**-1\"%sigma_i"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exa 1.3 Page No 52"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The intrinsic carrier concentration = 2.16e+19 per m**3\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Given data\n",
+ "rho = 0.50# ohm-m\n",
+ "q = 1.6*10**-19# C\n",
+ "miu_n = 0.39# m**2/V-s\n",
+ "miu_p = 0.19# m**2/V-s\n",
+ "sigma = 1/rho# (ohm-m)**-1\n",
+ "#conductivity of a semiconductor, sigma = q*n_i*(miu_p+miu_n) or\n",
+ "n_i = sigma/(q*(miu_n+miu_p))# /m**3\n",
+ "print \"The intrinsic carrier concentration = %.2e per m**3\"%n_i"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exa 1.4 Page No 52"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 4,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The conductivity of Si sample = 14.40 (ohm-m)**-1\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Given data\n",
+ "N_D = 10**21# /m**3\n",
+ "N_A = 5*10**20# /m**3\n",
+ "NdasD = N_D-N_A# /m**3\n",
+ "n = NdasD# /m**3\n",
+ "miu_n = 0.18# m**2/V-s\n",
+ "q = 1.6*10**-19# C\n",
+ "# The conductivity of silicon,\n",
+ "sigma = q*n*miu_n# (ohm-m)**-1\n",
+ "print \"The conductivity of Si sample = %.2f (ohm-m)**-1\"%sigma"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exa 1.5 Page No 53"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 5,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The conductivity of copper = 4.79e+05 mho/cm\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Given data\n",
+ "At = 63.54## atomic weight of copper\n",
+ "d = 8.9## density = %.2f gm/cm**3\n",
+ "n = 6.023*10**23/At*d# electron/cm**3\n",
+ "q = 1.63*10**-19# C\n",
+ "miu = 34.8# m**2/V-s\n",
+ "# The conductivity of copper,\n",
+ "sigma = n*q*miu# mho/cm\n",
+ "print \"The conductivity of copper = %.2e mho/cm\"%sigma"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exa 1.6 Page No 53"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 6,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Concentration of holes in a p-type Ge = 3.47e+17 /cm**3\n",
+ "The concentration of electrons in a p-type Ge = 1.80e+09 /cm**3\n",
+ "The concentration of electrons in n-type Si = 4.81e+14 /cm**3\n",
+ "The concentration of holes in n-type Si = 4.68e+05 /cm**3\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Given data\n",
+ "sigma = 100# (ohm-m)**-1\n",
+ "n_i = 2.5*10**13# /cm**3\n",
+ "miu_n = 3800# cm**2/V-s\n",
+ "miu_p = 1800# cm**2/V-s\n",
+ "q = 1.6*10**-19# C\n",
+ "# Conductivity of a p-type germanium, sigma = q*p*miu_p or\n",
+ "p = sigma/(q*miu_p)# /cm**3\n",
+ "print \"Concentration of holes in a p-type Ge = %.2e /cm**3\"%p\n",
+ "# The concentration of electrons = %.2f a p-type Ge\n",
+ "n = (n_i**2)/p# /cm**3\n",
+ "print \"The concentration of electrons in a p-type Ge = %.2e /cm**3\"%n\n",
+ "#Given for Si\n",
+ "sigma= 0.1# (ohm m)**-1\n",
+ "miu_n= 1300# cm**2/V-sec\n",
+ "n_i= 1.5*10**10# /cm**3\n",
+ "#sigma = q*n*miu_n\n",
+ "n = sigma/(q*miu_n)# /cm**3\n",
+ "print \"The concentration of electrons in n-type Si = %.2e /cm**3\"%n\n",
+ "# The concentration of holes = %.2f n-type Si\n",
+ "p = (n_i**2)/n# /cm**3\n",
+ "print \"The concentration of holes in n-type Si = %.2e /cm**3\"%p"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exa 1.7 Page No 54"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 7,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The resistivity of a dopped Ge = 3.72 ohm-cm\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Given data\n",
+ "miu_n = 3800## cm**2/V-s\n",
+ "miu_p = 1800## cm**2/V-s\n",
+ "n_i = 2.5*10**13# /cm**3\n",
+ "Nge = 4.41*10**22# /cm**3\n",
+ "q = 1.602*10**-19# C\n",
+ "impurity = 10**8\n",
+ "# The number of donor atoms,\n",
+ "N_D = Nge/impurity##in /cm**3\n",
+ "# The number of holes\n",
+ "p = (n_i**2)/N_D# /cm**3\n",
+ "# Conductivity of an N-type Ge,\n",
+ "sigma = q*N_D*miu_n# (ohm-cm)**-1\n",
+ "# The resistivity of the Ge\n",
+ "rho = 1/sigma# ohm-cm\n",
+ "print \"The resistivity of a dopped Ge = %.2f ohm-cm\"% rho"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exa 1.8 Page No 54"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 8,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The resistivity of intrinsic silicon = 2.25e+05 ohm-cm\n",
+ "The resistivity of doped silicon = 4.67 ohm-cm\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Given data\n",
+ "Nsi = 4.96*10**22# /cm**3\n",
+ "n_i = 1.52*10**10# /cm**2\n",
+ "q = 1.6*10**-19# C\n",
+ "miu_n = 0.135# m**2/V-s\n",
+ "miu_n = miu_n * 10**4# cm**2/V-s\n",
+ "miu_p = 0.048# m**2/V-s\n",
+ "miu_p = miu_p * 10**4# cm**2/V-s\n",
+ "# The conductivity of an intrinsic silicon,\n",
+ "sigma = q*n_i*(miu_n+miu_p)# (ohm-cm)**-1\n",
+ "# The resistivity of intrinsic silicon \n",
+ "rho = 1/sigma# ohm-cm\n",
+ "print \"The resistivity of intrinsic silicon = %.2e ohm-cm\"%rho\n",
+ "\n",
+ "impurity = 50*10**6\n",
+ "# The number of donor atoms,\n",
+ "N_D = Nsi/impurity# /cm**3\n",
+ "# Total free electrons,\n",
+ "n = N_D# /cm**3\n",
+ "# Total holes = %.2f a doped Si,\n",
+ "p = (n_i**2)/n# /cm**3\n",
+ "# Conductivity of a doped Si,\n",
+ "sigma = q*n*miu_n# (ohm-m)**-1\n",
+ "# The resistivity of doped silicon\n",
+ "rho = 1/sigma# ohm-cm\n",
+ "print \"The resistivity of doped silicon = %.2f ohm-cm\"%rho"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exa 1.9 Page No 55"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 9,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The value of temperature = 0.14 K\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Given data\n",
+ "N_D= 5.0*10**28/(2.0*10**8)\n",
+ "# The Fermi level, E_F= E_C if,\n",
+ "N_C= N_D\n",
+ "# Formula N_C= 4.82*10**21*T**(3/2)\n",
+ "T= (N_C/(4.82*10**21.0))**(2.0/3)# K\n",
+ "print \"The value of temperature = %.2f K\"%T"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exa 1.10 Page No 55"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 10,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The miniority carrier concentration = 0.10 m**2/V-s\n",
+ "The resistivity = 0.60 ohm-m\n",
+ "The position of Fermi level = 0.23 eV\n",
+ "Minority carrier concentration = 9.00e+12 atoms/cm**3\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "# Given data\n",
+ "n_i = 1.5*10**16##m**3\n",
+ "impurity = 10**20\n",
+ "minority = (n_i**2)/impurity# atoms/m**3\n",
+ "q = 1.6*10**-19# C\n",
+ "rho = 2*10**3# ohm-m\n",
+ "# The miniority carrier concentration \n",
+ "miu_n = 1/(q*rho*n_i*2)##in m**2/V-s\n",
+ "print \"The miniority carrier concentration = %.2f m**2/V-s\"%miu_n\n",
+ "n = impurity\n",
+ "# The conductivity,\n",
+ "sigma = q*impurity*miu_n# (ohm-m)**-1\n",
+ "# The resistivity \n",
+ "rho = 1/sigma# ohm-m\n",
+ "print \"The resistivity = %.2f ohm-m\"%rho\n",
+ "kT = 0.026# eV\n",
+ "n_o = n\n",
+ "# The position of Fermi level \n",
+ "E_FdividedEi = kT*math.log(n_o/n_i)# eV\n",
+ "print \"The position of Fermi level = %.2f eV\"%E_FdividedEi\n",
+ "# Minority carrier concentration \n",
+ "M = ((n_i*2)**2)/n_o# atoms/cm**3\n",
+ "print \"Minority carrier concentration = %.2e atoms/cm**3\"%M"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exa 1.11 Page No 56"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 41,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The resistivity = 9.62 ohm-cm\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Given data\n",
+ "d = 5.0*10**22# atoms/cm**3\n",
+ "impurity = 10**8# atoms\n",
+ "N_D = d/impurity\n",
+ "n_i = 1.45*10**10\n",
+ "n = N_D\n",
+ "#Low of mass action, n*p = (n_i**2)\n",
+ "p = (n_i**2)/n# /cm**3\n",
+ "q = 1.6*10**-19# C\n",
+ "miu_n = 1300# cm/V-s\n",
+ "n_i = n\n",
+ "#The Conductivity\n",
+ "sigma = q*miu_n*n_i# (ohm-cm)**-1\n",
+ "# The resistivity\n",
+ "rho = 1/sigma# ohm-cm\n",
+ "print \"The resistivity = %.2f ohm-cm\"%rho"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exa 1.12 Page No 57"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 11,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The resistivity = 9.62 ohm-cm\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Given data\n",
+ "d = 5.0*10**22# atoms/cm**3\n",
+ "impurity = 10**8# atoms\n",
+ "N_D = d/impurity\n",
+ "n_i = 1.45*10**10\n",
+ "n = N_D\n",
+ "#Low of mass action, n*p = (n_i**2)\n",
+ "p = (n_i**2)/n# /cm**3\n",
+ "q = 1.6*10**-19# C\n",
+ "miu_n = 1300# cm/V-s\n",
+ "n_i = n\n",
+ "#The Conductivity\n",
+ "sigma = q*miu_n*n_i# (ohm-cm)**-1\n",
+ "# The resistivity\n",
+ "rho = 1/sigma# ohm-cm\n",
+ "print \"The resistivity = %.2f ohm-cm\"%rho"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exa 1.14 Page No 58"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 40,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The minority carrier concentration = 2.25e+03 holes/cm**3\n",
+ "The location of Fermi level = 0.409 eV\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "# Given data\n",
+ "n_i = 1.5*10**10# electrons/cm**3\n",
+ "N_D = 10**17# electrons/cm**3\n",
+ "n = N_D# electrons/cm**3\n",
+ "# The minority carrier concentration\n",
+ "p = (n_i**2)/n# holes/cm**3\n",
+ "print \"The minority carrier concentration = %.2e holes/cm**3\"%p\n",
+ "kT = 0.026\n",
+ "# The location of Fermi level \n",
+ "E_FminusEi = kT*math.log(N_D/n_i)# eV\n",
+ "print \"The location of Fermi level = %.3f eV\"%E_FminusEi"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exa 1.15 Page No 59"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 13,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The doping level = 1.92e+15 /cm**3\n",
+ "The drift velocity = 650.00 cm/sec\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Given data\n",
+ "V = 1# V\n",
+ "I = 8# mA\n",
+ "I = I * 10**-3# A\n",
+ "R = V/I# ohm\n",
+ "l = 2# mm\n",
+ "l = l * 10**-1# cm\n",
+ "b = 2# mm\n",
+ "b = b * 10**-1# cm\n",
+ "A = l*b# cm**2\n",
+ "L = 2# cm\n",
+ "# R = (rho*L)/A\n",
+ "sigma = L/(R*A)# (ohm-cm)**-1\n",
+ "# n = N_D\n",
+ "miu_n = 1300# cm**2/V-s\n",
+ "q = 1.6 * 10**-19# C\n",
+ "# sigma = n*q*miu_n\n",
+ "N_D = sigma/( miu_n*q )# /cm**3\n",
+ "print \"The doping level = %.2e /cm**3\"%N_D\n",
+ "d = 2.0\n",
+ "E = V/d\n",
+ "# The drift velocity \n",
+ "Vd = miu_n * E# cm/s\n",
+ "print \"The drift velocity = %.2f cm/sec\"%Vd"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exa 1.17 Page No 60"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 14,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The conductivity = 4.68e+05 mho/m\n",
+ "The mobility = 3.48e-05 m**2/V-s\n",
+ "The drift velocity = 1.79e-04 m/s\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "# Given data\n",
+ "l = 1000# ft\n",
+ "l = l * 12*2.54# cm\n",
+ "R = 6.51# ohm\n",
+ "rho = R/l# ohm/cm\n",
+ "# The conductivity \n",
+ "sigma = 1/rho# mho/cm\n",
+ "sigma = sigma * 10**2# mho/m\n",
+ "D= 1.03*10**-3# m\n",
+ "A= math.pi*D**2/4# m**2\n",
+ "print \"The conductivity = %.2e mho/m\"%sigma\n",
+ "q = 1.6*10**-19# C\n",
+ "n = 8.4*10**28# electrons/m**3\n",
+ "# sigma = n*q*miu\n",
+ "miu = sigma/(n*q)# m**2/V-s\n",
+ "print \"The mobility = %.2e m**2/V-s\"%miu\n",
+ "T = 2\n",
+ "# The drift velocity \n",
+ "V = T/(n*q*A)# m/s\n",
+ "print \"The drift velocity = %.2e m/s\"%V"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exa 1.18 Page No 61"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 15,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The concentration of holes = 1.50e+16 /cm**3\n",
+ "The concentartion of electrons = 6.67e+07 /cm**3\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Given data\n",
+ "N_D = 2*10**16# /cm**3\n",
+ "N_A = 5*10**15# /cm**3\n",
+ "# The concentration of holes \n",
+ "Pp = N_D-N_A# /cm**3\n",
+ "print \"The concentration of holes = %.2e /cm**3\"%Pp\n",
+ "n_i = 10**12\n",
+ "# The concentartion of electrons \n",
+ "n_p = (n_i**2)/Pp# /cm**3\n",
+ "print \"The concentartion of electrons = %.2e /cm**3\"%n_p"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exa 1.19 Page No 62"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 16,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The hall angle = 1.95 degree\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "# Given data\n",
+ "rho = 0.005# ohm-m\n",
+ "Bz = 0.48# Wb/m**2\n",
+ "R_H = 3.55*10**-4# m**3/C\n",
+ "ExByJx= rho\n",
+ "# R_H = Ey/(Bz*Jx)\n",
+ "EyByJx= R_H*Bz\n",
+ "# The hall angle \n",
+ "theta_H = math.degrees(math.atan(EyByJx/ExByJx))# °\n",
+ "print \"The hall angle = %.2f degree\"%theta_H"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exa 1.20 Page No 63"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 17,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The voltage between contacts = 0.0026 V\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Given data\n",
+ "R_H = 3.55 * 10**-4# m**3/C\n",
+ "Ix = 15# mA\n",
+ "Ix = Ix * 10**-3# A\n",
+ "A = 15*1# mm\n",
+ "A = A * 10**-6# m**2\n",
+ "Bz = 0.48# Wb/m**2\n",
+ "Jx = Ix/A# A/m**2\n",
+ "# R_H = Ey/(Bz*Jx)\n",
+ "Ey = R_H*Bz*Jx# V/m\n",
+ "# voltage between contacts \n",
+ "Voltage = Ey*Ix# V\n",
+ "print \"The voltage between contacts = %.4f V\"%Voltage"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exa 1.21 Page No 63"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 18,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The concentration of donor atoms = 4.630e+13 cm**-3\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Given data\n",
+ "A = 0.001# cm**2\n",
+ "l = 20# µm\n",
+ "l = l * 10**-4# cm\n",
+ "V = 20# V\n",
+ "I = 100# mA\n",
+ "I = I * 10**-3# A\n",
+ "R = V/I# ohm\n",
+ "# R = l/(sigma*A)\n",
+ "sigma = l/(R*A)# (ohm-cm)**-1\n",
+ "miu_n = 1350# cm**2/V-s\n",
+ "q = 1.6*10**-19# C\n",
+ "# sigma = n*q*miu_n or\n",
+ "# The concentration of donor atoms \n",
+ "n = sigma/(q*miu_n)# cm**-3\n",
+ "print \"The concentration of donor atoms = %.3e cm**-3\"%n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exa 1.22 Page No 64"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 19,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The doping needed = 8.681e+15 cm**-3\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Given data\n",
+ "R = 2# k ohm\n",
+ "R = R * 10**3# ohm\n",
+ "L = 200# µm\n",
+ "L = L * 10**-4# cm\n",
+ "A = 10**-6# cm**2\n",
+ "miu_n = 8000# cm**2/V-s\n",
+ "q = 1.6*10**-19# C\n",
+ "n = '0.9*N_D'\n",
+ "# R = (rho*l)/A= (1/(n*q*miu_n))*(l/A)\n",
+ "# rho = L/(R*q*miu_n*A)\n",
+ "n = L/(R*q*miu_n*A)# /cm**-3\n",
+ "# The doping needed \n",
+ "Nd= n/0.9\n",
+ "print \"The doping needed = %.3e cm**-3\"%Nd"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exa 1.23 Page No 65"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 20,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The position of the Fermi level = 0.29 eV\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "# Given data\n",
+ "KT = 26*10**-3\n",
+ "Nd = 10**15\n",
+ "n_i = 1.5*10**10\n",
+ "# The position of the Fermi level \n",
+ "E_FminusE_Fi = KT*math.log(abs( Nd/n_i ))# eV\n",
+ "print \"The position of the Fermi level = %.2f eV\"%E_FminusE_Fi"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exa 1.24 Page No 65"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 21,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The concentration of donors atoms = 1.2176e+16 cm**-3\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "# Given data\n",
+ "Na = 5 * 10**15# cm**-3\n",
+ "Nc = 2.8 * 10**19# cm**-3\n",
+ "E_CminusE_F = 0.215# eV\n",
+ "KT = 26* 10**-3# eV\n",
+ "# The concentration of donors atoms \n",
+ "Nd = Na + Nc * (math.exp( -E_CminusE_F/KT ))# cm**-3\n",
+ "print \"The concentration of donors atoms = %.4e cm**-3\"%Nd"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exa 1.25 Page No 65"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 22,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The percentage doping efficiency = 78.12 %\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Given data\n",
+ "Nd = 10**18\n",
+ "R = 10# ohm\n",
+ "A =10**-6# cm**2\n",
+ "L = 10# mm\n",
+ "L = L * 10**-4# cm\n",
+ "miu_n = 800# cm**2/V-s\n",
+ "q = 1.6*10**-19# C\n",
+ "#Formula used, n = L/(q*miu_n*A*R)\n",
+ "n = L/(q*miu_n*A*R)# cm**-3\n",
+ "# The percentage doping efficiency \n",
+ "doping = (n/Nd)*100## % doping efficiency in %\n",
+ "print \"The percentage doping efficiency = %.2f %%\"%doping"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exa 1.26 Page No 66"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 23,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The current through the diode under forward bias = 10.72 µA\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "# Given data\n",
+ "Io = 2*10**-7# A\n",
+ "V = 0.1# V\n",
+ "# Current through the diode under forward bias,\n",
+ "I = Io*( (math.exp(40*V))-1 )# A\n",
+ "I = I * 10**6# µA\n",
+ "print \"The current through the diode under forward bias = %.2f µA\"%I\n",
+ "\n",
+ "# Note: Calculated value of I in the book is wrong."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exa 1.28 Page No 67"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 24,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The dynamic resistance in forward direction = 3.36 ohm\n",
+ "The dynamic resistance in reverse direction = 0.39 Mohm\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "# Given data\n",
+ "T = 125.0# degree C\n",
+ "T = T + 273.0# K\n",
+ "V_T = T/11600.0\n",
+ "Io = 30# µA\n",
+ "Io = Io * 10**-6# A\n",
+ "V = 0.2# V\n",
+ "# The dynamic resistance = %.2f forward direction,\n",
+ "r_f = V_T/( Io * (math.exp(V/V_T)) )# ohm\n",
+ "print \"The dynamic resistance in forward direction = %.2f ohm\"%r_f\n",
+ "r_f = V_T/( Io * (math.exp(-V/V_T)) )# ohm\n",
+ "# The dynamic resistance = %.2f reverse direction \n",
+ "r_f = r_f * 10**-6# Mohm\n",
+ "print \"The dynamic resistance in reverse direction = %.2f Mohm\"%r_f"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exa 1.29 Page No 68"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 25,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The voltage = -59.87 mV\n",
+ "The ratio of diode current with a forward bias to current with a reverse bias = -6.842\n",
+ "The value of I1 = 458.13 µA\n",
+ "The value of I2 = 21.90 mA\n",
+ "The value of I3 = 1.03 A\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "# Given data\n",
+ "Eta = 1\n",
+ "V_T = 0.026\n",
+ "# I = Io*( (exp(V/(Eta*V_T))) - 1 ) and I = -Io\n",
+ "# I = -0.9*Io\n",
+ "# -0.9*Io = Io*( (exp(V/(Eta*V_T))) - 1 )\n",
+ "V = Eta*V_T*math.log(0.1)# V\n",
+ "V = V * 10**3# mV\n",
+ "print \"The voltage = %.2f mV\"%V\n",
+ "V = 0.05# V\n",
+ "# The ratio of diode current with a forward bias to current with a reverse bias \n",
+ "If_by_Ir= ( (math.exp(V/V_T))-1 )/( (math.exp(-V/V_T))-1 )\n",
+ "print \"The ratio of diode current with a forward bias to current with a reverse bias = %.3f\"%If_by_Ir\n",
+ "Io = 10# µA\n",
+ "V = 0.1# V\n",
+ "# The value of I1 \n",
+ "I1 = Io*( (math.exp(V/V_T))-1 )# µA\n",
+ "print \"The value of I1 = %.2f µA\"%I1\n",
+ "V = 0.2# V\n",
+ "# The value of I2\n",
+ "I2 = Io*( (math.exp(V/V_T))-1 )# µA \n",
+ "I2 = I2 * 10**-3# mA\n",
+ "print \"The value of I2 = %.2f mA\"%I2\n",
+ "V = 0.3# V\n",
+ "# The value of I3\n",
+ "I3 = Io*( (math.exp(V/V_T))-1 )# µA\n",
+ "I3 = I3 * 10**-6# A\n",
+ "print \"The value of I3 = %.2f A\"%I3"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exa 1.30 Page No 69"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 26,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The factor by which current will get multiplied = 638.025\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "# Given data\n",
+ "# Io150 = Io25 * 2**((150-25)/10)\n",
+ "#Io150 = 5800*Io25\n",
+ "T = 150# degree C\n",
+ "T = T + 273# K\n",
+ "V_T = 8.62*10**-5 * T# V\n",
+ "V = 0.4# V\n",
+ "Eta = 2\n",
+ "Vt = 0.026# V \n",
+ "# The factor by which current will get multiplied \n",
+ "I150byI25= 5800*math.exp(V/(Eta*V_T))/math.exp(V/(Eta*Vt))\n",
+ "print \"The factor by which current will get multiplied = %.3f\"%I150byI25"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exa 1.31 Page No 69"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 27,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The operating point of the diode is : (0.50V,4.50mA)\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Given data\n",
+ "R = 1# ohm\n",
+ "V = 5# V\n",
+ "V1 = 0.5# V\n",
+ "R1 = 1# k ohm\n",
+ "R1 = R1 * 10**3# ohm\n",
+ "# V-(I_D*R1)-(I_D*R) - V1 = 0\n",
+ "I_D = (V-V1)/(R1+R)# A\n",
+ "I_D = I_D * 10**3# mA\n",
+ "V_D = (I_D*10**-3*R) + V1# V\n",
+ "print \"The operating point of the diode is : (%.2fV,%.2fmA)\"%(V_D,I_D)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exa 1.32 Page No 70"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 28,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The voltage drop across the forward biased diode, = 0.0180 V\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "# Given data\n",
+ "Eta = 1\n",
+ "kT = 26# meV\n",
+ "# (%e**((e*V1)/kT)) = 2 or\n",
+ "#The voltage drop across the forward biased diode\n",
+ "V1 = math.log(2)*kT# mV\n",
+ "V1= V1*10**-3# V\n",
+ "print \"The voltage drop across the forward biased diode, = %.4f V\"%V1"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exa 1.33 Page No 71"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 29,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The space charge capacitance = 70.74 pF\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "# Given data\n",
+ "epsilon_Ge = 16/(36*math.pi*10**11)# F/cm\n",
+ "d = 2*10**-4# cm\n",
+ "A = 1# mm**2\n",
+ "A = A * 10**-2# cm**2\n",
+ "epsilon_o = epsilon_Ge# F/cm\n",
+ "# The space charge capacitance \n",
+ "C_T = (epsilon_o*A)/d# F\n",
+ "C_T = C_T * 10**12# pF\n",
+ "print \"The space charge capacitance = %.2f pF\"%C_T"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exa 1.34 Page No 71"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 30,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The value of C_T = 61.68 pf/cm**2\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math \n",
+ "# Given data\n",
+ "D = 0.102# cm \n",
+ "A = (math.pi*(D**2))/4# cm**2\n",
+ "sigma_p = 0.286# (ohm-cm)**-1\n",
+ "q = 1.6*10**-19# C\n",
+ "miu_p = 500\n",
+ "# Formula used, sigma_p = q*miu_p*N_A\n",
+ "N_A = sigma_p/(q*miu_p)# atoms/cm**3\n",
+ "V1 = 5# V\n",
+ "V2 = 0.35# V\n",
+ "Vb = V1+V2# V\n",
+ "# The transition capacitance,\n",
+ "C_T = 2.92*10**-4*((N_A/Vb)**(1./2))*A# pF/cm**2\n",
+ "print \"The value of C_T = %.2f pf/cm**2\"%C_T"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exa 1.35 Page No 71"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 31,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The value of C_T for reverse bias = 15.00 pF\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Given data\n",
+ "C_T1 = 15# pF\n",
+ "Vb1 = 8# V\n",
+ "Vb2 = 12# V\n",
+ "# C_T1/C_T2 = (Vb2/Vb1)**(1/2)\n",
+ "C_T2 = C_T1 * ((Vb1/Vb2)**(1/2))# pF\n",
+ "print \"The value of C_T for reverse bias = %.2f pF\"%C_T2"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exa 1.36 Page No 72"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 32,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The voltage = -59.87 mV\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "# Given data\n",
+ "V_T = 0.026# V\n",
+ "Eta = 1\n",
+ "I = '-0.9*Io'\n",
+ "# T = Io*((%e**(V/(Eta*V_T)))-1 )\n",
+ "# I = Io*((%e**(V/(Eta*V_T)))-1 )\n",
+ "V = math.log(0.1)*V_T# V \n",
+ "V = V * 10**3# mV\n",
+ "print \"The voltage = %.2f mV\"%V"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exa 1.37 Page No 72"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 33,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Part (a) : The value of I_D for first circuit = 0.97 mA\n",
+ "Part (b) : The value of I_D for second circuit = 0.10 mA\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Given data\n",
+ "Vin = 20# V\n",
+ "Vgamma = 0.7# V\n",
+ "R = 20# k ohm\n",
+ "R = R * 10**3# ohm\n",
+ "# Vin-(I_D*Vin) - Vgamma = 0 or\n",
+ "# The value of I_D,\n",
+ "I_D = (Vin-Vgamma)/R# A\n",
+ "I_D = I_D * 10**3# mA\n",
+ "print \"Part (a) : The value of I_D for first circuit = %.2f mA\"%I_D\n",
+ "\n",
+ "# Part (b)\n",
+ "Vin= 10.# V\n",
+ "Vgamma = 0.7# V\n",
+ "R = 100# k ohm\n",
+ "# Drain current,\n",
+ "I_D= Vin/R# mV\n",
+ "print \"Part (b) : The value of I_D for second circuit = %.2f mA\"%I_D"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exa 1.38 Page No 73"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 34,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The value of I_D = 3.10 mA\n",
+ "The value of Vo = 6.90 V\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Given data\n",
+ "R1 = 1# k ohm\n",
+ "R1 = R1 * 10**3# ohm\n",
+ "R2 = 2# k ohm\n",
+ "R2 = R2 * 10**3# ohm\n",
+ "V = 10# V\n",
+ "V1 = 0.7# V \n",
+ "# V * (I_D*R1) - (R2*I_D) - V1 = 0\n",
+ "I_D = (V-V1)/(R1+R2)# A\n",
+ "I_D = I_D * 10**3# mA\n",
+ "print \"The value of I_D = %.2f mA\"%I_D\n",
+ "# The output voltage,\n",
+ "Vo = (I_D*10**-3 * R2) +V1# V\n",
+ "print \"The value of Vo = %.2f V\"%Vo"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exa 1.39 Page No 73"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 35,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Part (a): The current through resistance = 1.00 A\n",
+ "Part (b) : Current through 10 ohm resistance will be Zero\n",
+ "Part (c): Current will be zero\n",
+ "Part (d): The diode will be ON and current = 1.00 A\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Given data\n",
+ "V = 10.# V\n",
+ "R = 10# ohm\n",
+ "# Current through resistance,\n",
+ "I = V/R# A\n",
+ "print \"Part (a): The current through resistance = %.2f A\"%I\n",
+ "print \"Part (b) : Current through 10 ohm resistance will be Zero\"\n",
+ "print \"Part (c): Current will be zero\"\n",
+ "print \"Part (d): The diode will be ON and current = %.2f A\"%I"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exa 1.40 Page No 74"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 36,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The operating point is : (0.50V,4.50mA)\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Given data\n",
+ "Vth= 0.5# V\n",
+ "R_F= 1*10**3# ohm\n",
+ "V= 5# V\n",
+ "# Applying KVL for loop, V-Vd-R_F*Ii= 0 (i)\n",
+ "# When Ii=0\n",
+ "Vd= V# V\n",
+ "# When Vd= 0\n",
+ "Ii= V/R_F# A\n",
+ "# From eq(i)\n",
+ "Ii= (V-Vth)/R_F# A\n",
+ "Vd= V-R_F*Ii# V\n",
+ "print \"The operating point is : (%.2fV,%.2fmA)\"%(Vd,Ii*1000)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exa 1.43 Page No 76"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 37,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The voltage at V1 = 6.00 volts\n",
+ "The voltage at V2 = 5.40 volts\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Given data\n",
+ "V_CC = 6# V\n",
+ "Vr = 0.6# V\n",
+ "V1= V_CC##in V\n",
+ "V2 = V1-Vr# V\n",
+ "print \"The voltage at V1 = %.2f volts\"%V1\n",
+ "print \"The voltage at V2 = %.2f volts\"%V2"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exa 1.44 Page No 76"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 38,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The value of I1 = 1.80 mA\n",
+ "The value of I2 = 1.80 mA\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Given data\n",
+ "V_T = 0.7# V\n",
+ "V = 5# V\n",
+ "R = 2# k ohm\n",
+ "R = R * 10**3# ohm\n",
+ "Vs = 0.7\n",
+ "Vx = Vs+V_T# V\n",
+ "# The value of I1 \n",
+ "I1 = (V-Vx)/R# A\n",
+ "I1 = I1 * 10**3# mA\n",
+ "print \"The value of I1 = %.2f mA\"%I1\n",
+ "# The value of I2 \n",
+ "I2 = I1# mA\n",
+ "print \"The value of I2 = %.2f mA\"%I2"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exa 1.45 Page No 77"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 39,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The value of Vo = 1.00 V\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Given data\n",
+ "Rf = 300.# ohm\n",
+ "V = 0.5# V\n",
+ "R = 600.# ohm\n",
+ "Vi = 2.# V\n",
+ "# The output voltage \n",
+ "Vo = (Vi-V)*( R/(R+Rf) )# V\n",
+ "print \"The value of Vo = %.2f V\"%Vo"
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 2",
+ "language": "python",
+ "name": "python2"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 2
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython2",
+ "version": "2.7.9"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/Basic_Electronics_by_Rakesh_Kumar_Garg,_Ashish_Dixit_&_Paban_Yadav/chapter2.ipynb b/Basic_Electronics_by_Rakesh_Kumar_Garg,_Ashish_Dixit_&_Paban_Yadav/chapter2.ipynb
new file mode 100644
index 00000000..2cfd979e
--- /dev/null
+++ b/Basic_Electronics_by_Rakesh_Kumar_Garg,_Ashish_Dixit_&_Paban_Yadav/chapter2.ipynb
@@ -0,0 +1,1099 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Chapter 2 Diode Applications"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exa 2.1 page No 112"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 5,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The average load voltage = 12.73 V\n",
+ "The average load current = 12.73 mA\n",
+ "The RMS voltage = 20.00 V\n",
+ "The RMS current = 20.00 mA\n",
+ "The efficiency of rectification = 40.53 %\n",
+ "The value of TUF = 28.66 %\n",
+ "The ripple factor = 121.00 %\n"
+ ]
+ }
+ ],
+ "source": [
+ "from math import pi,sqrt\n",
+ "from __future__ import division\n",
+ "# Given data\n",
+ "N2 = 4\n",
+ "N1 = 1\n",
+ "R_L = 1*10**3# ohm\n",
+ "Vm = 40# V\n",
+ "V_Lav = Vm/pi# V\n",
+ "# The average load voltage \n",
+ "V_LDC = V_Lav# V\n",
+ "print \"The average load voltage = %.2f V\"%V_LDC\n",
+ "Im = Vm/R_L# A\n",
+ "I_DC = Im/pi# A\n",
+ "I_DC= I_DC*10**3# mA\n",
+ "print \"The average load current = %.2f mA\"%I_DC\n",
+ "I_DC= I_DC*10**-3# A\n",
+ "# The RMS voltage\n",
+ "V_Lrms = Vm/2# V\n",
+ "print \"The RMS voltage = %.2f V\"%V_Lrms\n",
+ "# The RMS current\n",
+ "Irms = V_Lrms/R_L# A\n",
+ "Irms= Irms*10**3# mA\n",
+ "print \"The RMS current = %.2f mA\"%Irms\n",
+ "Irms= Irms*10**-3# A\n",
+ "#Eta = (P_ODC/P_iAC)*100\n",
+ "I_Loc = I_DC# A\n",
+ "P_ODC = (I_Loc**2)*R_L# W\n",
+ "P_iAC = (Irms**2)*R_L# W\n",
+ "# The efficiency of rectification \n",
+ "Eta = (P_ODC/P_iAC)*100# %\n",
+ "print \"The efficiency of rectification = %.2f %%\"%Eta\n",
+ "V2rms = Vm/sqrt(2)\n",
+ "I2rms = Irms# A\n",
+ "# The value of TUF \n",
+ "TUF = ((P_ODC)/(V2rms*I2rms))*100# %\n",
+ "print \"The value of TUF = %.2f %%\"%TUF\n",
+ "# The ripple factor \n",
+ "Gamma = (sqrt((V_Lrms**2)-(V_LDC**2)))/V_LDC\n",
+ "Gamma = round(Gamma * 100)# % done by own\n",
+ "print \"The ripple factor = %.2f %%\"%Gamma"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exa 2.2 page No 113"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 6,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The input ac power = 26.19 W\n",
+ "The output ac power = 10.51 W\n",
+ "The efficiency = 40.13 %\n",
+ "The percentage regulation = 1.00 %\n"
+ ]
+ }
+ ],
+ "source": [
+ "from math import pi,sqrt\n",
+ "from __future__ import division\n",
+ "# Given data\n",
+ "Rf = 10# ohm\n",
+ "R_L = 1# k ohm\n",
+ "R_L = R_L * 10**3# ohm\n",
+ "Vi = 230# V\n",
+ "Vm = Vi*sqrt(2)\n",
+ "#I_DC = Im/pi\n",
+ "I_DC = Vm/((R_L+Rf)*pi)# A\n",
+ "Irms = Vm/((R_L+Rf)*2)# A\n",
+ "# The input ac power \n",
+ "P_iAC = (Irms**2)*(Rf+R_L)# W \n",
+ "print \"The input ac power = %.2f W\"%P_iAC\n",
+ "# The output ac power \n",
+ "P_ODC = (I_DC**2)*R_L# W\n",
+ "print \"The output ac power = %.2f W\"%P_ODC\n",
+ "# The efficiency \n",
+ "Eta = (P_ODC/P_iAC)*100# %\n",
+ "print \"The efficiency = %.2f %%\"%Eta\n",
+ "# The percentage regulation \n",
+ "R = (Rf/R_L)*100# %\n",
+ "print \"The percentage regulation = %.2f %%\"%R\n",
+ "\n",
+ "# Note: The calculated value of input a.c. power in the book is wrong."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exa 2.3 page No 115"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 7,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The output dc voltage = 25.66 V\n",
+ "The current for a load resistance = 25.66 mA\n"
+ ]
+ }
+ ],
+ "source": [
+ "from math import pi,sqrt\n",
+ "from __future__ import division\n",
+ "# Given data\n",
+ "V1 = 230# V\n",
+ "N2= 1\n",
+ "N1 = 4\n",
+ "R_L = 1# k ohm\n",
+ "R_L = R_L * 10**3# ohm\n",
+ "Vd = 0.7# V\n",
+ "# V_LDC = (Vm-Vd)/pi# V\n",
+ "V2 = V1*(N2/N1)# V\n",
+ "# Vm = sqrt(2)*Vrms\n",
+ "Vm = sqrt(2)*V2# V\n",
+ "# The output dc voltage \n",
+ "V_LDC = (Vm-Vd)/pi# V\n",
+ "print \"The output dc voltage = %.2f V\"%V_LDC\n",
+ "# The current for a load resistance \n",
+ "I_LDC = V_LDC/R_L# A\n",
+ "I_LDC = I_LDC * 10**3# mA\n",
+ "print \"The current for a load resistance = %.2f mA\"%I_LDC"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exa 2.7 page No 120"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 8,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The PIV rating for first diode = 81.00 V\n",
+ "The PIV rating for second diode = 81.00 V\n"
+ ]
+ }
+ ],
+ "source": [
+ "from math import pi,sqrt\n",
+ "from __future__ import division\n",
+ "# Given data\n",
+ "R1 = 2.2# k ohm\n",
+ "R2 = 2.2# kohm\n",
+ "R3 = 4.7# k ohm\n",
+ "R = (R2*R3)/(R2+R3)# k ohm\n",
+ "Vin = 200\n",
+ "# Vo = (R/(R1+R))*Vin\n",
+ "# The PIV rating for first diode \n",
+ "Vomax= round(R/(R1+R)*Vin)# V\n",
+ "print \"The PIV rating for first diode = %.2f V\"%Vomax\n",
+ "Rdas = (R1*R3)/(R1+R3)# k ohm\n",
+ "# Vo = (Rdas/(R1+Rdas))*(-Vin)\n",
+ "# The PIV rating for second diode \n",
+ "Vomax=round(Rdas/(R1+Rdas)*Vin)# V\n",
+ "print \"The PIV rating for second diode = %.2f V\"%Vomax"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exa 2.9 page No 124"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 9,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The average current = 4.77 mA\n",
+ "The RMS current = 7.50 mA\n",
+ "The peak diode current = 15.00 mA\n",
+ "The PIV of diode = 30.00 V\n"
+ ]
+ }
+ ],
+ "source": [
+ "from math import pi,sqrt\n",
+ "from __future__ import division\n",
+ "\n",
+ "# Given data\n",
+ "# Vi = 15*sind(314*t)\n",
+ "Vm = 15# V\n",
+ "R_L = 1# k ohm\n",
+ "R_L = R_L * 10**3# ohm\n",
+ "Im = Vm/R_L# A\n",
+ "Im = Im * 10**3# mA\n",
+ "Idc = Im/pi# mA\n",
+ "# The average current \n",
+ "I_Dav = Idc# mA\n",
+ "print \"The average current = %.2f mA\"%I_Dav\n",
+ "# The RMS current \n",
+ "I_Drms = Im/2# mA\n",
+ "print \"The RMS current = %.2f mA\"%I_Drms\n",
+ "# The peak diode current \n",
+ "I_Dpeak = Im# mA\n",
+ "print \"The peak diode current = %.2f mA\"%I_Dpeak\n",
+ "# The PIV of diode \n",
+ "PIV = 2*Vm# V\n",
+ "print \"The PIV of diode = %.2f V\"%PIV"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exa 2.10 page No 125"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 10,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The average load current = 53.86 mA\n",
+ "The average load voltage at no load = 54.02 V\n",
+ "The average load voltage at full load = 53.86 V\n",
+ "The percentage load regulation = 0.30 %\n",
+ "The rectification efficiency = 80.81 %\n"
+ ]
+ }
+ ],
+ "source": [
+ "from math import sqrt,pi\n",
+ "from __future__ import division\n",
+ "# Given data\n",
+ "R_L = 1# k ohm\n",
+ "R_L = R_L * 10**3# ohm\n",
+ "Rf = 1# ohm\n",
+ "R2 = 2# ohm\n",
+ "N1 = 4\n",
+ "N2 = 1\n",
+ "V1rms = 240# V\n",
+ "V2rms = (N2/N1)*V1rms# V\n",
+ "Vm = sqrt(2)*V2rms# V\n",
+ "# The average load current \n",
+ "I_LDC = (2*Vm)/(pi*(R2+Rf+R_L))# A\n",
+ "I_LDC= I_LDC *10**3# mA\n",
+ "print \"The average load current = %.2f mA\"%I_LDC\n",
+ "I_LDC= I_LDC *10**-3# A\n",
+ "# The average load voltage at no load \n",
+ "V_NL = (2*Vm)/pi# V\n",
+ "print \"The average load voltage at no load = %.2f V\"%V_NL\n",
+ "# The average load voltage at full load \n",
+ "V_LDC = I_LDC*R_L# V\n",
+ "print \"The average load voltage at full load = %.2f V\"%V_LDC\n",
+ "# The percentage load regulation \n",
+ "Per_loadReg= (V_NL-V_LDC)/V_LDC*100# %\n",
+ "print \"The percentage load regulation = %.2f %%\"%Per_loadReg\n",
+ "Im = Vm/(R_L+R2+Rf)# A\n",
+ "Irms = Im/2# A\n",
+ "P_iAC = (Vm**2)/(2*(R2+Rf+R_L))# W \n",
+ "P_ODC = (I_LDC**2)*R_L# W\n",
+ "# The rectification efficiency \n",
+ "Eta = (P_ODC/P_iAC)*100# %\n",
+ "print \"The rectification efficiency = %.2f %%\"%Eta"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exa 2.11 page No 127"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 11,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The required PIV = 10.00 V\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "# Given data\n",
+ "R1 = 2# k ohm\n",
+ "R2 = 2# k ohm\n",
+ "V_AB = 20# V\n",
+ "Vo = V_AB*(R1/(R1+R2))# V\n",
+ "# The required PIV \n",
+ "V_AC = Vo# V\n",
+ "print \"The required PIV = %.2f V\"%V_AC"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exa 2.12 page No 127"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 12,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The value of Idc = 1.96 A\n",
+ "The RMS value of output current = 3.07 A\n"
+ ]
+ }
+ ],
+ "source": [
+ "from math import sqrt,pi\n",
+ "from __future__ import division\n",
+ "# Given data\n",
+ "Vrms = 10# V\n",
+ "r_f = 0.3# ohm\n",
+ "R_L = 2# ohm\n",
+ "Vm = sqrt(2)*Vrms# V\n",
+ "Im = Vm/(R_L+r_f)# A\n",
+ "# The value of Idc \n",
+ "Idc = Im/pi# A\n",
+ "print \"The value of Idc = %.2f A\"%Idc\n",
+ "# The RMS value of output current \n",
+ "Irms = Im/2# A\n",
+ "print \"The RMS value of output current = %.2f A\"%Irms"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exa 2.13 page No 128"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 15,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The ripple factor = 0.1\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "# Given data\n",
+ "Vdc = 50# V\n",
+ "Vrms = 5# V\n",
+ "# The ripple factor,\n",
+ "Gamma = Vrms/Vdc\n",
+ "print \"The ripple factor = %.1f\"%Gamma"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exa 2.14 page No 128"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 16,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The mean load current = 45.00 mA\n",
+ "The RMS load current = 50.00 mA\n",
+ "The output efficiency = 79.58 %\n"
+ ]
+ }
+ ],
+ "source": [
+ "from math import sqrt,pi\n",
+ "from __future__ import division\n",
+ "# Given data\n",
+ "Vrms = 50# V\n",
+ "r_f = 20# ohm\n",
+ "R_L = 980# ohm\n",
+ "Vm = sqrt(2)*Vrms# V\n",
+ "Im = (Vm)/(R_L+r_f)\n",
+ "# The mean load current \n",
+ "Idc = (2*Im)/pi# A\n",
+ "Idc = round(Idc * 10**3)# mA\n",
+ "print \"The mean load current = %.2f mA\"%Idc\n",
+ "# The RMS load current \n",
+ "Irms = Im/sqrt(2)# A\n",
+ "Irms = Irms*10**3# mA\n",
+ "print \"The RMS load current = %.2f mA\"%Irms\n",
+ "a = 0.812## assumed\n",
+ "# The output efficiency \n",
+ "Eta = a/(1+(r_f/R_L))\n",
+ "Eta = Eta * 100# %\n",
+ "print \"The output efficiency = %.2f %%\"%Eta"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exa 2.15 page No 129"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 17,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The output voltage for a complete cycle = 10.00 V\n",
+ "The output voltage for half negative cycle = 2.50 V\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "# Given data\n",
+ "V = 10# V\n",
+ "V1 = 2.5# V\n",
+ "R = 1# Mohm\n",
+ "R = R * 10**6# ohm\n",
+ "i = (V-V1)/R# A\n",
+ "i = i * 10**6# µA\n",
+ "# The output voltage for a complete cycle \n",
+ "Vo1 = (i*10**-6*R)+V1# V\n",
+ "print \"The output voltage for a complete cycle = %.2f V\"%Vo1\n",
+ "# The output voltage for half neagtive cycle \n",
+ "Vo2 = V1# V\n",
+ "print \"The output voltage for half negative cycle = %.2f V\"%Vo2"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exa 2.17 page No 130"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 18,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The dc output voltage = 20.71 V\n",
+ "The PIV value = 65.00 V\n",
+ "The rectification efficiency = 81.20 %\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "from math import sqrt,pi\n",
+ "# Given data\n",
+ "V1 = 230## iin V\n",
+ "N2 = 1\n",
+ "N1 = 5\n",
+ "R_L = 100# ohm\n",
+ "V2 = V1*N2/N1# V\n",
+ "Vrms = V2# V\n",
+ "Vs = V2/2# V\n",
+ "Vm = sqrt(2)*Vs# V\n",
+ "# The dc output voltage \n",
+ "Vdc = (2*Vm)/pi# V\n",
+ "print \"The dc output voltage = %.2f V\"%Vdc\n",
+ "# The PIV value \n",
+ "PIV = round(2*Vm)# V\n",
+ "print \"The PIV value = %.2f V\"%PIV\n",
+ "# The rectification efficiency \n",
+ "Eta = 0.812\n",
+ "Eta = Eta*100# %\n",
+ "print \"The rectification efficiency = %.2f %%\"%Eta"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exa 2.18 page No 131"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 19,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The dc output volatge = 19.81 V\n",
+ "The rectification efficiency = 81.06 %\n",
+ "The peak inverse volatge = 31.11 V\n",
+ "The output frequency = 100.00 Hz\n"
+ ]
+ }
+ ],
+ "source": [
+ "from math import sqrt,pi\n",
+ "from __future__ import division\n",
+ "# Given data\n",
+ "V1 = 220# V\n",
+ "N2 = 1\n",
+ "N1 = 10\n",
+ "R_L = 250# ohm\n",
+ "V2 = V1 * (N2/N1)# V\n",
+ "Vm = sqrt(2)*V2# V\n",
+ "Im =Vm/R_L# A\n",
+ "Iav = (2*Im)/pi# A\n",
+ "Idc = Iav# A\n",
+ "# The dc output volatge \n",
+ "Vdc = Idc* R_L# V\n",
+ "print \"The dc output volatge = %.2f V\"%Vdc\n",
+ "Pdc = (Idc**2)*R_L# W\n",
+ "Irms = (Im)/sqrt(2)# A\n",
+ "Pac = (Irms**2)*R_L# W\n",
+ "# The rectification efficiency \n",
+ "Eta = (Pdc/Pac)*100# %\n",
+ "print \"The rectification efficiency = %.2f %%\"%Eta\n",
+ "# The peak inverse volatge \n",
+ "PIV = Vm# V\n",
+ "print \"The peak inverse volatge = %.2f V\"%PIV\n",
+ "f_in = 50# Hz\n",
+ "# The output frequency \n",
+ "f_out = 2*f_in# Hz\n",
+ "print \"The output frequency = %.2f Hz\"%f_out\n",
+ "\n",
+ "# Note: The answer of rectification efficiency in the book is not accurate."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exa 2.21 page No 136"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 21,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The input voltage required = 43.16 V\n"
+ ]
+ }
+ ],
+ "source": [
+ "from math import sqrt,pi\n",
+ "from __future__ import division\n",
+ "# Given data\n",
+ "R_F = 0.01\n",
+ "Vdc = 30# V\n",
+ "R_L = 1# k ohm\n",
+ "R_L = R_L * 10**3# ohm\n",
+ "Idc = Vdc/R_L# A\n",
+ "Idc = Idc * 10**3# mA\n",
+ "# Vdc = Vm-( (5000*Idc)/C )\n",
+ "Gamma = 0.01## ripple factor\n",
+ "#Gamma = 2900/(C*R_L)\n",
+ "C = 2900/(Gamma*R_L)# F\n",
+ "Vm = Vdc + ((5000*Idc*10**-3)/C)# V\n",
+ "# The input voltage required \n",
+ "V2 = (2*Vm)/sqrt(2)# V \n",
+ "print \"The input voltage required = %.2f V\"%V2\n",
+ "\n",
+ "#Note: The value of Vm in the book is not accurate, So the answer in the book is wrong."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exa 2.22 page No 137"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 22,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The value of L = 0.13 H\n",
+ "The value of C = 300.11 µF\n"
+ ]
+ }
+ ],
+ "source": [
+ "from math import sqrt,pi\n",
+ "from __future__ import division\n",
+ "# Given data\n",
+ "V_L = 25# V\n",
+ "I_L = 200# mA\n",
+ "I_L = I_L * 10**-3# A\n",
+ "R_L = V_L/I_L# ohm\n",
+ "Gamma = 3/100\n",
+ "#Gamma = 1/(6*sqrt(2)*(omega**2)*L*C)\n",
+ "f = 50# Hz\n",
+ "omega = 2*pi*f# rad/sec\n",
+ "#LC = 1/( 6*sqrt(2)*(omega**2)*Gamma )\n",
+ "L = R_L/(3*omega)# H\n",
+ "print \"The value of L = %.2f H\"%L\n",
+ "C = 1/( 6*sqrt(2)*(omega**2)*Gamma*L )# F\n",
+ "C = C * 10**6# µF\n",
+ "print \"The value of C = %.2f µF\"%C"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exa 2.23 page No 138"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 24,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The output voltage = 13.50 V\n",
+ "The current = 2.70 A\n",
+ "The ripple factor = 0.02\n",
+ "The maximum value of R_L = 10.00 ohm\n"
+ ]
+ }
+ ],
+ "source": [
+ "from math import sqrt,pi\n",
+ "from __future__ import division\n",
+ "# Given data\n",
+ "Vm = 15# V\n",
+ "# The output voltage \n",
+ "Vdc = (2*sqrt(2)*Vm)/pi# V\n",
+ "print \"The output voltage = %.2f V\"%Vdc\n",
+ "R_L = 5# ohm\n",
+ "Idc = Vdc/R_L# A\n",
+ "print \"The current = %.2f A\"%Idc\n",
+ "L = 50# mH\n",
+ "L = L * 10**-3# H\n",
+ "C = 1000# µF\n",
+ "C = C * 10**-6# F\n",
+ "f = 50# Hz\n",
+ "omega = 2*pi*f# rad/sec\n",
+ "# The ripple factor \n",
+ "Gamma = 1/( 6*sqrt(2)*(omega**2)*L*C )\n",
+ "print \"The ripple factor = %.2f\"%Gamma\n",
+ "# Im =Vm/X_L = (Vm*sqrt(2))/(2*pi*f*L)\n",
+ "Im = (Vm*sqrt(2))/(2*pi*f*L)# A\n",
+ "I_Lmin = Im# A\n",
+ "# The maximum value of R_L \n",
+ "R_Lmax = Vdc/I_Lmin# ohm\n",
+ "print \"The maximum value of R_L = %.2f ohm\"%R_Lmax"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exa 2.24 page No 139"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 25,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The percentage ripple = 0.01 %\n"
+ ]
+ }
+ ],
+ "source": [
+ "from math import sqrt,pi\n",
+ "from __future__ import division\n",
+ "# Given data\n",
+ "f = 50# Hz\n",
+ "Vrms = 280# V\n",
+ "Vm = sqrt(2)*Vrms# V\n",
+ "V_Lmax = Vm# V\n",
+ "Idc = 100# mA\n",
+ "Idc =Idc * 10**-3# A\n",
+ "C2 = 10# µF\n",
+ "C2 = C2 * 10**-6# F\n",
+ "C1 = C2 # F\n",
+ "R_L =V_Lmax/Idc# ohm\n",
+ "L = 104# H\n",
+ "omega = 2*pi*f# rad/sec\n",
+ "# The percentage ripple \n",
+ "Gamma = sqrt(2)/( 8*omega**3*C1*C2*L*R_L)*100# %\n",
+ "print \"The percentage ripple = %.2f %%\"%Gamma\n",
+ "\n",
+ "# Note: There is calculation error to find the value of gamma, So the answer in the book is wrong."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exa 2.25 page No 140"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 27,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Peak output voltage = 15.00 V\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "# Given data\n",
+ "Vin = 15# V\n",
+ "# Peak output voltage,\n",
+ "Vout = Vin# V\n",
+ "print \"Peak output voltage = %.2f V\"%Vout"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exa 2.26 page No 140"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 28,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The peak output voltage = 2.50 V\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "# Given data\n",
+ "R_L = 2# k ohm\n",
+ "R_L = R_L * 10**3# ohm\n",
+ "R = 2# k ohm\n",
+ "R = R * 10**3# ohm\n",
+ "Vin = 5# V\n",
+ "# The peak output voltage \n",
+ "Vout = (R_L/(R+R_L))*Vin# V\n",
+ "print \"The peak output voltage = %.2f V\"%Vout"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exa 2.27 page No 141"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 29,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The value of i_Rmax = 0.40 mA\n",
+ "The value of i_R = -0.20 mA\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "# Given data\n",
+ "Vi = 10# V\n",
+ "V1 = 6# V\n",
+ "R = 10# k ohm\n",
+ "R = R * 10**3# ohm\n",
+ "# The value of i_Rmax\n",
+ "i_Rmax = (Vi-V1)/R# A\n",
+ "i_Rmax = i_Rmax * 10**3# mA\n",
+ "Vi = -10# V\n",
+ "V1 = 8# V\n",
+ "# The value of i_R \n",
+ "i_R =(Vi+V1)/R# A\n",
+ "i_R =i_R * 10**3# mA\n",
+ "print \"The value of i_Rmax = %.2f mA\"%i_Rmax\n",
+ "print \"The value of i_R = %.2f mA\"%i_R"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exa 2.28 page No 142"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 30,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The output voltage = -11.30 V\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "# Given data\n",
+ "Vout = -0.7# V\n",
+ "V = -12# V\n",
+ "# The output voltage \n",
+ "V_R =V-Vout# V\n",
+ "print \"The output voltage = %.2f V\"%V_R"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exa 2.29 page No 143"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 32,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "During positive half cycle the output voltage = 2.00 V\n",
+ "During negative half cycle the output voltage = -18.00 V\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "# Given data\n",
+ "Vin = 10# V\n",
+ "V1 = 2# V\n",
+ "# Vin -V_C - V1 = 0\n",
+ "V_C =Vin-V1# V\n",
+ "# During positive half cycle the output voltage \n",
+ "Vout = Vin-V_C# V\n",
+ "print \"During positive half cycle the output voltage = %.2f V\"%Vout\n",
+ "Vin = -10# V\n",
+ "V1 = 8# V\n",
+ "# Vin-V1-Vout = 0\n",
+ "# During negative half cycle the output voltage \n",
+ "Vout = Vin-V1# V\n",
+ "print \"During negative half cycle the output voltage = %.2f V\"%Vout"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exa 2.30 page No 145"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 33,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "During positive half cycle the output voltage = -2.00 V\n",
+ "During negative half cycle the output voltage = -22.00 V\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "# Given data\n",
+ "Vin = 10# V\n",
+ "V1 = 2# V\n",
+ "# Vin-V_C+V1 = 0\n",
+ "V_C = Vin+V1# V\n",
+ "#During positive half cycle the output voltage \n",
+ "Vout = Vin-V_C# V\n",
+ "print \"During positive half cycle the output voltage = %.2f V\"%Vout\n",
+ "Vin = -10## iin V\n",
+ "V1 = 12# V\n",
+ "# Vin-V1-Vout = 0\n",
+ "#During negative half cycle the output voltage \n",
+ "Vout = Vin-V1# V\n",
+ "print \"During negative half cycle the output voltage = %.2f V\"%Vout"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exa 2.31 page No 146"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 34,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The value of Vo = 35.00 V\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "# Given data\n",
+ "Vi = 20# V\n",
+ "V1 = 5# V\n",
+ "Vc = Vi-V1# V\n",
+ "Vo = -5# V\n",
+ "# The value of Vo,\n",
+ "Vo = Vi+Vc# V\n",
+ "print \"The value of Vo = %.2f V\"%Vo"
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 2",
+ "language": "python",
+ "name": "python2"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 2
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython2",
+ "version": "2.7.9"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/Basic_Electronics_by_Rakesh_Kumar_Garg,_Ashish_Dixit_&_Paban_Yadav/chapter3.ipynb b/Basic_Electronics_by_Rakesh_Kumar_Garg,_Ashish_Dixit_&_Paban_Yadav/chapter3.ipynb
new file mode 100644
index 00000000..cfb05da4
--- /dev/null
+++ b/Basic_Electronics_by_Rakesh_Kumar_Garg,_Ashish_Dixit_&_Paban_Yadav/chapter3.ipynb
@@ -0,0 +1,827 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Chapter 3 Zener Diode and LED"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exa 3.1 page No 164"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The resistance of the device = 15.00 ohm\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "# Given data\n",
+ "I1 = 30# mA\n",
+ "I2 = 20# mA\n",
+ "delI_Z = I1-I2# mA\n",
+ "delI_Z = delI_Z * 10**-3# A\n",
+ "V1 = 5.75# V\n",
+ "V2 = 5.6# V\n",
+ "delV_Z = V1-V2# V\n",
+ "# The resistance of the device \n",
+ "r_Z = delV_Z/delI_Z# ohm\n",
+ "print \"The resistance of the device = %.2f ohm\"%r_Z"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exa 3.2 page No 164"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The terminal voltage = 5.00 V\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "# Given data\n",
+ "V_Z = 4.7# V\n",
+ "r_Z = 15# ohm\n",
+ "I_Z = 20# mA\n",
+ "I_Z = I_Z * 10**-3# A\n",
+ "# The terminal voltage \n",
+ "VdasZ = V_Z + (I_Z*r_Z)# V\n",
+ "print \"The terminal voltage = %.2f V\"%VdasZ"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exa 3.3 page No 165"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The value of I_ZM = 73.53 mA\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "# Given data\n",
+ "P_ZM = 500# mW\n",
+ "P_ZM = P_ZM * 10**-3# W\n",
+ "V_Z = 6.8# V\n",
+ "# The value of I_ZM \n",
+ "I_ZM = P_ZM/V_Z# A\n",
+ "I_ZM = I_ZM * 10**3# mA\n",
+ "print \"The value of I_ZM = %.2f mA\"%I_ZM"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exa 3.4 page No 165"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The maximum power dissipation = 1416.75 mW\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "# Given data\n",
+ "P_ZM = 1500# mW\n",
+ "Deratingfactor = 3.33# mW\n",
+ "T1 = 85# degree C\n",
+ "T2 = 60# degree C\n",
+ "total = Deratingfactor*(T1-T2)## total derating factor = %.2f mW\n",
+ "# The maximum power dissipation \n",
+ "P_ZM = P_ZM - total# mW\n",
+ "print \"The maximum power dissipation = %.2f mW\"%P_ZM"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exa 3.5 page No 166"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 8,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The value of V_L = 8.73 V\n",
+ "The value of V_R = 7.27 V\n",
+ "The value of I_Z = 0.00 A\n",
+ "The value of P_Z = 0.00 W\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "# Given data\n",
+ "R_L = 1.2# k ohm\n",
+ "R_L = R_L * 10**3# ohm\n",
+ "Vi = 16# V\n",
+ "R = 1# k ohm\n",
+ "R = R * 10**3# ohm\n",
+ "# The value of V_L \n",
+ "V_L = (R_L*Vi)/(R+R_L)# V\n",
+ "print \"The value of V_L = %.2f V\"%V_L\n",
+ "V_Z = 10# V\n",
+ "# The value of V_R \n",
+ "V_R = Vi-V_L# V\n",
+ "print \"The value of V_R = %.2f V\"%V_R\n",
+ "# The value of I_Z \n",
+ "I_Z = 0# A\n",
+ "print \"The value of I_Z = %.2f A\"%I_Z\n",
+ "# The value of P_Z \n",
+ "P_Z =V_Z*I_Z# W\n",
+ "print \"The value of P_Z = %.2f W\"%P_Z"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exa 3.6 page No 167"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 10,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The minimum value of Vi = 23.67 V\n",
+ "The maximum value of Vi = 36.87 V\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "# Given data\n",
+ "R_L = 1.2# k ohm\n",
+ "R_L = R_L * 10**3# ohm\n",
+ "R = 220# ohm\n",
+ "V_Z = 20# V\n",
+ "# The minimum value of Vi \n",
+ "Vimin = ((R_L+R)/R_L)*V_Z# V\n",
+ "print \"The minimum value of Vi = %.2f V\"%Vimin\n",
+ "I_L = V_Z/R_L# A\n",
+ "I_ZM = 60# mA\n",
+ "I_ZM = I_ZM * 10**-3# A\n",
+ "# I_ZM = I_R-I_L\n",
+ "I_Rmax = I_ZM + I_L\n",
+ "# The maximum value of Vi \n",
+ "Vimax = (I_Rmax*R)+V_Z# V\n",
+ "print \"The maximum value of Vi = %.2f V\"%Vimax"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exa 3.7 page No 168"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 11,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "As the value of V_L (14.17 V) is greater than the value of V_Z (10.00 V), So\n",
+ "The zener diode is operating in the breakdown region.\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "# Given data\n",
+ "R_L = 1# k ohm\n",
+ "R_L = R_L * 10**3# ohm\n",
+ "R = 270# ohm \n",
+ "V = 18# V\n",
+ "V_Z= 10# V\n",
+ "V_L = (R_L/(R_L+R))*V# V\n",
+ "if V_L > V_Z:\n",
+ " print \"As the value of V_L (%.2f\"%(V_L),\"V) is greater than the value of V_Z (%.2f\"%(V_Z),\" V), So\"\n",
+ " print \"The zener diode is operating in the breakdown region.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exa 3.8 page No 169"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 12,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The value of zener current = 22.00 mA\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "# Given data\n",
+ "V1 = 18# V\n",
+ "V2 = 10# V\n",
+ "R = 250# ohm\n",
+ "I_R = (V1-V2)/R# A\n",
+ "I_R = I_R * 10**3# mA\n",
+ "R_L = 1# k ohm\n",
+ "R_L = R_L * 10**3# ohm\n",
+ "I_L = V2/R_L# A\n",
+ "I_L =I_L * 10**3# mA\n",
+ "# I_R = I_L+I_Z\n",
+ "# So, the value of zener current \n",
+ "I_Z = I_R - I_L# mA\n",
+ "print \"The value of zener current = %.2f mA\"%I_Z"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exa 3.9 page No 169"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 13,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The current flowing through the resistance = 1.00 mA\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "# Given data\n",
+ "R = 10# k ohm\n",
+ "R = R * 10**3# ohm\n",
+ "Vi = 20# V\n",
+ "V_Z = 10# V\n",
+ "I_L = 1# mA\n",
+ "I_L = I_L * 10**-3# A\n",
+ "R_L = 10# k ohm\n",
+ "R_L = R_L * 10**3# ohm\n",
+ "V_L = (R_L/(R_L+R))*Vi# V\n",
+ "# The current flowing through the resistance \n",
+ "I = (Vi-V_Z)/R# A\n",
+ "I= I*10**3# mA\n",
+ "print \"The current flowing through the resistance = %.2f mA\"%I"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exa 3.10 page No 170"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 14,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The value of V_L = 12.00 V\n",
+ "The value of I_L = 33.33 mA\n",
+ "The value of I_R = 50.00 mA\n",
+ "The value of I_Z = 16.67 mA\n",
+ "The minimum value of R_L = 200.00 ohm\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "# Given data\n",
+ "R = 200# ohm\n",
+ "Vi = 20# V\n",
+ "V_Z = 10# V\n",
+ "R_L = 300# ohm\n",
+ "P_Zmax = 400# mW\n",
+ "# The value of V_L \n",
+ "V_L = (R_L/(R_L+R))*Vi# V\n",
+ "print \"The value of V_L = %.2f V\"%V_L\n",
+ "V_L = V_Z# V\n",
+ "# The value of I_L \n",
+ "I_L = V_L/R_L# A\n",
+ "I_L = I_L * 10**3# mA\n",
+ "print \"The value of I_L = %.2f mA\"%I_L\n",
+ "# The value of I_R \n",
+ "I_R = (Vi-V_Z)/R# A\n",
+ "I_R = I_R * 10**3# mA\n",
+ "print \"The value of I_R = %.2f mA\"%I_R\n",
+ "# The value of I_Z \n",
+ "I_Z = I_R-I_L# mA\n",
+ "print \"The value of I_Z = %.2f mA\"%I_Z\n",
+ "# V_L >= V_Z and V_L= R_L*Vi/(R_L+R)\n",
+ "# So, the minimum value of R_L \n",
+ "R_L= R*V_Z/(Vi-V_Z)# ohm\n",
+ "print \"The minimum value of R_L = %.2f ohm\"%R_L"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exa 3.11 page No 171"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 15,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The minimum value of R = 4.17 ohm\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "# Given data\n",
+ "I_Z = 0.2# A\n",
+ "R = 10# ohm\n",
+ "V_Z = 8 + (R*I_Z)# V\n",
+ "I_Lmin = V_Z/R# A\n",
+ "I_Zmax = 0.2##in A\n",
+ "Vimax = 15# V\n",
+ "# The minimum value of R\n",
+ "Rimin = (Vimax-V_Z)/(I_Zmax+I_Lmin)# ohm\n",
+ "print \"The minimum value of R = %.2f ohm\"%Rimin\n",
+ "\n",
+ "# Note: The calculation in the book is not accurate, So the answer in the book is not accurate."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exa 3.12 page No 172"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 17,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The output voltage = 8.00 V\n",
+ "The voltage drop across R_S = 4.00 V\n",
+ "The current through the zener diode = 0.00 A\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "# Given data\n",
+ "R_L = 10# k ohm\n",
+ "R_S = 5# k ohm\n",
+ "V_S = 12# V\n",
+ "V_Z = 8# V\n",
+ "V_L = (R_L/(R_S+R_L))*V_S# V\n",
+ "#The output voltage \n",
+ "Vo = V_L# V\n",
+ "print \"The output voltage = %.2f V\"%Vo\n",
+ "# The voltage drop across R_S \n",
+ "R_S = V_S-Vo# V\n",
+ "print \"The voltage drop across R_S = %.2f V\"%R_S\n",
+ "# The current through the zener diode \n",
+ "I_Z = 0# A\n",
+ "print \"The current through the zener diode = %.2f A\"%I_Z"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exa 3.13 page No 173"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 26,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The value of I_Z = 0.00 A\n",
+ "The value of P_Z = 0.00 W\n",
+ "The value of Vo = 8.73 V\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "# Given data\n",
+ "R_S = 1# k ohm\n",
+ "R_L = 1.2# k ohm\n",
+ "V_Z = 10# V\n",
+ "V_S = 16# V\n",
+ "V_L = (R_L/(R_L+R_S))*V_S# V\n",
+ "#The value of I_Z \n",
+ "I_Z = 0# A\n",
+ "print \"The value of I_Z = %.2f A\"%I_Z\n",
+ "# The value of P_Z \n",
+ "P_Z = 0\n",
+ "print \"The value of P_Z = %.2f W\"%P_Z\n",
+ "#The value of Vo\n",
+ "Vo = V_L# V\n",
+ "print \"The value of Vo = %.2f V\"%Vo"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exa 3.14 page No 173"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 21,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The value of V_L with 200 ohm = 9.52 V\n",
+ "The value of I_Z with 200 ohm = 0.00 A\n",
+ "The value of I_L with 200 ohm = 47.62 mA\n",
+ "The value of I_R with 200 ohm = 47.62 mA\n",
+ "The value of I_L with 50 ohm = 74.07 mA\n",
+ "The value of I_R with 50 ohm = 74.07 mA\n",
+ "The value of I_Z with 50 ohm = 0.00 A\n",
+ "The value of V_L with 50 ohm = 3.70 V\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "# Given data\n",
+ "R_L = 200# ohm\n",
+ "Vin = 20# V\n",
+ "V_Z = 10# V\n",
+ "P_Zmaz = 400# mW\n",
+ "R_S = 220# ohm\n",
+ "#The value of V_L with 200 ohm \n",
+ "V_L =(R_L/(R_S+R_L))*Vin# V\n",
+ "print \"The value of V_L with 200 ohm = %.2f V\"%V_L\n",
+ "# The value of I_Z with 200 ohm \n",
+ "I_Z = 0# A\n",
+ "print \"The value of I_Z with 200 ohm = %.2f A\"%I_Z\n",
+ "# The value of I_L with 200 ohm \n",
+ "I_L = Vin/(R_S+R_L)*10**3# mA\n",
+ "print \"The value of I_L with 200 ohm = %.2f mA\"%I_L\n",
+ "#The value of I_R with 200 ohm \n",
+ "I_R = I_L# mA\n",
+ "print \"The value of I_R with 200 ohm = %.2f mA\"%I_R\n",
+ "R_L = 50# ohm\n",
+ "V_L = (R_L/(R_S+R_L))*Vin# V\n",
+ "#The value of I_L with 50 ohm \n",
+ "I_L = Vin/(R_S+R_L)*10**3# mA\n",
+ "print \"The value of I_L with 50 ohm = %.2f mA\"%I_L\n",
+ "# The value of I_R with 50 ohm \n",
+ "I_R = I_L# mA\n",
+ "print \"The value of I_R with 50 ohm = %.2f mA\"%I_R\n",
+ "# The value of I_Z with 50 ohm \n",
+ "I_Z = 0# A\n",
+ "print \"The value of I_Z with 50 ohm = %.2f A\"%I_Z\n",
+ "print \"The value of V_L with 50 ohm = %.2f V\"%V_L"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exa 3.15 page No 175"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 22,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The minimum value of R_L = 45.00 ohm\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "# Given data\n",
+ "V_Z = 15# V\n",
+ "Vin = 24# V\n",
+ "R = 27# ohm\n",
+ "I = (Vin-V_Z)/R# A\n",
+ "# The minimum value of R_L \n",
+ "R_Lmin = V_Z/I# ohm\n",
+ "print \"The minimum value of R_L = %.2f ohm\"%R_Lmin"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exa 3.16 page No 175"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 23,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The minimum value of R = 80.00 ohm\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "# Given data\n",
+ "R = 50# ohm\n",
+ "Vin = 10# V\n",
+ "V_Z = 6# V\n",
+ "I = (Vin-V_Z)/R# A\n",
+ "I = I * 10**3# mA\n",
+ "I_Zmin = 5# mA\n",
+ "# I = I_Z+I_L\n",
+ "I_Rmax = I-I_Zmin# mA\n",
+ "# The minimum value of R \n",
+ "R = V_Z/(I_Rmax*10**-3)# ohm\n",
+ "print \"The minimum value of R = %.2f ohm\"%R"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exa 3.17 page No 176"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 27,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The power dissipation in the zener diode = 5.00 mW\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "# Given data\n",
+ "R = 150*10**3# ohm\n",
+ "R_L = 75# k ohm\n",
+ "R_L = R_L * 10**3# ohm\n",
+ "V_Z = 15# V\n",
+ "Vin = 50# V\n",
+ "R_Z = 0\n",
+ "Rth = (R*R_L)/(R+R_L)# ohm\n",
+ "Vth = Vin * ( R_L/(R_L+R) )# V\n",
+ "I_Z = Vth/Rth# A\n",
+ "# The power dissipation = %.2f the zener diode \n",
+ "P_Z = V_Z*I_Z# W\n",
+ "P_Z= P_Z*10**3##in mW\n",
+ "print \"The power dissipation in the zener diode = %.2f mW\"%P_Z\n",
+ "\n",
+ "# Note: The calculation in the last line is wrong as 15*0.333 = 5 mW not 0.5mW, So the answer in the book is wrong. "
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exa 3.18 page No 176"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 28,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The value of R_L = 1.98 k ohm\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "# Given data\n",
+ "R = 222# ohm\n",
+ "Vin = 20# V\n",
+ "V_Z = 10# V\n",
+ "P = 400# mW\n",
+ "P= P*10**-3# W\n",
+ "I_Zmax = P/V_Z# A\n",
+ "#I = I_Z+I_L\n",
+ "I = (Vin-V_Z)/R# A\n",
+ "I_Lmin = I - I_Zmax# mA\n",
+ "# The value of R_L \n",
+ "R_L =V_Z/I_Lmin# ohm\n",
+ "R_L= R_L*10**-3# k ohm\n",
+ "print \"The value of R_L = %.2f k ohm\"%R_L"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exa 3.19 page No 177"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 29,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The range of possible load current is : 25.00 mA <= I_L <= 120.00 mA\n",
+ "The range of possible load resistance is : 0.12 ohm <= R_L <= 0.58 ohm\n",
+ "The power rating required for load resistance = 576.00 mW\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "# Given data\n",
+ "R = 12# k ohm\n",
+ "Vin = 6.3# V\n",
+ "V_Z = 4.8# V\n",
+ "I = (Vin-V_Z)/R*10**3# mA\n",
+ "I_Z = 5# mA\n",
+ "# Maximum value of load current,\n",
+ "I_Lmax = I - I_Z# mA\n",
+ "I_Z = 100# mA\n",
+ "# Minimum value of load current,\n",
+ "I_Lmin = I - I_Z# mA\n",
+ "print \"The range of possible load current is : %.2f\"%(I_Lmin),\"mA <= I_L <= %.2f\"%(I_Lmax),\"mA\"\n",
+ "# Minimum value of load resistance,\n",
+ "R_Lmin= I_Lmin*10**-3*V_Z# ohm\n",
+ "# Maximum value of load resistance,\n",
+ "R_Lmax= I_Lmax*10**-3*V_Z# ohm\n",
+ "print \"The range of possible load resistance is : %.2f\"%(R_Lmin),\"ohm <= R_L <= %.2f\"%(R_Lmax),\" ohm\"\n",
+ "# The power rating required for load resistance \n",
+ "P_Zmax = I_Lmax*10**-3*V_Z# W\n",
+ "P_Zmax= P_Zmax*10**3# mW\n",
+ "print \"The power rating required for load resistance = %.2f mW\"%P_Zmax\n",
+ "\n",
+ "# Note: The calculated value of P_Zmax is wrong as 120*10**-3*4.8= 576 mW not 5.76 mW"
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 2",
+ "language": "python",
+ "name": "python2"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 2
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython2",
+ "version": "2.7.9"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/Basic_Electronics_by_Rakesh_Kumar_Garg,_Ashish_Dixit_&_Paban_Yadav/chapter4.ipynb b/Basic_Electronics_by_Rakesh_Kumar_Garg,_Ashish_Dixit_&_Paban_Yadav/chapter4.ipynb
new file mode 100644
index 00000000..80f0e454
--- /dev/null
+++ b/Basic_Electronics_by_Rakesh_Kumar_Garg,_Ashish_Dixit_&_Paban_Yadav/chapter4.ipynb
@@ -0,0 +1,1419 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Chapter 4 Bipolar Junction Transistor"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exa 4.1 page No 211"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The base current = 0.02 mA\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "# Given data\n",
+ "Alpha = 0.98\n",
+ "Vo = 4.9# V\n",
+ "R_L = 5# k ohm\n",
+ "R_L = R_L * 10**3# ohm\n",
+ "I_C = Vo/R_L# A\n",
+ "I_C = I_C * 10**3# mA\n",
+ "# Alpha = I_C/I_E\n",
+ "I_E = I_C/Alpha# mA\n",
+ "# The base current \n",
+ "I_B = I_E-I_C# mA\n",
+ "print \"The base current = %.2f mA\"%I_B"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exa 4.2 page No 211"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The collector current = 2.85 mA\n",
+ "The base current = 0.15 mA\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "# Given data\n",
+ "Alpha = 0.95\n",
+ "I_CBO = 5* 10**-3# mA\n",
+ "I_E = 3# mA\n",
+ "# The collector current \n",
+ "I_C = (Alpha*I_E)+I_CBO# mA\n",
+ "print \"The collector current = %.2f mA\"%I_C\n",
+ "# The base current \n",
+ "I_B = I_E-I_C# mA\n",
+ "print \"The base current = %.2f mA\"%I_B"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exa 4.3 page No 211"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 5,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "For alpha = 0.9, the value of Beta = 9.00\n",
+ "For alpha = 0.99, the value of Beta = 99.00\n",
+ "For alpha = 0.98, the value of Beta = 49.00\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "# Given data\n",
+ "Alpha = 0.9\n",
+ "# For alpha = 0.9, the value of Beta \n",
+ "Beta = Alpha/(1-Alpha)\n",
+ "print \"For alpha = 0.9, the value of Beta = %.2f\"%Beta\n",
+ "Alpha = 0.99\n",
+ "# For alpha = 0.99, the value of Beta \n",
+ "Beta = Alpha/(1-Alpha)\n",
+ "print \"For alpha = 0.99, the value of Beta = %.2f\"%Beta\n",
+ "Alpha = 0.98\n",
+ "# For alpha = 0.98, the value of Beta \n",
+ "Beta = Alpha/(1-Alpha)\n",
+ "print \"For alpha = 0.98, the value of Beta = %.2f\"%Beta"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exa 4.4 page No 212"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 6,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The base current = 20.00 µA\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "# Given data\n",
+ "R_C = 2# k ohm\n",
+ "R_C = R_C * 10**3# ohm\n",
+ "V = 2# V\n",
+ "# The collector current\n",
+ "I_C = V/R_C# A\n",
+ "Beta = 50\n",
+ "# The base current \n",
+ "I_B = I_C/Beta# A\n",
+ "I_B= I_B*10**6# µA\n",
+ "print \"The base current = %.2f µA\"%I_B"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exa 4.5 page No 212"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 9,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The value of alpha is : 0.98\n",
+ "Using alpha rating, the value of I_C = 11.76 mA\n",
+ "Using bita rating, the value of I_C = 11.76 mA\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "# Given data\n",
+ "Beta = 49\n",
+ "I_E = 12# mA\n",
+ "I_B = 240# µA\n",
+ "I_B = I_B * 10**-3# mA\n",
+ "Alpha = Beta/(1+Beta)\n",
+ "#Using alpha rating, the value of collector current,\n",
+ "I_C = Alpha*I_E# mA\n",
+ "print \"The value of alpha is : \",Alpha\n",
+ "print \"Using alpha rating, the value of I_C = %.2f mA\"%I_C\n",
+ "#Using beta rating, the value of collector current,\n",
+ "I_C = Beta*I_B# mA\n",
+ "print \"Using bita rating, the value of I_C = %.2f mA\"%I_C"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exa 4.6 page No 212"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 12,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The value of Beta : 39.0\n",
+ "The value of Alpha : 0.9950\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "# Given data\n",
+ "Alpha = 0.975\n",
+ "Beta = Alpha/(1-Alpha)\n",
+ "# The value of beta,\n",
+ "print \"The value of Beta : \",Beta\n",
+ "Beta = 200\n",
+ "# The value of alpha,\n",
+ "Alpha = Beta/(1+Beta)\n",
+ "print \"The value of Alpha : %.4f\"%Alpha"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exa 4.7 page No 213"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 13,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The collector current = 5.15 mA\n",
+ "The emitter current = 5.25 mA\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "# Given data\n",
+ "Alpha = 0.98\n",
+ "I_CO = 5# µA\n",
+ "I_CO = I_CO * 10**-3# mA\n",
+ "I_B = 100# µA\n",
+ "I_B = I_B * 10**-3# mA\n",
+ "Beta = Alpha/(1-Alpha)\n",
+ "# The collector current \n",
+ "I_C = Beta*I_B + (1+Beta)*I_CO# mA\n",
+ "print \"The collector current = %.2f mA\"%I_C\n",
+ "# The emitter current \n",
+ "I_E = I_C+I_B# mA\n",
+ "print \"The emitter current = %.2f mA\"% I_E"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exa 4.8 page No 213"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 14,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The collector current = 13.01 mA\n",
+ "The new collector current = 15.38 mA\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "# Given data\n",
+ "I_CBO = 10# µA\n",
+ "I_CBO = I_CBO * 10**-6# A\n",
+ "Beta = 50\n",
+ "h_FE = Beta\n",
+ "I_B = 0.25# mA\n",
+ "I_B = I_B * 10**-3# A\n",
+ "# The collector current \n",
+ "I_C = (Beta*I_B) + ((1+Beta)*I_CBO)##in A\n",
+ "I_C = I_C * 10**3# mA\n",
+ "print \"The collector current = %.2f mA\"%I_C\n",
+ "T2 = 50# degree C\n",
+ "T1 = 25# degree C\n",
+ "I_CBOat25 = 10# µA\n",
+ "I_CBOat50 = I_CBOat25 * (2**((T2-T1)/10))# µA\n",
+ "I_CBOat50 = I_CBOat50 * 10**-6# A\n",
+ "#The new collector current \n",
+ "I_C = (Beta*I_B) + ((1+Beta)*I_CBOat50)# A\n",
+ "I_C = I_C * 10**3# mA\n",
+ "print \"The new collector current = %.2f mA\"%I_C"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exa 4.9 page No 215"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 15,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The collector current = 28.20 mA\n",
+ "The collector emitter voltage = 1.54 V\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "# Given data\n",
+ "V_BE = 0.6# V\n",
+ "V_CC = 10# V\n",
+ "Beta = 60\n",
+ "R_B = 20# k ohm\n",
+ "R_B = R_B * 10**3# ohm\n",
+ "R_C = 300# ohm\n",
+ "# V_CC - (I_B*R_B)-V_BE = 0\n",
+ "I_B = (V_CC-V_BE)/R_B# A\n",
+ "# The collector current \n",
+ "I_C = Beta*I_B# A\n",
+ "I_C= I_C*10**3# mA\n",
+ "print \"The collector current = %.2f mA\"%I_C\n",
+ "# V_CC - (I_C*R_C) -V_CE = 0\n",
+ "# The collector emitter voltage \n",
+ "V_CE = V_CC - (I_C*10**-3*R_C)# V\n",
+ "print \"The collector emitter voltage = %.2f V\"%V_CE"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exa 4.10 page No 216"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 17,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "data": {
+ "image/png": "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\nRK5CYII=\n",
+ "text/plain": [
+ "<matplotlib.figure.Figure at 0x7f70689c0390>"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The operating point is : (4.80V,2.10mA)\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "%matplotlib inline \n",
+ "from matplotlib.pyplot import plot,xlabel,ylabel,show,title\n",
+ "# Given data\n",
+ "V_BE = 0.6# V\n",
+ "V_CE = 0# V\n",
+ "R_C = 2# k ohm\n",
+ "R_C = R_C * 10**3# ohm\n",
+ "V_CC = 9# V\n",
+ "Beta= 2\n",
+ "R_B = 8# k ohm\n",
+ "R_B = R_B * 10**3# ohm\n",
+ "# V_CC - (I_C*R_C) - V_CE = 0\n",
+ "I_C = V_CC/R_C# A\n",
+ "I_C= I_C*10**3# mA\n",
+ "V_CE = V_CC# V\n",
+ "plot([V_CE,0],[0,I_C])\n",
+ "xlabel(\"V_CE in volts\")\n",
+ "ylabel(\"I_C in mA\")\n",
+ "title(\"DC load line\")\n",
+ "show()\n",
+ "I_C= I_C*10**-3# A\n",
+ "I_B = (V_CC-V_BE)/R_B# A\n",
+ "#Collector emitter voltage, V_CE = V_CC - (I_C*R_C) = V_CC - (Beta*10**-3*I_B*R_C)\n",
+ "V_CE = V_CC - (Beta*I_B*R_C)# V\n",
+ "# Collector current,\n",
+ "I_C =Beta*I_B# A\n",
+ "I_C= I_C*10**3# mA\n",
+ "print \"The operating point is : (%.2fV,%.2fmA)\"%(V_CE,I_C)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exa 4.11 page No 216"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 19,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The emitter current = 1.84 mA\n",
+ "The collector voltage = 10.90 V\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "# Given data\n",
+ "V_CC = 12# V\n",
+ "Beta = 100\n",
+ "R = 600# k ohm\n",
+ "R = R * 10**3# ohm\n",
+ "R1 = 600# ohm\n",
+ "#Applying KVL to input side, V_CC -(I_E*R1) - (I_B*R) - V_BE = 0\n",
+ "I_B = V_CC/(R+(Beta*R1))# A\n",
+ "I_C = Beta*I_B# A\n",
+ "I_E = I_C+I_B# A\n",
+ "# Applying KVL to output side\n",
+ "V_CE = V_CC - (I_E*R1)# V\n",
+ "I_E= I_E*10**3# mA\n",
+ "print \"The emitter current = %.2f mA\"%I_E\n",
+ "print \"The collector voltage = %.2f V\"%V_CE"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exa 4.12 page No 217"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 20,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The value of R_B = 84.50 k ohm\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "# Given data\n",
+ "I_C = 6.4# mA\n",
+ "I_C = I_C * 10**-3# A\n",
+ "V_CE = 8.4# V\n",
+ "Beta = 80\n",
+ "V_CC= 10# V\n",
+ "R = 250# ohm\n",
+ "R_E = 500# ohm\n",
+ "I_B = I_C/Beta# A\n",
+ "#Applying KVL to the input side, V_CC - (I_B*R_B) - V_BE - (I_E*R1) = 0 or\n",
+ "R_B = (V_CC-(Beta+1)*R_E*I_B)/I_B\n",
+ "R_B = R_B * 10**-3# k ohm\n",
+ "print \"The value of R_B = %.2f k ohm\"%R_B"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exa 4.13 page No 218"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 21,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The stability factor : 8.39\n",
+ "The quiescent points : (1.26mA,2.28V)\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "# Given data\n",
+ "Beta = 44\n",
+ "R_L = 1.51 * 10**3# ohm\n",
+ "R_E = 270# ohm\n",
+ "V_CC = 4.5# V\n",
+ "R2 = 2.7 * 10**3# ohm\n",
+ "R1 = 27 * 10**3# ohm\n",
+ "R_C = 1.5 * 10**3# ohm\n",
+ "Vth = V_CC * (R2/(R1+R2))# V\n",
+ "Rth = (R1*R2)/(R1+R2)# ohm\n",
+ "# Applying KVL to input circuit, Vth - (I_B*Rth) - V_BE - (I_E*R_E) = 0 or\n",
+ "I_C = (Vth*Beta)/(Rth + (Beta*R_E))# A (On putting I_C= Beta*I_B and V_BE=0)\n",
+ "#Applying KVL to output side, V_CC - (I_C*R_C) - V_CE - (I_E*R_E) = 0\n",
+ "V_CE = V_CC - (I_C*(R_C+R_E))# V\n",
+ "S = (Beta+1)*( (1+(Rth/R_E))/(Beta+1+(Rth/R_E)) )\n",
+ "I_C= I_C*10**3# mA\n",
+ "print \"The stability factor : %.2f\"%S\n",
+ "print \"The quiescent points : (%.2fmA,%.2fV)\"%(I_C,V_CE)\n",
+ "\n",
+ "# Note: In the book the calculated value of V_CE is correct as well as coding output, but at last they print wrong value (4.01 V)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exa 4.15 page No 220"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 22,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The value of R1 = 41.00 kΩ\n",
+ "The value of R2 = 8.52 kΩ\n",
+ "The value of R_E = 0.49 kΩ\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "# Given data\n",
+ "S = 12\n",
+ "V_CC = 16# V\n",
+ "R_C = 1.5 * 10**3# ohm\n",
+ "V_CE = 8# V\n",
+ "V_BE= 0.2# V\n",
+ "I_C = 4# mA\n",
+ "I_C = I_C * 10**-3# A\n",
+ "Beta = 50\n",
+ "# Vth = V_CC*(R2/(R1+R2)) and Rth = (R1*R2)/(R1+R2)\n",
+ "#Applying KVL to input side, Vth - I_B*Rth - V_BE - I_E*R_E = 0 (i)\n",
+ "I_B = I_C/Beta# A\n",
+ "I_E = I_B*(1+Beta)# A\n",
+ "# Applying KVL to output section,\n",
+ "R_E = (V_CC - (I_C*R_C) - V_CE)/I_E# ohm\n",
+ "#S = ((Rth+R3)*(1+Beta))/(Rth + ((1+Beta)*R_E)) (ii)\n",
+ "Rth= R_E*(1+Beta-S-Beta*S)/(S-1-Beta)# ohm\n",
+ "V_BN= V_BE+I_E*R_E##in V\n",
+ "Vth= V_BN+I_B*Rth# V\n",
+ "# Vth= V_CC*R2/(R1+R2) and Rth= R2*R1/(R1+R2), So Vth= V_CC*Rth/R1\n",
+ "R1= V_CC*Rth/Vth# ohm\n",
+ "R2= R1*Rth/(R1-Rth)# ohm\n",
+ "R1= round(R1*10**-3)# k ohm\n",
+ "R2= R2*10**-3# k ohm\n",
+ "R_E= R_E*10**-3# k ohm\n",
+ "print \"The value of R1 = %.2f kΩ\"%R1\n",
+ "print \"The value of R2 = %.2f kΩ\"%R2\n",
+ "print \"The value of R_E = %.2f kΩ\"%R_E"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exa 4.19 page No 224"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 25,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "As the value of I_B (0.08 mA) is greater than the value of I_Bmin (0.03 mA)\n",
+ "So the transistor will be in saturation region.\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "# Given data\n",
+ "h_FE = 100\n",
+ "R = 50# k ohm\n",
+ "R = R * 10**3# ohm\n",
+ "R1 = 3# k ohm\n",
+ "R1 = R1 * 10**3# ohm\n",
+ "V1 = 10# V\n",
+ "V2 = 5# V\n",
+ "V_BE = 0.8# V\n",
+ "V_CE = 0.2# V\n",
+ "#Applying KVL = %.2f input side, V2 - (R*I_B)-V_BE = 0\n",
+ "I_B = (V2-V_BE)/R# A\n",
+ "I_B = I_B * 10**3# mA\n",
+ "#Applying KVL to output side, V1 - (R1*I_C) - V_CE = 0\n",
+ "I_C = (V1-V_CE)/R1# A\n",
+ "I_C = I_C * 10**3# mA\n",
+ "I_Bmin = I_C/h_FE# mA\n",
+ "if I_B>I_Bmin:\n",
+ " print \"As the value of I_B (%.2f mA)\"%I_B,\"is greater than the value of I_Bmin (%.2f mA)\"%(I_Bmin)\n",
+ " print \"So the transistor will be in saturation region.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exa 4.20 page No 225"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 34,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Part (a) :\n",
+ "As the value of I_B (0.11 mA) is greater than the value of I_Bmin (0.03 mA),\n",
+ "So the transistor will be in saturation region.\n",
+ "Part (b) : The value of Vo = -1.65 volts\n",
+ "Part (c) :The value of R_C = 2427.51 ohm\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "from numpy import mat\n",
+ "from numpy.linalg import solve\n",
+ "# Given data\n",
+ "V_BE= 0.8# V\n",
+ "V_CE= 0.2# V\n",
+ "Beta = 100\n",
+ "h_FE = Beta\n",
+ "V1 = 3# V\n",
+ "V2 = -10# V\n",
+ "R_B = 7*10**3# ohm\n",
+ "R_E = 3*10**3# ohm\n",
+ "R_C = 500# ohm\n",
+ "#Applying KVL to input side, V1 - (I_B+I_C)*Rc - V_BEsat - (R1*I_B) = 0 or I_B*(R_B+R_C)+I_C*R_C= V1-V_BE (i)\n",
+ "# Applying KVL to output side, V2+I_C*R_E+V_CE+R_C*(I_B+I_C) = 0 or I_B*R_C+I_C*(R_C+R_E)= -V2-V_CE (ii)\n",
+ "A= mat([[(R_B+R_C), R_C],[R_C, (R_C+R_E)]])\n",
+ "B= mat([[V1-V_BE], [-V2-V_CE]])\n",
+ "C=solve(A,B) # Solving eq(i) and (ii) by matrix method\n",
+ "\n",
+ "I_B= C[0,0]# A\n",
+ "I_C= C[1,0]# A\n",
+ "I_B=I_B*10**3# mA\n",
+ "I_C=I_C*10**3# mA\n",
+ "I_Bmin= I_C/h_FE##in mA\n",
+ "if I_B>I_Bmin:\n",
+ " print \"Part (a) :\"\n",
+ " print \"As the value of I_B (%.2f\"%(I_B),\"mA) is greater than the value of I_Bmin (%.2f\"%(I_Bmin),\"mA),\"\n",
+ " print \"So the transistor will be in saturation region.\"\n",
+ "\n",
+ "Vo= -V_CE-(I_B+I_C)*10**-3*R_C# V\n",
+ "print \"Part (b) : The value of Vo = %.2f volts\"%Vo\n",
+ "V_BEactive= 0.7# V\n",
+ "V_BC= -0.5\n",
+ "# V_BN= (1+Beta)*(V1-V_BEactive)*R_C/(R_B+(1+Beta)*R_C) (iii)\n",
+ "# V_CN= Beta*R_E*(V1-V_BEactive)/(R_B+(1+Beta)*R_C) (iv)\n",
+ "# and V_BC= V_BN-V_CN, so from eq(iii) and (iv)\n",
+ "R_C= (V_BC*R_B+Beta*R_E*(V1-V_BEactive))/((1+Beta)*(V1-V_BEactive)-V_BC*(1+Beta))# ohm\n",
+ "print \"Part (c) :The value of R_C = %.2f ohm\"%R_C\n",
+ "\n",
+ "# Note : 1 = %.2f the book, the calculated value of I_B i.e 0.14mA is wrong.\n",
+ "# Note: 2 = %.2f the book the calculated value of R_C i.e 819 Ω is wrong. we can easily check that on putting 0.819 kΩ = %.2f the last step."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exa 4.21 page No 226"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 36,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "DC load line shown in figure.\n",
+ "Q-points : 1.55 V, 0.85mA\n"
+ ]
+ },
+ {
+ "data": {
+ "image/png": "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\nYII=\n",
+ "text/plain": [
+ "<matplotlib.figure.Figure at 0x7f7068892e50>"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "%matplotlib inline \n",
+ "from matplotlib.pyplot import plot,xlabel,ylabel,show,title\n",
+ "\n",
+ "# Given data\n",
+ "V_CC = 10# V\n",
+ "R_C = 10# k ohm\n",
+ "R_C = R_C * 10**3# ohm\n",
+ "R_B = 100*10**3# ohm\n",
+ "Beta_dc = 100\n",
+ "V_BE = 0.7# V\n",
+ "# Applying KVL to input section, V_CC = (I_E*R_E) + (I_B*R_B) + V_BE or\n",
+ "I_C = (V_CC-V_BE)/( R_C + (R_B/Beta_dc) )# A\n",
+ "V_CE =V_CC - (I_C*R_C)# V\n",
+ "I_C=I_C*10**3# mA\n",
+ "print \"DC load line shown in figure.\"\n",
+ "print \"Q-points : %.2f\"%(V_CE),\"V, %.2f\"%(I_C)+\"mA\"\n",
+ "I_Csat =V_CC/R_C*10**3# mA\n",
+ "V_CEcutoff = V_CC# V\n",
+ "plot([V_CEcutoff ,0],[0,I_Csat])\n",
+ "xlabel(\"V_CE in volts\")\n",
+ "ylabel(\"I_C in mA\")\n",
+ "title(\"DC load line\")\n",
+ "show()"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exa 4.23 page No 228"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 37,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The value of R_E = 990.10 ohm\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "# Given data\n",
+ "V_CC = 24# V\n",
+ "V_CE= 12# V\n",
+ "Rc = 5# k ohm\n",
+ "Rc = Rc * 10**3# ohm\n",
+ "Beta = 100\n",
+ "I_C = 2# mA\n",
+ "I_C = I_C * 10**-3# A\n",
+ "#Applying KVL to the output section, V_CC = (I_C*R_C) + V_CE + (I_E*R_E) or\n",
+ "# (V_CC-V_CE)/I_C =Rc + R_E*(1+(1/Beta)) (on putting I_E= I_C+I_B and I_B = I_C/Beta)\n",
+ "R_E = (((V_CC-V_CE)/I_C)-Rc)*(1/(1+(1/Beta)))# ohm\n",
+ "print \"The value of R_E = %.2f ohm\"%R_E"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exa 4.24 page No 229"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 38,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The value of R1 = 18.20 k ohm\n",
+ "The value of R2 = 2.30 k ohm\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "# Given data\n",
+ "S = 3\n",
+ "Beta = 100\n",
+ "I_C = 2# mA\n",
+ "I_C = I_C * 10**-3# A\n",
+ "R_E = 990# ohm\n",
+ "V_CC = 24# V\n",
+ "V_BE= 0.65# V\n",
+ "I_B = I_C/Beta# A\n",
+ "I_E= I_B+I_C# A\n",
+ "# S = ((Beta+1)*(Rth+R_E))/(Rth+(R_E*(1+Beta))), where Rth= R1*R2/(R1+R2)\n",
+ "Rth = ((R_E*Beta) - (S*R_E) - (S*R_E*Beta) + R_E)/(S-Beta-1)# ohm\n",
+ "Vth= I_B*Rth+V_BE+I_E*R_E# V\n",
+ "# Vth= V_CC*R2/(R1+R2) or \n",
+ "R1= V_CC*Rth/Vth# ohm\n",
+ "R1= R1*10**-3# k ohm\n",
+ "R2= Vth*R1/(V_CC-Vth)# k ohm\n",
+ "print \"The value of R1 = %.2f k ohm\"%R1\n",
+ "print \"The value of R2 = %.2f k ohm\"%R2"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exa 4.25 page No 230"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 39,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The value of R_C = 1.20 k ohm\n",
+ "The value of R_E = 1.19 k ohm\n",
+ "The value of R1 = 32.86 k ohm\n",
+ "The value of R2 = 17.24 k ohm\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "# Given data\n",
+ "I_C =5 * 10**-3# A\n",
+ "V_CE = 8# V\n",
+ "V_E = 6# V\n",
+ "S = 10\n",
+ "h_fc = 200\n",
+ "Beta = h_fc\n",
+ "V_CC = 20# V\n",
+ "V_BE = 0.6# V\n",
+ "I_B =I_C/Beta# A\n",
+ "I_E = I_C+I_B# A\n",
+ "# I_C*R_C = V_CC - V_CE - V_E\n",
+ "R_C = (V_CC - V_CE - V_E)/I_C# ohm\n",
+ "R_C = R_C * 10**-3# k ohm\n",
+ "print \"The value of R_C = %.2f k ohm\"%R_C\n",
+ "R_C = R_C * 10**3# ohm\n",
+ "#Voltage at point E, V_E =I_E*R_E\n",
+ "R_E = V_E/I_E# ohm\n",
+ "R_E = R_E * 10**-3# k ohm\n",
+ "print \"The value of R_E = %.2f k ohm\"%R_E\n",
+ "R_E = R_E * 10**3# ohm\n",
+ "# S = ((Beta+1)*(R_B+R_E))/( R_B+(R_E*(1+Beta)) ), where R_B= R1*R2/(R1+R2)\n",
+ "R_B = ((R_E*(1+Beta))-(S*R_E*(1+Beta)))/( S-(1+Beta) )# ohm\n",
+ "# Vth = V_CC*(R2/(R1+R2)) = V_CC*(R_B/R1)\n",
+ "# Applying KVL we get, Vth= I_B*R_B+V_BE+V_E or\n",
+ "Vth = (I_B*R_B) + V_BE + V_E# V\n",
+ "R1 =(V_CC/Vth)*R_B# ohm\n",
+ "R1= R1*10**-3# k ohm\n",
+ "print \"The value of R1 = %.2f k ohm\"%R1\n",
+ "R2 = (R1*Vth)/(V_CC-Vth)# k ohm\n",
+ "print \"The value of R2 = %.2f k ohm\"%R2"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exa 4.26 page No 231"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 40,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The value of V_BB to saturate the transistor = 2.98 V\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "# Given data\n",
+ "V_CEsat = 0.1# V\n",
+ "V_BEsat = 0.6# V\n",
+ "h_fc = 50\n",
+ "Beta = h_fc\n",
+ "V_CC = 12# V\n",
+ "R_C = 1# k ohm\n",
+ "R_C = R_C * 10**3# ohm\n",
+ "R_B = 10# k ohm\n",
+ "R_B = R_B * 10**3# ohm\n",
+ "# The collector current,\n",
+ "I_C = (V_CC-V_CEsat)/R_C# A\n",
+ "I_B = I_C/Beta# mA\n",
+ "# The value of V_BB to saturate the transistor \n",
+ "V_BB = (I_B*R_B) + V_BEsat# V\n",
+ "print \"The value of V_BB to saturate the transistor = %.2f V\"%V_BB"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exa 4.27 page No 233"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 41,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The value of I_C = 4.54 mA\n",
+ "The value of Vo = 7.31 V\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "# Given data\n",
+ "V_CC = 30# V\n",
+ "R1 = 90# k ohm\n",
+ "R1 = R1 * 10**3# ohm\n",
+ "R2 = 45# k ohm\n",
+ "R2 = R2 * 10**3# ohm\n",
+ "R_C = 5# k ohm\n",
+ "R_C = R_C * 10**3# ohm\n",
+ "R_E = 5# k ohm\n",
+ "R_E =R_E * 10**3# ohm\n",
+ "V_BE = 0.6# V\n",
+ "h_FE = 100\n",
+ "Beta = h_FE\n",
+ "I_CBO = 10# µA\n",
+ "I_CBO = I_CBO * 10**-6# A\n",
+ "V_BB = V_CC*(R2/(R1+R2))# V\n",
+ "Vth = V_BB# V\n",
+ "R_BB = (R1*R2)/(R1+R2)# ohm\n",
+ "Rth= R_BB# ohm\n",
+ "I_C = (V_CC-V_BE)/( (Rth/Beta)+R_E )# A\n",
+ "I_CEO = (Beta+1)*I_CBO# A\n",
+ "# The value of I_C \n",
+ "I_C = I_C-I_CEO# A\n",
+ "I_C= I_C*10**3# mA\n",
+ "print \"The value of I_C = %.2f mA\"%I_C\n",
+ "# The value of Vo\n",
+ "Vo =V_CC-(I_C*10**-3*R_C)# V\n",
+ "print \"The value of Vo = %.2f V\"%Vo\n",
+ "\n",
+ "# Note: In the book, the putted value of V_CC (i.e 20 V ) to evaluate the value of I_C is wrong, so the value of I_C = %.2f the book is wrong and due to this the value of Vo is also wrong."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exa 4.28 page No 233"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 42,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The value of I_CQ = 0.87 mA\n",
+ "The value of V_CEQ = 3.48 V\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "# Given data\n",
+ "Beta = 130\n",
+ "V_BE = 0.7# V\n",
+ "V_CC = 18# V\n",
+ "R1 = 510# k ohm\n",
+ "R1 = R1 * 10**3# ohm\n",
+ "R2 = 510# k ohm\n",
+ "R2 = R2 * 10**3# ohm\n",
+ "R_C = 9.1# k ohm\n",
+ "R_C = R_C * 10**3# ohm\n",
+ "R_E = 7.5*10**3# ohm\n",
+ "Vth = V_CC*(R2/(R1+R2))# V\n",
+ "Rth = (R1*R2)/(R1+R2)# ohm\n",
+ "#Applying KVL = %.2f the input loop, Vth = (I_B*Rth)+V_BE+(I_E*R_E) or\n",
+ "I_CQ = (Vth-V_BE)/( (Rth/Beta)+R_E+(R_E/Beta) )# A (On putting I_E = I_C+I_B and I_C = Beta*I_B)\n",
+ "I_CQ= I_CQ*10**3# mA\n",
+ "print \"The value of I_CQ = %.2f mA\"%I_CQ\n",
+ "# Applying KVL = %.2f the output loop, V_CC = (I_C*R_C) + V_CEQ + (I_E*R_E)\n",
+ "V_CEQ = V_CC - (I_CQ*10**-3*( R_C+R_E+(R_E/Beta) ))# V\n",
+ "print \"The value of V_CEQ = %.2f V\"%V_CEQ"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exa 4.29 page No 235"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 43,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The value of I_CQ = 1.51 mA\n",
+ "The value of V_CEQ = -7.10 V\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "# Given data\n",
+ "V_CC = 18# V\n",
+ "V_BE = 0.7# V\n",
+ "R1 = 510# k ohm\n",
+ "R1 = R1 * 10**3# ohm\n",
+ "Beta = 130\n",
+ "R_E = 7.5# k ohm\n",
+ "R_E = R_E * 10**3# ohm\n",
+ "R_C = 9.1# k ohm\n",
+ "R_C = R_C * 10**3# ohm\n",
+ "# The value of I_CQ \n",
+ "I_CQ = (V_CC-V_BE)/( (R1/Beta)+R_E+(R_E/Beta) )# A\n",
+ "I_CQ= I_CQ*10**3# mA\n",
+ "print \"The value of I_CQ = %.2f mA\"%I_CQ\n",
+ "# The value of V_CEQ \n",
+ "V_CEQ = V_CC - I_CQ*10**-3*(R_C+R_E+(R_E/Beta))# V\n",
+ "print \"The value of V_CEQ = %.2f V\"%V_CEQ"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exa 4.30 page No 236"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 45,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The value of I_CQ = 1.06 mA\n",
+ "The value of V_CEQ = 3.65 V\n",
+ "The value of I''CQ = 1.19 mA\n",
+ "The value of V''CEQ = 3.68 V\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "# Given data\n",
+ "V_CC = 10# V\n",
+ "Beta = 90\n",
+ "V_BE = 0.7# V\n",
+ "R_E = 4.7# k ohm\n",
+ "R_E = R_E * 10**3# ohm\n",
+ "R_B = 250# k ohm\n",
+ "R_B = R_B * 10**3# ohm\n",
+ "R = 1.2# k ohm\n",
+ "R = R * 10**3# ohm\n",
+ "#Applying KVL for input loop, V_CC = R_E*I_E + R_B*I_B + V_BE +I_E*R or\n",
+ "I_CQ = (Beta*(V_CC-V_BE))/( ((1+Beta)*(R_E+R))+R_B )# A (On putting I_E = I_C+I_B and I_B = I_C/Beta)\n",
+ "I_CQ=I_CQ*10**3# mA\n",
+ "print \"The value of I_CQ = %.2f mA\"%I_CQ\n",
+ "I_CQ=I_CQ*10**-3# A\n",
+ "#Applying KVL for output loop, V_CC = ((I_CQ+(I_CQ/Beta))*R_E)+V_CEQ + ((I_CQ+(I_CQ/Beta))*R)\n",
+ "V_CEQ = V_CC - ( (I_CQ+(I_CQ/Beta)) * (R_E+R) )# V\n",
+ "print \"The value of V_CEQ = %.2f V\"%V_CEQ\n",
+ "# If beta is increased by 50% i.e\n",
+ "bita = Beta+Beta/2\n",
+ "I_deshCQ = (bita*(V_CC-V_BE))/( ((1+bita)*(R_E+R))+R_B )# A\n",
+ "I_deshCQ=I_deshCQ*10**3# mA\n",
+ "print \"The value of I''CQ = %.2f mA\"%I_deshCQ\n",
+ "V_deshCEQ = V_CC - ( (I_CQ+(I_CQ/bita)) * (R_E+R) )# V\n",
+ "print \"The value of V''CEQ = %.2f V\"%V_deshCEQ\n",
+ "\n",
+ "# Note: In the book, there is calculation error to evaluate the value of V'CEQ, So the answer = %.2f the book is wrong."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exa 4.34 page No 238"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 47,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The value of beta = 153.41\n",
+ "The value of V_CC = 17.68 V\n",
+ "The value of R_B = 744.21 k ohm\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "# Given data\n",
+ "I_B = 20# µA\n",
+ "I_B = I_B * 10**-6# A\n",
+ "R_C = 2.7# k ohm\n",
+ "R_C = R_C * 10**3# ohm\n",
+ "V_CE = 7.3# V\n",
+ "V_BE = 0.7# V\n",
+ "R_E = 0.68# k ohm\n",
+ "R_E = R_E * 10**3# ohm\n",
+ "V_E = 2.1# V\n",
+ "I_E = V_E/R_E# A\n",
+ "I_C =I_E-I_B# A (as I_E = I_C+I_B)\n",
+ "Beta = I_C/I_B\n",
+ "print \"The value of beta = %.2f\"%Beta\n",
+ "# Applying KVL to the output loop, \n",
+ "V_CC = (I_C*R_C) +V_CE + (I_E*R_E)# V\n",
+ "print \"The value of V_CC = %.2f V\"%V_CC\n",
+ "# Applying KVL to the output loop, V_CC = (I_B*R_B)+V_BE+(I_E*R_E) or\n",
+ "R_B = (V_CC-V_BE-(I_E*R_E))/I_B# ohm\n",
+ "R_B= R_B*10**-3## k ohm\n",
+ "print \"The value of R_B = %.2f k ohm\"%R_B"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exa 4.36 page No 239"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "At saturation, the value of I_C = 6.06 mA\n",
+ "At cut off, the value of V_CE = 20.00 volts\n",
+ "DC load line shown in figure.\n"
+ ]
+ },
+ {
+ "data": {
+ "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXwAAAEaCAYAAAASSuyNAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3XecVPX1//HXWVYEBOwaGwJGadItgAFGVEJLNHaNBU0s\n+Ro7xi74taMIar75RWM0JlFiIpagaKwTUWkiHRajCRo7goKI2Di/Pz4XXNdtszt37pT38/GYBzN3\n7szn7DyGs3fP/dzzMXdHRESKX1nSAYiISG4o4YuIlAglfBGREqGELyJSIpTwRURKhBK+iEiJUMKX\nomZmI81sakzvvd7M2tfwXNrMfhbd/6mZ/SOOGEQyoYQvecPMlpnZWjNbbWYfmdmLZnaamVmV/fYx\nsynRPivMbIaZjUwo7Jp4dMPd73X3HyYcj4gSvuQVB0a4e2ugDXA9cCHw+w07mFlf4BngOWA3d98a\n+AUwJPfhihQWJXzJS+7+ibtPBo4CTjSzztFTNwJ/cPcb3X1ltO8r7n50fd7XzPqZ2Swz+9jMZka/\nQDY8d5KZLY7+wnjdzE6t8toLzOwdM3vLzE6u789StawUlYJOM7NXo79Sfl1l/5OjOFaa2RNm1qa+\nY4nURglf8pq7zwLeAvqbWQugD/BAQ97LzLYCHgMmAFsBNwOPRdsB3geGR39hnASMN7Oe0WuHAOcD\nBwJ7RP82xnBgL6AbcKSZ/TAa52DgYuAnwDbAVGBiI8cSAZTwpTC8Q0jQWxK+s+828H2GA0ujmvp6\nd/8LUAH8CMDdp7j7f6L7zwNPAv2j1x4J3OXui919LTC6wT9NcL27r3b3/xLKU92j7acD17n7Undf\nD1wH9DCzXRo5nogSvhSEnYGV0W09sEMD32dH4M0q296ItmNmQ81senQi+CNgGLB1tN8OwH8rva7q\n+2TqvUr31wIto/u7ArdEpZ6PgBXR9p0aOZ6IEr7kNzPbm5CQX3D3z4BpwOENfLu3CQm1sl2Bt81s\nU2ASMBbYzt23BKYAG2YIvUs4kbxBXHX1N4FT3X3LSrfN3H16TONJCVHCl3xjAGbW2sxGEOrXf3L3\nRdHzvwJGmtkoM9s62re7mdWnzv04sIeZHWNm5WZ2FNAReBRoGt0+BNab2VBgcKXX/jUat1N0LqGx\nJZ3KjG9+sfwWuGTDSWoz29zMjsjiWFLClPAl30w2s9WEI92LgXGEE6gAuPs0YFB0e93MVgC3E07G\nVqfyfPgVwAjCydcPgVGEaaAr3f0T4CxCYl8JHAM8UmncJwgne58FXiVMDa3vYhIbY6j0uKYYHwZu\nAP5iZquABcDGOfxmttDMjqnnuCLfYnEvgGJmHYC/VNrUHrjc3W+NdWAREfmW2BP+twYzKyPUUfeJ\nZieIiEiO5LqkcyDwupK9iEju5TrhHw3cl+MxRUSEHJZ0zKwpoZzT2d2X52RQERHZqDyHYw0FZldN\n9maWu5MIIiJFxN2t7r2+kcuSzjHU0BPE3XXL0m306NGJx1BMN32e+jzz9dYQOUn4ZrYZ4YTtg7kY\nT0REvisnJR13/5TQ+U9ERBKiK22LTCqVSjqEoqLPM7v0eSYrpxdeVRuAmScdg4hIoTEzPI9P2oqI\nSIKU8EVESoQSvohIiVDCFxEpEUr4IiIlQglfRKREKOGLiJQIJXwRkRKhhC8iUiKU8EVESoQSvohI\niVDCFxEpEUr4IiIlQglfRKREKOGLiJQIJXwRkRKhhC8iUiKU8EVESoQSvohIiVDCFxEpEUr4IiIl\nIvaEb2ZbmNkDZrbEzBabWZ+4xxQRke8qz8EYtwBT3P1wMysHNsvBmCIiUkWsR/hmtjnQ393vAnD3\nr9x9VdX9Hn0U3OOMRERE4i7ptAOWm9ndZvaKmf3OzFpU3WnUKBg6FJYsiTkaEZESFnfCLwd6Ab9x\n917Ap8BFVXdasACGDIEBA+Dss+Gjj2KOSkSkBMVdw38LeMvdZ0WPH6CahH/NNWMAGDkSli5N0bFj\nijFj4JRToDwXZxlERPJcOp0mnU436j3MYy6em9nzwM/d/VUzGwM0d/cLKz3vVWOYPz8c6a9YARMm\nwKBBsYYoIlJwzAx3t4xek4OE3x24E2gKvA6cVPnEbXUJH8JJ3IceCvX9Hj3gppugfftYQxURKRh5\nmfDrDKCGhL/BunUwfjyMGwenngoXXwytWuUwQBGRPNSQhJ/3V9o2axaS/Pz58Pbb0LEj3HMPrF+f\ndGQiIoUl74/wq5oxI9T316+HW26Bvn1jDE5EJE8V5RF+VfvuCy+9BGeeCUccAccfH478RUSkdgWX\n8AHKykKir6iAXXeFbt3g6qvhs8+SjkxEJH8VZMLfoGXLkOhffhnmzoVOneCBB9SmQUSkOgVXw69N\nOh3q+1tsEer7PXpk5W1FRPJOSdTwa5NKwSuvwLHHhlYNp50Gy5cnHZWISH4oqoQP0KRJSPQVFbDZ\nZtC5M9x8M3zxRdKRiYgkq+gS/gZbbBES/dSp8PTT0LUrTJmSdFQiIskpqhp+baZMgXPPhd12C78I\nOnaMfUgRkdiUfA2/NsOGhTbMBx0E/fuH5K82zCJSSkom4QM0bRoS/aJFsHZtOMq//Xb4+uukIxMR\niV/JlHSqM3cunHNOONKfMAH23z+RMEREMlaU3TLj5g6TJoU2zHvtBTfeCO3aJRaOiEi9qIbfAGZw\n+OFhPd0ePWDvveHSS2HNmqQjExHJrpJP+Bs0bw6XXQbz5sGbb4b6/p/+pDbMIlI8Sr6kU5Np00Kb\nhrKy0KZh332TjkhE5Bsq6WRR374wfTr8z//AoYfCCSfAO+8kHZWISMMp4deirCwk+ooK2Hnn0Ib5\n2mvDsosiIoVGCb8eWrUKiX7mTJg9O7RhnjRJbZhFpLCoht8Azz4b5u9vvXWYv9+9e9IRiUipUQ0/\nRwYNCm2YjzwSBg+GX/xCbZhFJP8p4TdQeXlI9BUVsOmmoQ3zhAnw5ZdJRyYiUr2clHTMbBmwGvga\n+NLd96n0XMGVdKqzeDGcdx688QaMHx8WYBERiUvetlYws/8Avd19ZTXPFUXCh3ASd0Mb5t13D22Y\nO3RIOioRKUb5XsPPKLBCZAbDh8PChaHOv99+cP758PHHSUcmIpK7hO/A02b2spmdkqMxE9O0aUj0\nixfDJ5+ENg133KE2zCKSrFyVdHZw93fNbFvgKeBMd58aPeejR4/euG8qlSKVSsUeUy7NmRPaNKxe\nHdo0DByYdEQiUmjS6TTpdHrj4yuvvDI/a/jfGtBsNLDG3cdFj4umhl8bd/jb3+CCC0JfnrFjoW3b\npKMSkUKVlzV8M2thZq2i+5sBg4EFcY+bb8zCvP2KirCg+l57weWXw6efJh2ZiJSKXNTwtwemmtlc\nYAbwqLs/mYNx81Lz5iHRz5kD//53qO/fe6/aNIhI/NRaIWEvvRTq++Xlob6/zz51v0ZEJC9LOlK7\nfv1gxgw47TQ45BAYORLefTfpqESkGCnh54GyspDoKyrge98LNf7rrlMbZhHJLiX8PNK6NVx/fTji\nnzkz9Od56CHV90UkO1TDz2NPPx3aMG+/fWjM1rVr0hGJSL5QDb/IHHggzJ0Lhx0GBxwQllv88MOk\noxKRQqWEn+fKy0Oir6gI9zt3hltvVRtmEcmcSjoFZtGi0I3zrbdCG+Yf/jDpiEQkCXnbHrnWAJTw\nM+YOkyeHBm0dO8K4cbDHHklHJSK5pBp+iTCDH/84tGEeMCDM5b/gAli1KunIRCSfKeEXsE03DYl+\n4UJYuTIc7d95p9owi0j1VNIpIrNnhzYNa9eGNg39+ycdkYjERTV8wR3uvx9+9atQ6hk7Ftq0SToq\nEck21fAFMzj66DCNs1Mn6NkTRo9WG2YRUcIvWi1ahEQ/Zw68+mpI/hMnqk2DSClTSadEvPBCqO83\naxbq+3vtlXREItIYKulIjX7wA5g1C372M/jRj+Dkk+G995KOSkRySQm/hJSVhUS/dClssw3suWc4\nqfv550lHJiK5oIRfglq3Dol+2jR48UXo0gUeeUT1fZFipxq+8NRToQ3zjjuG/jx77pl0RCJSF9Xw\npUEOOgjmzYODD4ZBg+CXv4QVK5KOSkSyrcEJ38x+l81AJFnl5SHRL1kSHnfqBLfdpjbMIsWkwSUd\nM+vt7rMbHYBKOnlp4cJQ5nn33bDa1kEHJR2RiFSWs5KOmbUBDmjIa6Uw7LlnqO1fey2cfnoo97z2\nWtJRiUhj1Dvhm9l2ZnaGmb0ApIHtM3htEzObY2aTGxCjJMQsJPrFi0Nfnj594MILYfXqpCMTkYao\nNeGbWWszG2lm/wCmAe2Bdu7e3t3Pz2Ccs4HFgGo3BWjTTUOiX7AAli8PbZjvugvWr086MhHJRF1H\n+O8DhwKj3X23KMl/kckAZrYzMAy4E8io3iT5ZYcdQqJ/5JHQd3+ffcI8fhEpDHUl/IsJpZvfmNlF\nZrZbA8YYD1wA6HiwSOy9d0j0550XOnMecwy8+WbSUYlIXcpre9LdJwATokR/NPAwsIOZXQg85O6v\n1vZ6MxsBfODuc8wsVdN+Y8aM2Xg/lUqRStW4q+QJMzj22FDjHzs2tGE+66ywAleLFklHJ1J80uk0\n6XS6Ue+R8bRMM+sKHAMc5e61HvGb2bXA8cBXQDOgNTDJ3U+otI+mZRaBN94Ii65Mnw433ABHHRV+\nKYhIPGJf8crMWhP+KjAAd6/39ZhmNhAY5e4/qrJdCb+ITJ0a2jC3aBHaMPfunXREIsUptnn4Znaa\nmb0HLABmAy8DszIPUbN0il3//qEN88iRMGIE/Pzn8P77SUclIlDPI3wzew3o4+4fZj0AHeEXrVWr\n4Oqr4e67w7TOs84KUzxFpPHivNL238BnmYckpWzzzeHGG+Gll+D558PVu5Mnqw2zSFLqe4TfC/gD\n4eKrDfPw3d3PanQAOsIvGU88AeeeC23ahDbMnTsnHZFI4YrzCP8O4GlgOqF+Pzu6idTbkCEwfz4M\nHw4DB4YSz8qVSUclUjrqe4Q/x917xhKAjvBL0ocfwhVXwKRJMHo0nHpqaNEsIvUT27TMaD79G8Df\ngY0roLp7o4/PlPBL24IFYRrn8uWhDfMB6sEqUi9xJvxlfHdKpbt7+0wGq+G9lfBLnDs8/DCcfz50\n7w433QS7NaSJh0gJia2G7+5t3b1dlVujk70IhCtyf/KT0IZ5333D7aKL4JNPko5MpLhoTVvJG82a\nhUQ/fz689x506AB/+IPaMItkS4OXOMxaACrpSA1mzgz1/a++Cm0a+vVLOiKR/BF7L504KOFLbdav\nh4kTw5W6AweGxmw775x0VCLJi3VNWzPbycz2M7MBZjbQzAZkHqJIZsrK4Kc/hYoKaN8+nNS96ir4\nTNd9i2SsvrN0bgCOIixT+PWG7VU7XzYoAB3hSwaWLQttmGfMCG0bjjhCbZilNMU5LfNVoKu7f17n\nzhlSwpeG+Oc/Q32/detQ3+8Zy2WBIvkrzpLO60DTzEMSicfAgTB7Nhx3HAwdCqecAh98kHRUIvmt\nvgn/M2Cumd1hZrdFt1vjDEykLk2ahJYMFRXhSL9zZxg3Dr74ou7XipSi+pZ0Rlaz2d39nkYHoJKO\nZMnSpWFh9X/9C26+OTRpU31fipWmZYoAjz8e2jC3bRvaMHfqlHREItmX9Rq+mf0t+ndBNbf5jQlW\nJC5Dh4ambEOGwIABcM458NFHSUclkrxaj/DNbEd3f8fM2lb3vLsva3QAOsKXGC1fDpdfDg89BGPG\nhJO7asMsxUAlHZEazJsXjvRXrAhtmAcNSjoikcZRwhephTs8+CCMGgW9eoULt9qr56sUqFhbK4gU\nOjM47LDQhrlXL9hnH7jkErVhltJR10nb7cysSzXbu5jZtvGFJRKf5s3h0ktDmeett6BjR/jjH9WG\nWYpfXUf4twHbVLN9a+CW+gxgZs3MbIaZzTWzxWZ2XaZBisRhp51Cop80Cf7v/6BvX5g+PemoROJT\n1yyd2e7eu4bnFrn7d47+a9i3hbuvNbNy4AVglLu/ED2nGr4kbv16uPfesADLoEFw/fXhF4JIvoqj\nht+qluc2qe8g7r42utsUaAI0evFzkWwqK4Pjjw9X67ZpE9owX3212jBLcakr4b9mZsOrbjSzYYSG\navViZmVmNhd4H3jO3RdnFqZIbrRsCddcA7Nmwdy5oT/PAw+EGT4iha6uks4ewKPAS8BswIDeQD9g\nhLsvzWgws82BfwAXuXs62uajR4/euE8qlSKVSmX0Q4jE5bnnwvz9LbcM8/d79Eg6IilV6XSadDq9\n8fGVV16Z/Xn4ZtYMOBbYUK9fBNzn7usyivab97sc+Mzdb4oeq4Yvee3rr+HOO2H0aDj44FDq2VZz\n1CRhsczDd/d17n6Xu58f3e6qmuzNbFotQW1jZltE95sDBwFzMglSJElNmsBpp8GSJdCiRSjzjB+v\nNsxSeLJ14VWzWp7bAXg2quHPACa7+zNZGlckZ7bcMiT6qVPhySehW7fQmVOkUGSltYKZzXH3Bi0y\np5KOFKopU0Ib5t12C/33O3ZMOiIpJWqtIJJDw4aFNswHHgj9+4fk//HHSUclUjMlfJFGaNo0rLK1\naBGsXRuO8m+/PZzoFck32SrpdHX3BQ18rUo6UjTmzAnTOFetCtM4NcNY4pL19shmtgaoaQd399aZ\nDFbDGEr4UlTcQ3+eUaNgr71CG+Z27ZKOSopN1mv47t7S3VvVcGt0shcpRmZw+OFhGmePHiHpX3YZ\nrFmTdGRS6lTDF4lJ8+Yh0c+bB8uWhfr+n/+sNsySHK14JZIj06bB2WeHRm233AL77pt0RFLINC1T\nJI9t6Lf/i1/AoYfCiSfCO+8kHZWUEiV8kRwqKwuJvqICdtwxXK177bWwrkGdqUQyo4QvkoBWreC6\n62DmTHj55dCf58EH1YZZ4qUavkgeeOaZMH9/223D/P1u3ZKOSPKdavgiBeqAA8JFW0ccAQcdFOr8\nH36YdFRSbJTwRfJEeXlI9EuWhJYNnTqF2Txffpl0ZFIsVNIRyVOLF4eGbG++GdoyDxmSdESST7Le\nWiEXlPBFauYOjz0WEn+HDqEN8x57JB2V5APV8EWKjBmMGBG6caZS0K9f6NGzalXSkUkhUsIXKQBN\nm4ZEv2hRSPYdOsDvfqc2zJIZlXRECtArr4Q2DWvWhBO7AwYkHZHkmmr4IiXEHf76V/jVr0Jfnhtv\nhF13TToqyRXV8EVKiBkcdVSYxrnnntCrF1xxBXz6adKRSb5SwhcpcC1ahEQ/dy68/npow3zvvWrT\nIN+lko5IkXnxxVDfb9o01Pf33jvpiCQOKumICPvtF5qynXIKHHwwnHQSvPtu0lFJPog94ZvZLmb2\nnJktMrOFZnZW3GOKlLqyspDoKypg++2ha1e4/nq1YS51sZd0zOx7wPfcfa6ZtQRmA4e4+5LoeZV0\nRGL22mthHv+CBTBuXDjyt4yKAZJvCmJappk9DNzm7s9Ej5XwRXLk6adDG+bttw9tmLt2TToiaai8\nr+GbWVugJzAjl+OKSHDggWE2z6GHhpbMZ5wBK1YkHZXkSnmuBorKOQ8AZ7v7msrPjRkzZuP9VCpF\nKpXKVVgiJae8PCT6o4+GMWNCG+bLLgutmTfZJOnopCbpdJp0Ot2o98hJScfMNgEeBR539wlVnlNJ\nRyRBixaFMs/bb4cyz+DBSUck9ZGXNXwzM+AeYIW7n1vN80r4Iglzh8mT4bzzwvq648bB7rsnHZXU\nJl9r+PsBxwH7m9mc6KalHETyiBn8+MfhaL9/f+jbFy64QG2Yi42utBWR73jvPbj0UpgyBa6+GkaO\nhCZNko5KKsvLkk6dASjhi+Stl18ObRrWrQttGn7wg6Qjkg2U8EUk69zh/vtDG+Z+/WDsWGjTJumo\nJF9r+CJSwMzCFM6KitCJs2fPMJ1z7dqkI5NMKeGLSL20aBES/Zw5sHRpSP4TJ6oNcyFRSUdEGmTq\n1FDfb9Ei1Pd79046otKiko6I5Ez//jBrVujKOWIEnHxymN0j+UsJX0QarEkT+NnPQolnm23CUotj\nx8LnnycdmVRHCV9EGq1165Dop02DF16ALl3gkUdU3883quGLSNY9+WToz7PTTqE/T5cuSUdUfFTD\nF5G8MHgwzJsX2jXsvz+ceSasXJl0VKKELyKx2GSTkOgXL4b168M0zl//Gr76KunISpdKOiKSEwsW\nhDLP+++HMs+BByYdUWFTawURyWvu4WTu+eeHGT3jxsH3v590VIVJNXwRyWtmcMghoczTrx/06QMX\nXgirVycdWWlQwheRnNt005DoFyyADz4I9f277gq1fomPSjoikrhZs0Kbhi++CG0a9tsv6Yjyn2r4\nIlKw3EMztgsvDG0bbrgBdtkl6ajyl2r4IlKwzODYY0Mb5u9/H3r0gCuvVBvmbFLCF5G8stlm8L//\nC6+8Ek7uduoUFmBRIaDxVNIRkbz2/POhvt+yZajv9+qVdET5QSUdESk6AwaEtXVPOAGGD4ef/zxc\nvCWZU8IXkbzXpAmcckqo72+xRWjGdtNNYVaP1J8SvogUjM03D4n+xRchnQ5X606erPp+fcVewzez\nu4DhwAfu3rWa51XDF5EGeeIJOPdcaNMGxo+Hzp2Tjih38rWGfzcwJAfjiEiJGTIE5s+HYcNg4MBw\ncldtmGsWe8J396nAR3GPIyKlaZNNQqJfsgS+/DJM4/zNb9SGuTqq4YtIUdhmm5Don3oKHngAevaE\nZ55JOqr8Up50AABjxozZeD+VSpFKpRKLRUQKW7duIdE/9FCY2dOjRzjR27590pE1TjqdJp1ON+o9\ncnLhlZm1BSbrpK2I5NK6deFk7rhxIflfcgm0apV0VNmRrydtRUQS0awZXHxxOLH7zjuhDfM995Ru\nG+ZcTMucCAwEtgY+AK5w97srPa8jfBHJiRkzwgne9etDm4a+fZOOqOHUHllEpA7r18N998FFF0Eq\nBddfDzvvnHRUmVNJR0SkDmVlcNxxoU1D27bQvTtcdRV89lnSkcVPCV9ESlLLlnD11aEx2/z5Yf7+\n3/5W3G0aVNIRESH05jn77NCv55Zbwjz+fKaSjohIA6VSYdGV446DoUPh1FPDAuvFRAlfRCTSpElI\n9BUVoeTTpQvcfHPxtGFWwhcRqWKLLUKinzo1XLXbtSs89ljh1/dVwxcRqcOUKXDeedCuXfhF0KlT\n0hGphi8iEothw8JMnsGDw5KL55wDHxVgD2AlfBGRemjaNCy2snhx6NHTsSP89rfw9ddJR1Z/KumI\niDTA3LnfHOlPmAD775/b8dVaQUQkh9zhwQdh1Cjo1Su0YW7XLjdjq4YvIpJDZnDYYaHM06sX7LUX\nXHoprFmTdGTVU8IXEWmk5s1Dop8/H/77X+jQAf74x/xrw6ySjohIlk2fHto0QGjT0KdP9sdQSUdE\nJA/06QPTpsEZZ4SSzwknwNtvJx2VEr6ISCzKykKiX7oUdtkltGG+5ppk2zAr4YuIxKhly5DoZ84M\nzdk6d4ZJk5Jp06AavohIDj33XKjvb7VVqO93796w91ENX0Qkz+2/fzjSP/ro0Krh9NNh+fLcjK2E\nLyKSY+XlIdFXVECzZqHMM358/G2YVdIREUnYkiWhT8+yZSHxDx1a92vUWkFEpEC5hzbM554Lu+8e\n2jB36FDz/nlZwzezIWZWYWb/MrML4x5PRKQQmcHw4bBwIQwaBPvtF3rwf/xx9saINeGbWRPg18AQ\noDNwjJnlwdIBxSudTicdQlHR55ld+jzr1rQpnH9+6M+zZk1ow3zHHdlpwxz3Ef4+wGvuvszdvwT+\nAhwc85glTf+hskufZ3bp86y/7bYLif7xx+HPf4bevaGxH1/cCX8n4L+VHr8VbRMRkXro2RP++U+4\n5BIYORKOOCKc3G2IuBO+zsaKiDSSGRx5ZJjN061baMPcoPeJc4aMmfUBxrj7kOjxxcB6d7+h0j76\npSAi0gB5NS3TzMqBpcABwDvATOAYd18S26AiIlKt8jjf3N2/MrNfAv8AmgC/V7IXEUlG4hdeiYhI\nbiTaS0cXZWWXmS0zs/lmNsfMZiYdTyExs7vM7H0zW1Bp21Zm9pSZvWpmT5rZFknGWEhq+DzHmNlb\n0fdzjpkNSTLGQmJmu5jZc2a2yMwWmtlZ0faMvqOJJXxdlBULB1Lu3tPd90k6mAJzN+G7WNlFwFPu\nvgfwTPRY6qe6z9OBm6PvZ093fyKBuArVl8C57t4F6AOcEeXLjL6jSR7h66KseGR01l4Cd58KfFRl\n84+Be6L79wCH5DSoAlbD5wn6fjaIu7/n7nOj+2uAJYRrmjL6jiaZ8HVRVvY58LSZvWxmpyQdTBHY\n3t3fj+6/D2yfZDBF4kwzm2dmv1eJrGHMrC3QE5hBht/RJBO+zhZn337u3hMYSviTr3/SARWLqKWr\nvrON8/+AdkAP4F1gXLLhFB4zawlMAs52908qP1ef72iSCf9tYJdKj3chHOVLA7n7u9G/y4GHCGUz\nabj3zex7AGa2A/BBwvEUNHf/wCPAnej7mREz24SQ7P/k7g9HmzP6jiaZ8F8GdjeztmbWFDgK+HuC\n8RQ0M2thZq2i+5sBg4EFtb9K6vB34MTo/onAw7XsK3WIEtIGP0Hfz3ozMwN+Dyx29wmVnsroO5ro\nPHwzGwpM4JuLsq5LLJgCZ2btCEf1EC6ou1efZ/2Z2URgILANoRZ6BfAI8FegDbAMONLds9idvHhV\n83mOBlKEco4D/wFOq1R/llqY2Q+A54H5fFO2uZjQvaDe31FdeCUiUiK0iLmISIlQwhcRKRFK+CIi\nJUIJX0SkRCjhi4iUCCV8EZESoYQvIlIilPAlb5nZs2Y2uMq2c8zsN7W8Zg8zmxL1B59tZveb2XZm\nljKzVZV6sc8xs0HVvP4xM2sdx88Tvf8fzOywSj9L87jGEqkq1iUORRppInA08GSlbUcBF1S3s5k1\nAx4l9A1/LNo2ENiWcHXi8+7+o9oGdPfhWYi71iH45krJs4E/AZ/FPKYIoCN8yW+TgOFmVg4b28Lu\n6O4v1LD/scBLG5I9gLv/090XUc8+7NGqYVtFPZ6WmNkd0QpD/4h+oVTed3MzW1bp8WZm9qaZNTGz\nHmY2PWr0qsWJAAAB+ElEQVQF/GCVVsBmZmcCOwLPmdkzZlYWHf0viFYtO6c+8YpkQglf8pa7ryT0\nChkWbToauL+Wl3QBZtfyfP8qJZ121Q1b6f73gV+7+57Ax8BhVeJbBcw1s1S0aQTwhLt/DfwRuMDd\nuxOahI3+9kv9NuAdwgplBxD6m+/o7l3dvRthxSiRrFLCl3y3oawDoZwzsY79azuSn1ppeb2e7v6f\nOt7rP+4+P7o/G2hbzT73R3ERxXm/mW0ObB6t+gRhJaIBdYz1OtDezG41sx8Cq+vYXyRjSviS7/4O\nHGBmPYEW7j6nln0XAb2zOPbnle5/TfXnvCYDQ8xsS6AX8Gw1+9RZToo6HHYD0sDphH7xIlmlhC95\nLVq/8zlCieO+Ona/D+hnZhtKQJjZADPrEnN8s4BbgcnR+h6rgI+ilrYAxxMSeVWfAK2jOLcGyt39\nQeBywi8PkazSLB0pBBOBB4Eja9vJ3deZ2QhggplNAL4E5gHnEPqy9zezyn8hXBUl2G+9TQ33q3u8\nwf2EnuSpSttOBH5rZi0I5ZqTqnndHcATZvY2cC5wt5ltOAi7CMDMTot+tttrGFuk3tQPX0SkRKik\nIyJSIlTSkYJjZl0J0x4rW+fufZOIR6RQqKQjIlIiVNIRESkRSvgiIiVCCV9EpEQo4YuIlAglfBGR\nEvH/AcI4rMVAc935AAAAAElFTkSuQmCC\n",
+ "text/plain": [
+ "<matplotlib.figure.Figure at 0x7fc49c444450>"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "%matplotlib inline \n",
+ "from matplotlib.pyplot import plot,xlabel,ylabel,show,title\n",
+ "\n",
+ "# Given data\n",
+ "V_CC = 20# V\n",
+ "R_C = 3.3# k ohm\n",
+ "R_C = R_C * 10**3# ohm\n",
+ "R_B = 1# Mohm\n",
+ "R_B = R_B * 10**6# ohm\n",
+ "V_CE = V_CC# V\n",
+ "I_C = V_CC/R_C# A\n",
+ "I_C=I_C*10**3# mA\n",
+ "# Plotting of the DC load line,\n",
+ "plot([V_CE,0],[0,I_C])\n",
+ "xlabel(\"V_CE in volts.\")\n",
+ "ylabel(\"I_C in mA.\")\n",
+ "title(\"DC load line.\")\n",
+ "print \"At saturation, the value of I_C = %.2f mA\"%I_C\n",
+ "print \"At cut off, the value of V_CE = %.2f volts\"%V_CE\n",
+ "print \"DC load line shown in figure.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exa 4.37 page No 240"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 50,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The value of I_E = 1.08 mA\n",
+ "The value of V_CE = 5.05 V\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "# Given data\n",
+ "Beta = 100\n",
+ "Rth = 1.8# k ohm\n",
+ "V_CC = 10# V\n",
+ "R2 = 2.2# k ohm\n",
+ "R2 = R2 * 10**3# ohm\n",
+ "R1 = 10# k ohm\n",
+ "R1 = R1 * 10**3# ohm\n",
+ "R_C=3.6*10**3# ohm\n",
+ "R_E = 1# k ohm\n",
+ "R_E = R_E * 10**3# ohm\n",
+ "V_BE = 0.7# V\n",
+ "Vth = (R2/(R1+R2))*V_CC# V\n",
+ "Rth = (R1*R2)/(R1+R2)# ohm\n",
+ "# Applying KVL for input loop, Vth = (I_B*Rth)+V_BE+(I_E*R_E) or \n",
+ "I_E = (Vth-V_BE)/( R_E+(Rth/(Beta+1)) )# A (On putting I_E = (Beta+1)*I_B)\n",
+ "I_E= I_E*10**3# mA\n",
+ "print \"The value of I_E = %.2f mA\"%I_E\n",
+ "I_B =I_E/(Beta+1)# mA\n",
+ "I_C= I_E-I_B# mA\n",
+ "#Applying KVL for output loop, V_CC = (I_C*R_C) + V_CE + (I_E*R_E)\n",
+ "V_CE = V_CC - (I_C*10**-3*R_C) - (I_E*10**-3*R_E)# V\n",
+ "print \"The value of V_CE = %.2f V\"%V_CE"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exa 4.38 page No 242"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 52,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The value of Zi = 1.51 k ohm\n",
+ "The value of Av = -313.97\n",
+ "The value of Zo = 185.75 k ohm\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "# Given data\n",
+ "h_fe = 110\n",
+ "h_ie = 1.6# k ohm\n",
+ "h_ie = h_ie * 10**3# ohm\n",
+ "h_re = 2*10**-4\n",
+ "h_oe = 20*10**-6# A/V\n",
+ "R_B = 470# k ohm\n",
+ "R_B = R_B * 10**3# ohm\n",
+ "R_C = 4.7# k ohm\n",
+ "Ri= 1.51*10**3# ohm\n",
+ "R_C =R_C * 10**3# ohm\n",
+ "Rin = h_ie - ( (h_fe*h_re*R_C)/(1+(h_oe*R_C)) )# ohm\n",
+ "# The value of Zi,\n",
+ "Zi = (R_B*Ri)/(R_B+Ri)# ohm\n",
+ "Zi= Zi*10**-3# k ohm\n",
+ "print \"The value of Zi = %.2f k ohm\"%Zi\n",
+ "Zi= Zi*10**3# ohm\n",
+ "R_L = R_C# ohm\n",
+ "# The voltag gain,\n",
+ "Av = -h_fe/( Zi*(h_oe+(1/R_L)) )\n",
+ "print \"The value of Av = %.2f\"%Av\n",
+ "Rs = 0# ohm\n",
+ "# The value of Zo \n",
+ "Zo = 1/( h_oe-( (h_fe*h_re)/(Zi+Rs) ) )# ohm\n",
+ "Zo= Zo*10**-3## k ohm\n",
+ "print \"The value of Zo = %.2f k ohm\"%Zo"
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 2",
+ "language": "python",
+ "name": "python2"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 2
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython2",
+ "version": "2.7.9"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/Basic_Electronics_by_Rakesh_Kumar_Garg,_Ashish_Dixit_&_Paban_Yadav/chapter5.ipynb b/Basic_Electronics_by_Rakesh_Kumar_Garg,_Ashish_Dixit_&_Paban_Yadav/chapter5.ipynb
new file mode 100644
index 00000000..39a3a2e5
--- /dev/null
+++ b/Basic_Electronics_by_Rakesh_Kumar_Garg,_Ashish_Dixit_&_Paban_Yadav/chapter5.ipynb
@@ -0,0 +1,1388 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Chapter 5 Transistor Amplifier"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exa 5.1 page No 289"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 6,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The value of capacitor = 0.0030 µF\n",
+ "The value of h_fe is : 51.20\n"
+ ]
+ }
+ ],
+ "source": [
+ "from math import pi,sqrt\n",
+ "from __future__ import division\n",
+ "# Given data\n",
+ "R_C = 10# k ohm\n",
+ "R_C = R_C * 10**3# ohm\n",
+ "f = 2# kHz\n",
+ "f = f * 10**3# Hz\n",
+ "R = 8# k ohm\n",
+ "R = R * 10**3# ohm\n",
+ "#Formula, f = 1/(2*pi*R*C*sqrt(6+((4*R_C)/R)))\n",
+ "C = 1/(2*pi*R*f*sqrt(6+((4*R_C)/R)))# F\n",
+ "C= C*10**6# µF\n",
+ "print \"The value of capacitor = %.4f µF\"%C\n",
+ "h_fe= 23+29*R/R_C+4*R_C/R\n",
+ "print \"The value of h_fe is : %.2f\"%h_fe"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exa 5.2 page No 293"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 8,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The value of capacitor = 159.00 pF\n"
+ ]
+ }
+ ],
+ "source": [
+ "from math import pi,sqrt\n",
+ "from __future__ import division\n",
+ "# Given data\n",
+ "f = 10# kHz\n",
+ "f = f * 10**3# Hz\n",
+ "R = 100# k ohm\n",
+ "R = R * 10**3# ohm\n",
+ "#Formula used, f = 1/(2*pi*R*C)\n",
+ "C = 1/(2*pi*R*f)# F\n",
+ "C = round(C * 10**12)# pF\n",
+ "print \"The value of capacitor = %.2f pF\"%C"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exa 5.3 page No 299"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 9,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The parallel resonant frequency = 946.05 kHz\n",
+ "The series resonant frequency = 918.88 kHz\n",
+ "The Q factor of the crystal = 288.68\n"
+ ]
+ }
+ ],
+ "source": [
+ "from math import pi,sqrt\n",
+ "from __future__ import division\n",
+ "# Given data\n",
+ "C = 0.06# pF\n",
+ "C = C * 10**-12# F\n",
+ "L = 0.5# H\n",
+ "R = 10# k ohm\n",
+ "R = R * 10**3# ohm\n",
+ "Cm = 1# pF\n",
+ "Cm = Cm * 10**-12# F\n",
+ "# The parallel resonant frequency \n",
+ "f_p = (1/(2*pi))*( sqrt( (C+Cm)/(L*C*Cm) ) )# Hz\n",
+ "f_p= f_p*10**-3# kHz\n",
+ "print \"The parallel resonant frequency = %.2f kHz\"%f_p\n",
+ "# The series resonant frequency \n",
+ "f_s = 1/(2*pi*(sqrt(L*C)))# Hz\n",
+ "f_s= f_s*10**-3# kHz\n",
+ "print \"The series resonant frequency = %.2f kHz\"%f_s\n",
+ "omega_s = 2*pi*f_s*10**3# rad/sec\n",
+ "# The Q factor of the crystal \n",
+ "Q = (omega_s*L)/R\n",
+ "print \"The Q factor of the crystal = %.2f\"%Q"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exa 5.4 page No 300"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The value of h11 = 8.00 ohm\n",
+ "The value of h21 = -0.50\n",
+ "The value of h12 = 0.50\n",
+ "The value of h22 = 0.12 mho\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "# Given data\n",
+ "R1 = 6# ohm\n",
+ "R2 = 4# ohm\n",
+ "R3 = 4# ohm\n",
+ "h11 = R1+( (R2*R3)/(R2+R3) )# ohm\n",
+ "print \"The value of h11 = %.2f ohm\"%h11\n",
+ "# i2 = -i*1/2 and h21 = i2/i1 = (-i1/2)/2, So\n",
+ "h21 = -1/2\n",
+ "print \"The value of h21 = %.2f\"%h21\n",
+ "# V1 = V2/2 and h12 = V1/V2 = (V2/2)/2, SO\n",
+ "h12 = 1/2\n",
+ "print \"The value of h12 = %.2f\"%h12\n",
+ "Zo = R2+R3## output resistance = %.2f ohm\n",
+ "h22 = 1/Zo# mho\n",
+ "print \"The value of h22 = %.2f mho\"%h22"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exa 5.5 page No 303"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The value of h11 = 9.00\n",
+ "The value of h12 = 6.00\n",
+ "The value of h21 = 6.00\n",
+ "The value of h22 = 8.00\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "# Given data\n",
+ "R1 = 3# ohm\n",
+ "R2 = 6# ohm\n",
+ "R3 = 2# ohm\n",
+ "# V1 = (R1*I1)+ (R2*(I1+I2)) = ((R1+R2)*I1)+(R2*I2) (i)\n",
+ "# V2 = (R3*I2) + (R2*(I1+I2)) = (R2*I1) + ((R1+R3)*I2) (ii)\n",
+ "# Standard h-parameter equation \n",
+ "#V1= h11*I1 +h12*I2 and V2= h21*I1 + h22*I2\n",
+ "# Comparing eq (i) and (ii) with standard equaation, we get\n",
+ "h11= R1+R2\n",
+ "print \"The value of h11 = %.2f\"%h11\n",
+ "h12= R2\n",
+ "print \"The value of h12 = %.2f\"%h12\n",
+ "h21= R2\n",
+ "print \"The value of h21 = %.2f\"%h21\n",
+ "h22= R2+R3\n",
+ "print \"The value of h22 = %.2f\"%h22"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exa 5.7 page No 304"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 5,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The value of Ai = 40.80\n",
+ "The value of Ri = 409.10 k ohm\n",
+ "The value of A_V = 1.00\n",
+ "The value of Ro = 216.00 ohm\n",
+ "The value of A_VS = 0.97\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "# Given data\n",
+ "h_ic = 1.1# k ohm\n",
+ "h_ic = h_ic * 10**3# ohm\n",
+ "h_rc = 1\n",
+ "h_fc = -51\n",
+ "h_oc = 25# µA/V\n",
+ "h_oc = h_oc * 10**-6# A/V\n",
+ "R_L = 10# k ohm\n",
+ "R_L = R_L * 10**3# ohm\n",
+ "R_S = R_L# ohm\n",
+ "# The current gain,\n",
+ "Ai = -h_fc/(1+(h_oc*R_L))\n",
+ "print \"The value of Ai = %.2f\"%Ai\n",
+ "# The value of Ri \n",
+ "Ri = h_ic+(h_rc*Ai*R_L)# ohm\n",
+ "Ri= Ri*10**-3# k ohm\n",
+ "print \"The value of Ri = %.2f k ohm\"%Ri\n",
+ "Ri= Ri*10**3# ohm\n",
+ "# The value of A_V \n",
+ "A_V = (Ai*R_L)/Ri\n",
+ "print \"The value of A_V = %.2f\"%A_V\n",
+ "Gamma_o = h_oc - ( (h_fc*h_rc)/(h_ic+R_S) )# mho\n",
+ "# The value of Ro \n",
+ "Ro = round(1/Gamma_o)# ohm\n",
+ "print \"The value of Ro = %.2f ohm\"%Ro\n",
+ "A_VS = (A_V*Ri)/(Ri+R_S)\n",
+ "print \"The value of A_VS = %.2f\"%A_VS"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exa 5.10 page No 306"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 6,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The overall current gain is : -70.57\n",
+ "The value of Ri = 1.00 k ohm\n",
+ "The value of A_VS is : -84.01\n",
+ "The value of gamma_o = 12.00 µ mho\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "# Given data\n",
+ "h_ie = 1.5# ohm\n",
+ "h_fe = 100\n",
+ "h_re = 3 * 10**-4\n",
+ "h_oe = 25 * 10**-6# mho\n",
+ "V_CC = 20# V\n",
+ "R1 = 50 * 10**3# ohm\n",
+ "R2 = 5 * 10**3# ohm\n",
+ "R_C = 5 * 10**3# ohm\n",
+ "R_L = 10 * 10**3# ohm\n",
+ "R_S = 1# k ohm\n",
+ "Ri= 1.4*10**3# ohm\n",
+ "R_B = (R1*R2)/(R1+R2)# ohm\n",
+ "R_Ldesh= R_L*R_C/(R_L+R_C)# ohm\n",
+ "# Current gain for transisor,\n",
+ "Ai= -h_fe/(1+h_oe*R_Ldesh)\n",
+ "# Overall current gain, A_I= Ai+Ib/I= Ai+R_B/(R_B+Ri) \n",
+ "A_I= Ai*R_B/(R_B+Ri)\n",
+ "print \"The overall current gain is : %.2f\"%A_I\n",
+ "#Part (ii)\n",
+ "R_i= R_B*Ri/(R_B*Ri)# k ohm\n",
+ "print \"The value of Ri = %.2f k ohm\"%R_i\n",
+ "# Part (iii)\n",
+ "Av= A_I*R_Ldesh/Ri## voltage gain for transistor\n",
+ "# overall voltage gain,\n",
+ "A_VS= Av*R_i/(R_S+R_i)\n",
+ "print \"The value of A_VS is : %.2f\"%A_VS\n",
+ "# Part (iv)\n",
+ "R_S=R_S*10**3# ohm\n",
+ "R_Sdesh= R_S*R_B/(R_S+R_B)# ohm\n",
+ "gamma_o= h_re*h_fe/(h_ie+R_Sdesh)-h_oe# mho\n",
+ "gamma_o= round(gamma_o*10**6)# µ mho\n",
+ "print \"The value of gamma_o = %.2f µ mho\"%gamma_o\n",
+ "\n",
+ "# Note: In the book, all these calculated value is not accurate."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exa 5.11 page No 307"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 9,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Part (a) : Exact analysis\n",
+ "The current gain = -47.62\n",
+ "The input resistance = 1.08 k ohm\n",
+ "The voltage gain = -50.76\n",
+ "The output resistance = 54.29 k ohm\n",
+ "The power gain = 4214.08\n",
+ "The output terminal resistance = 1.93 k ohm\n",
+ "Part (b) : Approximate analysis\n",
+ "The value of Ai = -50.00\n",
+ "The value of Ri = 1100.00 ohm\n",
+ "The value of A_VS = 52.63\n",
+ "The output resistance = 54.29 k ohm\n",
+ "The value of Ap = 4545.45\n",
+ "The output terminal resistance = 20.00 k ohm\n",
+ "The percentage error = 5.00 %\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "# Given data\n",
+ "R_S = 800# ohm\n",
+ "R_L = 2# k ohm\n",
+ "R_L = R_L * 10**3# ohm\n",
+ "h_ie = 1.1# k ohm\n",
+ "h_ie = h_ie * 10**3# ohm\n",
+ "h_fe = 50\n",
+ "h_oe = 25# µohm\n",
+ "h_oe = h_oe * 10**-6# ohm\n",
+ "h_re = 2.5*10**-4\n",
+ "\n",
+ "# Part (a) : Exact analysis\n",
+ "print \"Part (a) : Exact analysis\"\n",
+ "# The current gain\n",
+ "Ai_exact = -h_fe/(1+(h_oe*R_L))\n",
+ "print \"The current gain = %.2f\"%Ai_exact\n",
+ "# The input resistance \n",
+ "Ri = h_ie + (h_re*Ai_exact*R_L)# ohm\n",
+ "Ri= Ri*10**-3# k ohm\n",
+ "print \"The input resistance = %.2f k ohm\"%Ri\n",
+ "Ri= Ri*10**3# ohm\n",
+ "A_V = (Ai_exact*R_L)/Ri\n",
+ "# The voltage gain,\n",
+ "A_VS = (A_V*Ri)/(Ri+R_S)\n",
+ "print \"The voltage gain = %.2f\"%A_VS\n",
+ "Gamma_o = h_oe - ( (h_re*h_fe)/(h_ie+R_S) )# mho\n",
+ "# The output resistance \n",
+ "Ro = 1/Gamma_o# ohm\n",
+ "Ro= Ro*10**-3## k ohm\n",
+ "print \"The output resistance = %.2f k ohm\"%Ro\n",
+ "Ro= Ro*10**3## ohm\n",
+ "# The power gain,\n",
+ "Ap = Ai_exact*A_V\n",
+ "print \"The power gain = %.2f\"%Ap\n",
+ "# The output terminal resistance \n",
+ "Rot = (Ro*R_L)/(Ro+R_L)# ohm\n",
+ "Rot= Rot*10**-3# k ohm\n",
+ "print \"The output terminal resistance = %.2f k ohm\"%Rot\n",
+ "Rot= Rot*10**3# ohm\n",
+ "\n",
+ "# Part (b) : Approximate analysis\n",
+ "print \"Part (b) : Approximate analysis\"\n",
+ "h_re =0\n",
+ "h_oe = 0\n",
+ "Ai_app = -h_fe/(1+(h_oe*R_L))\n",
+ "print \"The value of Ai = %.2f\"%Ai_app\n",
+ "Ri = h_ie+(h_re*Ai_app*R_L)\n",
+ "print \"The value of Ri = %.2f ohm\"%Ri\n",
+ "A_V= Ai_app*R_L/Ri\n",
+ "A_VS = (-A_V*h_ie)/(R_S+h_ie)\n",
+ "print \"The value of A_VS = %.2f\"%A_VS\n",
+ "Gamma_o = 18.42# = %.2f µohms\n",
+ "Gamma_o = Gamma_o * 10**-6# mho\n",
+ "# # The output resistance \n",
+ "Ro = 1/Gamma_o# ohm\n",
+ "Ro= Ro*10**-3## k ohm\n",
+ "print \"The output resistance = %.2f k ohm\"%Ro\n",
+ "Ro= Ro*10**3## ohm\n",
+ "Ap = Ai_app*A_V\n",
+ "print \"The value of Ap = %.2f\"%Ap\n",
+ "#The output terminal resistance, Rot = (Ro*R_L)/(Ro+R_L)= 20# k ohm\n",
+ "Rot= 20# k ohm\n",
+ "print \"The output terminal resistance = %.2f k ohm\"%Rot\n",
+ "Rot= Rot*10**3# ohm\n",
+ "# Percentage error\n",
+ "Per_error= abs((Ai_exact-Ai_app)/Ai_exact*100)# %\n",
+ "print \"The percentage error = %.2f %%\"%Per_error"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exa 5.13 page No 310"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 10,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The voltage gain 250.0\n",
+ "The current gain 20.0\n",
+ "The power gain 5000.0\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "# Given data\n",
+ "R_S = 600# ohm\n",
+ "r_i = 400# ohm\n",
+ "Vs = 1# mV\n",
+ "Vs = Vs * 10**-3# V\n",
+ "#Input voltage\n",
+ "Vi = Vs*(r_i/(R_S+r_i))# V\n",
+ "# Input current\n",
+ "Ii =Vs/(R_S+r_i)# A\n",
+ "Vo = 100# mV\n",
+ "Vo = Vo * 10**-3# V\n",
+ "R_L = 5# k ohm\n",
+ "R_L = R_L * 10**3# ohm\n",
+ "# Output current \n",
+ "Io = Vo/R_L# A\n",
+ "# voltage gain\n",
+ "A_V =Vo/Vi # \n",
+ "print \"The voltage gain\",A_V\n",
+ "# current gain\n",
+ "A_I = Io/Ii\n",
+ "print \"The current gain\",A_I\n",
+ "# Power gain\n",
+ "P =A_V*A_I\n",
+ "print \"The power gain\",P"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exa 5.14 page No 312"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 12,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The gain of negative feedback : 9.259\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "# Given data\n",
+ "A = 125\n",
+ "Beta = 1/10\n",
+ "# Gain of negative feedback\n",
+ "Af = A/(1+(A*Beta))\n",
+ "print \"The gain of negative feedback : %.3f\"%Af"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exa 5.15 page No 312"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 13,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The value of A is : 1200.00\n",
+ "The value of B : 0.01\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "# Given data\n",
+ "Af = 100\n",
+ "Vi = 0.6# V\n",
+ "Vo =Af*Vi# V\n",
+ "Vi = 50# mV\n",
+ "Vi = Vi * 10**-3# V\n",
+ "# Internal gain of amplifier,\n",
+ "A = Vo/Vi\n",
+ "print \"The value of A is : %.2f\"%A\n",
+ "B= ((A/Af)-1)/A\n",
+ "print \"The value of B : %.2f\"%B"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exa 5.16 page No 313"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 15,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The change in overall gain = -2.00 %\n",
+ "Thus, the overall gain will be reduced by 2%\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "# Given data\n",
+ "A = 60# dB\n",
+ "A =10**(A/20)\n",
+ "Beta = 0.005\n",
+ "dAbyA = -12/100##gain reduction = %.2f %\n",
+ "dAf_byAf = (1/(1+(A*Beta)))*dAbyA## change = %.2f overall gain\n",
+ "dAf_byAf = dAf_byAf * 100# %\n",
+ "print \"The change in overall gain = %.2f %%\"%dAf_byAf\n",
+ "print \"Thus, the overall gain will be reduced by 2%\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exa 5.17 page No 313"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 16,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The value of feed back factor = 0.02\n",
+ "The change in overall gain for 20 % change in gain of the basic amplifier = 0.79 %\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "# Given data\n",
+ "Zo = 12.6# k ohm\n",
+ "Zo = Zo * 10**3# ohm\n",
+ "A = 60# dB\n",
+ "A = 10**(A/20)\n",
+ "Zof = 500# ohm\n",
+ "# Zof = Zo/(1+(A*Beta))\n",
+ "Beta = ((Zo/Zof)-1)/A\n",
+ "print \"The value of feed back factor = %.2f\"%Beta\n",
+ "# Part (ii)\n",
+ "dAbyA= 20/100## change = %.2f gain of basic amplifier\n",
+ "dAf_byAf =dAbyA*1/(1+A*Beta)*100##change = %.2f overall gain = %.2f %\n",
+ "print \"The change in overall gain for 20 %% change in gain of the basic amplifier = %.2f %%\"%dAf_byAf\n",
+ "\n",
+ "# Note: In the book, there is calculation error to find the value of dAf/Af"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exa 5.18 page No 314"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 18,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The output voltage = 2.19 V\n",
+ "The input voltage = 0.20\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "# Given data\n",
+ "Vo = 36# V\n",
+ "Vi = 0.028# V\n",
+ "A = Vo/Vi\n",
+ "Vf = 1.2\n",
+ "Vo = 100\n",
+ "Beta = Vf/Vo\n",
+ "# Gain with feedback\n",
+ "Af = A/(1+(A*Beta))\n",
+ "Vs = Vi# V\n",
+ "# Output voltage\n",
+ "Vo =Af*Vs# V\n",
+ "print \"The output voltage = %.2f V\"%Vo\n",
+ "#Df =D/(1+(A*Beta))\n",
+ "DbyDf = 7/1\n",
+ "ABeta = (DbyDf)-1\n",
+ "Af =A/(1+(ABeta))\n",
+ "Vo = 36# V\n",
+ "# The input voltage,\n",
+ "Vs =Vo/Af\n",
+ "print \"The input voltage = %.2f\"%Vs"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exa 5.19 page No 315"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 19,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The required feed back = 0.10\n",
+ "The closed loop voltage gain = 10.00\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "# Given data\n",
+ "dAf_byAf = 10/100\n",
+ "dAbyA = 10\n",
+ "A = 1000\n",
+ "# dAf_byAf = dAbyA*(1/(1+(A*Beta)))\n",
+ "# The required feed back \n",
+ "Beta = ((dAbyA/dAf_byAf)-1)/A\n",
+ "print \"The required feed back = %.2f\"%Beta\n",
+ "Af = A/(1+(A*Beta))## closed loop voltage gain \n",
+ "print \"The closed loop voltage gain = %.2f\"%Af"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exa 5.20 page No 315"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 21,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The new value of second harmonic distortion = 0.10 %\n",
+ "The new value of input required = 1.00 volts\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "# Given data\n",
+ "Vi= 10*10**-3## input voltage = %.2f V\n",
+ "A=1000## open loop voltage gain\n",
+ "Do= 10##second harmonic distortion = %.2f %\n",
+ "feedback= 40##feedback = %.2f dB\n",
+ "feedback= 10**(feedback/20)\n",
+ "# feedback= 1+A*bita or\n",
+ "bita= (feedback-1)/A\n",
+ "Af= A/(1+A*bita)\n",
+ "# New value of second harmonic distortion,\n",
+ "Df= Do/(1+A*bita)# %\n",
+ "print \"The new value of second harmonic distortion = %.2f %%\"%Df\n",
+ "# New value of input required,\n",
+ "Vs= Vi*(1+A*bita)# V\n",
+ "print \"The new value of input required = %.2f volts\"%Vs"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exa 5.21 page No 316"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 24,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The gain with feedback is : 20.00\n",
+ "The output voltage = 0.20 V \n",
+ "The input voltage = 0.0010 V\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "# Given data\n",
+ "D = 10/100\n",
+ "Df = 1/100\n",
+ "A = 200\n",
+ "Vs = 10# mV\n",
+ "Vs = Vs * 10**-3# V\n",
+ "# Df = D/(1+A*Beta)\n",
+ "Beta = (((D/Df)-1)/A)\n",
+ "# gain with feedback \n",
+ "Af = A/(1+(A*Beta))\n",
+ "print \"The gain with feedback is : %.2f\"%Af\n",
+ "# The output voltage \n",
+ "Vo = Af*Vs# V\n",
+ "print \"The output voltage = %.2f V \"%Vo\n",
+ "# The input voltage \n",
+ "Vin = Df+(-Beta*Vo)# V\n",
+ "print \"The input voltage = %.4f V\"%Vin"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exa 5.22 page No 316"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 25,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The input impedance = 201.00 k ohm\n",
+ "The output impedance = 0.05 k ohm\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "# Given data\n",
+ "A = 10000\n",
+ "Beta = 0.02\n",
+ "Zi = 1# k ohm\n",
+ "Zi = Zi * 10**3# ohm\n",
+ "Zo = 10# k ohm\n",
+ "Zo = Zo * 10**3# ohm\n",
+ "# The input impedance \n",
+ "Zif = Zi*(1+(A*Beta))# ohm\n",
+ "Zif= Zif*10**-3# k ohm\n",
+ "print \"The input impedance = %.2f k ohm\"%Zif\n",
+ "# The output impedance \n",
+ "Zof = Zo/(1+(A*Beta))# ohm\n",
+ "Zof= Zof*10**-3# k ohm\n",
+ "print \"The output impedance = %.2f k ohm\"%Zof\n",
+ "\n",
+ "# Note:In the book, there is calculation error to find the value of Zof because 10/201 will be 0.04975 not 0.4975"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exa 5.23 page No 317"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 27,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The gain with feedback = 80.00\n",
+ "The Lower cut-off frequency with feedback = 40.00 Hz\n",
+ "The Upper cut-off frequency with feedback = 200.00 kHz\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "# Given data\n",
+ "A = 400\n",
+ "Beta = 0.01\n",
+ "# The gain with feedback\n",
+ "Af =A/(1+(A*Beta))\n",
+ "print \"The gain with feedback = %.2f\"%Af\n",
+ "f_L = 200# Hz\n",
+ "# The Lower cut-off frequency with feedback \n",
+ "f_LF = f_L/(1+(A*Beta))# Hz\n",
+ "print \"The Lower cut-off frequency with feedback = %.2f Hz\"%f_LF\n",
+ "f_H = 40# kHz\n",
+ "f_H = f_H * 10**3# Hz\n",
+ "# The Upper cut-off frequency with feedback \n",
+ "f_HF = f_H*(1+(A*Beta))# Hz\n",
+ "f_HF=f_HF*10**-3# k Hz\n",
+ "print \"The Upper cut-off frequency with feedback = %.2f kHz\"%f_HF\n",
+ "\n",
+ "# Note:In the book, there is calculation error to find the value of gain with feedback i.e. Af, so the answer = %.2f the book is wrong."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exa 5.24 page No 317"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 28,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The feedback fraction = 0.10\n",
+ "The overall voltage gain with feedback = 9.98\n",
+ "The output voltage = 19.95 mV\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "# Given data\n",
+ "A = 4000\n",
+ "R1 = 1# k ohm\n",
+ "R1 = R1 * 10**3# ohm\n",
+ "R2 = 9# k ohm\n",
+ "R2 = R2 * 10**3# ohm\n",
+ "Beta = R1/(R1+R2)## feedback fraction \n",
+ "print \"The feedback fraction = %.2f\"%Beta\n",
+ "# The overall voltage gain with feedback \n",
+ "Af = A/(1+(A*Beta))\n",
+ "print \"The overall voltage gain with feedback = %.2f\"%Af\n",
+ "Vs = 2# mV\n",
+ "#Af = Vo/Vs\n",
+ "# The output voltage \n",
+ "Vo = Af*Vs# mV\n",
+ "print \"The output voltage = %.2f mV\"%Vo"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exa 5.25 page No 318"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 31,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The percentage reduction in harmonic distortion = 8.33 %\n"
+ ]
+ }
+ ],
+ "source": [
+ "from math import log\n",
+ "from __future__ import division\n",
+ "# Given data\n",
+ "A = 54.8\n",
+ "A = 20 * log(A)\n",
+ "Beta = 1/50## feedback factor\n",
+ "# gain with feedback\n",
+ "Af = A/(1+(A*Beta))\n",
+ "#Distortion with feedback, Df = D/(1+(A*Beta))\n",
+ "Df = 1\n",
+ "D = 12\n",
+ "Pd = (Df/D)*100## percenatge change = %.2f distortion = %.2f %\n",
+ "print \"The percentage reduction in harmonic distortion = %.2f %%\"%Pd"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exa 5.26 page No 318"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The minimum gain required for oscillation is : 3.00\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "# Given data\n",
+ "# Part(iii)\n",
+ "Vf_byVo= 1/3\n",
+ "bita= Vf_byVo\n",
+ "# A*bita>=1 or\n",
+ "# The minimum gain required for oscillation \n",
+ "Amin= 1/bita\n",
+ "print \"The minimum gain required for oscillation is : %.2f\"%Amin"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exa 5.27 page No 320"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 6,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The magnitude of loop gain for beta = 0.20 is : 2.50\n",
+ "The magnitude of loop gain for beta = 0.20 is : 0.25\n",
+ "Hence system is unstable for beta=0.20 and stable for beta= 0.02 because at beta= 0.20 gain is greater than 1.\n"
+ ]
+ }
+ ],
+ "source": [
+ "from math import sqrt,tan,pi\n",
+ "from __future__ import division\n",
+ "# Magnitude of loop gain, Mag_Tf= bita*100/(sqrt(1+(f/10**5)**2))**3 (i)\n",
+ "# Phase of loop gain, P_Tf= -3*atand(f/10**5) (ii)\n",
+ "f_180= tan(pi/180*180/3)*10**5## from eq(ii), frequency at which phase becomes -180°\n",
+ "bita= 0.20\n",
+ "T_f_180= bita*100/(sqrt(1+(f_180/10**5)**2))**3## from eq (i), the magnitude of loop gain at f_180 for bita= 0.20\n",
+ "print \"The magnitude of loop gain for beta = 0.20 is : %.2f\"%T_f_180\n",
+ "bita= 0.02\n",
+ "T_f_180= bita*100/(sqrt(1+(f_180/10**5)**2))**3## from eq (i), the magnitude of loop gain at f_180 for bita= 0.20\n",
+ "print \"The magnitude of loop gain for beta = 0.20 is : %.2f\"%T_f_180\n",
+ "print \"Hence system is unstable for beta=0.20 and stable for beta= 0.02 because at beta= 0.20 gain is greater than 1.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exa 5.29 page No 322"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 7,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The frequency of oscillation = 503.29 kHz\n"
+ ]
+ }
+ ],
+ "source": [
+ "from math import sqrt,pi\n",
+ "from __future__ import division\n",
+ "# Given data\n",
+ "L = 0.01# H\n",
+ "C = 10# pF\n",
+ "C = C * 10**-12# F\n",
+ "# The frequency of oscillation \n",
+ "f = 1/(2*pi*sqrt(L*C))# Hz\n",
+ "f = f * 10**-3# kHz\n",
+ "print \"The frequency of oscillation = %.2f kHz\"%f\n",
+ "\n",
+ "# Note:In the book, the calculation is wrong."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exa 5.30 page No 322"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 13,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The required capacitor range is : 75.05 pF to 675.47 pF\n"
+ ]
+ }
+ ],
+ "source": [
+ "from math import sqrt,pi\n",
+ "from __future__ import division\n",
+ "# Given data\n",
+ "L = 150# µH\n",
+ "L = L * 10**-6# H\n",
+ "# f = 1/(2*pi*sqrt(L*C)) or C = 1/(4*pi**2*f**2*L)\n",
+ "#For f= 500 kHz\n",
+ "f1 = 500# kHz\n",
+ "f1 = f1 * 10**3# Hz\n",
+ "C1 = 1/(4*pi**2*f1**2*L)# F\n",
+ "#For f= 1500 kHz\n",
+ "f2 = 1500# kHz\n",
+ "f2 = f2 * 10**3# Hz\n",
+ "C2 = 1/(4*pi**2*f2**2*L)# F\n",
+ "C1= C1*10**12# pF\n",
+ "C2= C2*10**12# pF\n",
+ "print \"The required capacitor range is : %.2f\"%(C2),\"pF to %.2f\"%(C1),\"pF\"\n",
+ "\n",
+ "# Note: The answer in the book is wrong."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exa 5.31 page No 323"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 12,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The operating frequency = 528.00 kHz\n",
+ "The feed back fraction = 0.10\n",
+ "The minimum gain to sustain oscillation = 10.00\n",
+ "The emitter resistance = 0.25 ohm\n"
+ ]
+ }
+ ],
+ "source": [
+ "from math import sqrt,pi\n",
+ "from __future__ import division\n",
+ "# Given data\n",
+ "L = 100# µH\n",
+ "L = L * 10**-6# H\n",
+ "A=10\n",
+ "C1 = 0.001# µF\n",
+ "C1 = C1 * 10**-6# F\n",
+ "C2 = 0.01# µF\n",
+ "C2 = C2 * 10**-6# F\n",
+ "C = (C1*C2)/(C1+C2)# F\n",
+ "f = 1/(2*pi*sqrt( L*C ))# Hz\n",
+ "f = round(f * 10**-3)# kHz\n",
+ "print \"The operating frequency = %.2f kHz\"%f\n",
+ "Beta = C1/C2## feedback fraction\n",
+ "print \"The feed back fraction = %0.2f\"%Beta\n",
+ "#Minimum gain to sustain oscillations, Amin*Beta = 1\n",
+ "Amin = 1/Beta\n",
+ "print \"The minimum gain to sustain oscillation = %.2f\"%Amin\n",
+ "# A = R_C/R_E\n",
+ "R_C = 2.5# ohm\n",
+ "R_E = R_C/A# ohm\n",
+ "print \"The emitter resistance = %.2f ohm\"%R_E"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exa 5.32 page No 324"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 11,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The value of capacitor = 10.00 pF\n"
+ ]
+ }
+ ],
+ "source": [
+ "from math import pi\n",
+ "from __future__ import division\n",
+ "# Given data\n",
+ "L1 = 0.1# mH\n",
+ "L1 = L1 * 10**-3# H\n",
+ "L2 = 10# mH\n",
+ "L2 = L2 * 10**-3# H\n",
+ "L = 150# µH\n",
+ "L = L * 10**-6# H\n",
+ "f = 4110# kHz\n",
+ "f = f * 10**3# Hz\n",
+ "#Frequency of oscillations, f = 1/(2*pi*sqrt(L*C)), So\n",
+ "C = 1/(4*(pi**2)*(f**2)*L )# F\n",
+ "C = round(C * 10**12)# pF\n",
+ "print \"The value of capacitor = %.2f pF\"%C"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exa 5.33 page No 324"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 14,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The value of C = 0.01 µF\n"
+ ]
+ }
+ ],
+ "source": [
+ "from math import sqrt,pi,tan\n",
+ "from __future__ import division\n",
+ "# Given data\n",
+ "f = 1# kHz\n",
+ "f = f * 10**3# Hz\n",
+ "R = 10# k ohm\n",
+ "R = R * 10**3# ohm\n",
+ "omega = 2*pi*f##in rad/sec\n",
+ "phi = 60# degree\n",
+ "# tand(phi) = Alpha_C/R = 1/(omega*C*R)\n",
+ "C = 1/(omega*R*tan(pi/180*phi))# F\n",
+ "C = C * 10**6# µF\n",
+ "print \"The value of C = %.2f µF\"%C"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exa 5.34 page No 324"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 15,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The frequency = 3183.10 Hz\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "from math import sqrt,pi\n",
+ "# Given data\n",
+ "R2 = 200# k ohm\n",
+ "R2 = R2 * 10**3# ohm\n",
+ "R1 = R2# ohm\n",
+ "C2 = 250# pF\n",
+ "C2 = C2 * 10**-12# F\n",
+ "C1 = C2# F\n",
+ "R = R2# ohm\n",
+ "C = C2# F\n",
+ "# Frequency of oscillations,\n",
+ "f = 1/(2*pi*R*C)# Hz\n",
+ "print \"The frequency = %.2f Hz\"%f\n",
+ "\n",
+ "# Note: The answer in the book is not accurate."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exa 5.36 page No 326"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 16,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The frequency of oscillation = 2.60 MHz\n",
+ "The minimum gain for maintaining oscillation = 3.00\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "from math import sqrt,pi\n",
+ "\n",
+ "# Given data\n",
+ "C1 = 300# pF\n",
+ "C2 = 100# pF\n",
+ "Ceq = (C1*C2)/(C1+C2)# pF\n",
+ "Ceq = Ceq * 10**-12# F\n",
+ "L = 50# µH\n",
+ "L = L * 10**-6# H\n",
+ "# The frequency of oscillation \n",
+ "f = 1/(2*pi*sqrt(L*Ceq))# Hz\n",
+ "f = f * 10**-6# MHz\n",
+ "print \"The frequency of oscillation = %.2f MHz\"%f\n",
+ "# For maintaining oscillation, A_loop >=1 and Aopenloop*Beta = 1\n",
+ "# Beta = C2/C1\n",
+ "Aopenloop = C1/C2\n",
+ "print \"The minimum gain for maintaining oscillation = %.2f\"%Aopenloop"
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 2",
+ "language": "python",
+ "name": "python2"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 2
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython2",
+ "version": "2.7.9"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/Basic_Electronics_by_Rakesh_Kumar_Garg,_Ashish_Dixit_&_Paban_Yadav/chapter6.ipynb b/Basic_Electronics_by_Rakesh_Kumar_Garg,_Ashish_Dixit_&_Paban_Yadav/chapter6.ipynb
new file mode 100644
index 00000000..597d738f
--- /dev/null
+++ b/Basic_Electronics_by_Rakesh_Kumar_Garg,_Ashish_Dixit_&_Paban_Yadav/chapter6.ipynb
@@ -0,0 +1,1225 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Chapter 6 Operational Amplifiers"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exa 6.1 page No 355"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The common mode gain of the op-amp = 1.00\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "# Given data\n",
+ "CMRR = 10**5\n",
+ "Ad = 10**5\n",
+ "# CMRR = Ad/A_CM\n",
+ "# The common mode gain of the op-amp \n",
+ "A_CM = Ad/CMRR\n",
+ "print \"The common mode gain of the op-amp = %.2f\"%A_CM"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exa 6.2 page No 355"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The slew rate = 5.00 V/µS\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "# Given data\n",
+ "del_V = 20##change = %.2f voltage = %.2f V\n",
+ "del_t = 4##change = %.2f time = %.2f µS\n",
+ "SR = del_V/del_t##slew rate = %.2f V/µS\n",
+ "print \"The slew rate = %.2f V/µS\"%SR"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exa 6.3 page No 355"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The slew rate = 15.00 V/µ-sec\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "# Given data\n",
+ "del_V = 0.75##chagne = %.2f voltage = %.2f V\n",
+ "del_t = 50##change = %.2f time = %.2f ns\n",
+ "# The slew rate \n",
+ "SR = del_V/(del_t*10**-3)# µs\n",
+ "print \"The slew rate = %.2f V/µ-sec\"%SR"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exa 6.4 page No 356"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 4,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The closed loop voltage gain = -4.70\n",
+ "The input impedance = 1.00 k ohm\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "# Given data\n",
+ "R1 = 1# k ohm\n",
+ "R_F = 4.7# k ohm\n",
+ "#The closed loop voltage gain, Ao = Vo/Vin = -R_F/R1\n",
+ "Ao = -R_F/R1\n",
+ "print \"The closed loop voltage gain = %.2f\"%Ao\n",
+ "# The input impedance \n",
+ "Ri = R1# k ohm\n",
+ "print \"The input impedance = %.2f k ohm\"%Ri"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exa 6.5 page No 357"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 5,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The value of R1 = 5.00 k ohm\n",
+ "The value of R_F = 100.00 k ohm\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "# Given data\n",
+ "Ao = -20\n",
+ "Ri = 5# k ohm\n",
+ "R1 = Ri# k ohm\n",
+ "print \"The value of R1 = %.2f k ohm\"%R1\n",
+ "# Closed loop voltage gain for inverting amplifier, Ao = -R_F/R1 or\n",
+ "R_F = -Ao*R1# k ohm\n",
+ "print \"The value of R_F = %.2f k ohm\"%R_F"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exa 6.6 page No 357"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 6,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The output voltage = -18.75 V\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "# Given data\n",
+ "R1 = 20# k ohm\n",
+ "R_F = 300# k ohm\n",
+ "Vin = 1.25# V\n",
+ "# Ao = Vo/Vin = -R_F/R1\n",
+ "Ao = -R_F/R1\n",
+ "# Output voltage,\n",
+ "Vo = Ao*Vin# V\n",
+ "print \"The output voltage = %.2f V\"%Vo"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exa 6.7 page No 358"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 7,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The value of R1 = 20.00 k ohm\n",
+ "The value of R_F = 80.00 k ohm\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "# Given data\n",
+ "Ao = -4# V/V\n",
+ "R_T= 100## total resistance = %.2f k ohm\n",
+ "# R1+R_F= R_T (i)\n",
+ "# Ao= -R_F/R1 (ii)\n",
+ "R_F= R_T/(1-1/Ao)# k ohm (From eq (i) and (ii))\n",
+ "R1= -R_F/Ao# k ohm\n",
+ "print \"The value of R1 = %.2f k ohm\"%R1\n",
+ "print \"The value of R_F = %.2f k ohm\"%R_F"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exa 6.8 page No 359"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 8,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The output voltage = 7.75 V\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "# Given data\n",
+ "R1 = 15# k ohm\n",
+ "R_F = 450# k ohm\n",
+ "Vin = -0.25# V\n",
+ "# Vo = Ao*Vin\n",
+ "Vo = (1+R_F/R1)*abs(Vin)# V (on putting, Ao = 1+(R_F/R1))\n",
+ "print \"The output voltage = %.2f V\"%Vo"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exa 6.9 page No 360"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 10,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The relation of R1 and R_F can be implemented in two ways : \n",
+ "(i) : When R_F= R || R, in this condition\n",
+ "The value of R1 = 10.00 k ohm\n",
+ "The value of R_F = 5.00 k ohm\n",
+ "(ii) : When both resistor connected in series, in this condition\n",
+ "The value of R1 = 20.00 k ohm\n",
+ "The value of R_F = 10.00 k ohm\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "# Given data\n",
+ "Ao = 1.5# V/V\n",
+ "R = 10# k ohm\n",
+ "# Ao = (1+(R_F/R1))\n",
+ "print \"The relation of R1 and R_F can be implemented in two ways : \"\n",
+ "print \"(i) : When R_F= R || R, in this condition\"\n",
+ "# When R_F= R || R\n",
+ "R1= R##in k ohm\n",
+ "R_F= R1*(Ao-1)# k ohm\n",
+ "print \"The value of R1 = %.2f k ohm\"%R1\n",
+ "print \"The value of R_F = %.2f k ohm\"%R_F\n",
+ "# When both resistor connected = %.2f series\n",
+ "print \"(ii) : When both resistor connected in series, in this condition\"\n",
+ "R1= 2*R# k ohm\n",
+ "R_F= R1*(Ao-1)# k ohm\n",
+ "print \"The value of R1 = %.2f k ohm\"%R1\n",
+ "print \"The value of R_F = %.2f k ohm\"%R_F"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exa 6.10 page No 361"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 11,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The value of R_F = 27.00 k ohm\n",
+ "The value of R1 = 3.00 k ohm\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "# Given data\n",
+ "Ao = 10\n",
+ "# Ao = (1+(R_F/R1))\n",
+ "#Given that maximum value of resistor should not exceed 30 kΩ, so we select\n",
+ "R_F= 27# k ohm\n",
+ "R1= R_F/(Ao-1)# k ohm\n",
+ "print \"The value of R_F = %.2f k ohm\"%R_F\n",
+ "print \"The value of R1 = %.2f k ohm\"%R1"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exa 6.11 page No 363"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 12,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The output voltage = -3.70 V\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "# Given data\n",
+ "Va = 0.2# V\n",
+ "Vb = -0.5# V\n",
+ "Vc = 0.8# V\n",
+ "Ra = 33# k ohm\n",
+ "Rb = 22# k ohm\n",
+ "Rc = 11# k ohm\n",
+ "R_F = 66# k ohm\n",
+ "# Using Superposition theorm, the output voltage\n",
+ "Vo = (-((R_F/Ra)*Va)) -(((R_F/Rb)*Vb)) -(((R_F/Rc)*Vc))# V\n",
+ "print \"The output voltage = %.2f V\"%Vo"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exa 6.13 page No 364"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 13,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The output voltage = 7.88 V\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "# Given data\n",
+ "Va = 6# V\n",
+ "Vb = -3# V\n",
+ "Vc = -0.75# V\n",
+ "Ra = 10# k ohm\n",
+ "Rb = 2.5# k ohm\n",
+ "Rc = 4# k ohm\n",
+ "R_F = 10# k ohm\n",
+ "# The output voltage \n",
+ "Vo = (-((R_F/Ra)*Va)) -(((R_F/Rb)*Vb)) -(((R_F/Rc)*Vc))# V\n",
+ "print \"The output voltage = %.2f V\"%Vo"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exa 6.14 page No 365"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 14,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The closed loop differential gain = -39.00\n",
+ "The output voltage = 7.80 V\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "# Given data\n",
+ "R1 = 100# ohm\n",
+ "R2 = R1# ohm\n",
+ "R3 = 3.9# k ohm\n",
+ "R3 = R3 * 10**3# ohm\n",
+ "R_F = R3# ohm\n",
+ "Vx = -3.2# V\n",
+ "Vy = -3# V\n",
+ "# output voltage due to Vx, Vox = -(R_F/R1)*Vx and due to Vy, Voy = (R3/(R2+R3)) * (1+(R_F/R1))*Vy\n",
+ "# Vo = Vox + Voy = -(R_F/R1)*Vx + (R_F/R1)*Vy (as R1=R2 and R3=Rf)\n",
+ "#So, Aod = Vo/(Vx-Vy) = -R_F/R1\n",
+ "Aod = -R_F/R1\n",
+ "print \"The closed loop differential gain = %.2f\"%Aod\n",
+ "Vo = (-R_F/R1)*(Vx-Vy)# V\n",
+ "print \"The output voltage = %.2f V\"%Vo"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exa Misc. 6.1 page No 366"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 15,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The value of CMRR for the circuit = 6000.00\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Given data\n",
+ "Vid = 1# mV\n",
+ "Vo = 120# mV\n",
+ "V_CM = 1# mV\n",
+ "Ad = Vo/Vid\n",
+ "Vo = 20# µV\n",
+ "Vo = Vo * 10**-3# mV\n",
+ "A_CM = Vo/V_CM\n",
+ "Vo = 120# mV\n",
+ "# The value of CMRR for the circuit \n",
+ "CMRR = Vo/A_CM\n",
+ "print \"The value of CMRR for the circuit = %.2f\"%CMRR"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exa Misc. 6.2 page No 366"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 16,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The closed loop gain = 100.00\n",
+ "The output voltage = -3.00 V\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "# Given data\n",
+ "R1 = 10# k ohm\n",
+ "R_F = 1000# k ohm\n",
+ "# Vin/R1 = -Vo/R_F and Vo/Vin = Ao = -R_F/R1\n",
+ "Ao = abs(-R_F/R1)# k ohm\n",
+ "print \"The closed loop gain = %.2f\"%Ao\n",
+ "Vin = 30# mV\n",
+ "Vin = Vin * 10**-3# V\n",
+ "# The output voltage,\n",
+ "Vo =-Ao*Vin# V\n",
+ "print \"The output voltage = %.2f V\"%Vo\n",
+ "\n",
+ "# Note: The loop gain will be unit less."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exa Misc. 6.3 page No 367"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 17,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The range of voltage gain is : -15.00 to -30.00\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "# Given data\n",
+ "R1min = 10# k ohm\n",
+ "R1max = 20# k ohm\n",
+ "R_F = 300# k ohm\n",
+ "# The closed loop voltage gain corresponding to R1min,\n",
+ "Ao_min = -R_F/R1min\n",
+ "# The closed loop voltage gain corresponding to R1max,\n",
+ "Ao_max = -R_F/R1max\n",
+ "print \"The range of voltage gain is : %.2f to %.2f\"%(Ao_max,Ao_min)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exa Misc. 6.4 page No 368"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 18,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Range of output voltage is : 5.50 V to 13.00 V\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "# Given data\n",
+ "R_F = 500# k ohm\n",
+ "R_desh = 20# k ohm\n",
+ "Vin = 0.5# V\n",
+ "Rd_desh = 0\n",
+ "R1min = 20# k ohm\n",
+ "R1max = 50# k ohm\n",
+ "# Ao = Vo/Vin = (1+(R_F/R1))\n",
+ "Vo_max = Vin*(1+(R_F/R1min))## output voltage corresponding to R1min\n",
+ "Vo_min = Vin*(1+(R_F/R1max))## output voltage corresponding to R1max\n",
+ "print \"Range of output voltage is : %.2f V to %.2f V\"%(Vo_min,Vo_max)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exa Misc. 6.5 page No 369"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 19,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The minimum closed loop voltage gain = -1.00\n",
+ "The maximum closed loop voltage gain = -51\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "# Given data\n",
+ "R1 = 2# k ohm\n",
+ "Rdas = 2# k ohm\n",
+ "R_Fmin = 2# k ohm\n",
+ "R_Fmax = 102# k ohm\n",
+ "# Ao = -R_F/R1\n",
+ "# The minimum closed loop voltage gain \n",
+ "Aomin = -R_Fmin/R1\n",
+ "print \"The minimum closed loop voltage gain = %.2f\"%Aomin\n",
+ "#The maximum closed loop voltage gain \n",
+ "Aomax = -R_Fmax/R1\n",
+ "print \"The maximum closed loop voltage gain = %.2d\"%Aomax"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exa Misc. 6.6 page No 371"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 20,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The minimum closed loop voltage gain = 1.00\n",
+ "The maximum closed loop voltage gain = 11.00\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "# Given data\n",
+ "R1 = 10# k ohm\n",
+ "R_F = 0\n",
+ "# Ao = (1+(R_F/R1))\n",
+ "# The minimum closed loop voltage gain \n",
+ "Aomin = (1+(R_F/R1))\n",
+ "print \"The minimum closed loop voltage gain = %.2f\"%Aomin\n",
+ "R_F = 100# k ohm\n",
+ "# The maximum closed loop voltage gain \n",
+ "Aomax = (1+(R_F/R1))\n",
+ "print \"The maximum closed loop voltage gain = %.2f\"%Aomax"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exa Misc. 6.7 page No 372"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 21,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The closed loop voltage for switch position-1 = -213.64\n",
+ "The closed loop voltage for switch position-2 = -81.82\n",
+ "The closed loop voltage for switch position-3 = -177.27\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "# Given data\n",
+ "R1 = 220# ohm\n",
+ "R_F = 47# k ohm\n",
+ "R_F =R_F * 10**3# ohm\n",
+ "# The closed loop voltage for switch position-1\n",
+ "Ao = -R_F/R1\n",
+ "print \"The closed loop voltage for switch position-1 = %.2f\"%Ao\n",
+ "R_F = 18# k ohm\n",
+ "R_F = R_F * 10**3# ohm\n",
+ "# The closed loop voltage for switch position-2\n",
+ "Ao = -R_F/R1\n",
+ "print \"The closed loop voltage for switch position-2 = %.2f\"%Ao\n",
+ "R_F = 39# k ohm\n",
+ "R_F = R_F * 10**3# ohm\n",
+ "# The closed loop voltage for switch position-3\n",
+ "Ao = -R_F/R1\n",
+ "print \"The closed loop voltage for switch position-3 = %.2f\"%Ao"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exa Misc. 6.8 page No 373"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 22,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The closed loop voltage gain for switch position-1 is : 21.00\n",
+ "The closed loop voltage gain for switch position-2 is : 61.00\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "# Given data\n",
+ "R_F = 120# k ohm\n",
+ "Rdas1 = 6# k ohm\n",
+ "Rddas1 = 3# k ohm\n",
+ "R1 = Rdas1# k ohm\n",
+ "# For switch position-1 , the closed loop voltage gain,\n",
+ "Ao = 1+(R_F/R1)\n",
+ "print \"The closed loop voltage gain for switch position-1 is : %.2f\"%Ao\n",
+ "R1 = (Rdas1*Rddas1)/(Rdas1+Rddas1)# k ohm\n",
+ "# For switch position-2, the closed loop voltage gain, \n",
+ "Ao = 1+(R_F/R1)\n",
+ "print \"The closed loop voltage gain for switch position-2 is : %.2f\"%Ao"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exa Misc. 6.9 page No 374"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 27,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The output voltage = 0 V\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "# Given data\n",
+ "R_F = 20# k ohm\n",
+ "R1 = 20# k ohm\n",
+ "R2 = 10# k ohm\n",
+ "Vin1 = 2# V\n",
+ "Vin2 = 1# V\n",
+ "# The output voltage, by using super position theorm\n",
+ "Vo = ((-R_F/R1)*Vin1) + ((1+(R_F/R1))*Vin2)\n",
+ "print \"The output voltage = %.f V\"%Vo"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exa Misc. 6.10 page No 375"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 28,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The output voltage = -5.60 V\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "# Given data\n",
+ "R_F = 60# ko hm\n",
+ "R1 = 20# k ohm\n",
+ "Vin1 = 2# V\n",
+ "Vin2 = 0.1# V\n",
+ "# The output voltage, by using super position theorm,\n",
+ "Vo = ((-R_F/R1)*Vin1) + ((1+(R_F/R1))*Vin2)# V\n",
+ "print \"The output voltage = %.2f V\"%Vo"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exa Misc. 6.11 page No 375"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 30,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The output voltage = -5.00 V\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "# Given data\n",
+ "R1 = 10# k ohm\n",
+ "R2 = 20# k ohm\n",
+ "R3 = 10# k ohm\n",
+ "R_F = 20# k ohm\n",
+ "Vin1 = 2# V\n",
+ "Vin2 = 1# V\n",
+ "# The output voltage,\n",
+ "Vo = ((-R_F/R1)*Vin1) - ((R_F/R2)*Vin2)# V\n",
+ "print \"The output voltage = %.2f V\"%Vo"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exa Misc. 6.12 page No 376"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 31,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The voltage is appeared at the output terminal = 2.00 V\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "# Given data\n",
+ "R_F = 20# k ohm\n",
+ "R1 = 10# k ohm\n",
+ "R2 = 20# k ohm\n",
+ "Vin1 = 2# V\n",
+ "Vin2 = 2# V\n",
+ "Vin3 = 2# V\n",
+ "# The output voltage, by using super position theorm,\n",
+ "Vo = ((-R_F/R1)*Vin1) + (-Vin2*R_F/R2+Vin2) + ((R_F/(((R1*R2)/(R1+R2))))*Vin3)# V\n",
+ "print \"The voltage is appeared at the output terminal = %.2f V\"%Vo"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exa Misc. 6.13 page No 377"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 32,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The output voltage = 0.10 V\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "# Given data\n",
+ "R1 = 20# k ohm\n",
+ "R3 = 10# k ohm\n",
+ "R2 = R3# k ohm\n",
+ "R_F = 20# k ohm\n",
+ "Vin1 = 2# V\n",
+ "Vin2 = 2.1# V\n",
+ "# The input voltage at non-inverting terminal,\n",
+ "V_A = (R2*Vin2)/R1# V\n",
+ "# The output voltage, by using super position theorm,\n",
+ "Vo = ((-R_F/R1)*Vin1) + ((1+(R_F/R1))*(R1/(R2+R3))*V_A)# V\n",
+ "print \"The output voltage = %.2f V\"%Vo"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exa Misc. 6.15 page No 379"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 33,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The maximum loop voltage gain = 51.00\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "# Given data\n",
+ "#Output voltage of the amplifier, Vo = (1+(Rf/Rin))*Vin and voltage gain, Av = Vo/Vin = 1+(Rf/Rin)\n",
+ "Rf = 0\n",
+ "Rin = 2# k ohm\n",
+ "Avmin = 1+(Rf/Rin)\n",
+ "Rf = 100# k ohm\n",
+ "# The maximum loop voltage gain \n",
+ "Avmax = 1+(Rf/Rin)\n",
+ "print \"The maximum loop voltage gain = %.2f\"%Avmax"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exa Misc. 6.18 page No 383"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 35,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The output voltage in differential mode gain = 2.50 volts\n",
+ "The output voltage due to common mode gain = 0.04 volts\n",
+ "The percentage error due to common mode = 1.48 %\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "# Given data\n",
+ "Ad = 5*10**5## differential mode gain\n",
+ "CMRR = 80# dB\n",
+ "A_CM = Ad/(10**(CMRR/20))## common mode gain\n",
+ "V1 = 745# µV\n",
+ "V1 = V1 * 10**-6# V\n",
+ "V2 = 740# µV\n",
+ "V2 = V2 * 10**-6# V\n",
+ "# CMRR = 20*log( Ad/A_CM )\n",
+ "# #output voltage = %.2f differential mode gain\n",
+ "Vod = Ad*(V1-V2)# V\n",
+ "print \"The output voltage in differential mode gain = %.2f volts\"%Vod\n",
+ "#output voltage due to common mode gain \n",
+ "Vo_CM = A_CM*((V1+V2)/2)##in V\n",
+ "print \"The output voltage due to common mode gain = %.2f volts\"%Vo_CM\n",
+ "Pr = (Vo_CM/Vod)*100## percentage error = %.2f %\n",
+ "print \"The percentage error due to common mode = %.2f %%\"%Pr"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exa Misc. 6.19 page No 384"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 38,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The input impedance = 1.00 Mohm\n",
+ "The voltage gain = -1.00\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "# Given data\n",
+ "R1 = 1# Mohm\n",
+ "# The input impedance \n",
+ "Rin = R1# Mohm\n",
+ "print \"The input impedance = %.2f Mohm\"%Rin\n",
+ "R2 = 1# Mohm\n",
+ "# The voltage gain \n",
+ "Avf = -R2/R1## Voltage gain\n",
+ "print \"The voltage gain = %.2f\"%Avf"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exa Misc. 6.21 page No 386"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 39,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The output volatge = -11.00 V\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "# Given data\n",
+ "i1 = 1##input current for first op-amp = %.2f mA\n",
+ "i1 = i1 * 10**-3# A\n",
+ "R_F = 1# k ohm\n",
+ "R_F = R_F * 10**3# ohm\n",
+ "# Output voltage at first op-amp stage\n",
+ "Vo = -i1*R_F# V\n",
+ "R1 = 10# k ohm\n",
+ "R2 = 1# k ohm\n",
+ "# The output voltage,\n",
+ "Vg1 = Vo*(1+(R1/R2))# V\n",
+ "print \"The output volatge = %.2f V\"%Vg1"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exa Misc. 6.22 page No 386"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 40,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The value of Vo = 1.50 volts\n",
+ "But the supply voltage of 10 V is used, so the op-amp will reach = %.2f saturation.\n",
+ "Hence, output voltage is -10 volts.\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "# Given data\n",
+ "R_S3 = 10# k ohm\n",
+ "R_S2 = R_S3# k ohm\n",
+ "R_S1 = R_S3# k ohm\n",
+ "Rf = 10# k ohm\n",
+ "Vs1 = 0.2# V\n",
+ "Vs2 = 0.5# V\n",
+ "Vs3 = 0.8# V\n",
+ "# I = I1+6I2+I3\n",
+ "# I = (Vs1/R_S1) + (Vs2/R_S2) + (Vs3/R_S3)\n",
+ "# I = - If\n",
+ "# Vo = -If*Rf\n",
+ "Vo = (Rf/R_S1)*(Vs1+Vs2+Vs3)# V (as R_S1= R_S2=R_S3)\n",
+ "print \"The value of Vo = %.2f volts\"%Vo\n",
+ "print \"But the supply voltage of 10 V is used, so the op-amp will reach = %.2f saturation.\"\n",
+ "print \"Hence, output voltage is -10 volts.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exa Misc. 6.25 page No 388"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 41,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The current through R_L = -1.85 mA\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "# Given data\n",
+ "#Ratio of R2/R1 = R3/R4 = 4 and R_L = -Vi/R3\n",
+ "Vi = 3.7# V\n",
+ "R3 = 2# k ohm\n",
+ "R3 = R3 * 10**3# ohm\n",
+ "# The current through R_L,\n",
+ "I_L = -Vi/R3# A\n",
+ "I_L= I_L*10**3# mA\n",
+ "print \"The current through R_L = %.2f mA\"%I_L"
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 2",
+ "language": "python",
+ "name": "python2"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 2
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython2",
+ "version": "2.7.9"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/Basic_Electronics_by_Rakesh_Kumar_Garg,_Ashish_Dixit_&_Paban_Yadav/chapter7.ipynb b/Basic_Electronics_by_Rakesh_Kumar_Garg,_Ashish_Dixit_&_Paban_Yadav/chapter7.ipynb
new file mode 100644
index 00000000..19a5a991
--- /dev/null
+++ b/Basic_Electronics_by_Rakesh_Kumar_Garg,_Ashish_Dixit_&_Paban_Yadav/chapter7.ipynb
@@ -0,0 +1,915 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Chapter 7 Junction Field Effect Transistor"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exa 7.1 page No 418"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 5,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "data": {
+ "image/png": "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\n",
+ "text/plain": [
+ "<matplotlib.figure.Figure at 0x7f0d7ed42050>"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Transfer characteristics of a JFET shown in figure.\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "from numpy import arange\n",
+ "%matplotlib inline\n",
+ "from matplotlib.pyplot import plot,xlabel,ylabel,title,show\n",
+ "# Given data\n",
+ "I_DSS = 14# mA\n",
+ "V_GSoff = -6# V\n",
+ "V_GS= arange(0,-0.1+V_GSoff,-0.1) # V\n",
+ "I_D= I_DSS*(1-V_GS/V_GSoff)**2# mA\n",
+ "# Ploting of the dc transfer characteristics\n",
+ "plot(V_GS,I_D)\n",
+ "xlabel(\"V_GS in volts\")\n",
+ "ylabel(\"I_D in mA\")\n",
+ "title(\"Transfer characteristics of a JFET\")\n",
+ "show()\n",
+ "print \"Transfer characteristics of a JFET shown in figure.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exa 7.2 page No 418"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 6,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The value of drain current = 4.22 mA\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "# Given data\n",
+ "I_DSS = 30# mA\n",
+ "V_GSoff = -8# V\n",
+ "V_GS = -5# V\n",
+ "# The value of drain current \n",
+ "I_D = I_DSS * ((1-(V_GS/V_GSoff))**2)# mA\n",
+ "print \"The value of drain current = %.2f mA\"%I_D"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exa 7.3 page No 418"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 8,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The value of R_S = 0.60 k ohm\n",
+ "The value of R_D = 6.00 k ohm\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "from math import sqrt\n",
+ "# Given data\n",
+ "I_D = 1.5# mA\n",
+ "I_D = I_D*10**-3# A\n",
+ "V_DS = 10# V\n",
+ "I_DSS = 5# mA\n",
+ "I_DSS = I_DSS * 10**-3# A\n",
+ "V_P = -2# V\n",
+ "V_DD = 20# V\n",
+ "# I_D = I_DSS*((1-(V_GS/V_P))**2)\n",
+ "# ((V_GS/2)+1) = sqrt(I_D/I_DSS)\n",
+ "V_GS = 2*( (sqrt(I_D/I_DSS))-1 )# V\n",
+ "V_G = 0# V\n",
+ "# V_GS = V_G-V_S\n",
+ "V_S = -V_GS# V\n",
+ "R_S = V_S/I_D# ohm\n",
+ "R_S= R_S*10**-3# k ohm\n",
+ "print \"The value of R_S = %.2f k ohm\"%R_S\n",
+ "R_S= R_S*10**3# ohm\n",
+ "# V_DD = (I_D*R_D) + V_DS + (I_D*R_S)\n",
+ "R_D = (V_DD-V_DS-(I_D*R_S))/I_D# ohm\n",
+ "R_D = round(R_D * 10**-3)# k ohm\n",
+ "print \"The value of R_D = %.2f k ohm\"%R_D"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exa 7.4 page No 419"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The value of V_DS = 17.00 V\n",
+ "The value of V_GS = -0.50 V\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "# Given data\n",
+ "V_DD = 30# V\n",
+ "R_D = 5# k ohm\n",
+ "R_D = R_D * 10**3# ohm\n",
+ "I_D = 2.5# mA\n",
+ "I_D = I_D * 10**-3# A\n",
+ "R_S = 200# ohm\n",
+ "# V_DD = (I_D*R_D) + V_DS + (I_D*R_S)\n",
+ "V_DS = V_DD - (I_D*(R_D+R_S))# V\n",
+ "print \"The value of V_DS = %.2f V\"%V_DS\n",
+ "# The value of V_GS \n",
+ "V_GS = -I_D*R_S# V\n",
+ "print \"The value of V_GS = %.2f V\"%V_GS"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exa 7.5 page No 420"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 4,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The pinch of voltage = 6.79 V\n",
+ "The channel half width = 8.79e-05 cm\n"
+ ]
+ }
+ ],
+ "source": [
+ "from math import sqrt,pi\n",
+ "from __future__ import division\n",
+ "# Given data\n",
+ "Alpha = 3*10**-6# m\n",
+ "N_D = 10**21# electrons/cm**3\n",
+ "q = 1.6 * 10**-19# C\n",
+ "Epsilon_o = (36*pi*10**9)**-1\n",
+ "Epsilon = 12*Epsilon_o\n",
+ "# The pinch of voltage \n",
+ "V_P = ((q*N_D)/(2*Epsilon))*(Alpha**2)# V\n",
+ "print \"The pinch of voltage = %.2f V\"%V_P\n",
+ "# Part (ii)\n",
+ "VGSbyVp= 1/2\n",
+ "# V_GS = ((1-b/Alpha)**2)*V_P\n",
+ "# The channel half width \n",
+ "b = Alpha*( 1-sqrt(VGSbyVp))# m\n",
+ "b=b*10**2# cm\n",
+ "print \"The channel half width = %.2e cm\"%b"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exa 7.6 page No 420"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 5,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The value of V_GS = -0.61 V\n",
+ "The value of gm = 1.15 mA/V\n",
+ "The value of R_S = 759.22 ohm\n",
+ "The value of Rd = 8.70 k ohm\n"
+ ]
+ }
+ ],
+ "source": [
+ "from math import sqrt,pi\n",
+ "from __future__ import division\n",
+ "# Given data\n",
+ "V_P = -2# V\n",
+ "I_DSS = 1.65# mA\n",
+ "I_D = 0.8# mA\n",
+ "V_DD = 24# V\n",
+ "# I_D =I_DSS*(( 1-(V_GS/V_P) )**2)\n",
+ "V_GS = V_P*(1-sqrt(I_D/I_DSS))\n",
+ "print \"The value of V_GS = %.2f V\"%V_GS\n",
+ "# Part (b)\n",
+ "g_mo = (-2*I_DSS)/V_P# mA/V\n",
+ "g_m = g_mo*(1-(V_GS/V_P))# mA/V\n",
+ "print \"The value of gm = %.2f mA/V\"%g_m\n",
+ "# Part (c)\n",
+ "# The value of R_S \n",
+ "R_S = -V_GS/(I_D*10**-3)# ohm\n",
+ "print \"The value of R_S = %.2f ohm\"%R_S\n",
+ "# Part (d)\n",
+ "Av= 20##voltage gain = %.2f dB\n",
+ "Av= 10**(Av/20)\n",
+ "# r_d >> Rd and |Av|= gm*Rd\n",
+ "Rd= Av/g_m# k ohm\n",
+ "print \"The value of Rd = %.2f k ohm\"%Rd\n",
+ "\n",
+ "# Note: The value of R_S in the book is quite different from the coding output because in the book the calculated value of V_GS is not correct, correct value is -0.61"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exa 7.7 page No 421"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 6,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The value of V_GS = -2.00 V\n",
+ "The value of I_DQ = 5.62 mA\n",
+ "The value of V_DS = 4.75 V\n",
+ "The value of V_D = 4.75 V\n",
+ "The value of V_G = -2.00 V\n",
+ "The value of V_S = 0.00 V\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "# Given data\n",
+ "I_DSS =10# mA\n",
+ "V_P = -8# V\n",
+ "V_GG = 2# V\n",
+ "V_GS = -V_GG# V\n",
+ "V_DD = 16# V\n",
+ "R_D = 2# k ohm\n",
+ "R_D = R_D * 10**3# ohm\n",
+ "print \"The value of V_GS = %.2f V\"%V_GS\n",
+ "# Part (b)\n",
+ "# The value of I_DQ \n",
+ "I_DQ = I_DSS * (1-V_GS/V_P)**2# mA\n",
+ "print \"The value of I_DQ = %.2f mA\"%I_DQ\n",
+ "# Part (c)\n",
+ "# The value of V_DS \n",
+ "V_DS = V_DD - (I_DQ*10**-3*R_D)# V\n",
+ "print \"The value of V_DS = %.2f V\"%V_DS\n",
+ "# Part (d)\n",
+ "# The value of V_D \n",
+ "V_D = V_DS# V\n",
+ "print \"The value of V_D = %.2f V\"%V_D\n",
+ "# Part (e)\n",
+ "# The value of V_G \n",
+ "V_G = V_GS# V\n",
+ "print \"The value of V_G = %.2f V\"%V_G\n",
+ "# Part (f)\n",
+ "# The value of V_S \n",
+ "V_S = 0# V\n",
+ "print \"The value of V_S = %.2f V\"%V_S"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exa 7.8 page No 422"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 7,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The resistance between gate and source = 10000.00 M ohm\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "# Given data\n",
+ "V_GS = 10# V\n",
+ "I_G = 0.001# µA\n",
+ "I_G = I_G * 10**-6# A\n",
+ "# The resistance between gate and source \n",
+ "R_GS = V_GS/I_G# ohm\n",
+ "R_GS = R_GS * 10**-6# Mohm\n",
+ "print \"The resistance between gate and source = %.2f M ohm\"%R_GS"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exa 7.9 page No 422"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 8,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The ac drain resistance of the JFET = 12.50 k ohm\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "# Given data\n",
+ "delV_DS = 1.5# V\n",
+ "delI_D = 120# µA\n",
+ "delI_D = delI_D*10**-6# A\n",
+ "# The ac drain resistance of the JFET \n",
+ "r_d = delV_DS/delI_D# ohm\n",
+ "r_d= r_d*10**-3# k ohm\n",
+ "print \"The ac drain resistance of the JFET = %.2f k ohm\"%r_d"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exa 7.10 page No 422"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 9,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The transconductance = 2.00 mA/V\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "# Given data\n",
+ "I_D1 = 1.2# mA\n",
+ "I_D2 = 1.5# mA\n",
+ "# change = %.2f gate to source voltage,\n",
+ "delI_D = I_D2-I_D1# mA\n",
+ "V_GS2 = -4.10# V\n",
+ "V_GS1 = -4.25# V\n",
+ "delV_GS = V_GS2-V_GS1# V\n",
+ "# The transconductance \n",
+ "g_m = delI_D/delV_GS# mA/V\n",
+ "print \"The transconductance = %.2f mA/V\"%g_m"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exa 7.11 page No 423"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 10,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The value of I_D = 2.10 mA\n",
+ "The value of g_m = 2.80 mA/V\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "# Given data\n",
+ "I_DSS = 8.4# mA\n",
+ "V_P = -3# V\n",
+ "V_GS = -1.5# V\n",
+ "# The value of I_D,\n",
+ "I_D = I_DSS*((1-(V_GS/V_P))**2)# mA\n",
+ "print \"The value of I_D = %.2f mA\"%I_D\n",
+ "g_mo = (-2*I_DSS)/V_P# mA/V\n",
+ "# The value of g_m \n",
+ "g_m = g_mo*(1-(V_GS/V_P))# mA/V\n",
+ "print \"The value of g_m = %.2f mA/V\"%g_m"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exa 7.12 page No 424"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 11,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Part (a) : The pinch off voltage for Si = 0.04 volts\n",
+ "Part (b) : The pinch off voltage for Ge = 0.01 volts\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "# Given data\n",
+ "rho = 10# ohm-cm\n",
+ "epsilon_o = 8.86*10**-12# c**2/Nm**2\n",
+ "a = 2*10**-4# cm\n",
+ "# V_P= q*N_A*a**2/(2*epsilon) (i)\n",
+ "# and sigma= n*miu*q = N_A*miu*q => N_A= 1/(q*miu*rho) (ii)\n",
+ "# From eq(i) and (ii), V_P = (a**2)/(2*miu_p*Epsilon*rho)\n",
+ "miu_p= 500# cm**2/V-sec (for Si)\n",
+ "epsilon= 12*epsilon_o## for Si\n",
+ "# The pinch off voltage for Si \n",
+ "V_P = (a**2)/(2*miu_p*epsilon*rho)##in V\n",
+ "print \"Part (a) : The pinch off voltage for Si = %.2f volts\"%V_P\n",
+ "miu_p= 1800# cm**2/V-sec (for Ge)\n",
+ "epsilon= 16*epsilon_o## for Ge\n",
+ "# The pinch off voltage for Ge \n",
+ "V_P = (a**2)/(2*miu_p*epsilon*rho)##in V\n",
+ "print \"Part (b) : The pinch off voltage for Ge = %.2f volts\"%V_P"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exa 7.14 page No 425"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 12,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Part (i) : The value of gm = 2.28 mS or mA/V\n",
+ "The value of r_d = 40.00 k ohm\n",
+ "Part (ii) : The value of Zi = 1.00 M ohm\n",
+ "Part (iii) : The value of Zo = 362.38 ohm\n",
+ "Part (iv) : The value of Av is : 0.83\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "# Given data\n",
+ "I_DSS = 16*10**-3# A\n",
+ "V_P = 4# V\n",
+ "V_GS= 2.86##in V\n",
+ "Yos = 25# µS\n",
+ "Yos= Yos* 10**-6# S\n",
+ "R_S= 2.2*10**3# ohm\n",
+ "#gm = gmo * (1-(V_GS/V_P)) or\n",
+ "gm= 2*I_DSS/V_P*(1-V_GS/V_P)# A/V\n",
+ "gm= gm*10**3# mA/V\n",
+ "print \"Part (i) : The value of gm = %.2f mS or mA/V\"%gm\n",
+ "gm= gm*10**-3# A/V\n",
+ "r_d = 1/Yos# ohm\n",
+ "r_d= r_d*10**-3# k ohm\n",
+ "print \"The value of r_d = %.2f k ohm\"%r_d\n",
+ "r_d= r_d*10**3# ohm\n",
+ "# Part (ii)\n",
+ "Zi = 1# Mohm\n",
+ "miu = r_d*gm\n",
+ "Zof_int= r_d/(1+miu)\n",
+ "# The value of Zo \n",
+ "Zo= Zof_int*R_S/(Zof_int+R_S)# ohm\n",
+ "# The value of Av\n",
+ "Av= miu*R_S/(r_d+(1+miu)*R_S)\n",
+ "print \"Part (ii) : The value of Zi = %.2f M ohm\"%Zi\n",
+ "print \"Part (iii) : The value of Zo = %.2f ohm\"%Zo\n",
+ "print \"Part (iv) : The value of Av is : %.2f\"%Av"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exa 7.16 page No 427"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 14,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Part (a) : The voltage gain = -14.29\n",
+ "Part (b) : Magnitude of voltage gain is : 8.45\n",
+ "The phase angle of voltage gain = 53.76 degree\n"
+ ]
+ }
+ ],
+ "source": [
+ "from math import sqrt,pi,atan\n",
+ "from __future__ import division\n",
+ "# Given data\n",
+ "g_m = 2*10**-3# A/V\n",
+ "r_d = 10# k ohm\n",
+ "r_d = r_d * 10**3# ohm\n",
+ "R_D = 50# k ohm\n",
+ "R_D = R_D * 10**3# ohm\n",
+ "R_L = 50# k ohm\n",
+ "R_L = R_L * 10**3# ohm\n",
+ "f = 1# kHz\n",
+ "f = f * 10**3# Hz\n",
+ "C = 2# nF\n",
+ "C = C * 10**-9# F\n",
+ "omega= 2*pi*f# radian/sec\n",
+ "R = (r_d*R_D*R_L)/( (r_d*R_D)+(R_D*R_L)+(R_L*r_d) )# ohm\n",
+ "# The voltage gain,\n",
+ "Av = -g_m*R\n",
+ "print \"Part (a) : The voltage gain = %.2f\"%Av\n",
+ "# Part (b) For small value of Cb, \n",
+ "Av = -g_m*( (r_d*R_D)/(r_d+R_D) )\n",
+ "Ro = (r_d*R_D)/(r_d+R_D)# ohm\n",
+ "X_C = 1/(omega*C)# ohm\n",
+ "Av= abs(Av)*R_L/(-1J*X_C+Ro+R_L)\n",
+ "Mag_Av= abs(Av)## magnitude of voltage gain\n",
+ "Phase_Av= atan(Av.imag/Av.real)*180/pi## phase angle of voltage gain = %.2f °\n",
+ "print \"Part (b) : Magnitude of voltage gain is : %.2f\"%Mag_Av\n",
+ "print \"The phase angle of voltage gain = %.2f degree\"%Phase_Av"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exa 7.17 page No 428"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 17,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The quiescent drain current = 1.50 mA\n",
+ "The quiescent drain to source voltage = 12.00 volts\n",
+ "The small signal voltage gain is : -21.19\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "from sympy import symbols,solve\n",
+ "from math import ceil\n",
+ "# Given data\n",
+ "V_DD = 30# V\n",
+ "R_D = 12# k ohm\n",
+ "R_S= 1.5# k ohm\n",
+ "V_GS = -0.47# V\n",
+ "V_P = -2.4# V\n",
+ "I_DSS = 3# mA\n",
+ "ID= symbols('ID')\n",
+ "I_D= ID-I_DSS*(1-(V_GS/V_P)*ID)**2\n",
+ "# On solving equation by polynomial method, quiescent drain current \n",
+ "I_D= solve(I_D,ID)[0] # mA\n",
+ "print \"The quiescent drain current = %.2f mA\"%I_D\n",
+ "V_D= round(V_DD-I_D*R_D)##in V\n",
+ "V_S= -V_GS*R_S# V\n",
+ "# The quiescent drain to source voltage \n",
+ "V_DS= ceil(V_D-V_S)# V\n",
+ "print \"The quiescent drain to source voltage = %.2f volts\"%V_DS\n",
+ "# gm= gmo*(1-V_GS/V_P)= -2*I_DSS/V_P*(1-V_GS/V_P)\n",
+ "gm=-2*I_DSS/V_P*(1+V_S/V_P)##in mA/V\n",
+ "# The small signal voltage gain \n",
+ "Av= -gm*R_D\n",
+ "print \"The small signal voltage gain is : %.2f\"%Av"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exa 7.18 page No 429"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 19,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The changes in Vo = 9.52 V\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "# Given data\n",
+ "I_DSS = 5.6# mA\n",
+ "V_P = -4# V\n",
+ "g_m = 2# mA/V\n",
+ "R_S = 10# k ohm\n",
+ "A_V = (g_m*R_S)/(1+(g_m*R_S))\n",
+ "Vi = 10# V\n",
+ "# Change in output voltage,\n",
+ "delVo = A_V*Vi# V\n",
+ "print \"The changes in Vo = %.2f V\"%delVo"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exa 7.19 page No 429"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 7,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "For Vi= 0 V, the output voltage = 2.00 volts\n",
+ "For Vi= 10 V, the output voltage = 11.41 volts\n",
+ "This compares well with 9.41 V of small signal model\n"
+ ]
+ }
+ ],
+ "source": [
+ "from sympy import symbols,solve\n",
+ "from __future__ import division\n",
+ "# Given data\n",
+ "V_CC= 24# V\n",
+ "V_SS= -12# = %.2f V\n",
+ "R_D= 4.7# k ohm\n",
+ "R_S= 10# k ohm\n",
+ "V_P= -4# V\n",
+ "I_DSS= 5.6# mA\n",
+ "# For\n",
+ "Vi= 0\n",
+ "ID= symbols('ID') \n",
+ "V_GS= Vi-V_SS-ID*R_S# V\n",
+ "I_D= ID-I_DSS*(1-V_GS/V_P)**2\n",
+ "# Evaluating the value of I_D by using polynomial method,\n",
+ "I_D= solve(I_D,ID)# mA\n",
+ "\n",
+ "I_D= I_D[0]## taking lower value\n",
+ "Vo1= V_SS+I_D*R_S##in V\n",
+ "print \"For Vi= 0 V, the output voltage = %.2f volts\"%Vo1\n",
+ "# For\n",
+ "Vi= 10# V\n",
+ "ID= symbols('ID') \n",
+ "V_GS= Vi-V_SS-ID*R_S# V\n",
+ "I_D= ID-I_DSS*(1-V_GS/V_P)**2\n",
+ "# Evaluating the value of I_D by using polynomial method,\n",
+ "I_D= solve(I_D, ID)# mA\n",
+ "I_D= I_D[0]## taking lower value\n",
+ "Vo2= V_SS+I_D*R_S##in V\n",
+ "print \"For Vi= 10 V, the output voltage = %.2f volts\"%Vo2\n",
+ "del_Vo= Vo2-Vo1# V\n",
+ "print \"This compares well with %.2f V of small signal model\"%del_Vo"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exa 7.20 page No 430"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 8,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The value of I_D = -4.00 mA\n",
+ "The value of V_GS = 8.00 volts\n",
+ "The value of V_DS = 28.00 volts\n"
+ ]
+ }
+ ],
+ "source": [
+ "from sympy import symbols,solve\n",
+ "from __future__ import division\n",
+ "\n",
+ "# Given data\n",
+ "V_DD = -60# V\n",
+ "R1 = 1.3# Mohm\n",
+ "R1 = R1 * 10**3# ohm\n",
+ "R2 = 200# k ohm\n",
+ "I_DSS = -4# mA\n",
+ "V_P = 4# V\n",
+ "R_S= 4# k ohm\n",
+ "R_D= 18# k ohm\n",
+ "V_GG = V_DD * (R2/(R1+R2))# V\n",
+ "R_G = (R2*R1)/(R1+R2)# k ohm\n",
+ "V_G = -8# V\n",
+ "ID= symbols('ID')\n",
+ "V_S= ID*R_S# V\n",
+ "V_GS= V_G-V_S# V\n",
+ "I_D= ID-I_DSS*(1-V_GS/V_P)**2\n",
+ "# Evaluating the value of I_D by using, polynomial method,\n",
+ "I_D= solve(I_D, ID)# mA\n",
+ "I_D= I_D[0]# mA\n",
+ "V_S= I_D*R_S# V\n",
+ "V_GS= V_G-V_S# V\n",
+ "V_DS= V_DD-I_D*(R_D+R_S)# V\n",
+ "print \"The value of I_D = %.2f mA\"%I_D\n",
+ "print \"The value of V_GS = %.2f volts\"%V_GS\n",
+ "print \"The value of V_DS = %.2f volts\"%V_DS"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exa 7.21 page No 431"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 9,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The value of I_DQ = 2.87 mA\n",
+ "The value of V_GSQ = -1.23 volts\n",
+ "The value of V_DS = 7.32 volts\n"
+ ]
+ }
+ ],
+ "source": [
+ "from sympy import symbols,solve\n",
+ "from __future__ import division\n",
+ "# Given data\n",
+ "I_DSS= 6# mA\n",
+ "V_P= -4# V\n",
+ "R_S= 0.43# k ohm\n",
+ "R_D= 1.2# k ohm\n",
+ "V_DD= 12# V\n",
+ "ID= symbols('ID')\n",
+ "V_GS= -ID*R_S# V\n",
+ "I_D= ID-I_DSS*(1-V_GS/V_P)**2\n",
+ "# Evaluating the value of I_D by using polynomial method,\n",
+ "I_D= solve(I_D, ID)# mA\n",
+ "I_D= I_D[0]##in mA (taking lower value)\n",
+ "V_GSQ= -I_D*R_S# = %.2f V\n",
+ "print \"The value of I_DQ = %.2f mA\"%I_D\n",
+ "print \"The value of V_GSQ = %.2f volts\"%V_GSQ\n",
+ "# part (b) \n",
+ "# Applying KVL, V_DD-I_D*R_D-V_DS-I_D*R_S=0 or\n",
+ "V_DS= V_DD-I_D*(R_D+R_S)# V\n",
+ "print \"The value of V_DS = %.2f volts\"%V_DS\n",
+ "\n",
+ "# Note: In the book, the calculated value of I_D is wrong due to this all the answer in the book is wrong."
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 2",
+ "language": "python",
+ "name": "python2"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 2
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython2",
+ "version": "2.7.9"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/Basic_Electronics_by_Rakesh_Kumar_Garg,_Ashish_Dixit_&_Paban_Yadav/chapter8.ipynb b/Basic_Electronics_by_Rakesh_Kumar_Garg,_Ashish_Dixit_&_Paban_Yadav/chapter8.ipynb
new file mode 100644
index 00000000..f93b7449
--- /dev/null
+++ b/Basic_Electronics_by_Rakesh_Kumar_Garg,_Ashish_Dixit_&_Paban_Yadav/chapter8.ipynb
@@ -0,0 +1,238 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Chapter 8 Metal Oxide Semiconductor Field Effect Transistor"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exa 8.1 page No 441"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "data": {
+ "image/png": "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\nQmCC\n",
+ "text/plain": [
+ "<matplotlib.figure.Figure at 0x7fb8f99e1e10>"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Transfer characteristics for an n-channel depletion-type MOSFET shown in figure.\n"
+ ]
+ }
+ ],
+ "source": [
+ "from numpy import arange\n",
+ "%matplotlib inline\n",
+ "from matplotlib.pyplot import plot,title,xlabel,ylabel,show\n",
+ "from __future__ import division\n",
+ "# Given data\n",
+ "I_DSS= 10# mA\n",
+ "V_P= -4# V\n",
+ "V_GS= arange(0,-0.1+V_P,-0.1) # V\n",
+ "# The value of I_D,\n",
+ "I_D= I_DSS*(1-V_GS/V_P)**2# mA\n",
+ "plot(V_GS,I_D)\n",
+ "xlabel(\"V_GS in volts\")\n",
+ "ylabel(\"I_D in mA\")\n",
+ "title(\"Transfer characteristics for an n-channel depletion-type MOSFET\")\n",
+ "show()\n",
+ "print \"Transfer characteristics for an n-channel depletion-type MOSFET shown in figure.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exa 8.2 page No 442"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The value of V_DS = 5.00 V\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "# Given data\n",
+ "V_DD= 20# V\n",
+ "V_GS = 0# V\n",
+ "I_DSS = 10# mA\n",
+ "I_P = I_DSS# mA\n",
+ "I_D = I_DSS# mA\n",
+ "R_D = 1.5# k ohm\n",
+ "# The drain to source voltage,\n",
+ "V_DS = V_DD - (I_D*R_D)# V\n",
+ "print \"The value of V_DS = %.2f V\"%V_DS"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exa 8.3 page No 442"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The drain current = 1.25 mA\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "# Given data\n",
+ "I_Don = 5# mA\n",
+ "V_GS = 8# V\n",
+ "V_GST = 4# V\n",
+ "K = I_Don/((V_GS-V_GST)**2)# mA/V**2\n",
+ "# Drain current when V_GS= 6 V\n",
+ "V_GS= 6# V\n",
+ "I_D = K*((V_GS-V_GST)**2)# mA\n",
+ "print \"The drain current = %.2f mA\"%I_D"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ " ## Exa 8.4 page No 442"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 5,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Since the value of V_GS is negative, hence the device is P-channel\n",
+ "The value of I_D = 1.11 mA\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "# Given data\n",
+ "I_Don = 10# mA\n",
+ "V_GS = -12# V\n",
+ "V_Ton = -3# V\n",
+ "if V_GS<0:\n",
+ " print \"Since the value of V_GS is negative, hence the device is P-channel\"\n",
+ "\n",
+ "K = I_Don/((V_GS-V_Ton)**2)# mA/V\n",
+ "V_GS = -6# V\n",
+ "# The drain current,\n",
+ "I_D = K*( (V_GS-V_Ton)**2 )# mA\n",
+ "print \"The value of I_D = %.2f mA\"%I_D\n",
+ "\n",
+ "# Note: The answer in the book is not accurate."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exa 8.5 page No 443"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 7,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The value of I_D = 5.00 mA\n",
+ "The value of V_DS = 0.50 V\n"
+ ]
+ }
+ ],
+ "source": [
+ "from __future__ import division\n",
+ "# Given data\n",
+ "I_Don = 5# mA\n",
+ "V_GSon = 7# V\n",
+ "V_T = 4# V\n",
+ "V_DD = 9# V\n",
+ "R_D = 1.2# k ohm\n",
+ "R_S = 0.5# k ohm\n",
+ "K = (I_Don)/((V_GSon-V_T)**2)# mA/V**2\n",
+ "# The value of drain current,\n",
+ "I_D = K*((V_GSon-V_T)**2)# mA\n",
+ "print \"The value of I_D = %.2f mA\"%I_D\n",
+ "#The drain to source voltage, V_DS = V_DD - (I_D*R_D) - (I_D*R_S)\n",
+ "V_DS = V_DD - (I_D*(R_D+R_S))# V\n",
+ "print \"The value of V_DS = %.2f V\"%V_DS\n",
+ "\n",
+ "# Note: The answer in the book is not accurate."
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 2",
+ "language": "python",
+ "name": "python2"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 2
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython2",
+ "version": "2.7.9"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/Basic_Electronics_by_Rakesh_Kumar_Garg,_Ashish_Dixit_&_Paban_Yadav/screenshots/DCLOADLINEchapter4.png b/Basic_Electronics_by_Rakesh_Kumar_Garg,_Ashish_Dixit_&_Paban_Yadav/screenshots/DCLOADLINEchapter4.png
new file mode 100644
index 00000000..cbda2121
--- /dev/null
+++ b/Basic_Electronics_by_Rakesh_Kumar_Garg,_Ashish_Dixit_&_Paban_Yadav/screenshots/DCLOADLINEchapter4.png
Binary files differ
diff --git a/Basic_Electronics_by_Rakesh_Kumar_Garg,_Ashish_Dixit_&_Paban_Yadav/screenshots/DCLOADLineCH4.png b/Basic_Electronics_by_Rakesh_Kumar_Garg,_Ashish_Dixit_&_Paban_Yadav/screenshots/DCLOADLineCH4.png
new file mode 100644
index 00000000..6e8afe06
--- /dev/null
+++ b/Basic_Electronics_by_Rakesh_Kumar_Garg,_Ashish_Dixit_&_Paban_Yadav/screenshots/DCLOADLineCH4.png
Binary files differ
diff --git a/Basic_Electronics_by_Rakesh_Kumar_Garg,_Ashish_Dixit_&_Paban_Yadav/screenshots/TransferCharofnchmosfetCH8.png b/Basic_Electronics_by_Rakesh_Kumar_Garg,_Ashish_Dixit_&_Paban_Yadav/screenshots/TransferCharofnchmosfetCH8.png
new file mode 100644
index 00000000..00766631
--- /dev/null
+++ b/Basic_Electronics_by_Rakesh_Kumar_Garg,_Ashish_Dixit_&_Paban_Yadav/screenshots/TransferCharofnchmosfetCH8.png
Binary files differ
diff --git a/Engineering_Mechanics_by_A._K._Tayal/Chapter10.ipynb b/Engineering_Mechanics_by_A._K._Tayal/Chapter10.ipynb
new file mode 100644
index 00000000..c82cb27d
--- /dev/null
+++ b/Engineering_Mechanics_by_A._K._Tayal/Chapter10.ipynb
@@ -0,0 +1,333 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Chapter 10 Uniform Flexible Suspension Cables"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 10.1 Cable subjected to concentrated loads"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 7,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "(i) The horizontal reaction at B (Xb) is 1600.000000 N\n",
+ "(i) The vertical reaction at B (Yb) is 1100.000000 N\n",
+ "(ii) The sag at point E (y_e) is 1.375000 m\n",
+ "(iii) The tension in portion CA (T_CA) is 1627.882060 N\n",
+ "(iv) The max tension in the cable (T_max) is 1941.648784 N\n",
+ "(iv) The max slope (theta_1) in the cable is 34.508523 degree\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math,numpy\n",
+ "# Initilization of variables\n",
+ "W1=400 # N # vertical load at pt C\n",
+ "W2=600 # N # vertical load at pt D\n",
+ "W3=400 # N # vertical load at pt E\n",
+ "l=2 # m # l= Lac=Lcd=Lde=Leb\n",
+ "h=2.25 # m # distance of the cable from top\n",
+ "L=2 # m # dist of A from top\n",
+ "# Calculations\n",
+ "# Solving eqn's 1&2 using MATRIX for Xb & Yb\n",
+ "A=numpy.matrix([[-L,4*l],[-h,2*l]])\n",
+ "B=numpy.matrix([[((W1*l)+(W2*2*l)+(W1*3*l))],[(W1*l)]])\n",
+ "C=numpy.linalg.inv(A)*B\n",
+ "# Now consider the F.B.D of BE, Take moment at E\n",
+ "y_e=(C[1]*l)/C[0] # m / here y_e is the distance between E and the top\n",
+ "theta_1=math.degrees(math.atan(y_e/l)) # degree # where theta_1 is the angle between BE and the horizontal\n",
+ "T_BE=C[0]/math.cos(theta_1*math.pi/180) # N (T_BE=T_max)\n",
+ "# Now consider the F.B.D of portion BEDC\n",
+ "# Take moment at C\n",
+ "y_c=((C[1]*6)-(W3*4)-(W2*2))/(C[0]) # m\n",
+ "theta_4=math.degrees(math.atan(((y_c)-(l))/(l))) # degree\n",
+ "T_CA=C[0]/math.cos(theta_4*math.pi/180) # N # Tension in CA\n",
+ "# Results\n",
+ "print('(i) The horizontal reaction at B (Xb) is %f N'%C[0])\n",
+ "print('(i) The vertical reaction at B (Yb) is %f N'%C[1])\n",
+ "print('(ii) The sag at point E (y_e) is %f m'%y_e)\n",
+ "print('(iii) The tension in portion CA (T_CA) is %f N'%T_CA)\n",
+ "print('(iv) The max tension in the cable (T_max) is %f N'%T_BE)\n",
+ "print('(iv) The max slope (theta_1) in the cable is %f degree'%theta_1)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 10.2 Cables subjected to concentrated loads"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 9,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "(i) The component of support reaction at A (Ya) is 300.000000 N\n",
+ "(i) The component of support reaction at B (Yb) is 150.000000 N\n",
+ "(ii) The tension in portion AC (T_AC) of the cable is 360.555128 N\n",
+ "(ii) The tension in portion CD (T_CD) of the cable is 282.842712 N\n",
+ "(iii) The max tension in the cable is 360.555128 N\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Initiization of variables\n",
+ "W1=100 # N # Pt load at C\n",
+ "W2=150 # N # Pt load at D\n",
+ "W3=200 # N # Pt load at E\n",
+ "l=1 # m # l=Lac=Lcd=Lde=Leb\n",
+ "h=2 # m # dist between Rb & top\n",
+ "Xa=200 # N\n",
+ "Xb=200 # N\n",
+ "# Calculations\n",
+ "# consider the F.B.D of entire cable\n",
+ "# Take moment at A\n",
+ "Yb=((W1*l)+(W2*2*l)+(W3*3*l)-(Xb*h))/(4*l) # N\n",
+ "Ya=W1+W2+W3-Yb # N # sum Fy=0\n",
+ "# Now consider the F.B.D of AC\n",
+ "# Take moment at C,\n",
+ "y_c=(Ya*l)/Xa # m\n",
+ "theta_1=math.degrees(math.atan(y_c/l)) # degree\n",
+ "T_AC=Xa/math.cos(theta_1*math.pi/180) # N # T_AC*cosd(theta_1)=horizontal component of tension in the cable\n",
+ "# here, T_AC=T_max\n",
+ "T_max=T_AC # N\n",
+ "# Now consider the F.B.D of portion ACD\n",
+ "y_d=((Ya*2*l)-(W1*l))/(Xa) # m # taking moment at D\n",
+ "theta_2=math.degrees(math.atan(((y_d)-(y_c))/(l))) # degree\n",
+ "T_CD=Xa/(math.cos(theta_2*math.pi/180)) # N \n",
+ "# Results\n",
+ "print('(i) The component of support reaction at A (Ya) is %f N'%Ya)\n",
+ "print('(i) The component of support reaction at B (Yb) is %f N'%Yb)\n",
+ "print('(ii) The tension in portion AC (T_AC) of the cable is %f N'%T_AC)\n",
+ "print('(ii) The tension in portion CD (T_CD) of the cable is %f N'%T_CD)\n",
+ "print('(iii) The max tension in the cable is %f N'%T_max)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 10.3 Cables uniformly loaded per unit horizontal distance"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 10,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The lowest point C which is situated at a distance (x_b) from support B is 8.000000 m\n",
+ "The maximum tension (T_max) in the cable is 14.715000 kN\n",
+ "The minimum tension (T_0) in the cable is 11.772000 kN\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Initilization of variables\n",
+ "w=75 # kg/m # mass per unit length of thw pipe\n",
+ "l=20 # m # dist between A & B\n",
+ "g=9.81 # m/s**2 # acc due to gravity\n",
+ "y=2 # m # position of C below B\n",
+ "# Calculations\n",
+ "# Let x_b be the distance of point C from B \n",
+ "# In eq'n x_b**2+32*x_b-320=0\n",
+ "a=1\n",
+ "b=32\n",
+ "c=-320\n",
+ "x_b=(-b+math.sqrt(b**2-(4*a*c)))/(2*a) # m # we get x_b by equating eqn's 1&2\n",
+ "# Now tension T_0\n",
+ "T_0=((w*g*x_b**2)/(2*y))*(10**-3) #kN # from eq'n 1\n",
+ "# Now the max tension occurs at point A,hence x is given as,\n",
+ "x=20-x_b # m\n",
+ "w_x=w*g*x*10**(-3) # kN \n",
+ "T_max=math.sqrt((T_0)**2+(w_x)**2) # kN # Maximum Tension\n",
+ "# Results\n",
+ "print('The lowest point C which is situated at a distance (x_b) from support B is %f m'%x_b)\n",
+ "print('The maximum tension (T_max) in the cable is %f kN'%T_max)\n",
+ "print('The minimum tension (T_0) in the cable is %f kN'%T_0)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 10.4 Cables uniformly loaded per unit horizontal distance"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 14,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "(i) The magnitude of load W is 1106.074781 N\n",
+ "(ii) The angle of the cable with the horizontal at B is 3.814075 degree\n",
+ "(iii) The total length of the cable AB is 30.022222 m\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Initilization of variables\n",
+ "m=0.5 # kg/m # mass of the cable per unit length\n",
+ "g=9.81 # m/s**2\n",
+ "x=30 # m # length AB\n",
+ "y=0.5 # m # dist between C & the horizontal\n",
+ "x_b=15 # m # dist of horizontal from C to B\n",
+ "# Calculations\n",
+ "w=m*g # N/m # weight of the cable per unit length\n",
+ "T_0=(w*x_b**2)/(2*y) # N # From eq'n 1\n",
+ "T_B=math.sqrt((T_0)**2+(w*x/2)**2) # N # Tension in the cable at point B\n",
+ "W=T_B # N # As pulley is frictionless the tension in the pulley on each side is same,so W=T_B\n",
+ "# Slope of the cable at B,\n",
+ "theta=math.degrees(math.acos(T_0/T_B)) # degree\n",
+ "# Now length of the cable between C & B is,\n",
+ "S_cb=x_b*(1+((2/3)*(y/x_b)**2)) # m\n",
+ "# Now total length of the cable AB is,\n",
+ "S_ab=2*S_cb # m \n",
+ "# Results\n",
+ "print('(i) The magnitude of load W is %f N'%W)\n",
+ "print('(ii) The angle of the cable with the horizontal at B is %f degree'%theta)\n",
+ "print('(iii) The total length of the cable AB is %f m'%S_ab)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 10.5 Cables uniformly loaded per unit horizontal distance"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 15,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The smallest value of the sag in the cable is 0.849141 m\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Initilization of variables\n",
+ "x=30 # m # distance between two electric poles\n",
+ "Tmax=400 # N # Max Pull or tension\n",
+ "w=3 # N/m # weight per unit length of the cable\n",
+ "# Calculations\n",
+ "# The cable is assumed to be parabolic in shape, its eq'n is y=w*x^2/2*T_0.....(eq'n 1).\n",
+ "#Substuting the co-ordinates of point B (l/2,h), where h is the sag in the cable.\n",
+ "#This gives, T_0=(w*(l/2)^2)/(2*h)=wl^2/8*h\n",
+ "# Now the maximum pull or tension occurs at B,\n",
+ "T_B=Tmax # N \n",
+ "# Hence T_B=Tmax=sqrt(T_0^2+(w*l/2)^2). On simplyfyingthis eq'n we get, \n",
+ "h=math.sqrt(x**2/(16*(((Tmax*2)/(w*x))**2-(1)))) # m \n",
+ "# Results \n",
+ "print('The smallest value of the sag in the cable is %f m'%h)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 10.6 Catenary Cables"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 16,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The horizontal distance between the supports and the max Tension (L) is 164.791843 m\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Initilization of variables\n",
+ "l=200 # m # length of the cable\n",
+ "m=1000 # kg # mass of the cable\n",
+ "S=50 # m # sag in the cable\n",
+ "s=l/2 # m\n",
+ "g=9.81 # m/s^2\n",
+ "# Calculations\n",
+ "w=(m*g)/l # N/m # mass per unit length of the cable\n",
+ "# Substuting the values s=l/2 & y=c+S in eq'n 1 to get the value of c,\n",
+ "c=7500/100 # m \n",
+ "Tmax=math.sqrt((w*c)**2+(w*s)**2) # N # Maximum Tension\n",
+ "# To determine the span (2*x) let us use the eq'n of catenary, y=c*cosh(x/c), where y=c+50. On simplyfying we get y/c=cosh(x/c), here let y/c=A\n",
+ "y=c+50\n",
+ "A=y/c \n",
+ "x=c*(math.acosh(A)) # m \n",
+ "L=2*x # m # where L= span\n",
+ "# Results\n",
+ "print('The horizontal distance between the supports and the max Tension (L) is %f m'%L)"
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 3",
+ "language": "python",
+ "name": "python3"
+ },
+ "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.1"
+ },
+ "widgets": {
+ "state": {},
+ "version": "1.1.2"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/Engineering_Mechanics_by_A._K._Tayal/Chapter12.ipynb b/Engineering_Mechanics_by_A._K._Tayal/Chapter12.ipynb
new file mode 100644
index 00000000..607d4e25
--- /dev/null
+++ b/Engineering_Mechanics_by_A._K._Tayal/Chapter12.ipynb
@@ -0,0 +1,355 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Chapter 12 Moment of Inertia"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 12.7 Moment of Inertia of an area of a plane figure with respect to an axis in its plane"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The centroidal moment of inertia about X-axis (I_x) is 300 cm**4\n",
+ "The centroidal moment of inertia about Y-axis (I_y) is 150 cm**4\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Initilization of variables\n",
+ "A= 50 # cm**2 # area of the shaded portion\n",
+ "J_A=22.5*10**2 # cm**4 # polar moment of inertia of the shaded portion\n",
+ "d=6 # cm\n",
+ "# Calculations\n",
+ "J_c=J_A-(A*d**2) \n",
+ "# substuting the value of I_x from eq'n 2 in eq'n 1 we get,\n",
+ "I_y=J_c/3 # cm**4 # M.O.I about Y-axis\n",
+ "# Now from eq'n 2,\n",
+ "I_x=2*I_y # cm**4 # M.O.I about X-axis\n",
+ "# Results\n",
+ "print('The centroidal moment of inertia about X-axis (I_x) is %d cm**4'%I_x)\n",
+ "print('The centroidal moment of inertia about Y-axis (I_y) is %d cm**4'%I_y)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 12.8 Moment of Inertia of a Composite area or hollow section"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 4,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The M.O.I of the composite area about the centroidal x-axis is 36252.768805 cm**4\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "# Initilization of variables\n",
+ "b=20 # cm # width of the pate\n",
+ "d=30 # cm # depth of the plate\n",
+ "r=15 # cm # radius of the circular hole\n",
+ "h=20 # cm # distance between the centre of the circle & the x-axis\n",
+ "# Calculations\n",
+ "# (a) Location of the centroid of the composite area\n",
+ "A_1=b*d # cm**2 # area of the plate\n",
+ "y_1=d/2 # cm # y-coordinate of the centroid\n",
+ "A_2=(math.pi*r**2)/4 # cm**2 # area of the circle removed (negative)\n",
+ "y_2=h # cm # y-coordinate of the centroid\n",
+ "y_c=((A_1*y_1)-(A_2*y_2))/(A_1-A_2) # cm # from the bottom edge\n",
+ "# (b) Moment of Inertia of the composite area about the centroidal x-axis\n",
+ "# Area (A_1) M.I of area A_1 about x-axis\n",
+ "I_x1=(b*(d**3))/12 # cm**4\n",
+ "# M.I of the area A_1 about the centroidal x-axis of the composite area (By parallel-axis theorem)\n",
+ "OC_1=15 # cm # from the bottom edge\n",
+ "OC_2=20 # cm\n",
+ "OC=12.9 # cm # from the bottom edge\n",
+ "d_1=OC_1-OC # cm\n",
+ "d_2=OC_2-OC # cm \n",
+ "I_X1=(I_x1)+(A_1*d_1**2) # cm**4\n",
+ "# Area(A_2) M.I of area A_2 about x-axis\n",
+ "I_x2=(math.pi*r**4)/64 # cm**2\n",
+ "# M.I of the area A_2 about the centroidal x-axis of the composite area (By parallel-axis theorem)\n",
+ "I_X2=(I_x2)+(A_2*d_2**2) # cm**4\n",
+ "# COMPOSITE AREA:M.O.I of the composite area about the centroidal x-axis\n",
+ "I_x=(I_X1)-(I_X2) # cm**4\n",
+ "# Results\n",
+ "print('The M.O.I of the composite area about the centroidal x-axis is %f cm**4'%I_x)\n",
+ "# There may be a small error in the answer due to a decimal point "
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 12.9 Moment of Inertia of a Composite area or hollow section"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 5,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The M.O.I of the composite area about the centroidal x-axis is 2309333.333333 mm**4\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Initilization of variables\n",
+ "b1=80 # mm # width of the flange pate\n",
+ "d1=20 # mm # depth of the flange plate\n",
+ "b2=40 # mm # width/thickness of the web\n",
+ "d2=60 # mm # depth of the web\n",
+ "# Calculations\n",
+ "# (a) Location of the centroid of the composite area\n",
+ "A_1=b1*d1 # mm**2 # area of the flange plate\n",
+ "y_1=d2+(d1/2) # mm # y-coordinate of the centroid\n",
+ "A_2=b2*d2 # mm**2 # area of the web\n",
+ "y_2=d2/2 # mm # y-coordinate of the centroid\n",
+ "y_c=((A_1*y_1)+(A_2*y_2))/(A_1+A_2) # mm # from the bottom edge\n",
+ "# (b) Moment of Inertia of the composite area about the centroidal x-axis\n",
+ "# Area (A_1) M.I of area A_1 about x-axis\n",
+ "I_x1=(b1*(d1**3))/12 # mm**4\n",
+ "# M.I of the area A_1 about the centroidal x-axis of the composite area (By parallel-axis theorem)\n",
+ "OC_1=70 # mm # from the bottom edge\n",
+ "OC_2=30 # mm # from the bottom edge\n",
+ "OC=y_c # mm # from the bottom edge\n",
+ "d_1=(d2-y_c)+(d1/2) # mm\n",
+ "d_2=y_c-OC_2 # mm \n",
+ "I_X1=(I_x1)+(A_1*d_1**2) # mm**4\n",
+ "# Area(A_2) M.I of area A_2 about x-axis\n",
+ "I_x2=(b2*d2**3)/12 # mm**4\n",
+ "# M.I of the area A_2 about the centroidal x-axis of the composite area (By parallel-axis theorem)\n",
+ "I_X2=(I_x2)+(A_2*d_2**2) # mm**4\n",
+ "# COMPOSITE AREA:M.O.I of the composite area about the centroidal x-axis\n",
+ "I_x=(I_X1)+(I_X2) # mm**4\n",
+ "# Results\n",
+ "print('The M.O.I of the composite area about the centroidal x-axis is %f mm**4'%I_x)\n",
+ "# NOTE: The answer given in the text book is 2.31*10**3 insted of 2.31*10**6."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 12.10 Moment of Inertia of a Composite area or hollow section"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 6,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The M.O.I of the composite area about the centroidal x-axis is 10761666.666667 mm**4\n",
+ "The M.O.I of the composite area about the centroidal Y-axis is 6086666.666667 mm**4\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Initilization of variables\n",
+ "b1=120 # mm # width of the flange pate of L-section\n",
+ "d1=20 # mm # depth of the flange plate\n",
+ "b2=20 # mm # width/thickness of the web\n",
+ "d2=130 # mm # depth of the web\n",
+ "# Calculations\n",
+ "# (a) Location of the centroid of the composite area\n",
+ "A_1=b1*d1 # mm**2 # area of the flange plate\n",
+ "A_2=b2*d2 # mm**2 # area of the web\n",
+ "y_1=d2+(d1/2) # mm # y-coordinate of the centroid\n",
+ "y_2=d2/2 # mm # y-coordinate of the centroid\n",
+ "x_1=60 # mm # x-coordinate of the centroid\n",
+ "x_2=110 # mm # x-coordinate of the centroid\n",
+ "y_c=((A_1*y_1)+(A_2*y_2))/(A_1+A_2) # mm # from the bottom edge\n",
+ "x_c=((A_1*x_1)+(A_2*x_2))/(A_1+A_2) # mm # from the bottom edge\n",
+ "# (b) Moment of Inertia of the composite area about the centroidal x-axis\n",
+ "# Area (A_1) M.I of area A_1 about x-axis\n",
+ "I_x1=(b1*(d1**3))/12 # mm**4\n",
+ "# M.I of the area A_1 about the centroidal x-axis of the composite area (By parallel-axis theorem)\n",
+ "OC_1=d2+(d1/2) # mm # from the bottom edge\n",
+ "OC_2=d2/2 # mm # from the bottom edge\n",
+ "OC=y_c # mm # from the bottom edge\n",
+ "d_1=(d2-y_c)+(d1/2) # mm\n",
+ "d_2=y_c-OC_2 # mm \n",
+ "I_X1=(I_x1)+(A_1*d_1**2) # mm**4\n",
+ "# Area(A_2) M.I of area A_2 about x-axis\n",
+ "I_x2=(b2*d2**3)/12 # mm**4\n",
+ "# M.I of the area A_2 about the centroidal x-axis of the composite area (By parallel-axis theorem)\n",
+ "I_X2=(I_x2)+(A_2*d_2**2) # mm**4\n",
+ "# COMPOSITE AREA:M.O.I of the composite area about the centroidal x-axis\n",
+ "I_x=(I_X1)+(I_X2) # mm**4\n",
+ "# (c) Moment of Inertia of the composite area about the centroidal y-axis\n",
+ "# Area (A_1) M.I of area A_1 about y-axis\n",
+ "I_y1=(d1*(b1**3))/12 # mm**4\n",
+ "# M.I of the area A_1 about the centroidal y-axis of the composite area (By parallel-axis theorem)\n",
+ "d_3=x_c-(b1/2) # mm # distance between c &c1 along x axis\n",
+ "I_Y1=(I_y1)+(A_1*d_3**2) # mm**4\n",
+ "# Area(A_2) M.I of area A_2 about y-axis\n",
+ "I_y2=(d2*b2**3)/12 # mm**4\n",
+ "# M.I of the area A_2 about the centroidal y-axis of the composite area (By parallel-axis theorem)\n",
+ "d_4=b1-x_c-(b2/2) # mm # distance between c &c2 along x axis\n",
+ "I_Y2=(I_y2)+(A_2*d_4**2) # mm**4\n",
+ "# COMPOSITE AREA:M.O.I of the composite area about the centroidal y-axis\n",
+ "I_y=(I_Y1)+(I_Y2) # mm**4\n",
+ "# Results\n",
+ "print('The M.O.I of the composite area about the centroidal x-axis is %f mm**4'%I_x)\n",
+ "print('The M.O.I of the composite area about the centroidal Y-axis is %f mm**4'%I_y)\n",
+ "# NOTE: The answer for I_x given in text book is 0.76*10**6 insted of 10.76*10**6"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 12.14 Product of Inertia"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 7,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The Product of inertia of the L-section is 7.750000 cm**4\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Initilization of variables\n",
+ "b=1 # cm # smaller side of the L-section\n",
+ "h=4 # cm # larger side of the L-section\n",
+ "# Calculations\n",
+ "# (A) RECTANGLE A_1: Using the paralel axis theorem\n",
+ "Ixy=0\n",
+ "I_xy1=(Ixy)+((h*b)*(b/2)*(h/2)) # cm**4\n",
+ "# (B) RECTANGLE A_2: Using the paralel axis theorem\n",
+ "I_xy2=(Ixy)+((b*(h-1))*(1+(3/2))*(b/2)) # cm**4\n",
+ "# Product of inertia of the total area\n",
+ "I_xy=I_xy1+I_xy2 # cm**4\n",
+ "# Calculations\n",
+ "print('The Product of inertia of the L-section is %f cm**4'%I_xy)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 12.15 Principal Moment of Inertia"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 9,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The principal axes of the section about O is -35.465403 degree\n",
+ "The Maximum value of principal M.O.I is 3822.059509 cm**4\n",
+ "The Minimum value of principal M.O.I is 393.940491 cm**4\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Initilization of variables\n",
+ "I_x=1548 # cm**4 # M.O.I of the Z-section about X-axis\n",
+ "I_y=2668 # cm**4 # M.O.I of the Z-section about Y-axis\n",
+ "b=12 # cm # width of flange of the Z-section\n",
+ "d=3 # cm # depth of flange of the Z-section\n",
+ "t=2 # cm # thickness of the web of the Z-section\n",
+ "h=6 # cm # depth of the web of the Z-section\n",
+ "#Calculations\n",
+ "A_1=b*d # cm**2 # area of top flange\n",
+ "x_1=-5 # cm # distance of the centroid from X-axis for top flange\n",
+ "y_1=4.5 # cm # distance of the centroid from Y-axis for top flange\n",
+ "A_2=t*h # cm**2 # area of web\n",
+ "x_2=0 # cm # distance of the centroid from X-axis for the web\n",
+ "y_2=0 # cm # distance of the centroid from Y-axis for the web\n",
+ "A_3=b*d # cm**2 # area of bottom flange\n",
+ "x_3=5 # cm # distance of the centroid from X-axis for top flange\n",
+ "y_3=-4.5 # cm # distance of the centroid from Y-axis for top flange\n",
+ "# Product of Inertia of the total area is,\n",
+ "I_xy=((A_1*x_1*y_1)+(A_3*x_3*y_3)) # cm**4\n",
+ "# The direction of the principal axes is,\n",
+ "theta_m=(math.degrees(math.atan((2*I_xy)/(I_y-I_x))))/2 # degree\n",
+ "# Principa M.O.I\n",
+ "I_max=((I_x+I_y)/2)+(math.sqrt(((I_x-I_y)/2)**2+(I_xy)**2)) # cm**4\n",
+ "I_mini=((I_x+I_y)/2)-(math.sqrt(((I_x-I_y)/2)**2+(I_xy)**2)) # cm**4\n",
+ "# Results\n",
+ "print('The principal axes of the section about O is %f degree'%theta_m)\n",
+ "print('The Maximum value of principal M.O.I is %f cm**4'%I_max)\n",
+ "print('The Minimum value of principal M.O.I is %f cm**4'%I_mini)"
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 3",
+ "language": "python",
+ "name": "python3"
+ },
+ "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.1"
+ },
+ "widgets": {
+ "state": {},
+ "version": "1.1.2"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/Engineering_Mechanics_by_A._K._Tayal/Chapter13.ipynb b/Engineering_Mechanics_by_A._K._Tayal/Chapter13.ipynb
new file mode 100644
index 00000000..70272cbe
--- /dev/null
+++ b/Engineering_Mechanics_by_A._K._Tayal/Chapter13.ipynb
@@ -0,0 +1,116 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Chapter 13 Principle of Virtual Work"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 13.1 Application of Principle of Virtual Work"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The value of force (i.e P) that can hold the system in equilibrium is 500 N\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Initilization of variables\n",
+ "W=1000 # N # weight to be raised\n",
+ "# Calculations\n",
+ "# From the Principle of virtual work,\n",
+ "P=W/2 # N\n",
+ "# Results\n",
+ "print('The value of force (i.e P) that can hold the system in equilibrium is %d N'%P)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 13.7 Application of Principle of Virtual Work"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 6,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The Horizontal component of reaction at A (X_A) is 333.333333 N\n",
+ "The Vertical component of reaction at A (Y_A) is 1333.333333 N\n",
+ "The Horizontal component of reaction at B (X_B) is 333.333333 N\n",
+ "The Vertical component of reaction at B (Y_B) is 666.666667 N\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "# Initilization of variables\n",
+ "P=1000 # N # Force acting at the hinge of the 1st square\n",
+ "Q=1000 # N # Force acting at the hinge of the 2nd square\n",
+ "# Calculations\n",
+ "# Chosing the co-ordinate system with originat A, we can write,\n",
+ "theta=45 # degree\n",
+ "# Forces that do work are P,Q & X_B. Applying the principle of virtual work & Simplyfying and solving for X_B,\n",
+ "X_B=((2*P)/6)*(math.cos(theta*math.pi/180)/math.sin(theta*math.pi/180)) # N \n",
+ "# Now give a virtual angular displacement to the whole frame about end A such that line AB turns by an angle delta_phi.\n",
+ "# The force doing work are P,Q&Y_B.Applying the principle of virtual work & Simplyfying this eq'n and solving for Y_B,\n",
+ "Y_B=((3*Q)+P)/6 # N\n",
+ "# Simply by removing the support at A & replacing it by the reactions X_A & Y_A we can obtain,\n",
+ "X_A=X_B # N\n",
+ "Y_A=P+Q-Y_B # N\n",
+ "# Results\n",
+ "print('The Horizontal component of reaction at A (X_A) is %f N'%X_A)\n",
+ "print('The Vertical component of reaction at A (Y_A) is %f N'%Y_A)\n",
+ "print('The Horizontal component of reaction at B (X_B) is %f N'%X_B)\n",
+ "print('The Vertical component of reaction at B (Y_B) is %f N'%Y_B)"
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 3",
+ "language": "python",
+ "name": "python3"
+ },
+ "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.1"
+ },
+ "widgets": {
+ "state": {},
+ "version": "1.1.2"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/Engineering_Mechanics_by_A._K._Tayal/Chapter14.ipynb b/Engineering_Mechanics_by_A._K._Tayal/Chapter14.ipynb
new file mode 100644
index 00000000..e5f012c8
--- /dev/null
+++ b/Engineering_Mechanics_by_A._K._Tayal/Chapter14.ipynb
@@ -0,0 +1,887 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Chapter 14 Rectilinear Motion of a particle"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 14.3 Displacement velocity and acceleration of connected bodies"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The acceleration of block B is -0.060000 m/s**2\n",
+ "The velocity of trolley & the block after 4 sec is 0.720000 m/s & -0.240000 m/s\n",
+ "The distance moved by the trolley & the block is 1.440000 m & -0.480000 m\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Initilization of variables\n",
+ "a_T=0.18 # m/s**2 # acc of trolley\n",
+ "# Calculations\n",
+ "a_B=-a_T/3 # m/s**2 # from eq'n 4\n",
+ "t=4 # seconds\n",
+ "v_T=a_T*t # m/s # velocity of trolley after 4 seconds\n",
+ "v_B=-v_T/3 # m/s # from eq'n 3\n",
+ "S_T=(1/2)*a_T*t**2 # m # distance moved by trolley in 4 sec\n",
+ "S_B=-S_T/3 # m # from eq'n 2\n",
+ "# Results\n",
+ "print('The acceleration of block B is %f m/s**2'%a_B)\n",
+ "print('The velocity of trolley & the block after 4 sec is %f m/s & %f m/s'%(v_T,v_B))\n",
+ "print('The distance moved by the trolley & the block is %f m & %f m'%(S_T,S_B))"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 14.4 Velocity time relationship"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 4,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The acceleration of block A (a_A) is 4.500000 cm/s**2\n",
+ "The acceleration of block B (a_B) is 3.000000 cm/s**2\n",
+ "The velocity of block A (v_A) after 5 seconds is 22.500000 m/s\n",
+ "The position of block A (S_A) after 5 seconds is 56.250000 m\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Initiliztion of variables\n",
+ "v_B=12 # cm/s # velocity of block B\n",
+ "u=0\n",
+ "s=24 # cm # distance travelled by bock B\n",
+ "t=5 # seconds\n",
+ "# Calculations\n",
+ "a_B=v_B**2/(2*s) # cm/s**2 # using eq'n v**2-u**2=28*a*s for block B. Here u=0\n",
+ "a_A=(3/2)*a_B # cm/s**2 # from eq'n 4 # Here a_A is negative which means acceleration is in opposite direction. However we consider +ve values for further calculations\n",
+ "v_A=u+(a_A*t) # m/s # using eq'n v=u+(a*t)\n",
+ "S_A=(u*t)+((1/2)*a_A*t**2) # m # using eq'n S=(u*t)+((1/2)*a*t**2)\n",
+ "# Results\n",
+ "print('The acceleration of block A (a_A) is %f cm/s**2'%a_A)\n",
+ "print('The acceleration of block B (a_B) is %f cm/s**2'%a_B)\n",
+ "print('The velocity of block A (v_A) after 5 seconds is %f m/s'%v_A)\n",
+ "print('The position of block A (S_A) after 5 seconds is %f m'%S_A)\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 14.5 Displacement time relationship"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 5,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "(a) The required uniform acceleration of the car is -0.500000 m/s**2\n",
+ "(b) The speed at which the motorist crosses the traffic light is 36.000000 km/hr\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Initilization of variables\n",
+ "u=72*(1000/(60*60)) # km/hr # speed of the vehicle\n",
+ "s=300 # m # distance where the light is turning is red\n",
+ "t=20 # s # traffic light timed to remain red\n",
+ "# Calculations\n",
+ "# Now to find the acceleration we use the eq'n s=u*t+(1/2)*a*t**2\n",
+ "a=(((s)-(u*t))*2)/t**2 # m/s**2 (Deceleration) \n",
+ "v=(u+(a*t))*((60*60)/1000) # km/hr # here we multiply with (60*60)/1000 to convert m/s to km/hr\n",
+ "# Results\n",
+ "print('(a) The required uniform acceleration of the car is %f m/s**2'%a)\n",
+ "print('(b) The speed at which the motorist crosses the traffic light is %f km/hr'%v)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 14.6 Displacement time relationship"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 6,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The time (t) at which the two stones cross each other is 2.000000 seconds\n",
+ "The two stones cross each other (from top) at a distance of 19.620000 m\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Initilization of variables\n",
+ "S=50 # m # height of the tower\n",
+ "v=25 # m/s # velocity at which the stone is thrown up from the foot of the tower\n",
+ "g=9.81 # m/s**2 # acc due to graity\n",
+ "# Calculations\n",
+ "# The equation of time for the two stones to cross each other is given as,\n",
+ "t=S/v # seconds\n",
+ "S_1=(1/2)*g*t**2 # m # from the top\n",
+ "# Results\n",
+ "print('The time (t) at which the two stones cross each other is %f seconds'%t)\n",
+ "print('The two stones cross each other (from top) at a distance of %f m'%S_1)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 14.7 Displacement time relationship"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 7,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The time taken by the stone to hit the elevator is 2.915922 seconds\n",
+ "The distance (S)travelled by the elevator at the time of impact is 41.705261 m\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "# Intilization of variables\n",
+ "acc=0.5 # m/s**2 # acceleration of the elevator\n",
+ "s=25 # m # distance travelled by the elevator from the top\n",
+ "u=0 # m/s\n",
+ "g=9.81 # m/s**2 # acc due to gravity\n",
+ "# Calculations\n",
+ "# Using eq'n the eq'n v**2-u**2=2*a*s, solving for v we get,\n",
+ "v=math.sqrt((2*acc*s)+(u**2)) # m/s \n",
+ "# Now solving eq'n 1 & 2 for t we get, (4.655*t**2)-(5*t)+(25)=0\n",
+ "# Find the roots of the eq'n using the eq'n,t=(-b+sqrt(b**2-(4*a*c)))/(2*a).In this eq'n the values of a,b & c are,\n",
+ "a=4.655\n",
+ "b=-5\n",
+ "c=-25\n",
+ "t=(-b+math.sqrt((b**2)-(4*a*c)))/(2*a) # seconds\n",
+ "# Let S_1 be the distance travelled by the elevator after it travels 25 m from top when the stone hits the elevator,This disance S_1 is given as,\n",
+ "S_1=(v*t)+((1/2)*acc*t**2) # m\n",
+ "# Let S be the total dist from top when the stone hits the elevator,\n",
+ "S=S_1+s # m\n",
+ "# Results\n",
+ "print('The time taken by the stone to hit the elevator is %f seconds'%t)\n",
+ "print('The distance (S)travelled by the elevator at the time of impact is %f m'%S)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 14.9 Displacement time relationship"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 8,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The maximum speed of the local train is 50.000000 km/hr\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Initilization of variables\n",
+ "v=60 # km/hr # velocity of the train\n",
+ "d1=15 # km # Distance travelled by the local train from the velocity-time graph (here d1= Area OED)\n",
+ "d2=12 # km # from the velocity-time graph (here d2= Area OABB')\n",
+ "d3=3 # km # from the velocity-time graph (here d3= Area BB'C)\n",
+ "# Calculations\n",
+ "t_1=d2/v # hr # time of travel for first 12 kms\n",
+ "t_2=(2*d3)/v # hr # time of for next 3 kms\n",
+ "# Total time of travel for passenger train is given by eq'n\n",
+ "t=t_1+t_2 # hr\n",
+ "# Now time of travel of the local train (let it be T) is given as,\n",
+ "T=2*t # hr\n",
+ "V_max=(2*d1)/T # km/hr\n",
+ "# Results\n",
+ "print('The maximum speed of the local train is %f km/hr'%V_max)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 14.10 Distance travelled by a particle in the n th second"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 9,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The initial velocity of the particle is 5.000000 m/s\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Initilization of variables\n",
+ "a=10 # m/s**2 # acceleration of the particle\n",
+ "S_5th=50 # m # distance travelled by the particle during the 5th second\n",
+ "t=5 # seconds\n",
+ "# Calculations\n",
+ "# The distance travelled by the particle in time t is given by, S=(u*t)+(1/2)*a*t**2.....(consider this as eq'n 1)\n",
+ "# Here, The distance travelled by the particle in the 5th second=The distance travelled in 5 seconds - The distance travelled in 4 seconds..... (consider eq'n 2)\n",
+ "# Using eq'n 1: S_(0-5)=(5*u)+(1/2)*10*5**2 = 5*u+125.....(consider eq'n 3)\n",
+ "# again, S_(0-4)=(4*u)+(1/2)*10*4**2 = 4*u+80....(consider eq'n 4)\n",
+ "# Now,put eq'n 3&4 in eq'n 2 and solve for u. We get, 50=[(5*u+125)-(4*u+80)] i.e 50=u+45\n",
+ "u=(S_5th)-45 # m/s\n",
+ "# Calculations\n",
+ "print('The initial velocity of the particle is %f m/s'%u)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 14.11 Variable acceleration"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 10,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The distance travelled by the particle is 21.666667 m\n",
+ "The velocity of the particle is 7.666667 m/s\n",
+ "The acceleration of the particle is 2.000000 m/s**2\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Initilization of variables\n",
+ "# Conditions given are\n",
+ "t=1 # s\n",
+ "x=14.75 # m\n",
+ "v=6.33 # m/s\n",
+ "# Calculations\n",
+ "# We use expression 1,2 & 3 to find distance,velocity & acceleration of the particle after 2 sec\n",
+ "T=2 # sec\n",
+ "X=(T**4/12)-(T**3/3)+(T**2)+(5*T)+9 # m # eq'n 3\n",
+ "V=(T**3/3)-(T**2)+(2*T)+5 # m/s \n",
+ "a=(T**2)-(2*T)+2 # m/s**2\n",
+ "# Results\n",
+ "print('The distance travelled by the particle is %f m'%X)\n",
+ "print('The velocity of the particle is %f m/s'%V)\n",
+ "print('The acceleration of the particle is %f m/s**2'%a)\n",
+ "# The answer may vary due to decimal point error"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 14.12 Variable acceleration"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 11,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The time at which the velocity of the particle becomes zero is 3.000000 sec\n",
+ "The position of the partice at t=3 sec is -15.000000 m\n",
+ "The acceleration of the particle is 12.000000 m/s**2\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Calculations\n",
+ "# From eq'n 2 it is clear that velocity of the particle becomes zero at t=3 sec\n",
+ "t=3 # sec .. from eq'n 2\n",
+ "# Position of particle at t=3 sec\n",
+ "x=(t**3)-(3*t**2)-(9*t)+12 # m # from eq'n 1\n",
+ "# Acc of particle at t=3 sec\n",
+ "a=6*(t-1) # m/s**2 # from eq'n 3\n",
+ "# Results\n",
+ "print('The time at which the velocity of the particle becomes zero is %f sec'%t)\n",
+ "print('The position of the partice at t=3 sec is %f m'%x)\n",
+ "print('The acceleration of the particle is %f m/s**2'%a)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 14.15 D AlembertsPrinciple"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 12,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The acceleration of the body is 2.500000 m/s**2\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Initilization of variables\n",
+ "F=250 # N # Force acting on a body\n",
+ "m=100 # kg # mass of the body\n",
+ "# Calculations\n",
+ "# Using the eq'n of motion\n",
+ "a=F/m # m/s**2 \n",
+ "# Results\n",
+ "print('The acceleration of the body is %f m/s**2'%a)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 14.16 D AlembertsPrinciple"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 13,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "(a) The pressure transmitted to the floor by the man for Downward motion of the elevator is 449.031600 N\n",
+ "(b) The pressure transmitted to the floor by the man for Upward motion of the elevator is 550.968400 N\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Initilization of variables\n",
+ "a=1 # m/s**2 # downward/upward acceleration of the elevator\n",
+ "W=500 # N # Weight of man\n",
+ "g=9.81 # m/s**2 # acceleration due to gravity\n",
+ "# Calculations\n",
+ "# (a) Downward Motion \n",
+ "R_1=W*(1-(a/g)) # N # (Assume pressure as R_1)\n",
+ "# (b) Upward Motion\n",
+ "R_2=W*(1+(a/g)) # N # (Assume pressure as R_2)\n",
+ "# Results\n",
+ "print('(a) The pressure transmitted to the floor by the man for Downward motion of the elevator is %f N'%R_1)\n",
+ "print('(b) The pressure transmitted to the floor by the man for Upward motion of the elevator is %f N'%R_2)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 14.17 D Alamberts Principle"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 14,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "(a) The Tensile force in the cable is 5509.683996 N\n",
+ "(b) The pressure transmitted to the floor by the man is 538.837920 N\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Initilization of variables\n",
+ "W=5000 # N # Total weight of the elevator\n",
+ "u=0 # m/s\n",
+ "v=2 # m/s # velocity of the elevator\n",
+ "s=2 # m # distance traveled by the elevator\n",
+ "t=2 # seconds # time to stop the lift\n",
+ "w=600 # N # weight of the man\n",
+ "g=9.81 # m/s**2 # acc due to gravity\n",
+ "# Calculations\n",
+ "# Acceleration acquired by the elevator after travelling 2 m is given by,\n",
+ "a=math.sqrt((v**2-u**2)/(2*s)) # m/s**2\n",
+ "# (a) Let T be the the tension in the cable which is given by eq'n,\n",
+ "T=W*(1+(a/g)) # N\n",
+ "# (b) Motion of man\n",
+ "# Let R be the pressure experinced by the man.Then from the Eq'n of motion of man pressure is given as,\n",
+ "R=w*(1-(a/g)) # N \n",
+ "# Results\n",
+ "print('(a) The Tensile force in the cable is %f N'%T)\n",
+ "print('(b) The pressure transmitted to the floor by the man is %f N'%R)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 14.18 Motion of two Bodies"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 15,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The acceleration of the masses is 1.635000 m/s**2\n",
+ "The tension in the string is 40.875000 N\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Initilization of variables\n",
+ "M_1=10 # kg # mass of the 1st block\n",
+ "M_2=5 # kg # mass of the 2nd block\n",
+ "mu=0.25 # coefficient of friction between the blocks and the surface\n",
+ "g=9.81 # m/s**2 # acc due to gravity\n",
+ "# Calculations\n",
+ "a=g*(M_2-(mu*M_1))/(M_1+M_2) # m/s**2 # from eq'n 5\n",
+ "T=M_1*M_2*g*(1+mu)/(M_1+M_2) # N # from eq'n 6\n",
+ "# Results\n",
+ "print('The acceleration of the masses is %f m/s**2'%a)\n",
+ "print('The tension in the string is %f N'%T)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 14.19 Motion of two Bodies"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 16,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The tension in the string during the motion of the system is 539.343729 N\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Initilization of variables\n",
+ "M_1=150 # kg # mass of the 1st block\n",
+ "M_2=100 # kg # mass of the 2nd block\n",
+ "mu=0.2 # coefficient of friction between the blocks and the inclined plane\n",
+ "g=9.81 # m/s**2 # acc due to gravity\n",
+ "theta=45 # degree # inclination of the surface\n",
+ "# Calculations\n",
+ "# substuting the value of eq'n 3 in eq'n 1 & solving for T,we get value of T as,\n",
+ "T=((M_1*M_2*g)*(math.sin(theta*math.pi/180)+2-(mu*math.cos(theta*math.pi/180))))/((4*M_1)+(M_2)) # N\n",
+ "# Results\n",
+ "print('The tension in the string during the motion of the system is %f N'%T)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 14.20 Motion of two Bodies"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 17,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The acceleration of the masses is 2.015178 m/s**2\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Initilization of variables\n",
+ "M_1=5 # kg # mass of the 1st block\n",
+ "theta_1=30 # degree # inclination of the 1st plane\n",
+ "M_2=10 # kg # mass of the 2nd block\n",
+ "theta_2=60 # degree # inclination of the 2nd plane\n",
+ "mu=0.33 # coefficient of friction between the blocks and the inclined plane\n",
+ "g=9.81 # m/s**2 # acc due to gravity\n",
+ "# Calculations\n",
+ "# solving eq'n 1 & 2 for a we get,\n",
+ "a=((((M_2*(math.sin(theta_2*math.pi/180)-(mu*math.cos(theta_2*math.pi/180))))-(M_1*(math.sin(theta_1*math.pi/180)+(mu*math.cos(theta_1*math.pi/180))))))*g)/(M_1+M_2) # m/s**2\n",
+ "# Results\n",
+ "print('The acceleration of the masses is %f m/s**2'%a)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 14.21 Motion of two Bodies"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 18,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The time before collision is 3.293613 seconds\n",
+ "The distance travelled by block A before collision is 8.198512 m\n",
+ "The distance travelled by block B before collision is 13.198512 m\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Initilization of variables\n",
+ "S=5 # m # distance between block A&B\n",
+ "mu_A=0.2 # coefficient of friction between the block A and the inclined plane\n",
+ "mu_B=0.1 # coefficient of friction between the block B and the inclined plane\n",
+ "theta=20 # degree # inclination of the pane\n",
+ "g=9.81 # m/s**2 # acc due to gravity\n",
+ "# Calculatio#\n",
+ "# EQUATION OF MOTION OF BLOCK A:\n",
+ "# Let a_A & a_B be the acceleration of block A & B.\n",
+ "a_A=(g*math.sin(theta*math.pi/180))-(mu_A*g*math.cos(theta*math.pi/180)) # m/s**2 # from eq'n 1 & eq'n 2\n",
+ "# EQUATION OF MOTION OF BLOCK B:\n",
+ "a_B=g*((math.sin(theta*math.pi/180))-(mu_B*math.cos(theta*math.pi/180))) # m/s**2 # from eq'n 3 & Rb\n",
+ "# Now the eq'n for time of collision of the blocks is given as,\n",
+ "t=math.sqrt((S*2)/(a_B-a_A)) # seconds \n",
+ "S_A=(1/2)*a_A*t**2 # m # distance travelled by block A\n",
+ "S_B=(1/2)*a_B*t**2 # m # distance travelled by block B\n",
+ "# Results\n",
+ "print('The time before collision is %f seconds'%t)\n",
+ "print('The distance travelled by block A before collision is %f m'%S_A)\n",
+ "print('The distance travelled by block B before collision is %f m'%S_B)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 14.22 Motion of two Bodies"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 19,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The maximum value of weight (W) by which the car can be accelerated is 50.000000 N\n",
+ "The acceleration is 2.452500 m/s**2\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Initilization of variables\n",
+ "P=50 # N # Weight of the car\n",
+ "Q=100 # N # Weight of the rectangular block\n",
+ "g=9.81 # m/s**2 # acc due to gravity\n",
+ "b=25 # cm # width of the rectangular block\n",
+ "d=50 # cm # depth of the block\n",
+ "# Calculations\n",
+ "a=(Q*g)/(4*P+2*Q) # m/s**2 # from eq'n 4\n",
+ "W=(Q*(P+Q))/(4*P+Q) # N # from eq'n 6\n",
+ "# Resuts\n",
+ "print('The maximum value of weight (W) by which the car can be accelerated is %f N'%W)\n",
+ "print('The acceleration is %f m/s**2'%a)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 14.23 Motion of two Bodies"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 20,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The downward acceleration of P is 1.783636 m/s**2\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Initilization of variables\n",
+ "P=40 # N # weight on puley r_1\n",
+ "Q=60 # N # weight on pulley r_2\n",
+ "g=9.81 # m/s**2 # acc due to gravity\n",
+ "# Calculations\n",
+ "# The eq'n for acceleration of pulley Pi.e a_p is,\n",
+ "a_p=(((2*P)-(Q))/((4*P)+(Q)))*2*g # m/s**2\n",
+ "# Results\n",
+ "print('The downward acceleration of P is %f m/s**2'%a_p)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 14.24 Motion of two Bodies"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 21,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "(a) The acceleration of the wedge is 0.157459 g\n",
+ "(b) The acceleration of the bock relative to the wedge is 0.636364 g\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Initilization of variables\n",
+ "M=15 # kg # mass of the wedge\n",
+ "m=6 # kg # mass of the block\n",
+ "theta=30 # degree # angle of the wedge\n",
+ "g=9.81 # m/s**2 # acc due to gravity\n",
+ "# Calculations\n",
+ "a_A=((m*g*math.cos(theta*math.pi/180)*math.sin(theta*math.pi/180))/((M)+(m*(math.sin(theta*math.pi/180))**2)))/(g) # g # By eliminating R_1 from eq'n 1&3.\n",
+ "# Here, assume a_r is the acceleration of block B relative to wedge A which is given by substuting a_A in eq'n 2\n",
+ "a_r=(((g*math.sin(theta*math.pi/180))*(m+M))/((M)+(m*(math.sin(theta*math.pi/180))**2)))/(g) # g\n",
+ "# Results\n",
+ "print('(a) The acceleration of the wedge is %f g'%a_A)\n",
+ "print('(b) The acceleration of the bock relative to the wedge is %f g'%a_r)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 14.25 Motion of two Bodies"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 22,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The acceleration of P is -0.058824 g\n",
+ "The acceleration of Q is -0.294118 g\n",
+ "The acceleration of R is 0.411765 g\n"
+ ]
+ }
+ ],
+ "source": [
+ "import numpy\n",
+ "# Initilization of variables\n",
+ "P=30 # N # weight on pulley A\n",
+ "Q=20 # N # weight on pulley B\n",
+ "R=10 # N # weight on puey B\n",
+ "g=9.81 # m/s**2 # acc due to gravity\n",
+ "# Calculations\n",
+ "# Solving eqn's 6 & 7 using matrix for a & a_1, we get\n",
+ "A=numpy.matrix('70 -40;-10 30')\n",
+ "B=numpy.matrix('10;-10')\n",
+ "C=numpy.linalg.inv(A)*B\n",
+ "# Acceleration of P is given as,\n",
+ "P=C[0] # m/s**2\n",
+ "# Acceleration of Q is given as,\n",
+ "Q=C[1]-C[0] # m/s**2\n",
+ "# Acceleration of R is given as,\n",
+ "R=-(C[1]+C[0]) # m/s**2 # as R is taken to be +ve\n",
+ "# Results\n",
+ "print('The acceleration of P is %f g'%P)\n",
+ "print('The acceleration of Q is %f g'%Q)\n",
+ "print('The acceleration of R is %f g'%R)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 14.30 Motion of two Bodies"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 24,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The acceleration is 2.719604 m/s**2\n",
+ "The reaction at A (R_A) is 9.161998 N\n",
+ "The angle made by the resultant is 74.505151 degree\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Initilization of variables\n",
+ "W=1 # kg/m # weight of the bar\n",
+ "L_AB=0.6 # m # length of segment AB\n",
+ "L_BC=0.30 # m # length of segment BC\n",
+ "g=9.81 # m/s**2 # acc due to gravity\n",
+ "# Calculations\n",
+ "# Consider the respective F.B.D.\n",
+ "theta_1=math.degrees(math.atan(5/12)) # slope of bar AB # here theta_1= atan(theta)\n",
+ "theta_2=math.degrees(math.asin(5/13)) # theta_2=asin(theta)\n",
+ "theta_3=math.degrees(math.acos(12/13)) # theta_3=acos(theta)\n",
+ "M_AB=L_AB*W # kg acting at D # Mass of segment AB\n",
+ "M_BC=L_BC*W # kg acting at E # Mass of segment BC\n",
+ "# The various forces acting on the bar are:\n",
+ "# Writing the eqn's of dynamic equilibrium\n",
+ "Y_A=(L_AB*g)+(L_BC*g) # N # sum F_y=0\n",
+ "# Using moment eq'n Sum M_A=0:Here,in this eq'n the values are as follows,\n",
+ "AF=L_BC*math.cos(theta_3*math.pi/180) \n",
+ "DF=L_BC*math.sin(theta_2*math.pi/180)\n",
+ "AH=(L_AB*math.cos(theta_3*math.pi/180))+((L_BC/2)*math.sin(theta_2*math.pi/180))\n",
+ "IG=(L_AB*math.sin(theta_2*math.pi/180))-((L_BC/2)*math.cos(theta_3*math.pi/180))\n",
+ "# On simplifying and solving moment eq'n we get a as,\n",
+ "a=((2*L_AB*L_BC*g*math.sin(theta_2*math.pi/180))-(L_BC*g*(L_BC/2)*math.cos(theta_3*math.pi/180)))/((2*L_AB*L_BC*math.cos(theta_3*math.pi/180))+(L_BC*(L_BC/2)*math.sin(theta_2*math.pi/180))) # m/s**2\n",
+ "X_A=0.9*a #N # from eq'n of dynamic equilibrium\n",
+ "R_A=math.sqrt(X_A**2+Y_A**2) # N # Resultant of R_A\n",
+ "alpha=math.degrees(math.atan(Y_A/X_A)) # degree\n",
+ "# Results\n",
+ "print('The acceleration is %f m/s**2'%a)\n",
+ "print('The reaction at A (R_A) is %f N'%R_A)\n",
+ "print('The angle made by the resultant is %f degree'%alpha)"
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 3",
+ "language": "python",
+ "name": "python3"
+ },
+ "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.1"
+ },
+ "widgets": {
+ "state": {},
+ "version": "1.1.2"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/Engineering_Mechanics_by_A._K._Tayal/Chapter15.ipynb b/Engineering_Mechanics_by_A._K._Tayal/Chapter15.ipynb
new file mode 100644
index 00000000..c1be24bf
--- /dev/null
+++ b/Engineering_Mechanics_by_A._K._Tayal/Chapter15.ipynb
@@ -0,0 +1,678 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Chapter 15 Curvilinear motion of a particle"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 15.2 Components of Acceleration"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The normal component of acceleration is 2.000000 m/s**2\n",
+ "The tangential component of acceleration is 0.000000 m/s**2\n",
+ "The normal component of deceleration is 2.000000 m/s**2\n",
+ "The tangential component of deceleration is 1.000000 m/s**2\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Initialization of variables\n",
+ "r=200 # m # radius of the curved road\n",
+ "v_1=72*(1000/3600) # m/s # initial speed of the car\n",
+ "v_2=36*(1000/3600) # m/s # speed of the car after 10 seconds\n",
+ "t=10 # seconds\n",
+ "# Calculations\n",
+ "A_n=v_1**2/r # m/s**2 # normal component of acceleration\n",
+ "A_t=0 # since dv/dt=0 # tangential component of acceeration\n",
+ "delv=v_1-v_2\n",
+ "delt=t-0\n",
+ "a_t=delv/delt # m/s**2 # tangential component of deceleration after the brakes are applied\n",
+ "a_n=v_1**2/r # m/s**2 # normal component of deceleration after the brakes are applied\n",
+ "# Results\n",
+ "print('The normal component of acceleration is %f m/s**2'%A_n)\n",
+ "print('The tangential component of acceleration is %f m/s**2'%A_t)\n",
+ "print('The normal component of deceleration is %f m/s**2'%a_n)\n",
+ "print('The tangential component of deceleration is %f m/s**2'%a_t)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 15.3 Components of Acceleration"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The distance traveled by the car is 93.750000 m\n",
+ "The time for which the car travels is 17.677670 seconds\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "#Initialization of variables\n",
+ "r=250 # m # radius of the curved road\n",
+ "a_t=0.6 # m/s**2 # tangential acceleration\n",
+ "a=0.75 # m/s**2 # total acceleration attained by the car\n",
+ "# Calculations\n",
+ "a_n=math.sqrt(a**2-a_t**2) # m/s**2\n",
+ "v=math.sqrt(a_n*r) # m/s\n",
+ "# Using v=u+a*t\n",
+ "u=0\n",
+ "t=v/a_t # seconds\n",
+ "# Now using v**2-u**2=2*a*s\n",
+ "s=v**2/(2*a_t) # m\n",
+ "# Results\n",
+ "print('The distance traveled by the car is %f m'%s)\n",
+ "print('The time for which the car travels is %f seconds'%t)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 15.5 Motion of a particle on a curved frictionless path"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 10,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The component of velocity in X direction (v_x) is 6.816388 m/s\n",
+ "The component of velocity in Y direction (v_y) is 7.316889 m/s\n",
+ "The component of acceleration in X direction (a_x) is 0.365844 m/s**2\n",
+ "The component of acceleration in Y direction (a_y) is 0.340959 m/s**2\n",
+ "The total acceleration is 0.500095 m/s**2 and its direction is 42.983499 degrees\n",
+ "The normal acceleration is 0.500000 m/s**2 and tangential acceleration is 0.000000 m/s**2\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Initialization of variables\n",
+ "v=10 # m/s # speed of the car\n",
+ "r=200 # m # radius of the road\n",
+ "t=15 # seconds\n",
+ "# Calculations\n",
+ "omega=(v/r) # radian/seconds # angular velocity of the car\n",
+ "# Velocity in x & y direction is given by eq'n\n",
+ "v_x=omega*r*(math.sin((omega*(180/math.pi)*t)*math.pi/180)) # m/s # value of v_x is -ve but we consider it to be +ve for calculations\n",
+ "v_y=omega*r*(math.cos((omega*(180/math.pi)*t)*math.pi/180)) # m/s\n",
+ "# Acceleration in x & y direction is given by\n",
+ "a_x=omega**2*r*(math.cos((omega*(180/math.pi)*t)*math.pi/180)) # m/s**2 # value of a_x is -ve but we consider it to be +ve for calculations\n",
+ "a_y=omega**2*r*(math.sin((omega*(180/3.14)*t)*math.pi/180)) # m/s**2 # value of a_y is -ve but we consider it to be +ve for calculations\n",
+ "a=math.sqrt(a_x**2+a_y**2) # m/s**2 # total acc\n",
+ "phi=math.degrees(math.atan(a_y/a_x)) # degrees # direction of acceleration\n",
+ "# Components in tangential and normal directions\n",
+ "# Velocity\n",
+ "v_n=0 # m/s\n",
+ "v_t=v # m/s\n",
+ "# Acceleration\n",
+ "a_n=v**2/r # m/s**2 # normal acc\n",
+ "a_t=0 # tangential acc\n",
+ "# angular position of the car after 15 sec \n",
+ "theta=omega*(180/math.pi)*t # degrees\n",
+ "# Results\n",
+ "print('The component of velocity in X direction (v_x) is %f m/s'%v_x)\n",
+ "print('The component of velocity in Y direction (v_y) is %f m/s'%v_y)\n",
+ "print('The component of acceleration in X direction (a_x) is %f m/s**2'%a_x)\n",
+ "print('The component of acceleration in Y direction (a_y) is %f m/s**2'%a_y)\n",
+ "print('The total acceleration is %f m/s**2 and its direction is %f degrees'%(a,phi))\n",
+ "print('The normal acceleration is %f m/s**2 and tangential acceleration is %f m/s**2'%(a_n,a_t))"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 15.6 Motion of a particle on a curved frictionless path"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 11,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The velocity of the collar is 1.117599 m/s\n",
+ "The accelaration of the collar is 6.674415 m/s**2\n",
+ "The acceleration of the collar relative to the rod is -2.900000 m/s**2\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Initialization of variables\n",
+ "t=1 # seconds\n",
+ "# Calculations\n",
+ "# From the equations of r and theta given we find 1st & 2nd derative and substitute t=1sec Here we consider the 1st derative as r_1 & theta_1 and so on...\n",
+ "r=(1.25*t**2)-(0.9*t**3) # m\n",
+ "r_1=(1.25*(2*t))-(0.9*(3*t**2)) # m/s\n",
+ "r_2=2.5-(0.9*3*(2*t)) # m/s**2\n",
+ "theta=(math.pi/2)*(4*t-3*t**2) # radian\n",
+ "theta_1=(math.pi/2)*(4-(6*t)) # rad/second\n",
+ "theta_2=(math.pi/2)*(0-(6*t)) # rad/second**2\n",
+ "# Velocity of collar P\n",
+ "v_r=r_1 # m/s\n",
+ "v_theta=r*theta_1 # m/s\n",
+ "v=math.sqrt(v_r**2+v_theta**2) # m/s\n",
+ "alpha=math.degrees(math.atan(v_theta/v_r)) # degree\n",
+ "# Acceleration of the collar P\n",
+ "a_r=r_2-(r*theta_1**2) # m/s**2\n",
+ "a_theta=(r*theta_2)+(2*r_1*theta_1) # m/s**2\n",
+ "a=math.sqrt(a_r**2+a_theta**2) # m/s**2\n",
+ "beta=math.degrees(math.atan(a_theta/a_r)) # degree\n",
+ "# Acceleration of collar P relative to the rod. Let it be a_relative\n",
+ "a_relative=r_2 # m/s**2 # towards O\n",
+ "# Calculations\n",
+ "print('The velocity of the collar is %f m/s'%v)\n",
+ "print('The accelaration of the collar is %f m/s**2'%a)\n",
+ "print('The acceleration of the collar relative to the rod is %f m/s**2'%a_relative)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 15.7 Components of motion"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 12,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The velocity and the acceleration of the partice at t=0 s is 10.000000 cm/s & 125.663706 cm/s**2\n",
+ "The velocity and the acceleration of the partice at t=0.3 s is 21.337895 cm/s & 172.679692 cm/s**2\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Initialization of variables\n",
+ "# Consider the eq'ns of motion from the book\n",
+ "# The notations have been changed for the derivatives of r & theta\n",
+ "# (1) At t=0 s\n",
+ "theta_0=0\n",
+ "theta_1=2*math.pi # rad/s\n",
+ "theta_2=0\n",
+ "r_0=0\n",
+ "r_1=10 # cm/s\n",
+ "r_2=0\n",
+ "# At t=0.3 s\n",
+ "t=0.3 # sec\n",
+ "theta=2*math.pi*t # rad\n",
+ "theta1=2*math.pi # rad/s\n",
+ "theta2=0\n",
+ "r=10*t # cm\n",
+ "r1=10 # cm/s\n",
+ "r2=0\n",
+ "# (i) \n",
+ "#Velocity\n",
+ "v_r=r_1 # cm/s\n",
+ "v_theta=r_0*theta_1\n",
+ "v=math.sqrt(v_r**2+v_theta**2) # cm/s\n",
+ "# Acceleration\n",
+ "a_r=r_2-(r_0*theta_1**2) # cm/s**2\n",
+ "a_theta=(r_0*theta_2)+(2*r_1*theta_1) # cm/s**2\n",
+ "a=math.sqrt(a_r**2+a_theta**2) # cm/s**2\n",
+ "# (ii)\n",
+ "# Velocity\n",
+ "V_R=r1 # cm/s\n",
+ "V_theta=r*theta1 # cm/s\n",
+ "V=math.sqrt(V_R**2+V_theta**2) # cm/s\n",
+ "# Acceleration\n",
+ "A_r=r2-(r*theta1**2) # cm/s**2\n",
+ "A_theta=(r*theta2)+(2*r1*theta1) # cm/s**2\n",
+ "A=math.sqrt(A_r**2+A_theta**2) # cm/s**2\n",
+ "# Results\n",
+ "print('The velocity and the acceleration of the partice at t=0 s is %f cm/s & %f cm/s**2'%(v,a))\n",
+ "print('The velocity and the acceleration of the partice at t=0.3 s is %f cm/s & %f cm/s**2'%(V,A))"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 15.9 Equations of dynamic equilibrium"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 13,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The tension in the wire before and after it is cut is respectively 0.394895 W & 0.766044 W\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Calculations\n",
+ "# Tension in the wire before it is cut\n",
+ "T_ab=1/((2.747*0.643)+(0.766)) # From eqn's 1 & 2..Here T_ab is multiplied with W (i.e weight of small ball) \n",
+ "T_AB=math.cos(40*math.pi/180) # Tension in the wire after the wire is cut. Again T_AB is multiplied with W.\n",
+ "# Results\n",
+ "print('The tension in the wire before and after it is cut is respectively %f W & %f W'%(T_ab,T_AB))"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 15.10 Equations of dynamic equilibrium"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 14,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The coefficient of friction of block B is 0.565897\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Initialization of variables\n",
+ "mu_a=0.40 # coefficient of friction under block A\n",
+ "n=40 # r.p.m # speed of rotation of frame\n",
+ "W_A=120 # N # weight of block A\n",
+ "W_B=80 # N # weight of block B\n",
+ "r_1=1.2 # m # distance between W_A & axis of rotation\n",
+ "r_2=1.6 # m # distance between W_B & axis of rotation\n",
+ "g=9.81 # m/s**2\n",
+ "# Calculations\n",
+ "# Consider the F.B.D of block A\n",
+ "N=W_A # N # sum F_y=0\n",
+ "omega=(2*math.pi*n)/60 # rad/sec\n",
+ "a_n=omega**2*r_1 # m/s**2\n",
+ "T=((W_A/g)*a_n)-(mu_a*W_A) # N\n",
+ "# Now consider the F.B.D of block B\n",
+ "A_n=omega**2*r_2 # m/s**2\n",
+ "N_1=(W_B/g)*A_n # N # sum F_x=0\n",
+ "mu=(T-W_B)/N_1 # sum F_x=0\n",
+ "# Results\n",
+ "print('The coefficient of friction of block B is %f'%mu)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 15.12 Motion of particle on curved frictionless path"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 15,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The maximum lateral thrust is 500.000000 N\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Initialization of variables\n",
+ "W=10000 # N # Weight of the locomotive\n",
+ "# Calculations\n",
+ "# Consider the various derivations given in the textbook\n",
+ "R_max=W/20 # N # eq'n for max reaction\n",
+ "# The position of occurence of maximum thrust cannot be defined here. Refer textbook for the answer\n",
+ "# Results\n",
+ "print('The maximum lateral thrust is %f N'%R_max)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 15.13 Motion of a particle on curved frictionless path"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 16,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The value of the reaction is 31.932454 N\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Initialization of variables\n",
+ "W=10 # N # Weight of the ball\n",
+ "# Calculations\n",
+ "# consider the eq'n derived to find the reaction, given as\n",
+ "R=W*(1+((2*math.pi**2)/9)) # N \n",
+ "# Results\n",
+ "print('The value of the reaction is %f N'%R)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 15.15 Motion of a particle in a curved frictionless path"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 17,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The speed of rotation is 101.634363 r.p.m\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Initialization of variables\n",
+ "P=50 # N # Weight of ball P\n",
+ "Q=50 # N # Weight of ball Q\n",
+ "R=100 # N # Weight of the governing device\n",
+ "l=0.3 # m # length of each side\n",
+ "theta=30 # degree\n",
+ "g=9.81 # m/s**2 # acc due to gravity\n",
+ "# Calculations\n",
+ "# Consider the respective F.B.D\n",
+ "r=l*math.sin(theta*math.pi/180) # m # Radius of circe\n",
+ "# On solving eqn's 1,2 &3 we get the value of v as,\n",
+ "v=math.sqrt(((Q+R)*g*r)/((math.sqrt(3))*Q)) # m/s \n",
+ "# But the eq'n v=omega*r we get the value of N as,\n",
+ "N=(60*v)/(2*math.pi*r) # r.p.m \n",
+ "# Results\n",
+ "print('The speed of rotation is %f r.p.m'%N)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 15.16 Motion of a particle in a curved frictionless path"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 18,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The speed of the fly-balls is 101.634363 r.p.m\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Initilization of variables\n",
+ "Q=20 # N # Weight of the governor device\n",
+ "W=10 # N # Weight of the fly balls\n",
+ "theta=30 # degree # angle between the vertical shaft and the axis AB\n",
+ "l=0.2 # m # length of the shaft\n",
+ "g=9.81 # m/s**2 # acc due to gravity\n",
+ "# Calculations\n",
+ "# Consider the respective F.B.D\n",
+ "# Radius of the circle is given as,\n",
+ "r=Q*math.sin(theta*math.pi/180)*(10**-2) # m \n",
+ "# Solving eq'n 1 & 2 for v. The eq'n for v is given as,\n",
+ "v=math.sqrt(((W*l*0.5)+(0.05*Q))/((W*0.2*math.sqrt(3))/(2*g*r))) # m/s\n",
+ "# But, v=r*omega=2*pi*N*r/60. From this eq'n we get N as,\n",
+ "N=(v*60)/(2*math.pi*r) # r.p.m.\n",
+ "# Results\n",
+ "print('The speed of the fly-balls is %f r.p.m'%N)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 15.18 Motion of vehicles on leveled and banked roads"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 19,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The maximum speed with which the vehicle can travel is 8.577587 m/s\n",
+ "The angle made with the vertical is 8.530766 degree\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Initialization of variables\n",
+ "r=50 # m # radius of the road\n",
+ "mu=0.15 # coefficient of friction between the wheels and the road\n",
+ "g=9.81 # m/s**2 # acc due to gravity\n",
+ "# Calculations\n",
+ "# The eq'n fo max speed of the vehicle without skidding is \n",
+ "v=math.sqrt(mu*g*r) # m/s\n",
+ "# The angle theta made with the vertical while negotiating the corner is \n",
+ "theta=math.degrees(math.atan(v**2/(g*r))) # degree\n",
+ "# Results\n",
+ "print('The maximum speed with which the vehicle can travel is %f m/s'%v)\n",
+ "print('The angle made with the vertical is %f degree'%theta)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 15.19 Motion of vehicles on leveled and banked roads"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 20,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The angle of banking of the track is 17.464605 degree\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Initialization of variables\n",
+ "v=100*(1000/3600) # m/s # or 100 km/hr\n",
+ "r=250 # m # radius of the road\n",
+ "g=9.81 # m/s**2 # acc due to gravity\n",
+ "# Calculations\n",
+ "# The angle of banking is given by eq'n,\n",
+ "theta=math.degrees(math.atan((v**2)/(g*r))) # degree \n",
+ "# Results\n",
+ "print('The angle of banking of the track is %f degree'%theta)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 15.20 Motion of vehicles on leveled and banked roads"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 21,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The reaction at Wheel A (R_A) is 4660.210669 N\n",
+ "The reaction at Wheel B (R_B) is 5339.789331 N\n",
+ "The maximum speed at which the vehicle can travel without the fear of overturning is is 27.124712 m/s\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Initialization of variables\n",
+ "W=10000 # N # Weight of the car\n",
+ "r=100 # m # radius of the road\n",
+ "v=10 # m/s # speed of the car\n",
+ "h=1 # m # height of the C.G of the car above the ground\n",
+ "b=1.5 # m # distance between the wheels\n",
+ "g=9.81 # m/s**2 # acc due to gravity\n",
+ "# Calculations\n",
+ "# The reactions at the wheels are given by te eq'ns:\n",
+ "R_A=(W/2)*(1-((v**2*h)/(g*r*b))) # N # Reaction at A\n",
+ "R_B=(W/2)*(1+((v**2*h)/(g*r*b))) # N # Reaction at B\n",
+ "# The eq'n for max speed to avoid overturning on level ground is,\n",
+ "v_max=math.sqrt((g*r*(b/2))/(h)) # m/s\n",
+ "# Results\n",
+ "print('The reaction at Wheel A (R_A) is %f N'%R_A)\n",
+ "print('The reaction at Wheel B (R_B) is %f N'%R_B)\n",
+ "print('The maximum speed at which the vehicle can travel without the fear of overturning is is %f m/s'%v_max)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 15.21 Motion of vehicles on leveled and banked roads"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 22,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The speed of the cariage is 42.270586 km/hr\n",
+ "The tension in the chord is 1.009828 N\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Initialization of variables\n",
+ "W=1 # N # Weight of the bob\n",
+ "theta=8 # degree # angle made by the bob with the vertical\n",
+ "r=100 # m # radius of the curve\n",
+ "g=9.81 # m/s**2 # acc due to gravity\n",
+ "# Calculations\n",
+ "# from eq'n 1 & 2 we get v as,\n",
+ "v=(math.sqrt(g*r*math.tan(theta*math.pi/180)))*(3600/1000) # km/hr \n",
+ "T=W/math.cos(theta*math.pi/180) # N # from eq'n 2\n",
+ "# Results\n",
+ "print('The speed of the cariage is %f km/hr'%v)\n",
+ "print('The tension in the chord is %f N'%T)"
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 3",
+ "language": "python",
+ "name": "python3"
+ },
+ "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.1"
+ },
+ "widgets": {
+ "state": {},
+ "version": "1.1.2"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/Engineering_Mechanics_by_A._K._Tayal/Chapter16.ipynb b/Engineering_Mechanics_by_A._K._Tayal/Chapter16.ipynb
new file mode 100644
index 00000000..e376ef40
--- /dev/null
+++ b/Engineering_Mechanics_by_A._K._Tayal/Chapter16.ipynb
@@ -0,0 +1,406 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Chapter 16 Kinetics of a Particle Work and Energy"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 16.1 Work of the Force of Spring"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "metadata": {
+ "collapsed": false,
+ "scrolled": true
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The work of the spring force is -5.000000 N-m\n",
+ "The work required to stretch the spring by 20 cm is -15.000000 N-m\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Initilization of variables\n",
+ "k=1000 # N/m # stiffness of spring\n",
+ "x_1=0.1 # m # distance upto which the spring is stretched\n",
+ "x_2=0.2 # m \n",
+ "x_0=0 # initial position of spring\n",
+ "# Calculations\n",
+ "# Work required to stretch the spring by 10 cm from undeformed position is given as,\n",
+ "U_10=-(k/2)*(x_1**2-x_0**2) # N-m \n",
+ "# Work required to stretch from 10 cm to 20 cm is,\n",
+ "U=-(1/2)*k*(x_2**2-x_1**2) # N-m\n",
+ "# Results\n",
+ "print('The work of the spring force is %f N-m'%U_10)\n",
+ "print('The work required to stretch the spring by 20 cm is %f N-m'%U)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 16.3 Work and energy principle for a system of particles"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The velocity of block A is 3.194120 m/s\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "# Initilization of variables\n",
+ "M_A=100 # kg # mass of block A\n",
+ "M_B=150 # kg # mass of block B\n",
+ "mu=0.2 # coefficient of friction between the blocks and the surface\n",
+ "x=1 # m # distance by which block A moves\n",
+ "g=9.81 # m/s^2 # acc due to gravity\n",
+ "# Calculations\n",
+ "# Consider the respective F.B.D\n",
+ "# Applying the principle of work and energy to the system of blocks A&B and on simplifying we get the value of v as,\n",
+ "v=math.sqrt(((-mu*M_A*g)+(M_B*g))/(125)) # m/s \n",
+ "# Results\n",
+ "print('The velocity of block A is %f m/s'%v)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 16.4 Power"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "(a) The maximum power required is 6.625000 MW\n",
+ "(b) The power required to maintain a speed of 90 km/hr is 375.000000 kW\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Initilization of variables\n",
+ "M=500*10**3 # kg # mass of the train\n",
+ "u=0 # m/s # initial speed\n",
+ "v=90*(1000/3600) # m/s # final speed\n",
+ "t=50 # seconds\n",
+ "F_r=15*10**3 # N # Frictioal resistance to motion\n",
+ "# Calculations\n",
+ "# Acceleration is given as,\n",
+ "a=v/t # m/s**2\n",
+ "# The total force required to accelerate the train is,\n",
+ "F=M*a # N\n",
+ "# The maximum power required is at, t=50s & v=25 m/s\n",
+ "P=(F+F_r)*v*(10**-6) # MW\n",
+ "# At any time after 50 seconds, the force required only to overcome the frictional resistance of 15*10**3 N is,\n",
+ "P_req=F_r*v*(10**-3) # kW\n",
+ "# Results\n",
+ "print('(a) The maximum power required is %f MW'%P)\n",
+ "print('(b) The power required to maintain a speed of 90 km/hr is %f kW'%P_req)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 16.5 Principle of conservation of energy"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 4,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The potential energy of the system is 500.000000 N-cm\n",
+ "The maximum height above the floor that the weight W will attain after release is 10.000000 cm\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Initilization of variables\n",
+ "W=50 # N # Weight suspended on spring\n",
+ "k=10 # N/cm # stiffness of the spring\n",
+ "x_2=15 # cm # measured extensions\n",
+ "h=10 # cm # height for position 2\n",
+ "# Calculations\n",
+ "# Consider the required F.B.D.\n",
+ "# POSITION 1: The force exerted by the spring is,\n",
+ "F_1=W # N\n",
+ "# Extension of spring from undeformed position is x_1,\n",
+ "x_1=F_1/k # cm\n",
+ "# POSITION 2: When pulled by 10 cm to the floor. PE of weight is,\n",
+ "PE_g=-W*h # N-cm # (PE_g= PE_gravity)\n",
+ "# PE of the spring with respect to position 1\n",
+ "PE_s=(1/2)*k*(x_2**2-x_1**2) # N-cm # (PE_s= PE_ spring)\n",
+ "# Total PE of the system with respect to position 1\n",
+ "PE_t=PE_g+PE_s # N-cm # (PE_t= PE_total)\n",
+ "# Total energy of the system,\n",
+ "E_2=PE_t # N-cm\n",
+ "# Total energy of the system in position 3 w.r.t position 1 is:\n",
+ "x=-math.sqrt(100) # cm\n",
+ "x=+math.sqrt(100) # cm\n",
+ "# Results\n",
+ "print('The potential energy of the system is %f N-cm'%E_2)\n",
+ "print('The maximum height above the floor that the weight W will attain after release is %f cm'%x)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 16.6 Principle of conservation of energy"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 5,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The maximum deflection of the spring is 26.910763 cm\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Initilization of variables\n",
+ "m=5 # kg # mass of the ball\n",
+ "k=500 # N/m # stiffness of the spring\n",
+ "h=10 # cm # height of drop\n",
+ "g=9.81 # m/s**2 # acc due to gravity\n",
+ "# Calculations\n",
+ "# Consider the respective F.B.D.\n",
+ "# In eq'n 1 substitute the respective values and simplify it further. In this eq'n of 2nd degree a=1 b=-0.1962 & c=-0.01962. Thus the roots of the eq'n is given as,\n",
+ "a=1 \n",
+ "b=-0.1962\n",
+ "c=-0.01962\n",
+ "delta=((-b+(math.sqrt((b**2)-(4*a*c))))/(2*a))*(10**2) # cm # We consider the +ve value of delta\n",
+ "# Results\n",
+ "print('The maximum deflection of the spring is %f cm'%delta)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 16.7 Principle of conservation of energy"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 6,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The maximum compression of the spring is 0.140071 m\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Initilization of variables\n",
+ "m=5 # kg # mass of the ball\n",
+ "k=500 # N/m # stiffness of the spring\n",
+ "h=0.1 # m # height of vertical fall\n",
+ "g=9.81 # m/s**2 # acc due to gravity\n",
+ "# Calculations\n",
+ "# Consider the respective F.B.D\n",
+ "# On equating the total energies at position 1 & 2 we get eq'n of delta as,\n",
+ "delta=math.sqrt((2*m*g*h)/(k)) # m \n",
+ "# Results\n",
+ "print('The maximum compression of the spring is %f m'%delta)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 16.9 Principle of conservation of energy"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 7,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The velocity of the collar will be 1.641036 m/s\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Initilization of variables\n",
+ "m=5 # kg # mass of the collar\n",
+ "k=500 # N/m # stiffness of the spring\n",
+ "AB=0.15 # m # Refer the F.B.D for AB\n",
+ "AC=0.2 # m # Refer the F.B.D for AC\n",
+ "g=9.81 # m/s**2 # acc due to gravity\n",
+ "# Calculations\n",
+ "# Consider the respective F.B.D\n",
+ "# POSITION 1: \n",
+ "PE_1=m*g*(AB)+0 \n",
+ "KE_1=0\n",
+ "E_1=PE_1+KE_1 #\n",
+ "# POSITION 2 : Length of the spring in position 2\n",
+ "CB=math.sqrt(AB**2+AC**2) # m \n",
+ "# x is the extension in the spring\n",
+ "x=CB-AC # m\n",
+ "# On substuting and Equating equations of total energies for position1 & position 2 we get the value of v as,\n",
+ "v=math.sqrt(((E_1-((1/2)*k*x**2))*2)/m) # m/s\n",
+ "# Results\n",
+ "print('The velocity of the collar will be %f m/s'%v)\n",
+ "# The answer given in the text book (v=16.4 m/s) is wrong"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 16.10 Principle of work and energy"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 8,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The maximum compression of the spring is 0.114614 m\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Initilization of variables\n",
+ "m=5 # kg # mass of the block\n",
+ "theta=30 # degree # inclination of the plane\n",
+ "x=0.5 # m # distance travelled by the block\n",
+ "k=1500 # N/m # stiffness of the spring\n",
+ "mu=0.2 # coefficient of friction between the block and the surface\n",
+ "g=9.81 # m/s**2 # acc due to gravity\n",
+ "# Calculations\n",
+ "# Consider the F.B.D of the block\n",
+ "# Applying the principle of work and energy between the positions 1 & 2 and on further simplification we get the generic eq'n for delta as, 750*delta^2-16.03*delta-8.015=0. From this eq'n e have values of a.b & c as,\n",
+ "a=750\n",
+ "b=-16.03\n",
+ "c=-8.015\n",
+ "# Thus the roots of the eq'n are given as,\n",
+ "delta=(-b+(math.sqrt(b**2-(4*a*c))))/(2*a) # m\n",
+ "# Results\n",
+ "print('The maximum compression of the spring is %f m'%delta)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 16.11 Principle of conservation of energy"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 9,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The velocity of mass M_2 is 3.961818 m/s\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Initilization of variables\n",
+ "M=10 # kg # Here M=M_1=M_2\n",
+ "g=9.81 # m/s^2 # acc due to gravity\n",
+ "# Calculations\n",
+ "# Consider the respective F.B.D\n",
+ "# Applying the principle of conservation of energy and by equating the total energies at position 1 & position 2 we get v as,\n",
+ "v=math.sqrt((M*g*4)/(25)) # m/s\n",
+ "# Results\n",
+ "print('The velocity of mass M_2 is %f m/s'%v)"
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 3",
+ "language": "python",
+ "name": "python3"
+ },
+ "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.1"
+ },
+ "widgets": {
+ "state": {},
+ "version": "1.1.2"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/Engineering_Mechanics_by_A._K._Tayal/Chapter17.ipynb b/Engineering_Mechanics_by_A._K._Tayal/Chapter17.ipynb
new file mode 100644
index 00000000..26ed76e2
--- /dev/null
+++ b/Engineering_Mechanics_by_A._K._Tayal/Chapter17.ipynb
@@ -0,0 +1,298 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Chapter 17 Kinetics of a Particle Impulse and Momentum"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 17.1 Principle of impulse and momentum"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The average impules force exerted by the bat on the ball is 408.633978 N\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "#Initilization of variables\n",
+ "m=0.1 # kg # mass of ball\n",
+ "# Calculations\n",
+ "# Consider the respective F.B.D.\n",
+ "# For component eq'n in x-direction\n",
+ "delta_t=0.015 # seconds # time for which the ball &the bat are in contact\n",
+ "v_x_1=-25 # m/s \n",
+ "v_x_2=40*math.cos(40*math.pi/180) # m/s\n",
+ "F_x_average=((m*(v_x_2))-(m*(v_x_1)))/(delta_t) # N\n",
+ "# For component eq'n in y-direction\n",
+ "delta_t=0.015 # sceonds\n",
+ "v_y_1=0 # m/s\n",
+ "v_y_2=40*math.sin(40*math.pi/180) # m/s\n",
+ "F_y_average=((m*v_y_2)-(m*(v_y_1)))/(delta_t) # N\n",
+ "F_average=math.sqrt(F_x_average**2+F_y_average**2) # N\n",
+ "# Results\n",
+ "print('The average impules force exerted by the bat on the ball is %f N'%F_average)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 17.2 Principle of impulse and momentum"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 5,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The recoil velocity of gun is -5 m/s\n",
+ "The Force required to stop the gun is 62500.000000 N\n",
+ "The time required to stop the gun is 0.240000 seconds\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Initiliation of variables\n",
+ "m_g=3000 # kg # mass of the gun\n",
+ "m_s=50 # kg # mass of the shell\n",
+ "v_s=300 # m/s # initial velocity of shell\n",
+ "s=0.6 # m # distance at which the gun is brought to rest\n",
+ "v=0 # m/s # initial velocity of gun\n",
+ "# Calculations\n",
+ "# On equating eq'n 1 & eq'n 2 we get v_g as,\n",
+ "v_g=(m_s*v_s)/(-m_g) # m/s\n",
+ "# Using v^2-u^2=2*a*s to find acceleration,\n",
+ "a=(v**2-v_g**2)/(2*s) # m/s**2\n",
+ "# Force required to stop the gun,\n",
+ "F=m_g*(-a) # N # here we make a +ve to find the Force\n",
+ "# Time required to stop the gun, using v=u+a*t:\n",
+ "t=(-v_g)/(-a) # seconds # we take -a to consider +ve value of acceleration\n",
+ "# Results\n",
+ "print('The recoil velocity of gun is %d m/s'%v_g)\n",
+ "print('The Force required to stop the gun is %f N'%F)\n",
+ "print('The time required to stop the gun is %f seconds'%t)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 17.3 Principle of impulse and momentum"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 6,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "(a) The velocity of boat as observed from the ground is 0.166667 m/s\n",
+ "(b) The distance by which the boat gets shifted is 0.833333 m\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Initilization of variables\n",
+ "m_m=50 # kg # mass of man\n",
+ "m_b=250 # kg # mass of boat\n",
+ "s=5 # m # length of the boat\n",
+ "v_r=1 # m/s # here v_r=v_(m/b)= relative velocity of man with respect to boat\n",
+ "# Calculations\n",
+ "# Velocity of man is given by, v_m=(-v_r)+v_b\n",
+ "# Final momentum of the man and the boat=m_m*v_m+m_b*v_b. From this eq'n v_b is given as\n",
+ "v_b=(m_m*v_r)/(m_m+m_b) # m/s # this is the absolute velocity of the boat\n",
+ "# Time taken by man to move to the other end of the boat is,\n",
+ "t=s/v_r # seconds\n",
+ "# The distance travelled by the boat in the same time is,\n",
+ "s_b=v_b*t # m to right from O\n",
+ "# Results\n",
+ "print('(a) The velocity of boat as observed from the ground is %f m/s'%v_b)\n",
+ "print('(b) The distance by which the boat gets shifted is %f m'%s_b)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 17.5 Principle of impulse and momentum"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 7,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "(a) The Final velocity of boat when two men dive simultaneously is 1.333333 m/s\n",
+ "(b) The Final velocity of boat when the man of 75 kg dives first and 50 kg dives second is 1.466667 m/s\n",
+ "(c) The Final velocity of boat when the man of 50kg dives first followed by the man of 75 kg is 1.456410 m/s\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Initilization of variables\n",
+ "M=250 # kg # mass of the boat\n",
+ "M_1=50 # kg # mass of the man\n",
+ "M_2=75 # kg # mass of the man\n",
+ "v=4 # m/s # relative velocity of man w.r.t boat\n",
+ "# Calculations \n",
+ "# (a)\n",
+ "# Let the increase in the velocity or the final velocity of the boat when TWO MEN DIVE SIMULTANEOUSLY is given by eq'n,\n",
+ "deltaV_1=((M_1+M_2)*v)/(M+(M_1+M_2)) # m/s\n",
+ "# (b) # The increase in the velocity or the final velocity of the boat when man of 75 kg dives 1st followed by man of 50 kg\n",
+ "# Man of 75 kg dives first, So let the final velocity is given as\n",
+ "deltaV_75=(M_2*v)/((M+M_1)+M_2) # m/s\n",
+ "# Now let the man of 50 kg jumps next, Here\n",
+ "deltaV_50=(M_1*v)/(M+M_1) # m/s\n",
+ "# Let final velocity of boat is,\n",
+ "deltaV_2=0+deltaV_75+deltaV_50 # m/s\n",
+ "# (c) \n",
+ "# The man of 50 kg jumps first,\n",
+ "delV_50=(M_1*v)/((M+M_2)+(M_1)) # m/s\n",
+ "# the man of 75 kg jumps next,\n",
+ "delV_75=(M_2*v)/(M+M_2) # m/s\n",
+ "# Final velocity of boat is,\n",
+ "deltaV_3=0+delV_50+delV_75 # m/s\n",
+ "# Results\n",
+ "print('(a) The Final velocity of boat when two men dive simultaneously is %f m/s'%deltaV_1)\n",
+ "print('(b) The Final velocity of boat when the man of 75 kg dives first and 50 kg dives second is %f m/s'%deltaV_2)\n",
+ "print('(c) The Final velocity of boat when the man of 50kg dives first followed by the man of 75 kg is %f m/s'%deltaV_3)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 17.6 Principle of impulse and momentum"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 8,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The velocity of the canoe is 0.108333 m/s\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Initilization of variables\n",
+ "m_m=70 # kg # mass of man\n",
+ "m_c=35 # kg # mass of canoe\n",
+ "m=25/1000 # kg # mass of bullet\n",
+ "m_wb=2.25 # kg # mass of wodden block\n",
+ "V_b=5 # m/s # velocity of block\n",
+ "# Calculations\n",
+ "# Considering Initial Momentum of bullet=Final momentum of bullet & the block we have,Velocity of bullet (v) is given by eq'n,\n",
+ "v=(V_b*(m_wb+m))/(m) # m/s \n",
+ "# Considering, Momentum of the bullet=Momentum of the canoe & the man,the velocity on canoe is given by eq'n\n",
+ "V=(m*v)/(m_m+m_c) # m/s\n",
+ "# Results\n",
+ "print('The velocity of the canoe is %f m/s'%V)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 17.8 Principle of conservation of angular momentum"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 10,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The new speed of the particle is 40 m/s\n",
+ "The tension in the string is 6400 N\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Initilization of variables\n",
+ "m=2 # kg # mass of the particle\n",
+ "v_0=20 # m/s # speed of rotation of the mass attached to the string\n",
+ "r_0=1 # m # radius of the circle along which the particle is rotated\n",
+ "r_1=r_0/2 # m\n",
+ "# Calculations\n",
+ "# here, equating (H_0)_1=(H_0)_2 i.e (m*v_0)*r_0=(m*v_1)*r_1 (here, r_1=r_0/2). On solving we get v_1 as,\n",
+ "v_1=2*v_0 # m/s\n",
+ "# Tension is given by eq'n,\n",
+ "T=(m*v_1**2)/r_1 # N\n",
+ "# Results\n",
+ "print('The new speed of the particle is %d m/s'%v_1)\n",
+ "print('The tension in the string is %d N'%T)"
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 3",
+ "language": "python",
+ "name": "python3"
+ },
+ "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.1"
+ },
+ "widgets": {
+ "state": {},
+ "version": "1.1.2"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/Engineering_Mechanics_by_A._K._Tayal/Chapter18.ipynb b/Engineering_Mechanics_by_A._K._Tayal/Chapter18.ipynb
new file mode 100644
index 00000000..bce7ef40
--- /dev/null
+++ b/Engineering_Mechanics_by_A._K._Tayal/Chapter18.ipynb
@@ -0,0 +1,532 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Chapter 18 Impact Collision of Elastic Bodies"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 18.1 Principle of conservation of Momentum"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The velocity of ball A after impact is 0.000000 m/s\n",
+ "The velocity of ball B after impact is 1.000000 m/s\n"
+ ]
+ }
+ ],
+ "source": [
+ "import numpy\n",
+ "# Initilization of variables\n",
+ "m_a=1 # kg # mass of the ball A\n",
+ "v_a=2 # m/s # velocity of ball A\n",
+ "m_b=2 # kg # mass of ball B\n",
+ "v_b=0 # m/s # ball B at rest\n",
+ "e=1/2 # coefficient of restitution\n",
+ "# Calculations\n",
+ "# Solving eqn's 1 & 2 using matrix for v'_a & v'_b,\n",
+ "A=numpy.matrix('1 2;-1 1')\n",
+ "B=numpy.matrix('2;1')\n",
+ "C=numpy.linalg.inv(A)*B\n",
+ "# Results\n",
+ "print('The velocity of ball A after impact is %f m/s'%C[0])\n",
+ "print('The velocity of ball B after impact is %f m/s'%C[1])"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 18.2 Principle of conservation of Momentum"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The velocity of ball A after impact on ball B is 0.000000 m/s\n",
+ "The velocity of ball B after getting impacted by ball A is 8.000000 m/s\n",
+ "The final velocity of ball B is 0.000000 m/s\n",
+ "The velocity of ball C after getting impacted by ball B is 6.000000 m/s\n"
+ ]
+ }
+ ],
+ "source": [
+ "import numpy\n",
+ "# Initilization of variables\n",
+ "m_a=2 # kg # mass of ball A\n",
+ "m_b=6 # kg # mass of ball B\n",
+ "m_c=12 # kg # mass of ball C\n",
+ "v_a=12 # m/s # velocity of ball A\n",
+ "v_b=4 # m/s # velocity of ball B\n",
+ "v_c=2 # m/s # velocity of ball C\n",
+ "e=1 # coefficient of restitution for perfectly elastic body\n",
+ "# Calculations\n",
+ "# (A)\n",
+ "# Solving eq'n 1 & 2 using matrix for v'_a & v'_b,\n",
+ "A=numpy.matrix('2 6;-1 1')\n",
+ "B=numpy.matrix('48;8')\n",
+ "C=numpy.linalg.inv(A)*B\n",
+ "# Calculations\n",
+ "# (B)\n",
+ "# Solving eq'ns 3 & 4 simultaneously using matrix for v'_b & v'_c\n",
+ "P=numpy.matrix('1 2;-1 1')\n",
+ "Q=numpy.matrix('12;6')\n",
+ "R=numpy.linalg.inv(P)*Q\n",
+ "# Results (A&B)\n",
+ "print('The velocity of ball A after impact on ball B is %f m/s'%C[0]) # here the ball of mass 2 kg is bought to rest\n",
+ "print('The velocity of ball B after getting impacted by ball A is %f m/s'%C[1])\n",
+ "print('The final velocity of ball B is %f m/s'%R[0]) # here the ball of mass 6 kg is bought to rest\n",
+ "print('The velocity of ball C after getting impacted by ball B is %f m/s'%R[1])"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 18.3 Principle of conservation of Momentum"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The ball was dropped from a height of 13.500000 m\n",
+ "The coefficient of restitution between the glass and the floor is 0.816497 \n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "# Initilization of variables\n",
+ "h_1=9 # m # height of first bounce\n",
+ "h_2=6 # m # height of second bounce\n",
+ "# Calculations\n",
+ "# From eq'n (5) we have, Coefficient of restitution between the glass and the floor is,\n",
+ "e=math.sqrt(h_2/h_1)\n",
+ "# From eq'n 3 we get height of drop as,\n",
+ "h=h_1/e**2 # m\n",
+ "# Results\n",
+ "print('The ball was dropped from a height of %f m'%h)\n",
+ "print('The coefficient of restitution between the glass and the floor is %f '%e)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 18.4 Principle of conservation of Momentum"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 4,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The velocity of ball A after impact is 8.353604 m/s\n",
+ "The velocity of ball B after impact is 15.179186 m/s\n",
+ "The direction of ball A after impact is 36.765696 degree\n",
+ "The direction of ball B after impact is 58.848472 degree\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "# Initilization of variables\n",
+ "e=0.90 # coefficient o restitution\n",
+ "v_a=10 # m/s # velocity of ball A\n",
+ "v_b=15 # m/s # velocity of ball B\n",
+ "alpha_1=30 # degree # angle made by v_a with horizontal\n",
+ "alpha_2=60 # degree # angle made by v_b with horizontal\n",
+ "# Calculations\n",
+ "# The components of initial velocity of ball A:\n",
+ "v_a_x=v_a*math.cos(alpha_1*math.pi/180) # m/s\n",
+ "v_a_y=v_a*math.sin(alpha_1*math.pi/180) # m/s\n",
+ "# The components of initial velocity of ball B:\n",
+ "v_b_x=-v_b*math.cos(alpha_2*math.pi/180) # m/s\n",
+ "v_b_y=v_b*math.sin(alpha_2*math.pi/180) # m/s\n",
+ "# From eq'n 1 & 2 we get,\n",
+ "v_ay=v_a_y # m/s # Here, v_ay=(v'_a)_y\n",
+ "v_by=v_b_y # m/s # Here, v_by=(v'_b)_y\n",
+ "# On adding eq'n 3 & 4 we get,\n",
+ "v_bx=((v_a_x+v_b_x)+(-e*(v_b_x-v_a_x)))/2 # m/s # Here. v_bx=(v'_b)_x\n",
+ "# On substuting the value of v'_b_x in eq'n 3 we get,\n",
+ "v_ax=(v_a_x+v_b_x)-(v_bx) # m/s # here, v_ax=(v'_a)_x\n",
+ "# Now the eq'n for resultant velocities of balls A & B after impact are,\n",
+ "v_A=math.sqrt(v_ax**2+v_ay**2) # m/s\n",
+ "v_B=math.sqrt(v_bx**2+v_by**2) # m/s\n",
+ "# The direction of the ball after Impact is,\n",
+ "theta_1=math.degrees(math.atan(-(v_ay/v_ax))) # degree\n",
+ "theta_2=math.degrees(math.atan(v_by/v_bx)) # degree\n",
+ "# Results\n",
+ "print('The velocity of ball A after impact is %f m/s'%v_A)\n",
+ "print('The velocity of ball B after impact is %f m/s'%v_B)\n",
+ "print('The direction of ball A after impact is %f degree'%theta_1)\n",
+ "print('The direction of ball B after impact is %f degree'%theta_2)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 18.5 Motion of ball"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 5,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The velocity of the ball is 0.661438 v\n",
+ "The direction of the ball is 49.106605 degrees\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Initiization of variables\n",
+ "theta=30 # degrees # ange made by the ball against the wall\n",
+ "e=0.50\n",
+ "# Calculations\n",
+ "# The notations have been changed\n",
+ "# Resolving the velocity v as,\n",
+ "v_x=math.cos(theta*math.pi/180)\n",
+ "v_y=math.sin(theta*math.pi/180)\n",
+ "V_y=v_y\n",
+ "# from coefficient of restitution reation\n",
+ "V_x=-e*v_x\n",
+ "# Resultant velocity\n",
+ "V=math.sqrt(V_x**2+V_y**2)\n",
+ "theta=math.degrees(math.atan(V_y/(-V_x))) # taking +ve value for V_x\n",
+ "# NOTE: Here all the terms are multiplied with velocity i.e (v).\n",
+ "# Results\n",
+ "print('The velocity of the ball is %f v'%V)\n",
+ "print('The direction of the ball is %f degrees'%theta)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 18.6 Principle of conservation of Energy"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 6,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The height from which the ball A should be released is 0.149705 m\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Initilization of variables\n",
+ "e=0.8 # coefficient of restitution\n",
+ "g=9.81 # m/s**2 # acc due to gravity\n",
+ "# Calcuations\n",
+ "# Squaring eqn's 1 &2 and Solving eqn's 1 & 2 using matrix for the value of h\n",
+ "A=numpy.matrix([[-1,(2*g)],[-1,-(1.28*g)]])\n",
+ "B=numpy.matrix([[0.945**2],[(-0.4*9.81)]])\n",
+ "C=numpy.linalg.inv(A)*B # m\n",
+ "# Results\n",
+ "print('The height from which the ball A should be released is %f m'%C[1])\n",
+ "# The answer given in the book i.e 0.104 is wrong."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 18.7 Principle of conservation of Energy"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 7,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The angle through which the sphere B will swing after the impact is 28.955024 degree\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Initilization of variables\n",
+ "theta_a=60 # degree # angle made by sphere A with the verticle\n",
+ "e=1 # coefficient of restitution for elastic impact\n",
+ "# Calculations\n",
+ "# theta_b is given by the eq'n cosd*theta_b=0.875, hence theta_b is,\n",
+ "theta_b=math.degrees(math.acos(0.875)) # degree\n",
+ "# Results\n",
+ "print('The angle through which the sphere B will swing after the impact is %f degree'%theta_b)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 18.8 Principle of conservation of Energy"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 8,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "(a) The maximum angle through which the pendulum swings when the bullet gets embeded into the bob is 18.188288 degree\n",
+ "(b) The maximum angle through which the pendulum swings when the bullet rebounds from the surface of the bob is 22.088290 degree\n",
+ "(c) The maximum angle through which the pendulum swings when the bullet escapes from other end of the bob the bob is 14.674584 degree\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Initilization of variables\n",
+ "m_a=0.01 # kg # mass of bullet A\n",
+ "v_a=100 # m/s # velocity of bullet A\n",
+ "m_b=1 # kg # mass of the bob\n",
+ "v_b=0 # m/s # velocity of the bob\n",
+ "l=1 # m # length of the pendulum\n",
+ "v_r=-20 # m/s # velocity at which the bullet rebounds the surface of the bob # here the notation for v'_a is shown by v_r\n",
+ "v_e=20 # m/s # velocity at which the bullet escapes through the surface of the bob # here the notation for v_a is shown by v_e\n",
+ "g=9.81 # m/s**2 # acc due to gravity\n",
+ "# Calculations\n",
+ "# Momentum of the bullet & the bob before impact is,\n",
+ "M=(m_a*v_a)+(m_b*v_b) # kg.m/s......(eq'n 1)\n",
+ "# The common velocity v_c ( we use v_c insted of v' for notation of common velocity) is given by equating eq'n 1 & eq'n 2 as,\n",
+ "# (a) When the bullet gets embedded into the bob\n",
+ "v_c=M/(m_a+m_b) # m/s\n",
+ "# The height h to which the bob rises is given by eq'n 3 as,\n",
+ "h_1=(1/2)*(v_c**2/g) # m\n",
+ "# The angle (theta_1) by which the bob swings corresponding to the value of height h_1 is,\n",
+ "theta_1=math.degrees(math.acos((l-h_1)/l)) # degree\n",
+ "# (b) When the bullet rebounds from the surface of the bob\n",
+ "# The velocity of the bob after the rebound of the bullet from its surface is given by equating eq'n 1 & eq'n 4 as,\n",
+ "v_bob_rebound=M-(m_a*v_r) # m/s # here v_bob_rebound=v'_b\n",
+ "# The equation for the height which the bob attains after impact is,\n",
+ "h_2=(v_bob_rebound**2)/(2*g) # m\n",
+ "# The corresponding angle of swing \n",
+ "theta_2=math.degrees(math.acos((l-h_2)/l)) # degree\n",
+ "# (c) When the bullet pierces and escapes through the bob\n",
+ "# From eq'n 1 & 5 the velocity attained by the bob after impact is given as,\n",
+ "v_b_escape=M-(m_a*v_e) # m/s # here we use, v_b_escape insted of v'_b\n",
+ "# The equation for the height which the bob attains after impact is,\n",
+ "h_3=(v_b_escape**2)/(2*g) # m\n",
+ "# The corresponding angle of swing \n",
+ "theta_3=math.degrees(math.acos((l-h_3)/(l))) # degree\n",
+ "# Results\n",
+ "print('(a) The maximum angle through which the pendulum swings when the bullet gets embeded into the bob is %f degree'%theta_1)\n",
+ "print('(b) The maximum angle through which the pendulum swings when the bullet rebounds from the surface of the bob is %f degree'%theta_2)\n",
+ "print('(c) The maximum angle through which the pendulum swings when the bullet escapes from other end of the bob the bob is %f degree'%theta_3)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 18.9 Principle of conservation of Momentum"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 10,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The compression of the spring over and above caused by the static action of weight W_a is 7.502999 cm \n",
+ "\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Initilization of variables\n",
+ "W_a=50 # N # falling weight\n",
+ "W_b=50 # N # weight on which W_a falls\n",
+ "g=9.81 # m/s**2 # acc due to gravity\n",
+ "m_a=W_a/g # kg # mass of W_a\n",
+ "m_b=W_b/g # kg # mass of W_b\n",
+ "k=2*10**3 # N/m # stiffness of spring\n",
+ "h=0.075 # m # height through which W_a falls\n",
+ "# The velocity of weight W_a just before the impact and after falling from a height of h is given from the eq'n, ( Principle of conservation of energy)\n",
+ "v_a=math.sqrt(2*g*h) # m/s\n",
+ "# Let the mutual velocity after the impact be v_m (i.e v_m=v'), (by principle of conservation of momentum)\n",
+ "v_m=(m_a*v_a)/(m_a+m_b) # m/s\n",
+ "# Initial compression of the spring due to weight W_b is given by,\n",
+ "delta_st=(W_b/k)*(10**2) # cm\n",
+ "# Let the total compression of the spring be delta_t, Then delta_t is found by finding the roots from the eq'n:\n",
+ "#delta_t**2-0.1*delta_t-0.000003=0. In this eq'n let,\n",
+ "a=1\n",
+ "b=-0.1\n",
+ "c=-0.000003\n",
+ "delta_t=((-b+(math.sqrt(b**2-(4*a*c))))/2*a)*(10**2) # cm # we consider the -ve value\n",
+ "delta=delta_t-delta_st # cm\n",
+ "# Results\n",
+ "print('The compression of the spring over and above caused by the static action of weight W_a is %f cm \\n'%delta)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 18.10 Principle of conservation of Momentum"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 11,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The distance through which the block is displaced from its initial position is 0.908325 m\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Initilization of variables\n",
+ "v_a=600 # m/s # velocity of the bullet before impact\n",
+ "v_b=0 # m/s # velocity of the block before impact\n",
+ "w_b=0.25 # N # weight of the bullet\n",
+ "w_wb=50 # N # weight of wodden block\n",
+ "mu=0.5 # coefficient of friction between the floor and the block\n",
+ "g=9.81 # m/s**2 # acc due to gravity\n",
+ "# Calculations\n",
+ "m_a=w_b/g # kg # mass of the bullet\n",
+ "m_b=w_wb/g # kg # mass of the block\n",
+ "# Let the common velocity be v_c which is given by eq'n (Principle of conservation of momentum)\n",
+ "v_c=(w_b*v_a)/(w_wb+w_b) # m/s\n",
+ "# Let the distance through which the block is displaced be s, Then s is given by eq'n\n",
+ "s=v_c**2/(2*g*mu) # m\n",
+ "# Results\n",
+ "print('The distance through which the block is displaced from its initial position is %f m'%s)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 18.11 Principle of conservation of Energy Momentum and work and energy"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 12,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The resistance to penetration to the pile is 79.022132 kN\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Initilization of variables\n",
+ "M=750 # kg # mass of hammer\n",
+ "m=200 # kg # mass of the pile\n",
+ "h=1.2 # m # height of fall of the hammer\n",
+ "delta=0.1 # m # distance upto which the pile is driven into the ground\n",
+ "g=9.81 # m/s**2 # acc due to gravity\n",
+ "# Caculations\n",
+ "# The resistance to penetration to the pile is given by eq'n,\n",
+ "R=(((M+m)*g)+((M**2*g*h)/((M+m)*delta)))*(10**-3) # kN \n",
+ "# Results\n",
+ "print('The resistance to penetration to the pile is %f kN'%R)"
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 3",
+ "language": "python",
+ "name": "python3"
+ },
+ "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.1"
+ },
+ "widgets": {
+ "state": {},
+ "version": "1.1.2"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/Engineering_Mechanics_by_A._K._Tayal/Chapter19.ipynb b/Engineering_Mechanics_by_A._K._Tayal/Chapter19.ipynb
new file mode 100644
index 00000000..08d8c932
--- /dev/null
+++ b/Engineering_Mechanics_by_A._K._Tayal/Chapter19.ipynb
@@ -0,0 +1,230 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Chapter 19 Relative Motion"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 19.1 Relative Velocity"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The velocity at which the stone appears to hit the person travelling in the train is 11.180340 m/s\n",
+ "The direction of the stone is 26.565051 degree\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "# Initilization of variables\n",
+ "v_t=10 # m/s # velocity of the train\n",
+ "v_s=5 # m/s # velocity of the stone\n",
+ "# Calculations\n",
+ "# Let v_r be the relative velocity, which is given as, (from triangle law)\n",
+ "v_r=math.sqrt(v_t**2+v_s**2) # m/s\n",
+ "# The direction ofthe stone is,\n",
+ "theta=math.degrees(math.atan(v_s/v_t)) # degree\n",
+ "# Results\n",
+ "print('The velocity at which the stone appears to hit the person travelling in the train is %f m/s'%v_r)\n",
+ "print('The direction of the stone is %f degree'%theta)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 19.2 Relative Velocity"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 12,
+ "metadata": {
+ "collapsed": false,
+ "scrolled": true
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The magnitude of relative velocity of ship B with respect to ship A is 6.994832 m/s\n",
+ "The direction of the relative velocity is 14.638807 degree\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Initilization of variables\n",
+ "v_A=5 # m/s # speed of ship A\n",
+ "v_B=2.5 # m/s # speed of ship B\n",
+ "theta=135 # degree # angle between the two ships\n",
+ "# Calculations\n",
+ "# Here,\n",
+ "OA=v_A # m/s\n",
+ "OB=v_B # m/s\n",
+ "# The magnitude of relative velocity is given by cosine law as,\n",
+ "AB=math.sqrt((OA**2)+(OB**2)-(2*OA*OB*math.cos(theta*math.pi/180))) # m/s\n",
+ "# where AB gives the relative velocity of ship B with respect to ship A\n",
+ "# Applying sine law to find the direction, Let alpha be the direction of the reative velocity, then\n",
+ "alpha=math.degrees(math.asin((OB*math.sin(theta*math.pi/180))/(AB))) # degree\n",
+ "# Results\n",
+ "print('The magnitude of relative velocity of ship B with respect to ship A is %f m/s'%AB)\n",
+ "print('The direction of the relative velocity is %f degree'%alpha)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 19.3 Relative Velocity"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 16,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The magnitude of absolute velocity is 18.943769 km/hr\n",
+ "The direction of absolute velocity is 86.709116 degree\n"
+ ]
+ }
+ ],
+ "source": [
+ "import numpy\n",
+ "# Initilization of variables\n",
+ "v_c=20 # km/hr # speed at which the cyclist is riding to west\n",
+ "theta_1=45 # degree # angle made by rain with the cyclist when he rides at 20 km/hr\n",
+ "V_c=12 # km/hr # changed speed\n",
+ "theta_2=30 # degree # changed angle when the cyclist rides at 12 km/hr\n",
+ "# Calculations\n",
+ "# Solving eq'ns 1 & 2 simultaneously to get the values of components(v_R_x & v_R_y) of absolute velocity v_R. We use matrix to solve eqn's 1 & 2.\n",
+ "A=numpy.matrix('1 1;1 0.577')\n",
+ "B=numpy.matrix('20;12')\n",
+ "C=numpy.linalg.inv(A)*B # km/hr\n",
+ "# The X component of relative velocity (v_R_x) is C(1)\n",
+ "# The Y component of relative velocity (v_R_y) is C(2)\n",
+ "# Calculations\n",
+ "# Relative velocity (v_R) is given as,\n",
+ "v_R=math.sqrt((C[0])**2+(C[1])**2) # km/hr\n",
+ "# And the direction of absolute velocity of rain is theta, is given as\n",
+ "theta=math.degrees(math.atan(C[1]/C[0])) # degree\n",
+ "# Results \n",
+ "print('The magnitude of absolute velocity is %f km/hr'%v_R)\n",
+ "print('The direction of absolute velocity is %f degree'%theta)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 19.4 Relative Velocity"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 19,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The relative position of car A relative to car B is 53.851648 m\n",
+ "The direction of car A w.r.t car B is 21.801409 degree\n",
+ "The velocity of car A relative to car B is 11.180340 m/s\n",
+ "The direction of car A w.r.t (for relative velocity)is 26.565051 degree\n",
+ "The acceleration of car A relative to car B is 1 m/s**2\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Initiization of variables\n",
+ "a=1 # m/s**2 # acceleration of car A\n",
+ "u_B=36*(1000/3600) # m/s # velocity of car B\n",
+ "u=0 # m/s # initial velocity of car A\n",
+ "d=32.5 # m # position of car A from north of crossing\n",
+ "t=5 # seconds\n",
+ "# Calculations\n",
+ "# CAR A: Absolute motion using eq'n v=u+at we have,\n",
+ "v=u+(a*t) # m/s\n",
+ "# Now distance travelled by car A after 5 seconds is given by, s_A=u*t+(1/2)*a*t**2\n",
+ "s_A=(u*t)+((1/2)*a*t**2)\n",
+ "# Now, let the position of car A after 5 seconds be y_A\n",
+ "y_A=d-s_A # m # \n",
+ "# CAR B:\n",
+ "# let a_B be the acceleration of car B\n",
+ "a_B=0 # m/s\n",
+ "# Now position of car B is s_B\n",
+ "s_B=(u_B*t)+((1/2)*a_B*t**2) # m\n",
+ "x_B=s_B # m\n",
+ "# Let the Relative position of car A with respect to car B be BA & its direction be theta, then from fig. 19.9(b)\n",
+ "OA=y_A\n",
+ "OB=x_B\n",
+ "BA=math.sqrt(OA**2+OB**2) # m\n",
+ "theta=math.degrees(math.atan(OA/OB)) # degree\n",
+ "# Let the relative velocity of car A w.r.t. the car B be v_AB & the angle be phi. Then from fig 19.9(c). Consider small alphabets\n",
+ "oa=v\n",
+ "ob=u_B\n",
+ "v_AB=math.sqrt(oa**2+ob**2) # m/s\n",
+ "phi=math.degrees(math.atan(oa/ob)) # degree\n",
+ "# Let the relative acceleration of car A w.r.t. car B be a_A/B.Then,\n",
+ "a_AB=a-a_B # m/s^2\n",
+ "# Results\n",
+ "print('The relative position of car A relative to car B is %f m'%BA)\n",
+ "print('The direction of car A w.r.t car B is %f degree'%theta)\n",
+ "print('The velocity of car A relative to car B is %f m/s'%v_AB)\n",
+ "print('The direction of car A w.r.t (for relative velocity)is %f degree'%phi)\n",
+ "print('The acceleration of car A relative to car B is %d m/s**2'%a_AB)"
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 3",
+ "language": "python",
+ "name": "python3"
+ },
+ "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.1"
+ },
+ "widgets": {
+ "state": {},
+ "version": "1.1.2"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/Engineering_Mechanics_by_A._K._Tayal/Chapter2.ipynb b/Engineering_Mechanics_by_A._K._Tayal/Chapter2.ipynb
new file mode 100644
index 00000000..c7f48900
--- /dev/null
+++ b/Engineering_Mechanics_by_A._K._Tayal/Chapter2.ipynb
@@ -0,0 +1,677 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Chapter 2 Parallel Forces in a Plane"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 2.1 CFP"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 4,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The magnitude of resultant is 145.465646 Newton (N)\n",
+ "The direction of resultant is 35.103909 degree\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "#Initilization of variables\n",
+ "P=50 #N\n",
+ "Q=100 #N\n",
+ "beta=150 #degree # angle between P & the horizontal\n",
+ "#Calculations\n",
+ "R=math.sqrt(P**2+Q**2-(2*P*Q*math.cos(beta*math.pi/180))) # using the Trignometric solution\n",
+ "Alpha=math.degrees(math.asin((math.sin(beta*math.pi/180)*Q)/R))+15\n",
+ "#Result\n",
+ "print('The magnitude of resultant is %f Newton (N)'%R)\n",
+ "print('The direction of resultant is %f degree'%Alpha)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 2.2 Addition of concurrent forces"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 5,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The magnitude of the resultant is 145.465646 N\n",
+ "The ange of the resultant with x-axis is 35.103909 degree\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Initilization of variables\n",
+ "P=50 #N\n",
+ "Q=100 #N\n",
+ "beta=15 #degree # angle between P& the horizontal\n",
+ "theta=45 #degree # angle between the resultant (R) & the horizontal\n",
+ "#Calculations\n",
+ "Rx=P*math.cos(beta*math.pi/180)+Q*math.cos(theta*math.pi/180) #N\n",
+ "Ry=P*math.sin(beta*math.pi/180)+Q*math.sin(theta*math.pi/180) #N\n",
+ "R=math.sqrt((Rx**2)+(Ry**2)) #N\n",
+ "alpha=math.degrees(math.atan(Ry/Rx)) #degree\n",
+ "#Results\n",
+ "print('The magnitude of the resultant is %f N'%R)\n",
+ "print('The ange of the resultant with x-axis is %f degree'%alpha)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 2.4 Equilibrium equations"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 8,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The maximum force that can be applied is 4.015035 kN\n",
+ "The direction of applied force is 75.000000 degree\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Initilization of variables\n",
+ "Tac=3.5 #kN\n",
+ "Tbc=3.5 #kN\n",
+ "alpha=20 #degree #angle made by Tac with -ve X axis\n",
+ "beta=50 #degree #angle made by Tbc with +ve X axis\n",
+ "#Calculations\n",
+ "theta=math.degrees(math.atan(((Tac*math.sin(alpha*math.pi/180))+(Tbc*math.sin(beta*math.pi/180)))/((Tac*math.cos(alpha*math.pi/180))-(Tbc*math.cos(beta*math.pi/180))))) #degree\n",
+ "P=Tac*(math.cos(alpha*math.pi/180)-math.cos(beta*math.pi/180))/(math.cos(theta*math.pi/180)) #kN # from eq'n 1\n",
+ "#Results\n",
+ "print('The maximum force that can be applied is %f kN'%P)\n",
+ "print('The direction of applied force is %f degree'%theta)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 2.8 Equilibrium of a body subjected to two forces"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 12,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The angle which the force should make with the horizontal to keep the edge AB of the body vertical 53.130102 degree\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Initilization of variables\n",
+ "lAB=0.4 #m\n",
+ "lBC=0.3 #m\n",
+ "#Calculations\n",
+ "alpha=math.degrees(math.atan(lAB/lBC)) #degree\n",
+ "#Results\n",
+ "print('The angle which the force should make with the horizontal to keep the edge AB of the body vertical %f degree'%alpha) #here alpha=theta"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 2.9 Equilibrium of a body subjected to three forces"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 13,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The axial force in the bar AC(by aw of concurrent forces) is 781.024968 N\n",
+ "The axial force in the bar BC(by aw of concurrent forces) is 640.312424 N\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Initilization of variables\n",
+ "F=1000 #N\n",
+ "lAB=0.5 #m\n",
+ "lDC=0.25 #m #length of the perpendicular drawn from point C to AB\n",
+ "#Calculations\n",
+ "lAC=math.sqrt((0.3)**2+(0.25)**2) #m\n",
+ "lBC=math.sqrt((0.20)**2+(0.25)**2) #m\n",
+ "Sac=(lAC*F)/(lAB) #N #by law of concurrent forces\n",
+ "Sbc=(lBC*F)/(lAB) #N #by law of concurrent forces\n",
+ "#Results\n",
+ "print('The axial force in the bar AC(by aw of concurrent forces) is %f N'%Sac)\n",
+ "print('The axial force in the bar BC(by aw of concurrent forces) is %f N'%Sbc)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 2.10 Equilibrium of a body subjected to three forces"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 14,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The force F1 is 439.692621 N\n",
+ "The force F2 is 326.351822 N\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Initilization of variables\n",
+ "F3=500 #N\n",
+ "alpha=60 #degree #angle made by F3 with F2\n",
+ "beta=40 #degree #angle made by F1 with F3\n",
+ "theta=80 #degree #angle made by F1 with F2\n",
+ "#Calculations\n",
+ "# Solving by using law of sines\n",
+ "F1=(F3*math.sin(alpha*math.pi/180)/math.sin(theta*math.pi/180)) #N #by law of sines\n",
+ "F2=(F3*math.sin(beta*math.pi/180)/math.sin(theta*math.pi/180)) #N #by law of sines\n",
+ "#Resuts\n",
+ "print('The force F1 is %f N'%F1)\n",
+ "print('The force F2 is %f N'%F2)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 2.11 Reaction at the hinge"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 15,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The X component of reaction at A is 4330.127019 N\n",
+ "The Y component of reaction at A is 1249.674658 N\n",
+ "The reaction at support A is 4506.848871 N\n",
+ "The reaction at support B is 1250.325342 N\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Initilization of variables\n",
+ "P=5000 #N\n",
+ "lAB=5 #m\n",
+ "lOB=1.443 # m\n",
+ "alpha=30 #degree #angle made by force P with the beam\n",
+ "#Calculations\n",
+ "theta=math.degrees(math.atan(lOB/lAB)) # degree # eq'n 1\n",
+ "Xa=(P*math.cos(alpha*math.pi/180)) #N #using eq'n 4\n",
+ "Ya=Xa*math.tan(theta*math.pi/180) #N # from eq'n 3 & 4\n",
+ "Rb=P*math.sin(alpha*math.pi/180)-Ya # N from eq'n 5# substuting value of Ya in eq'n 5\n",
+ "Ra=math.sqrt((Xa**2)+(Ya**2)) #N\n",
+ "#Results\n",
+ "print('The X component of reaction at A is %f N'%Xa)\n",
+ "print('The Y component of reaction at A is %f N'%Ya)\n",
+ "print('The reaction at support A is %f N'%Ra)\n",
+ "print('The reaction at support B is %f N'%Rb)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 2.12 Reaction at the hinge"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 16,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The reaction at support A is 1250.000000 N\n",
+ "The reaction at support B is 750.000000 N\n",
+ "The angle that Rc makes with horizontal 53.130102 degree\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Initilization of variables\n",
+ "W=1000 #N\n",
+ "OD=0.4 #m\n",
+ "AD=0.3 #m\n",
+ "AO=0.5 #m #AO=sqrt((0.4)**2+(0.3)**2)\n",
+ "#Calculations\n",
+ "Ra=W*AO/OD #N # The answer of Ra in the textbook is incorrect\n",
+ "Rc=W*AD/OD #N\n",
+ "alpha=math.degrees(math.atan(OD/AD)) #degree\n",
+ "#Results\n",
+ "print('The reaction at support A is %f N'%Ra)\n",
+ "print('The reaction at support B is %f N'%Rc)\n",
+ "print('The angle that Rc makes with horizontal %f degree'%alpha)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 2.13 Reaction at the hinge"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 17,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Tension in portion AB is 4328.394968 N\n",
+ "Tension in portion BC is 2499.000000 N\n",
+ "Tension in portion CD is 2499.000000 N\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Initilization of variables\n",
+ "W=2500 #N #This load acts at point B and C.\n",
+ "alpha=30 #degree # angle made by T1 with +ve y-axis & T2 with +ve x-axis\n",
+ "#Calculations\n",
+ "T2=W-(((math.cos(alpha*math.pi/180))**2/(math.sin(alpha*math.pi/180)))-(math.sin(alpha*math.pi/180))) # N # substuting eq'n 1 in 2\n",
+ "T1=(T2*math.cos(30*math.pi/180))/(math.sin(30*math.pi/180)) #N # using eq'n 1\n",
+ "T3=T2 #N # By equilibrium eq'n at point C(sumFx=0)\n",
+ "#Results\n",
+ "print('Tension in portion AB is %f N'%T1)\n",
+ "print('Tension in portion BC is %f N'%T2)\n",
+ "print('Tension in portion CD is %f N'%T3)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 2.15 Equilibrium of a body"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 19,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The force P so that the wheel is just to roll over the block is 577.350269 N\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Initilization of variables\n",
+ "d=0.6 #m #diameter of the wheel\n",
+ "r=0.3 #m #radius of the wheel\n",
+ "W=1000 #N #weight of the wheel\n",
+ "h=0.15 #m #height of rectangular block\n",
+ "#Calculations\n",
+ "theta=math.atan((math.sqrt(h))/(math.sqrt(d-h)))\n",
+ "P=(W*math.tan(theta)) #N # dividing eq'n 1 & 2\n",
+ "#Resuts\n",
+ "print('The force P so that the wheel is just to roll over the block is %f N'%P)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 2.16 Equilibrium of a Body"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 23,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The axial force in the bar AB is 1306.562965 N\n",
+ "The axial force in the bar OB is 1000.000000 N\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Initilization of variables\n",
+ "Soa=1000 #N (tension)\n",
+ "alpha=45 #degree #where alpha=(360/8)\n",
+ "theta=67.5 #degree #angle made by bar AO with AB &AH\n",
+ "#Calcultions\n",
+ "Sab=Soa*(math.sin(theta*math.pi/180)/math.sin(alpha*math.pi/180)) # N # Using law of sines\n",
+ "Sah=Sab #N\n",
+ "Sob=(Sab*math.sin((180-2*(theta))*math.pi/180))/math.sin(theta*math.pi/180) #N\n",
+ "#Results\n",
+ "print('The axial force in the bar AB is %f N'%Sab) #Compression\n",
+ "print('The axial force in the bar OB is %f N'%Sob) #Tension"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 2.17 Equilibrium of a body"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 24,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The reaction at A is 453.153894 N\n",
+ "The reaction at B is 211.309131 N\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Initilization of variables\n",
+ "W=500 #N #weight of cylinder\n",
+ "alpha=25 #degree #angle made by OA with horizontal\n",
+ "beta=65 #degree #angle made by OB with horizontal\n",
+ "theta=90 #degree # theta=(alpha+beta)\n",
+ "#Calculations\n",
+ "Ra=(W*math.sin(beta*math.pi/180))/math.sin(theta*math.pi/180) #N #from equilibrium eq'n\n",
+ "Rb=(W*math.sin(alpha*math.pi/180))/math.sin(theta*math.pi/180) #N #from equilibrium eqn's\n",
+ "#Results\n",
+ "print('The reaction at A is %f N'%Ra)\n",
+ "print('The reaction at B is %f N'%Rb)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 2.18 Equilibrium of a body"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 25,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The reaction at point P is 268.383687 N\n",
+ "The reaction at point L is 309.902788 N\n",
+ "The reaction at point N is 1245.048606 N\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Initilization of variables\n",
+ "Wa=1000 #N #weight of sphere A\n",
+ "Wb=400 #N #weight of sphere B\n",
+ "Ra=0.09 #m #radius of sphere A\n",
+ "Rb=0.05 #m #radius of sphere B\n",
+ "theta=33.86 #degree #angle made by Rq with Wb\n",
+ "alpha=60 #degree #angle made by Rl with horizontal\n",
+ "#Calculations\n",
+ "Rq=Wb/math.cos(theta*math.pi/180) #N #using sum Fy=0 for sphere B\n",
+ "Rp=Rq*math.sin(theta*math.pi/180) #N #using sum Fx=0 for sphere B\n",
+ "Rl=(Rq*math.sin(theta*math.pi/180))/math.sin(alpha*math.pi/180) #N #using sum Fx=0 for sphere A\n",
+ "Rn=((Wa)+(Rq*math.cos(theta*math.pi/180))-(Rl*math.cos(alpha*math.pi/180))) #N\n",
+ "#Results\n",
+ "print('The reaction at point P is %f N'%Rp)\n",
+ "print('The reaction at point L is %f N'%Rl)\n",
+ "print('The reaction at point N is %f N'%Rn)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 2.19 Equilibrium of a body"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 28,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The tension in the string is 66.143783 N\n",
+ "The angle wich the string makes with the horizontal when the system is in equilibrium is 10.893395 N\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Initilization of variables\n",
+ "P=50 #N\n",
+ "Q=100 #N\n",
+ "alpha=30 #degree #angle made by Rq with +ve Y-axis\n",
+ "#Calculations\n",
+ "theta=math.degrees(math.atan((P*1/math.tan(alpha*math.pi/180)-Q*math.tan(alpha*math.pi/180))/(P+Q))) #degree\n",
+ "T=Q/(math.cos(theta*math.pi/180)*1/math.tan(alpha*math.pi/180)-math.sin(theta*math.pi/180)) #N\n",
+ "#Results\n",
+ "print('The tension in the string is %f N'%T)\n",
+ "print('The angle wich the string makes with the horizontal when the system is in equilibrium is %f N'%theta)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 2.20 Equilibrium of a body"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 29,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The reaction between the cylinder A and the wall of the channel is 784.797079 N\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Initilization of variables\n",
+ "theta1=50.5 #degree #is the angle made between BC & and BE\n",
+ "theta2=36.87 #degree #is te angle ade between BA &BE \n",
+ "g=9.81 #m/s**2\n",
+ "Wa=15*g #N\n",
+ "Wb=40*g #N\n",
+ "Wc=20*g #N\n",
+ "#Calculations\n",
+ "R2=Wc/(math.sin(theta1*math.pi/180)) #N #from F.B.D of cylinder C(sum Fy=0)\n",
+ "R4=(Wb+R2*math.sin(theta1*math.pi/180))/math.sin(theta2*math.pi/180) #N #from F.B.D of cylinder B(sum Fy=0)\n",
+ "R6=R4*math.cos(theta2*math.pi/180) #N #from F.B.D of cylinder A(sum Fx=0)\n",
+ "#Results\n",
+ "print('The reaction between the cylinder A and the wall of the channel is %f N'%R6)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 2.21 Equilibrium of a body"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 30,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The reaction at D due to force of 1000 N acting at B is 500.000000 N\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Initilazation of variables\n",
+ "F=1000 #N\n",
+ "theta=30 #degree #angle made by the force with the beam AB\n",
+ "Lab=3 #m\n",
+ "Lae=2 #m\n",
+ "Lce=1 #m\n",
+ "#Calculations\n",
+ "Re=(F*Lab*math.sin(theta*math.pi/180))/Lae #N #Taking moment at A\n",
+ "Rd=(Re*Lce)/(Lab*math.sin(theta*math.pi/180)) #N #Taking moment about C\n",
+ "#Results\n",
+ "print('The reaction at D due to force of 1000 N acting at B is %f N'%Rd)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 2.23 Equilibrium of a body"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 37,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The least force required to just turn the wheel over the block is 866.025404 N\n",
+ "The angle wich should be made by Pmini with AC is 90.000000 degree\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Initilization of variables\n",
+ "W=1000 #N\n",
+ "r=0.30 #m #radius of the wheel\n",
+ "h=0.15 #m #height of the obstacle\n",
+ "#Calculations\n",
+ "theta=math.degrees(math.asin(1)) #degree #P is mini when sin(theta)=1 from eq'n of P\n",
+ "Pmini=(W*math.sqrt((2*r*h)-(h**2)))/(r*math.sin(theta*math.pi/180)) #N\n",
+ "#Results\n",
+ "print('The least force required to just turn the wheel over the block is %f N'%Pmini)\n",
+ "print('The angle wich should be made by Pmini with AC is %f degree'%theta)"
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 3",
+ "language": "python",
+ "name": "python3"
+ },
+ "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.1"
+ },
+ "widgets": {
+ "state": {},
+ "version": "1.1.2"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/Engineering_Mechanics_by_A._K._Tayal/Chapter20.ipynb b/Engineering_Mechanics_by_A._K._Tayal/Chapter20.ipynb
new file mode 100644
index 00000000..1f3a63ab
--- /dev/null
+++ b/Engineering_Mechanics_by_A._K._Tayal/Chapter20.ipynb
@@ -0,0 +1,448 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Chapter 20 Motion of Projectile"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 20.1 Motion of Projectile"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 4,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The velocity of the projectile is 435.272891 m/s\n",
+ "The direction of the projectile is 5.841405 degree\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "# Initilization of variables\n",
+ "v_o=500 # m/s # velocity of the projectile\n",
+ "alpha=30 # angle at which the projectile is fired\n",
+ "t=30 # seconds\n",
+ "g=9.81 # m/s**2 # acc due to gravity\n",
+ "# Calculations\n",
+ "v_x=v_o*(math.cos(alpha*math.pi/180)) # m/s # Initial velocity in the horizontal direction\n",
+ "v_y=v_o*(math.sin(alpha*math.pi/180)) # m/s # Initial velocity in the vertical direction\n",
+ "# MOTION IN HORIZONTA DIRECTION:\n",
+ "V_x=v_x # m/s # V_x=Horizontal velocity after 30 seconds\n",
+ "# MOTION IN VERTICAL DIRECTION: # using the eq'n v=u+a*t\n",
+ "V_y=v_y-(g*t) # m/s # -ve sign denotes downward motion\n",
+ "# Let the Resultant velocity be v_R. It is given as,\n",
+ "v_R=math.sqrt((V_x)**2+(-V_y)**2) # m/s\n",
+ "theta=math.degrees(math.atan((-V_y)/V_x)) # degree # direction of the projectile\n",
+ "# Results\n",
+ "print('The velocity of the projectile is %f m/s'%v_R) \n",
+ "# The answer of velocity is wrong in the text book.\n",
+ "print('The direction of the projectile is %f degree'%theta)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 20.2 Motion of Projectile"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 5,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "(a) The velocity of body B for horizontal range is 9.306049 m/s\n",
+ "(b) The velocity of body B for the maximum height is 12.247449 m/s\n",
+ "(c) The velocity of body B for equal time of flight is 12.247449 m/s\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Initilization of variables\n",
+ "v_A=10 # m/s # velocity of body A\n",
+ "alpha_A=60 # degree # direction of body A\n",
+ "alpha_B=45 # degree # direction of body B\n",
+ "# Calculations\n",
+ "# (a) The velocity (v_B) for the same range is given by eq'n;\n",
+ "v_B=math.sqrt((v_A**2*math.sin(2*alpha_A*math.pi/180))/(math.sin(2*alpha_B*math.pi/180))) # m/s\n",
+ "# (b) Now velocity v_B for the same maximum height is given as,\n",
+ "v_b=math.sqrt((v_A**2)*((math.sin(alpha_A*math.pi/180))**2/(math.sin(alpha_B*math.pi/180))**2)) # m/s\n",
+ "# (c) Now the velocity (v) for the equal time of flight is;\n",
+ "v=(v_A*math.sin(alpha_A*math.pi/180))/(math.sin(alpha_B*math.pi/180)) # m/s\n",
+ "# Results\n",
+ "print('(a) The velocity of body B for horizontal range is %f m/s'%v_B)\n",
+ "print('(b) The velocity of body B for the maximum height is %f m/s'%v_b)\n",
+ "print('(c) The velocity of body B for equal time of flight is %f m/s'%v)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 20.3 Motion of Projectile"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 6,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The least velocity with which the ball can be thrown is 9.779954 m/s\n",
+ "The angle of projection for the same is 60.255119 degree\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Initilization of variables\n",
+ "y=3.6 # m # height of the wall\n",
+ "x_1=4.8 # m # position of the boy w.r.t the wall\n",
+ "x_2=3.6 # m # distance from the wall where the ball hits the ground\n",
+ "g=9.81 # m/s**2 # acc due to gravity\n",
+ "# Calculations\n",
+ "# The range of the projectile is r, given as,\n",
+ "r=x_1+x_2 # m\n",
+ "# Let the angle of the projection be alpha, which is derived and given as,\n",
+ "alpha=math.degrees(math.atan((y)/(x_1-(x_1**2/r)))) # degree\n",
+ "# Now substuting the value of alpha in eq'n 3 we get the least velocity (v_o) as;\n",
+ "v_o=math.sqrt((g*r)/(math.sin(2*alpha*math.pi/180))) # m/s\n",
+ "# Results\n",
+ "print('The least velocity with which the ball can be thrown is %f m/s'%v_o)\n",
+ "print('The angle of projection for the same is %f degree'%alpha)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 20.5 Motion of Projectile"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 23,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The time difference between the two hits is 67.908579 seconds\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Initilization of variables\n",
+ "v_o=400 # m/s # initial velocity of each gun\n",
+ "r=5000 # m # range of each of the guns\n",
+ "g=9.81 # m/s**2 # acc due to gravity\n",
+ "pi=180 # degree \n",
+ "# Calculations\n",
+ "# now from eq'n 1\n",
+ "theta_1=math.degrees(math.asin((r*g)/(v_o**2)))/(2) \n",
+ "# from eq'n 3\n",
+ "theta_2=(pi-(2*theta_1))/2 # degree \n",
+ "# For 1st & 2nd gun, s is\n",
+ "s=r # m\n",
+ "# For 1st gun \n",
+ "v_x=v_o*math.cos(theta_1*math.pi/180) # m/s\n",
+ "# Now the time of flight for 1st gun is t_1, which is given by relation,\n",
+ "t_1=s/(v_x) # seconds\n",
+ "# For 2nd gun\n",
+ "V_x=v_o*math.cos(theta_2*math.pi/180)\n",
+ "# Now the time of flight for 2nd gun is t_2\n",
+ "t_2=s/(V_x) # seconds\n",
+ "# Let the time difference between the two hits be delta.T. Then,\n",
+ "deltaT=t_2-t_1 # seconds\n",
+ "# Results\n",
+ "print('The time difference between the two hits is %f seconds'%deltaT)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 20.6 Motion of Projectile"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 24,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The pilot should release the bomb from a distance of 3028.912664 m\n",
+ "The angle at which the target would appear is 33.436901 degree\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Initilization of variables\n",
+ "h=2000 # m/ height of the plane\n",
+ "v=540*(1000/3600) # m/s # velocity of the plane\n",
+ "g=9.81 # m/s**2 # acc due to gravity\n",
+ "# Calculations\n",
+ "# Time t required to travel down a height 2000 m is given by eq'n,\n",
+ "u=0 # m/s # initial velocity\n",
+ "t=math.sqrt((2*h)/(g)) # seconds\n",
+ "# Now let s be the horizonta distance travelled by the bomb in time t seconds, then\n",
+ "s=v*t # m\n",
+ "# angle is given as theta,\n",
+ "theta=math.degrees(math.atan(h/s)) # degree\n",
+ "# Results\n",
+ "print('The pilot should release the bomb from a distance of %f m'%s)\n",
+ "print('The angle at which the target would appear is %f degree'%theta)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 20.7 Motion of Projectile"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 25,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "(a) The maximum height to which the bullet will rise above the soldier is 127.420999 m\n",
+ "(b) The velocity with which the bullet will hit the target is 104.790267 m/s\n",
+ "(c) The time required to hit the target is 11.111111 seconds\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Initilization of variables\n",
+ "theta=30 # degree # angle at which the bullet is fired\n",
+ "s=-50 # position of target below hill\n",
+ "v=100 # m/s # velocity at which the bullet if fired\n",
+ "g=9.81 # m/s**2 \n",
+ "# Calculations\n",
+ "v_x=v*math.cos(theta*math.pi/180) # m/s # Initial velocity in horizontal direction\n",
+ "v_y=v*math.sin(theta*math.pi/180) # m/s # Initial velocity in vertical direction\n",
+ "# (a) Max height attained by the bullet\n",
+ "h=v_y**2/(2*g) # m\n",
+ "# (b)Let the vertical Velocity with which the bullet will hit the target be V_y. Then,\n",
+ "V_y=math.sqrt((2*-9.81*s)+(v_y)**2) # m/s # the value of V_y is +ve & -ve\n",
+ "# Let V be the velocity with wich it hits the target\n",
+ "V=math.sqrt((v_x)**2+(V_y)**2) # m/s\n",
+ "# (c) The time required to hit the target\n",
+ "a=g # m/s**2\n",
+ "t=(v_y-(-V_y))/a # seconds\n",
+ "# Results\n",
+ "print('(a) The maximum height to which the bullet will rise above the soldier is %f m'%h)\n",
+ "print('(b) The velocity with which the bullet will hit the target is %f m/s'%V)\n",
+ "print('(c) The time required to hit the target is %f seconds'%t)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 20.8 Motion of Projectile"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 26,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The distance x where the hammer hits the round is 5.159708 m\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Initilization of variables\n",
+ "W=30 # N # Weight of the hammer\n",
+ "theta=30 # degree # ref fig.20.12\n",
+ "mu=0.18 # coefficient of friction\n",
+ "s=10 # m # distance travelled by the hammer # fig 20.12\n",
+ "g=9.81 # m/s**2 # acc due to gravity\n",
+ "# Calculations\n",
+ "# The acceleration of the hammer is given as,\n",
+ "a=g*((math.sin(theta*math.pi/180))-(mu*math.cos(theta*math.pi/180))) # m/s**2\n",
+ "# The velocity of the hammer at point B is,\n",
+ "v=math.sqrt(2*a*s) # m/s\n",
+ "# Let the initial velocity of the hammer in horizontal direction be v_x & v_y in vertical direction, Then,\n",
+ "v_x=v*math.cos(theta*math.pi/180) # m/s\n",
+ "v_y=v*math.sin(theta*math.pi/180) # m/s\n",
+ "# MOTION IN VERTICAL DIRECTION\n",
+ "# Now, let time required to travel vertical distance (i.e BB'=S=5 m) is given by finding the roots of the second degree eq'n as,\n",
+ "# From the eq'n 4.9*t**2+4.1*t-5=0,\n",
+ "a=4.9\n",
+ "b=4.1\n",
+ "c=-5\n",
+ "# The roots of the eq'n are,\n",
+ "t=((-b)+(math.sqrt(b**2-(4*a*c))))/(2*a)\n",
+ "# MOTION IN HORIZONTAL DIRECTION\n",
+ "# Let the horizotal distance travelled by the hammer in time t be s_x.Then,\n",
+ "s_x=v_x*math.cos(theta*math.pi/180)*t # m\n",
+ "x=1+s_x # m\n",
+ "# Results\n",
+ "print('The distance x where the hammer hits the round is %f m'%x)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 20.9 Motion of Projectile"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 27,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "(a) The velocity of shell just before bursting is 500.255037 m/s\n",
+ "(b) The velocity of first part immediately after the shell burst is 1000.510074 m/s\n",
+ "(c) The velocity of second part immediately after the shell burst is 1000.510074 m/s\n",
+ "(b) The distance between the firing point & the point where the second part of the shell hit the ground is 3000.000000 m\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Initilization of variables\n",
+ "s=1000 # m # distance OB (ref fig.20.13)\n",
+ "h=19.6 # m # height of shell from ground\n",
+ "g=9.81 # m/s**2 # acc due to gravity\n",
+ "# Calculations\n",
+ "# MOTION OF ENTIRE SHELL FROM O to A.\n",
+ "v_y=math.sqrt(2*(g)*h) # m/s # initial velocity of shell in vertical direction\n",
+ "t=v_y/g # seconds # time taken by the entire shell to reach point A\n",
+ "v_x=s/t # m/s # velocity of shell in vertical direction\n",
+ "# VELOCITIES OF THE TWO PARTS OF THE SHELL AFTER BURSTING AT A:\n",
+ "# Let v_x2 be the horizontal velocity of 1st & the 2nd part after bursting which is given as,\n",
+ "v_x2=v_x*2 # m/s\n",
+ "# Now distance BC travelled by part 2 is\n",
+ "BC=v_x2*t # m\n",
+ "# Distance from firing point OC\n",
+ "OC=s+BC # m\n",
+ "# Results\n",
+ "print('(a) The velocity of shell just before bursting is %f m/s'%v_x)\n",
+ "print('(b) The velocity of first part immediately after the shell burst is %f m/s'%v_x2)\n",
+ "print('(c) The velocity of second part immediately after the shell burst is %f m/s'%v_x2)\n",
+ "print('(b) The distance between the firing point & the point where the second part of the shell hit the ground is %f m'%OC)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 20.10 Motion of Projectile"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 33,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The range covered (i.e BC) is 7650.920998 m\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Initilization of variables\n",
+ "v_o=200 # m/s # initial velocity\n",
+ "theta=60 # degree # angle of the incline\n",
+ "y=5 # rise of incline\n",
+ "x=12 # length of incline\n",
+ "g=9.81 # m/s**2 # acc due to gravity\n",
+ "# Calculations\n",
+ "# The angle of the inclined plane with respect to horizontal\n",
+ "beta=math.degrees(math.atan(y/x)) # degree\n",
+ "# The angle of projection with respect to horizontal\n",
+ "alpha=90-theta # degree\n",
+ "# Range is given by eq'n (ref. fig.20.14)\n",
+ "AB=(2*v_o**2*(math.sin((alpha-beta)*math.pi/180))*math.cos(alpha*math.pi/180))/(g*(math.cos(beta*math.pi/180))**2) # m\n",
+ "# Range AC when the short is fired down the plane\n",
+ "AC=(2*v_o**2*(math.sin((alpha+beta)*math.pi/180))*math.cos(alpha*math.pi/180))/(g*(math.cos(beta*math.pi/180))**2) # m\n",
+ "BC=AB+AC # m\n",
+ "# Results\n",
+ "print('The range covered (i.e BC) is %f m'%BC)"
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 3",
+ "language": "python",
+ "name": "python3"
+ },
+ "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.1"
+ },
+ "widgets": {
+ "state": {},
+ "version": "1.1.2"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/Engineering_Mechanics_by_A._K._Tayal/Chapter21.ipynb b/Engineering_Mechanics_by_A._K._Tayal/Chapter21.ipynb
new file mode 100644
index 00000000..accd2431
--- /dev/null
+++ b/Engineering_Mechanics_by_A._K._Tayal/Chapter21.ipynb
@@ -0,0 +1,552 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Chapter 21 Kinematics of rigid body"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 21.1 Linear and angular velocity linear and angular acceleration in rotation"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 4,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "(a) The no of revolutions the unit turns to attain the rated speed is 75.000000\n",
+ "(b) The no of revolutions the unit turns to come to rest is 1350.000000\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "#Initilization of variables\n",
+ "N=1800 # r.p.m # Speed of the shaft\n",
+ "t=5 # seconds # time taken to attain the rated speed # case (a)\n",
+ "T=90 # seconds # time taken by the unit to come to rest # case (b)\n",
+ "# Calculations\n",
+ "omega=(2*math.pi*N)/(60)\n",
+ "# (a)\n",
+ "# we take alpha_1,theta_1 & n_1 for case (a)\n",
+ "alpha_1=omega/t # rad/s**2 #\n",
+ "theta_1=(omega**2)/(2*alpha_1) # radian\n",
+ "# Let n_1 be the number of revolutions turned,\n",
+ "n_1=theta_1*(1/(2*math.pi))\n",
+ "# (b)\n",
+ "# similarly we take alpha_1,theta_1 & n_1 for case (b)\n",
+ "alpha_2=(omega/T) # rad/s**2 # However here alpha_2 is -ve\n",
+ "theta_2=(omega**2)/(2*alpha_2) # radians\n",
+ "# Let n_2 be the number of revolutions turned,\n",
+ "n_2=theta_2*(1/(2*math.pi))\n",
+ "# Results\n",
+ "print('(a) The no of revolutions the unit turns to attain the rated speed is %f'%n_1)\n",
+ "print('(b) The no of revolutions the unit turns to come to rest is %f'%n_2)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 21.2 Absolute and relative velocity in plane motion"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 5,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The velocity of point E is 28.284271 m/s\n",
+ "The velocity of point F is 40.000000 m/s\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Initilization of variables\n",
+ "r=1 # m # radius of the cylinder\n",
+ "v_c=20 # m/s # velocity of the cylinder at its centre\n",
+ "# Calculations\n",
+ "# The velocity of point E is given by using the triangle law as,\n",
+ "v_e=math.sqrt(2)*v_c # m/s \n",
+ "# Similarly the velocity at point F is given as,\n",
+ "v_f=2*v_c # m/s \n",
+ "# Results\n",
+ "print('The velocity of point E is %f m/s'%v_e)\n",
+ "print('The velocity of point F is %f m/s'%v_f)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 21.3 Absolute and relative velocity in plane motion"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 6,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The linear velocity (v_c) at point C is 2.500000 m/s\n",
+ "The angular velocity at point C is 1.250000 radian/seconds\n"
+ ]
+ }
+ ],
+ "source": [
+ "import numpy\n",
+ "# Initilization of Variables\n",
+ "v_1=3 # m/s # uniform speed of the belt at top\n",
+ "v_2=2 # m/s # uniform speed of the belt at the bottom\n",
+ "r=0.4 # m # radius of the roller\n",
+ "# Calculations\n",
+ "# equating eq'ns 2 & 4 and solving for v_c & theta' (angular velocity). We use matrix to solve the eqn's\n",
+ "A=numpy.matrix([[1,r],[1,-r]])\n",
+ "B=numpy.matrix([[v_1],[v_2]])\n",
+ "C=numpy.linalg.inv(A)*B\n",
+ "# Results\n",
+ "print('The linear velocity (v_c) at point C is %f m/s'%C[0])\n",
+ "print('The angular velocity at point C is %f radian/seconds'%C[1])\n",
+ "# The answer of angular velocity is incorrect in the book"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 21.4 Absolute and relative velocity in plane motion"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 7,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "(a) The angular velocity of the bar is 10.000000 radian/second\n",
+ "(b) The velocity of end B is 8.660254 m/s\n",
+ "(c) The velocity of mid point C is 5.000000 m/s\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Initilization of Variables\n",
+ "l=1 # m # length of bar AB\n",
+ "v_a=5 # m/s # velocity of A\n",
+ "theta=30 # degree # angle made by the bar with the horizontal\n",
+ "# Calculations\n",
+ "# From the vector diagram linear velocity of end B is given as,\n",
+ "v_b=v_a/math.tan(theta*math.pi/180) # m/s \n",
+ "# Now let the relative velocity be v_ba which is given as,\n",
+ "v_ba=v_a/math.sin(theta*math.pi/180) # m/s\n",
+ "# Now let the angular velocity of the bar be theta_a which is given as,\n",
+ "theta_a=(v_ba)/l # radian/second\n",
+ "# Velocity of point A\n",
+ "v_a=(l/2)*theta_a # m/s\n",
+ "# Magnitude of velocity at point C is,\n",
+ "v_c=v_a # m/s # from the vector diagram\n",
+ "# Results\n",
+ "print('(a) The angular velocity of the bar is %f radian/second'%theta_a)\n",
+ "print('(b) The velocity of end B is %f m/s'%v_b)\n",
+ "print('(c) The velocity of mid point C is %f m/s'%v_c)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 21.5 Absolute and relative velocity in plane motion"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 9,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "(a) The angular velocity of the connecting rod is 5.468436 radian/second\n",
+ "(b) The velocity of the piston when the crank makes an angle of 30 degree is 2.210830 m/s\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Initilization of Variables\n",
+ "r=0.12 # m # length of the crank\n",
+ "l=0.6 # m # length of the connecting rod\n",
+ "N=300 # r.p.m # angular velocity of the crank\n",
+ "theta=30 # degree # angle made by the crank with the horizontal\n",
+ "# Calculations\n",
+ "# Now let the angle between the connecting rod and the horizontal rod be phi\n",
+ "phi=math.asin(((r*math.sin(theta*math.pi/180))/(l))*math.pi/180) # degree\n",
+ "# Now let the angular velocity of crank OA be omega_oa, which is given by eq'n\n",
+ "omega_oa=(2*math.pi*N)/(60) # radian/second\n",
+ "# Linear velocity at A is given as,\n",
+ "v_a=r*omega_oa # m/s\n",
+ "# Now using the sine rule linear velocity at B can be given as,\n",
+ "v_b=(v_a*math.sin(35.7*math.pi/180))/(math.sin(84.3*math.pi/180)) # m/s\n",
+ "# Similarly the relative velocity (assume v_ba) is given as,\n",
+ "v_ba=(v_a*math.sin(60*math.pi/180))/(math.sin(84.3*math.pi/180))\n",
+ "# Angular velocity (omega_ab) is given as,\n",
+ "omega_ab=v_ba/l # radian/second\n",
+ "# Results\n",
+ "print('(a) The angular velocity of the connecting rod is %f radian/second'%omega_ab)\n",
+ "print('(b) The velocity of the piston when the crank makes an angle of 30 degree is %f m/s'%v_b)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 21.6 Instantaneous Centre of rotation in plane motion"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 10,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The velocity at point D is 28.284271 m/s\n",
+ "The velocity at point E is 40.000000 m/s\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Initiization of variables\n",
+ "r=1 # m # radius of the cylinder\n",
+ "v_c=20 # m/s # velocity at the centre\n",
+ "# Calculations\n",
+ "# Angular velocity is given as,\n",
+ "omega=v_c/r # radian/second\n",
+ "# Velocity at point D is\n",
+ "v_d=omega*math.sqrt(2)*r # m/s # from eq'n 1\n",
+ "# Now, the velocity at point E is,\n",
+ "v_e=omega*2*r # m/s \n",
+ "# Results\n",
+ "print('The velocity at point D is %f m/s'%v_d)\n",
+ "print('The velocity at point E is %f m/s'%v_e)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 21.7 Instantaneous Centre of rotation in plane motion"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 12,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The distance d when the bars move in the opposite directions are 4.000000 cm\n",
+ "The distance d when the bars move in the same directions are 20.000000 cm\n"
+ ]
+ }
+ ],
+ "source": [
+ "import numpy\n",
+ "# Initilization of Variables\n",
+ "r=5 # cm # radius of the roller\n",
+ "AB=0.1 # m\n",
+ "v_a=3 # m/s # velocity at A\n",
+ "v_b=2 # m/s # velocity at B\n",
+ "# Calculations\n",
+ "# Solving eqn's 1 & 2 using matrix for IA & IB we get,\n",
+ "A=([[-2,3],[1,1]])\n",
+ "B=numpy.matrix([[0],[AB]])\n",
+ "C=numpy.linalg.inv(A)*B\n",
+ "d1=C[1]*10**2 # cm # assume d1 for case 1\n",
+ "# Similary solving eqn's 3 & 4 again for IA & IB we get,\n",
+ "P=numpy.matrix([[-v_b,v_a],[1,-1]])\n",
+ "Q=numpy.matrix([[0],[AB]])\n",
+ "R=numpy.linalg.inv(P)*Q\n",
+ "d2=R[1]*10**2 # cm # assume d2 for case 2\n",
+ "# Results\n",
+ "print('The distance d when the bars move in the opposite directions are %f cm'%d1)\n",
+ "print('The distance d when the bars move in the same directions are %f cm'%d2)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 21.8 Instantaneous Centre of rotation in plane motion"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 13,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The velocity at point A is 3.000000 m/s\n",
+ "The velocity at point B is 1.000000 m/s\n",
+ "The velocity at point D is 2.236068 m/s\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Initilization of Variables\n",
+ "v_c=1 # m/s # velocity t the centre\n",
+ "r1=0.1 # m \n",
+ "r2=0.20 # m\n",
+ "EB=0.1 # m\n",
+ "EA=0.3 # m\n",
+ "ED=math.sqrt(r1**2+r2**2) # m\n",
+ "# Calculations\n",
+ "# angular velocity is given as,\n",
+ "omega=v_c/r1 # radian/seconds\n",
+ "# Velocit at point B\n",
+ "v_b=omega*EB # m/s \n",
+ "# Velocity at point A\n",
+ "v_a=omega*EA # m/s\n",
+ "# Velocity at point D\n",
+ "v_d=omega*ED # m/s\n",
+ "# Results\n",
+ "print('The velocity at point A is %f m/s'%v_a)\n",
+ "print('The velocity at point B is %f m/s'%v_b)\n",
+ "print('The velocity at point D is %f m/s'%v_d)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 21.9 Instantaneous Centre of rotation in plane motion"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 14,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The velocity at point B is 8.660254 m/s\n",
+ "The velocity at point C is 5.000000 m/s\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Initilization of variables\n",
+ "l=1 # m # length of bar AB\n",
+ "v_a=5 # m/s # velocity at A\n",
+ "theta=30 # degree # angle made by the bar with the horizontal\n",
+ "# Calculations\n",
+ "IA=l*math.sin(theta*math.pi/180) # m\n",
+ "IB=l*math.cos(theta*math.pi/180) # m\n",
+ "IC=0.5 # m # from triangle IAC\n",
+ "# Angular veocity is given as,\n",
+ "omega=v_a/(IA) # radian/second\n",
+ "v_b=omega*IB # m/s\n",
+ "v_c=omega*IC # m/s\n",
+ "# Results\n",
+ "print('The velocity at point B is %f m/s'%v_b)\n",
+ "print('The velocity at point C is %f m/s'%v_c)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 21.11 Instantaneous Centre of rotation in plane motion"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 15,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The anguar veocity of the bar is 11.547005 radian/second\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Initilization of variables\n",
+ "v_a=2 # m/s # velocity at end A\n",
+ "r=0.05 # m # radius of the disc\n",
+ "alpha=30 # degree # angle made by the bar with the horizontal\n",
+ "# Calculations \n",
+ "# Soving eqn's 1 & 2 and substuting eqn 1 in it we get eq'n for omega as,\n",
+ "omega=(v_a*(math.sin(alpha*math.pi/180))**2)/(r*math.cos(alpha*math.pi/180)) # radian/second\n",
+ "# Results\n",
+ "print('The anguar veocity of the bar is %f radian/second'%omega)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 21.12 Instantaneous Centre of rotation in plane motion"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 16,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The velocity at B is 2.213062 m/s\n",
+ "The angular velocity of the connecting rod is 5.468436 radian/second\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Initilization of variables\n",
+ "l=0.6 # m \n",
+ "r=0.12 # m \n",
+ "theta=30 # degree # angle made by OA with the horizontal\n",
+ "phi=5.7 # degree # from EX 21.5\n",
+ "N=300\n",
+ "# Calculations\n",
+ "# Let the angular velocity of the connecting rod be (omega_ab) which is given from eqn's 1 & 4 as,\n",
+ "omega_oa=(2*math.pi*N)/(60) # radian/ second\n",
+ "# Now,in triangle IBO.\n",
+ "IB=(l*math.cos(phi*math.pi/180)*math.tan(theta*math.pi/180))+(r*math.sin(theta*math.pi/180)) # m\n",
+ "IA=(l*math.cos(phi*math.pi/180))/(math.cos(theta*math.pi/180)) # m\n",
+ "# from eq'n 5\n",
+ "v_b=(r*omega_oa*IB)/(IA) # m/s\n",
+ "# From eq'n 6\n",
+ "omega_ab=(r*omega_oa)/(IA) # radian/second\n",
+ "# Results\n",
+ "print('The velocity at B is %f m/s'%v_b)\n",
+ "print('The angular velocity of the connecting rod is %f radian/second'%omega_ab)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 21.13 Instantaneous Centre of rotation in plane motion"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 17,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The angular velocity of bar BC is 7.698004 rad/s\n",
+ "The angular velocity of bar CD is 1.924501 rad/s\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Initilization of variables\n",
+ "omega_ab=5 # rad/s # angular veocity of the bar\n",
+ "AB=0.20 # m\n",
+ "BC=0.15 # m\n",
+ "CD=0.3 # m\n",
+ "theta=30 # degree # where theta= angle made by AB with the horizontal\n",
+ "alpha=60 # degree # where alpha=angle made by CD with the horizontal\n",
+ "# Calculations\n",
+ "# Consider triangle BIC\n",
+ "IB=math.sin(alpha*math.pi/180)*BC*1 # m\n",
+ "IC=math.sin(theta*math.pi/180)*BC*1 # m\n",
+ "v_b=omega_ab*AB # m/s\n",
+ "# let the angular velocity of the bar BC be omega_bc\n",
+ "omega_bc=v_b/IB # radian/second\n",
+ "v_c=omega_bc*IC # m/s\n",
+ "# let the angular velocity of bar DC be omega_dc\n",
+ "omega_dc=v_c/CD # radian/second\n",
+ "# Results\n",
+ "print('The angular velocity of bar BC is %f rad/s'%omega_bc)\n",
+ "print('The angular velocity of bar CD is %f rad/s'%omega_dc)"
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 3",
+ "language": "python",
+ "name": "python3"
+ },
+ "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.1"
+ },
+ "widgets": {
+ "state": {},
+ "version": "1.1.2"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/Engineering_Mechanics_by_A._K._Tayal/Chapter22.ipynb b/Engineering_Mechanics_by_A._K._Tayal/Chapter22.ipynb
new file mode 100644
index 00000000..82335095
--- /dev/null
+++ b/Engineering_Mechanics_by_A._K._Tayal/Chapter22.ipynb
@@ -0,0 +1,241 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Chapter 22 Kinetics of Rigid Body Force and Acceleration"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 22.1 Relation between the translatory motion and rotary motion of a body in plane motion"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "(a) The no of revolutions executed by the disc before coming to rest is 1500\n",
+ "(b) The frictional torque is -5.003811 N-m\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "#Initialization of variables\n",
+ "N=1500 # r.p.m\n",
+ "r=0.5 # m , radius of the disc\n",
+ "m=300 # N , weight of the disc\n",
+ "t=120 #seconds , time in which the disc comes to rest\n",
+ "omega=0 \n",
+ "g=9.81 #m/s**2\n",
+ "#Calculations\n",
+ "omega_0=(2*math.pi*N)/60 #rad/s\n",
+ "#angular deceleration is given as,\n",
+ "alpha=-(omega_0/t) #radian/second**2\n",
+ "theta=(omega_0**2)/(2*(-alpha)) #radian\n",
+ "#Let n be the no of revolutions taken by the disc before it comes to rest, then\n",
+ "n=theta/(2*math.pi)\n",
+ "#Now,\n",
+ "I_G=((1/2)*m*r**2)/g\n",
+ "#The frictional torque is given as,\n",
+ "M=I_G*alpha #N-m\n",
+ "#Results\n",
+ "print('(a) The no of revolutions executed by the disc before coming to rest is %d'%n)\n",
+ "print('(b) The frictional torque is %f N-m'%M)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 22.2 Relation between the translatory motion and rotary motion of a body in plane motion"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 5,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "(a) The acceleration at the centre is 4.896389 m/s**2\n",
+ "(b) The maximum angle of the inclined plane is 29.941943 degree\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Initilization of variables\n",
+ "s=1 # m\n",
+ "mu=0.192 # coefficient of static friction\n",
+ "g=9.81 # m/s**2\n",
+ "# Calculations\n",
+ "# The maximum angle of the inclined plane is given as,\n",
+ "theta=math.degrees(math.atan(3*mu)) # degree\n",
+ "a=(2/3)*g*math.sin(theta*180/math.pi) # m/s**2 # by solving eq'n 4\n",
+ "v=math.sqrt(2*a*s) # m/s\n",
+ "# Let the acceleration at the centre be A which is given as,\n",
+ "A=g*math.sin(theta*math.pi/180) # m/s**2 # from eq'n 1\n",
+ "# Results\n",
+ "print('(a) The acceleration at the centre is %f m/s**2'%A)\n",
+ "print('(b) The maximum angle of the inclined plane is %f degree'%theta)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 22.5 Relation between the translatory motion and rotary motion of a body in plane motion"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 6,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The acceleration of weight A is 1.081102 m/s**2\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Initilization of variables\n",
+ "W_a=25 # N \n",
+ "W_b=25 # N \n",
+ "W=200 # N # weight of the pulley\n",
+ "i_g=0.2 # m # radius of gyration\n",
+ "g=9.81 # m/s^2\n",
+ "# Calculations\n",
+ "# Solving eqn's 1 & 2 for acceleration of weight A (assume a)\n",
+ "a=(0.15*W_a*g)/(((W*i_g**2)/(0.45))+(0.45*W_a)+((0.6*W_b)/(3))) # m/s^2\n",
+ "# Results\n",
+ "print('The acceleration of weight A is %f m/s**2'%a)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 22.8 Relation between the translatory motion and rotary motion of a body in plane motion"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 8,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The acceleration of the pool is 1.615819 m/s**2\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Initilization of variables\n",
+ "r_1=0.075 # m\n",
+ "r_2=0.15 # m\n",
+ "P=50 # N\n",
+ "W=100 # N\n",
+ "i_g=0.05 # m\n",
+ "theta=30 # degree\n",
+ "g=9.81 # m/s^2\n",
+ "# Calculations\n",
+ "# The eq'n for acceleration of the pool is given by solving eqn's 1,2 &3 as,\n",
+ "a=(50*g*(r_2*math.cos(theta*math.pi/180)-r_1))/(100*((i_g**2/r_2)+r_2)) # m/s**2\n",
+ "# Results\n",
+ "print('The acceleration of the pool is %f m/s**2'%a)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 22.10 Relation between the translatory motion and rotary motion of a body in plane motion"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 10,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "(a) The angular velocity of the rod is 4.101219 rad/sec\n",
+ "(b) The reaction at the hinge is 103.227964 N\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Initilization of variables\n",
+ "L=1 # m # length of rod AB\n",
+ "m=10 # kg # mass of the rod\n",
+ "g=9.81 \n",
+ "theta=30 # degree\n",
+ "# Calculations\n",
+ "# solving eq'n 4 for omega we get,\n",
+ "omega=math.sqrt(2*16.82*math.sin(theta*math.pi/180)) # rad/s\n",
+ "# Now solving eq'ns 1 &3 for alpha we get,\n",
+ "alpha=(12/7)*g*math.cos(theta*math.pi/180) # rad/s\n",
+ "# Components of reaction are given as,\n",
+ "R_t=((m*g*math.cos(theta*math.pi/180))-((m*alpha*L)/4)) # N\n",
+ "R_n=((m*omega**2*L)/(4))+(m*g*math.sin(theta*math.pi/180)) # N\n",
+ "R=math.sqrt(R_t**2+R_n**2) # N \n",
+ "# Results\n",
+ "print('(a) The angular velocity of the rod is %f rad/sec'%omega)\n",
+ "print('(b) The reaction at the hinge is %f N'%R)"
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 3",
+ "language": "python",
+ "name": "python3"
+ },
+ "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.1"
+ },
+ "widgets": {
+ "state": {},
+ "version": "1.1.2"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/Engineering_Mechanics_by_A._K._Tayal/Chapter23.ipynb b/Engineering_Mechanics_by_A._K._Tayal/Chapter23.ipynb
new file mode 100644
index 00000000..0ef19ff6
--- /dev/null
+++ b/Engineering_Mechanics_by_A._K._Tayal/Chapter23.ipynb
@@ -0,0 +1,73 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Chapter 23 Kinetics of Rigid Body Work and Energy"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 23.2 Principle of work and energy for a rigid body"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The distance required to be rolled is 5.501808 m\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "# Initilization of variables\n",
+ "m=600 # kg # mass of the roller\n",
+ "r=0.25 # m # radius of the roller\n",
+ "P=850 # N # Force\n",
+ "v=3 # m/s # velocity to be acquired\n",
+ "theta=30 # degree # angle made by v with the force P\n",
+ "# Calculations\n",
+ "# The distance required to be rolled is given by equating the Work done between positions 1 & 2 as,\n",
+ "x=((3/4)*m*v**2)/(P*math.cos(theta*math.pi/180)) # m\n",
+ "# Results\n",
+ "print('The distance required to be rolled is %f m'%x)"
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 3",
+ "language": "python",
+ "name": "python3"
+ },
+ "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.1"
+ },
+ "widgets": {
+ "state": {},
+ "version": "1.1.2"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/Engineering_Mechanics_by_A._K._Tayal/Chapter24.ipynb b/Engineering_Mechanics_by_A._K._Tayal/Chapter24.ipynb
new file mode 100644
index 00000000..d1bf8b67
--- /dev/null
+++ b/Engineering_Mechanics_by_A._K._Tayal/Chapter24.ipynb
@@ -0,0 +1,290 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Chapter 24 Mechanical Vibrations"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 24.1 Simple Harmonic Motion"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "(a) The amplitude of oscillation is 10 cm\n",
+ "(b) The maximum acceleration is 10.966227 cm/s**2\n",
+ "(c) The velocity of the particle at 5 cm from mean position is 9.068997 cm/s\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "# Initilization of variables\n",
+ "f=1/6 # oscillations/second\n",
+ "x=8 # cm # distance from the mean position\n",
+ "# Calculations\n",
+ "omega=2*math.pi*f\n",
+ "# Amplitude is given by eq'n \n",
+ "r=math.sqrt((25*x**2)/16) # cm\n",
+ "# Maximum acceleration is given as,\n",
+ "a_max=(math.pi/3)**2*10 # cm/s^2\n",
+ "# Velocity when it is at a dist of 5 cm (assume s=5 cm) is given by\n",
+ "s=5 # cm\n",
+ "v=omega*math.sqrt(r**2-s**2) # cm/s\n",
+ "# Results\n",
+ "print('(a) The amplitude of oscillation is %d cm'%r)\n",
+ "print('(b) The maximum acceleration is %f cm/s**2'%a_max)\n",
+ "print('(c) The velocity of the particle at 5 cm from mean position is %f cm/s'%v)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 24.2 Simple Harmonic Motion"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "(a) The amplitude of oscillations is 0.252982 m\n",
+ "(b) The time period of oscillations is 1.216734 seconds\n",
+ "(c) The maximum velocity is 1.306395 m/s\n",
+ "(d) The maximum acceleration is 6.746192 m/s**2\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Initilization of variables\n",
+ "x_1=0.1 # m # assume the distance of the particle from mean position as (x_1 & x_2)\n",
+ "x_2=0.2# m \n",
+ "# assume velocities as v_1 & v_2\n",
+ "v_1=1.2 # m/s\n",
+ "v_2=0.8 # m/s\n",
+ "# Calculations\n",
+ "# The amplitude of oscillations is given by dividing eq'n 1 by 2 as,\n",
+ "r=math.sqrt(0.32/5) # m\n",
+ "omega=v_1/(math.sqrt(r**2-x_1**2)) # radians/second\n",
+ "t=(2*math.pi)/omega # seconds\n",
+ "v_max=r*omega # m/s\n",
+ "# let the max acceleration be a which is given as,\n",
+ "a=r*omega**2 # m/s**2 \n",
+ "# Results\n",
+ "print('(a) The amplitude of oscillations is %f m'%r)\n",
+ "print('(b) The time period of oscillations is %f seconds'%t)\n",
+ "print('(c) The maximum velocity is %f m/s'%v_max)\n",
+ "print('(d) The maximum acceleration is %f m/s**2'%a) # the value of max acc is incorrect in the textbook\n",
+ "# NOTE: the value of t is incorrect in the text book\n",
+ "# The values may differ slightly due to decimal point accuracy"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 24.5 Equivalent spring constant"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 5,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "(a) The stiffness of the spring is 2.012152 N/cm\n",
+ "(b) The maximum Tension in the spring is 65.091138 N\n",
+ "(c) The maximum velocity is 0.471239 m/s\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Initilization of variabes\n",
+ "W=50 # N # weight\n",
+ "x_0=0.075 # m # amplitude\n",
+ "f=1 # oscillation/sec # frequency\n",
+ "g=9.81 \n",
+ "# Calculations\n",
+ "omega=2*math.pi*f\n",
+ "K=(((2*math.pi)**2*W)/g)*(10**-2) # N/cm\n",
+ "# let the total extension of the string be delta which is given as,\n",
+ "delta=(W/K)+(x_0*10**2) # cm\n",
+ "T=K*delta # N # Max Tension\n",
+ "v=omega*x_0 #m/s # max velocity\n",
+ "# Results\n",
+ "print('(a) The stiffness of the spring is %f N/cm'%K)\n",
+ "print('(b) The maximum Tension in the spring is %f N'%T)\n",
+ "print('(c) The maximum velocity is %f m/s'%v)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 24.10 Pendulum Motion"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 6,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The time period of oscillation of the pendulum for upward acc of the elevator is 1.912710 seconds\n",
+ "The time period of oscillation of the pendulum for downward acc of the elevator is 2.114580 seconds\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Initilization of variables\n",
+ "l=1 # m # length of the simple pendulum\n",
+ "g=9.81 # m/s^2\n",
+ "# Calculations\n",
+ "# Let t_s be the time period when the elevator is stationary\n",
+ "t_s=2*math.pi*math.sqrt(l/g) #/ seconds\n",
+ "# Let t_u be the time period when the elevator moves upwards. Then from eqn 1\n",
+ "t_u=2*math.pi*math.sqrt((l)/(g+(g/10))) # seconds\n",
+ "# Let t_d be the time period when the elevator moves downwards.\n",
+ "t_d=2*math.pi*math.sqrt(l/(g-(g/10))) # seconds\n",
+ "# Results\n",
+ "print('The time period of oscillation of the pendulum for upward acc of the elevator is %f seconds'%t_u)\n",
+ "print('The time period of oscillation of the pendulum for downward acc of the elevator is %f seconds'%t_d)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 24.11 Pendulum Motion"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 7,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The time period of oscillation of the pendulum for upward acc of the elevator is 0.953463 seconds\n",
+ "The time period of oscillation of the pendulum for downward acc of the elevator is 1.054093 seconds\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Initilization of variables\n",
+ "t=1 # second # time period of the simple pendulum\n",
+ "g=9.81 # m/s^2\n",
+ "# Calculations\n",
+ "# Length of pendulum is given as,\n",
+ "l=(t/(2*math.pi)**2)*g # m\n",
+ "# Let t_u be the time period when the elevator moves upwards. Then the time period is given as,\n",
+ "t_u=2*math.pi*math.sqrt((l)/(g+(g/10))) # seconds\n",
+ "# Let t_d be the time period when the elevator moves downwards.\n",
+ "t_d=2*math.pi*math.sqrt(l/(g-(g/10))) # seconds\n",
+ "# Results\n",
+ "print('The time period of oscillation of the pendulum for upward acc of the elevator is %f seconds'%t_u)\n",
+ "print('The time period of oscillation of the pendulum for downward acc of the elevator is %f seconds'%t_d)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 24.12 Pendulum Motion"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 8,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The time period of oscillations of the disc is 0.475599 seconds\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Initilization of variables\n",
+ "m=15 # kg # mass of the disc\n",
+ "D=0.3 # m # diameter of the disc\n",
+ "R=0.15 # m # radius\n",
+ "l=1 # m # length of the shaft\n",
+ "d=0.01 # m # diameter of the shaft\n",
+ "G=30*10**9 # N-m**2 # modulus of rigidity\n",
+ "# Calculations\n",
+ "# M.I of the disc about the axis of rotation is given as,\n",
+ "I=(m*R**2)/2 # kg-m**2\n",
+ "# Stiffness of the shaft\n",
+ "k_t=(math.pi*d**4*G)/(32*l) # N-m/radian\n",
+ "t=2*math.pi*math.sqrt(I/k_t) # seconds\n",
+ "# Results\n",
+ "print('The time period of oscillations of the disc is %f seconds'%t)"
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 3",
+ "language": "python",
+ "name": "python3"
+ },
+ "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.1"
+ },
+ "widgets": {
+ "state": {},
+ "version": "1.1.2"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/Engineering_Mechanics_by_A._K._Tayal/Chapter25.ipynb b/Engineering_Mechanics_by_A._K._Tayal/Chapter25.ipynb
new file mode 100644
index 00000000..e527f1a9
--- /dev/null
+++ b/Engineering_Mechanics_by_A._K._Tayal/Chapter25.ipynb
@@ -0,0 +1,198 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Chapter 25 Shear Force and Bending Moment"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 25.5 Shear Force and Bending Moment"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 5,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The graphs are the solutions\n"
+ ]
+ },
+ {
+ "data": {
+ "image/png": "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\nAAAAAElFTkSuQmCC\n",
+ "text/plain": [
+ "<matplotlib.figure.Figure at 0x703ea20>"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "%matplotlib inline\n",
+ "import matplotlib.pyplot as plt\n",
+ "\n",
+ "# Initilization of variables\n",
+ "L_AB=3 # m , length of the beam\n",
+ "L_AC=1 # m\n",
+ "L_BC=2 # m\n",
+ "M_C=12 # kNm , clockwise moment at C\n",
+ "\n",
+ "# Calculations\n",
+ "R_B=M_C/L_AB # kN , moment at A\n",
+ "R_A=-M_C/L_AB # kN , moment at B\n",
+ "\n",
+ "#S.F\n",
+ "F_A=R_A # kN \n",
+ "F_B=R_A # kN\n",
+ "# B.M\n",
+ "M_A=0 # kNm\n",
+ "M_C1=R_A*L_AC #kNm , M_C1 is the BM just before C\n",
+ "M_C2=(R_A*L_AC)+M_C #kNm , M_C2 is the BM just after C\n",
+ "M_B=0 #kNm\n",
+ "\n",
+ "# Plotting SFD & BMD\n",
+ "x=([0],[0.99],[1],[3])\n",
+ "y=([-4],[-4],[-4],[-4])\n",
+ "a=([0],[0.99],[1],[3])\n",
+ "b=([0],[-4],[8],[0])\n",
+ "plt.subplot(2,1,1)\n",
+ "plt.xlabel(\"Span (m)\")\n",
+ "plt.ylabel(\"Shear Force (kN)\")\n",
+ "plt.plot(x,y)\n",
+ "plt.subplot(2,1,2)\n",
+ "plt.plot(a,b)\n",
+ "plt.xlabel(\"Span (m)\")\n",
+ "plt.ylabel(\"Bending Moment (kNm)\")\n",
+ "\n",
+ "#Results\n",
+ "print('The graphs are the solutions')"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 25.7 Shear Force and Bending Moment"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 13,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The graphs are the solutions\n"
+ ]
+ },
+ {
+ "data": {
+ "image/png": "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\nLP9qfJqgVzlynY2/mDAEv767X+zuZ7r7gjz3fQWwh5nNBXYDhgOY2fpm9kS0zbrAxOiUwSRgrLuP\nz3O/UmI0lCjlIrsa37hx5V+NTz+0K0eus/H3A6YDT0e3e+ZbVMfd/+Puu7t7Z3f/ubsvi+5f4u4D\nousL3b1ntOxuC3cfns8+pTTpC0fKTc1qfD16hCH+cjuLqAl6lSPXt3kY0AvIJOTpwCYFikkqjJK9\nlKtMNb4rrwwT+sqtGp9G1SpHrsl+RS3V7crsN6yUKh1dSDnLVOObOhXOOCNU49t9d3j11aQja5g+\ne5Uj17f5LTP7BdDczDqa2Q3AywWMSyqIjuwlDbKr8R1+OBx8cOlX49ORfeXINdmfCnQDlgMPAJ8B\nvy1UUFJZlOwlTVq0CGvy58//vhrf0UeXZjU+ffYqR66z8b909wvcfTt33za6/r9CByeVQV84kkbZ\n1fg22aQ0q/FpGL9y5Dobv5OZ3Wpm483s+cwlnx2b2aFmNjOqs791PdvtZWZzzGyemZ2bzz6lNCnZ\nS5plqvHNmQMrrxyq8Z1/PnzySdKRaRi/kuT6m+5hYBqhzO3vsi75eBM4CKize56ZNSPU5d+TcBrh\nCDPrkud+pcQo2UslWGcduOaaUJTnww+hU6dQiveLL5KLSUf2lSPXt/kbd/+zu7/q7lMyl3x27O5z\n3X0+oVhPXXoB8919sbuvAB4kdMuTFFGyl0pSStX4dGRfOepN9ma2lpmtBYw1s5Oi6nZrZd1faBsA\n72Tdfje6T1JEyV4qUaYa3xNPJFeNT5+9ytFQ17sphPX0mX8O2UP3Dmxa34Pr6Xp3gbuPbVyoklY6\nupBKtvXWoRrfSy/B738fCvRccgkccEDhPxcaxq8c9SZ7d8+rSp6775HP44H3gHZZtzeM7quTWtyW\nHx1diHxfje+pp8IEvssvh8sug912K9w+9UO7/BSkxa2ZbQe84+4fRLcHE7rdLQaGuft/mhTtD/fx\nAnB2bXMAzKw5kGmUswR4FTjC3WfX8VxqcVuG+vYNRzM77JB0JCKloboaHnoILroI2rcPSb9Xr/j3\n86tfhc/dr34V/3NLccTV4vYW4OvoCXcidKa7G/gUuDXPAA80s3eA3sATZvZUdP93Xe/c/VtCW93x\nwFvAg3UleilfGkoU+aHaqvEdfHD81fh0ZF85GvqKbZ519D4QuNXdH3X3i4AO+ezY3ce4+0buvqq7\nr+/ue0f3f9f1Lrr9dNQZr6O63qWThvFFapddja9fv++r8S1aFM/z67NXORpM9maWOa+/G5BdSKeh\nyX0iOdEXjkj9aqvGd+qp+Vfj06ha5WjobX4AeNHM/gZ8BbwEYGYdCEP5InlTshfJTaYa3+zZ4ag/\nU41v2bKmPZ+G8StHvcne3S8FzgL+AuyQNfutGaE5jkjelOxFGqdmNb6OHWH48MZX49ORfeVo8G12\n90nu/pi7f5F13zx3n1rY0KRSKNmLNE12Nb5p0xpfjU9H9pVDv+kkcUr2IvmpWY2vSxe4556Gq/Hp\ns1c5lOwlcTq6EIlHphrfXXfBLbdAjx4wZkxI6rXRMH7lSOxtbkSL20VmNsPMppnZq8WMUYpDRxci\n8cpU47viijChr08feL6WpuT6oV05kvxN12CL20g10N/dt3L3AtSQkqQp2YvEzwz23RemToXf/haG\nDIE99oDXXvt+Gx3ZV47E3uYcW9wS/V3/HFNMyV6kcLKr8R12GBx0UKjGN2uWjuwrSTkkUQcmmNlr\nZnZC0sFI/HR0IVJ4Navx7bJLGNpXsq8MBa2CF1OL237uvsTM1iEk/dnuPrGujdX1rvzoyF6keDLV\n+E44IUzi22abpCOSxihI17tiiLrenZXLun0zGwr8192vqePv6npXhrp1C8uGundPOhIRkfISV9e7\nYqk1UDNrZWarRddbAz8HZhYzMCk8HdmLiBRWkkvvGmxxSzgFMNHMpgGTgLHuPj6ZiKVQlOxFRAor\n8WH8OGkYvzx16QKPPQabb550JCIi5aXchvGlgunIXkSksJTsJXFa6ysiUlhK9pI4HdmLiBSWkr0k\nTsleRKSwlOwlcUr2IiKFleTSuyvNbLaZTTezR82sTR3b7WVmc8xsnpmdW+w4pfCU7EVECivJI/vx\nQDd37wnMB35fcwMzawbcCOwJdAOOMLMuRY2yRDSlPGK5cIdXX61KOoyCSvP7B3p95SzNrw3S//py\nlWTXu2fdvTq6OQnYsJbNegHz3X2xu68AHgQOKFaMpSTN/2DdYfLkqqTDKKg0v3+g11fO0vzaIP2v\nL1elcs7+V8BTtdy/AfBO1u13o/skRVQHSUSksBLvemdmFwAr3P3+OPa59dZxPEvpWbIEHn886SgK\nY8kSaN486ShERNIr0XK5ZnYMcAKwq7svr+XvvYFh7r5XdPs8wN39ijqeT8eIIiJSUXIpl1vQI/v6\nmNlewO+AnWpL9JHXgA5m1h5YAgwCjqjrOXN5wSIiIpUmyXP2NwCrARPMbKqZ3QQ/7Hrn7t8CpxBm\n7r8FPOiOW8cOAAAgAElEQVTus5MKWEREpBylquudiIiI/FipzMbPS5oL75jZHWa21MzeSDqWQjCz\nDc3seTN7y8zeNLPTko4pTmbW0swmm9m06PUNTTqmuJlZs2h0LnVTSM1skZnNiN6/V5OOJ25m1tbM\nHo4KnL1lZtsnHVNczKxT9L5Njf77aZq+X8zsDDObaWZvmNl9ZrZyvduX+5F9VHhnHrAb8D7hPP8g\nd5+TaGAxMbMdgM+Bu919y6TjiZuZrQes5+7TzWw1YApwQFrePwAza+XuX5pZc+AfwGnunprEYWZn\nANsAbdx9/6TjiZOZvQ1s4+6fJB1LIZjZX4AX3X2Uma0EtHL3zxIOK3ZRnngX2N7d32lo+1JnZj8D\nJgJd3P1rMxsNjHP3u+t6TBqO7FNdeMfdJwKp/KIBcPcP3H16dP1zYDYpq6Xg7l9GV1sSJsWW9y/s\nLGa2IbAPcHvSsRSIkY7vyR+JSpTv6O6jANz9mzQm+sjuwD/TkOizNAdaZ36kEQ5265SGf8QqvJMS\nZrYx0BOYnGwk8YqGuacBHwAT3P21pGOK0bWEVTWp+QFTgxMmEb9mZickHUzMNgE+MrNR0VD3rWa2\natJBFchA4IGkg4iLu78PXA38C3gPWObuz9b3mDQke0mBaAj/EeD06Ag/Ndy92t23IpSE3t7MuiYd\nUxzMbF9gaTQyY9Elbfq5+9aE0YuTo9NqabESsDUwMnqNXwLnJRtS/MysBbA/8HDSscTFzNYgjGC3\nB34GrGZmv6jvMWlI9u8B7bJubxjdJ2UiGoZ6BLjH3f+WdDyFEg2RvgDslXQsMekH7B+d134A2MXM\n6jxnWI7cfUn03w+BxwinDdPiXeAdd389uv0IIfmnzd7AlOg9TIvdgbfd/T/REvW/An3re0Aakv13\nhXei2YiDgLTNCk7rUVPGncAsd78+6UDiZmY/MbO20fVVgT2AVEw+dPfz3b2du29K+Nw97+6Dk44r\nLmbWKhpxwsxaAz8HZiYbVXzcfSnwjpl1iu7aDZiVYEiFcgQpGsKP/AvobWarmJkR3rt6a9AkVkEv\nLu7+rZllCu80A+5IU+EdM7sf6A+sbWb/AoZmJtSkgZn1A34JvBmd13bgfHd/OtnIYrM+cFc0G7gZ\nMNrdn0w4JsnNusBjURnulYD73H18wjHF7TTgvmio+23g2ITjiZWZtSIcBf866Vji5O6vmtkjwDRg\nRfTfW+t7TNkvvRMREZH6pWEYX0REROqhZC8iIpJySvYiIiIpp2QvIiKSckr2IiIiKadkLyIiknJK\n9iIVxMwuiNpizojqoW9XhH0+lylOk+P2+5rZxYWMSaTSKNmLVAgz602o8d7T3XsQio0UtAuYme0D\nTG9MvwN3HwcMMLNVCheZSGVRshepHOsDH7n7NwBRXe0PAMxsoZldYWZvmNkkM9s0un9AdHuKmY03\ns3Wi+4ea2R1m9oKZLTCzU+vY5y+Bv0WPaW9ms6Mua3PN7F4z283MJka3t816XBUwoDD/G0Qqj5K9\nSOUYD7QzszlmNtLMdqrx90/cfUtgJJDpU/CSu/d2922A0cA5Wdt3JtT63x4YambNa9lnP2BK1u3N\ngKvcvTPQBTjC3XcgtMm9IGu7KcCOTXqVIvIjSvYiFcLdvyB0Nfs18CHwoJllN655MPrvA0Cf6PpG\nZvaMmb0BnA10y9p+nLt/4+4fA0sJteRrWjPab8ZCd880W3kLeC66/iahXWfGvwmtO0UkBkr2IhXE\ng7+7+zDgVOCQ7D9nXa+O/nsDMCI64j8RyD6PvrzG9rU11vqmxu2aj1medT378asAX9X9SkSkMZTs\nRSqEmXUysw5Zd/UEFmfdHhj9dxDwSnS9DfB+dP3oJux2bub8fyaM+kLMut6JFLWTFUla2be4FZGc\nrQbcYGZtCUfcC/hh6881zWwG8D9CD3CAi4FHzOw/wPPAxnU8d13tM8cBuxDap9bcruZjsm/vApxX\n5ysRkUZRi1sRwcwWAtu4+39ift71gLvcfc9GPOanhN7xe8QZi0gl0zC+iEDdR+b5PWlY2ndbY4rq\nAO2AswoRj0il0pG9iIhIyunIXkREJOWU7EVERFJOyV5ERCTllOxFRERSTsleREQk5ZTsRUREUk7J\nXkREJOWU7EVERFJOyV5ERCTllOxFRERSTsleREQk5ZTsRUREUk7JXkREJOWU7EVERFJOyV5ERCTl\nlOxFRERSTsleREQk5ZTsRUREUk7JXkREJOWU7EVERFJOyV5ERCTllOxFRERSTsleREQk5ZTsRURE\nUk7JXkREJOWU7EVERFJOyV5ERCTllOxFRERSTsleREQk5ZTsRUREUk7JXkREJOWU7EVERFJOyV5E\nRCTllOxFRERSTsleREQk5ZTsRUREUk7JXkREJOWU7EVERFJOyV5ERCTllOxFRERSTsleREQk5ZTs\nRUREUk7JXkREJOWU7EVERFJOyV5ERCTllOxFRERSTsleREQk5ZTsRUREUk7JXkREJOWU7EVERFJO\nyV5ERCTllOxFRERSTsleREQk5ZTsRUREUk7JXkREJOWU7EVERFJOyV5ERCTllOxFRERSTsleREQk\n5ZTsRUREUk7JXkREJOWU7EVERFJOyV5ERCTllOxFRERSTsleREQk5ZTsRUREUk7JXkREJOWU7EVE\nRFJOyV5ERCTllOxFRERSTsleREQk5ZTsRUREUk7JXkREJOWU7EVERFJOyV5ERCTllOxFRERSTsle\nREQk5ZTsRUREUk7JXkREJOWU7EVERFJOyV5ERCTllOxFRERSTsleREQk5ZTsRUREUk7JXkREJOWU\n7EVERFJOyV5ERCTllOxFRERSTsleREQk5ZTsRUREUk7JXkREJOWU7EVERFJOyV5ERCTllOxFRERS\nTsleREQk5ZTsRUREUk7JXkREJOWU7EVERFJOyV5ERCTllOxFRERSTsleREQk5ZTsRUREUk7JXkRE\nJOWU7EVERFJOyV5ERCTllOxFRERSTsleREQk5ZTsRUREUk7JXkREJOWU7EVERFJOyV5ERCTllOxF\nRERSTsleREQk5ZTsRUREUk7JXkREJOWU7EVERFJOyV5ERCTllOxFRERSTsleREQk5ZTsRUREUk7J\nXkREJOWU7EVERFJOyV5ERCTllOxFRERSTsleREQk5ZTsRUREUk7JXkREJOWU7EVERFJOyV5ERCTl\nlOxFRERSTsleREQk5ZTsRUREUk7JXkREJOWU7EVERFJOyV5ERCTllOxFRERSTsleREQk5ZTsRURE\nUk7JXkREJOWU7EVERFJOyV5ERCTllOxFRERSTsleREQk5ZTsRUREUk7JXkREJOWU7EVERFJOyV5E\nRCTllOxFRERSTsleREQk5RJP9ma2l5nNMbN5ZnZuHduMMLP5ZjbdzHoWO0YREZFylmiyN7NmwI3A\nnkA34Agz61Jjm72Bzdy9IzAEuLnogYqIiJSxpI/sewHz3X2xu68AHgQOqLHNAcDdAO4+GWhrZusW\nN0wREZHylXSy3wB4J+v2u9F99W3zXi3biIiISB2STvYiIiJSYCslvP/3gHZZtzeM7qu5zUYNbAOA\n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\n",
+ "text/plain": [
+ "<matplotlib.figure.Figure at 0x71794a8>"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "%matplotlib inline\n",
+ "import matplotlib.pyplot as plt\n",
+ "import numpy as np\n",
+ "\n",
+ "# Initilization of variables\n",
+ "L_AD=8 # m , length of the beam\n",
+ "L_AB=2 # m \n",
+ "L_BC=4 # m\n",
+ "L_CD=2 # m\n",
+ "UDL=1 # kN/m\n",
+ "P=2 # kN , point load at A\n",
+ "# Calculations\n",
+ "\n",
+ "# Solving eqn's 1&2 using matrix to get R_B & R_C as,\n",
+ "A=np.matrix([[1,1],[1,3]])\n",
+ "B=np.matrix([[8],[30]])\n",
+ "C=np.linalg.inv(A)*B\n",
+ "\n",
+ "# SHEAR FORCE\n",
+ "# the term F with suffixes 1 & 2 indicates SF just to left and right \n",
+ "F_A=-P # kN\n",
+ "F_B1=-P # kN\n",
+ "F_B2=-P+C[0] # kN\n",
+ "F_C1=-P+C[0]-(UDL*L_BC) #kN\n",
+ "F_C2=-P+C[0]-(UDL*L_BC)+C[1] # kN\n",
+ "F_D=0\n",
+ "\n",
+ "# BENDING MOMENT\n",
+ "# the term F with suffixes 1 & 2 indicates BM just to left and right\n",
+ "M_A=0 #kNm\n",
+ "M_B=(-P*L_CD) #kNm\n",
+ "M_C=(-P*(L_AB+L_BC))+(C[0]*L_BC)-(UDL*L_BC*(L_BC/2)) #kNm\n",
+ "M_D=0 #kNm\n",
+ "\n",
+ "# LOCATION OF MAXIMUM BM\n",
+ "#Max BM occurs at E at a distance of 2.5 m from B i.e x=L_AE=4.5 m from free end A. Thus max BM is given by taking moment at B\n",
+ "L_AE=4.5 # m , given\n",
+ "M_E=(-2*L_AE)+(4.5*(L_AE-2))-((1/2)*(L_AE-2)**2) #kNm\n",
+ "\n",
+ "# PLOTTING SFD & BMD\n",
+ "x=([0],[1.99],[2],[4.5],[5.99],[6],[8])\n",
+ "y=([-2],[-2],[2.5],[0],[-1.5],[2],[0])\n",
+ "a=([0],[2],[4.5],[6],[8])\n",
+ "b=([0],[-4],[-0.875],[-2],[0])\n",
+ "fig = plt.figure(figsize=(8,8))\n",
+ "ax = fig.add_subplot(311)\n",
+ "plt.subplot(311)\n",
+ "plt.xlabel(\"Span (m)\")\n",
+ "plt.ylabel(\"Shear Force (kN)\")\n",
+ "ax.plot(x,y)\n",
+ "plt.subplot(313)\n",
+ "plt.plot(a,b)\n",
+ "plt.xlabel(\"Span (m)\")\n",
+ "plt.ylabel(\"Bending Moment (kNm)\")\n",
+ "\n",
+ "#Results\n",
+ "print('The graphs are the solutions')"
+ ]
+ }
+ ],
+ "metadata": {
+ "anaconda-cloud": {},
+ "kernelspec": {
+ "display_name": "Python [Root]",
+ "language": "python",
+ "name": "Python [Root]"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 2
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython2",
+ "version": "2.7.12"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/Engineering_Mechanics_by_A._K._Tayal/Chapter26.ipynb b/Engineering_Mechanics_by_A._K._Tayal/Chapter26.ipynb
new file mode 100644
index 00000000..0bfaddae
--- /dev/null
+++ b/Engineering_Mechanics_by_A._K._Tayal/Chapter26.ipynb
@@ -0,0 +1,813 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Chapter 26 Appendix"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 26.1 Appendix"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 7,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The Position vector is -5.000000i+2.000000j+14.000000k\n",
+ "The value of r is 15.000000*l i + 15.000000*m j + 15.000000*n k\n",
+ "The unit vector in the direction of r is -0.333333i+0.133333j+0.933333k\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "#Initilization of variables\n",
+ "P=[-5,2,14] #Point co-ordinates\n",
+ "#Calculations\n",
+ "r=math.sqrt(P[0]**2+P[1]**2+P[2]**2) #Magnitude of the poistion vector\n",
+ "#Direction cosines\n",
+ "l=P[0]/r \n",
+ "m=P[1]/r\n",
+ "n=P[2]/r\n",
+ "#Unit Vector calculations\n",
+ "r_unit=[]\n",
+ "r_unit[:]=[P[i]/r for i in range(0,3)]\n",
+ "#Results\n",
+ "print(\"The Position vector is %fi+%fj+%fk\"%(P[0],P[1],P[2]))\n",
+ "print('The value of r is %f*l i + %f*m j + %f*n k'%(r,r,r))\n",
+ "print(\"The unit vector in the direction of r is %fi+%fj+%fk\"%(r_unit[0],r_unit[1],r_unit[2]))"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 26.2 Appendix"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 6,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The force in vector notation is -1.097643i-9.878783j-1.097643k\n",
+ "Thetax=96.301726 degrees,Thetay=171.069858 degrees,Thetaz=96.301726 degrees\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Initilizatin of variable\n",
+ "F=10 #N\n",
+ "P_1=[2,4,3] \n",
+ "P_2=[1,-5,2]\n",
+ "\n",
+ "#Calculations\n",
+ "d_x=P_2[0]-P_1[0]\n",
+ "d_y=P_2[1]-P_1[1]\n",
+ "d_z=P_2[2]-P_1[2]\n",
+ "d=math.sqrt(d_x**2+d_y**2+d_z**2)\n",
+ "Fx=(F/d)*d_x #N\n",
+ "Fy=(F/d)*d_y #N\n",
+ "Fz=(F/d)*d_z #N\n",
+ "#Direction cosines\n",
+ "l=Fx/F\n",
+ "m=Fy/F\n",
+ "n=Fz/F\n",
+ "#Angles\n",
+ "theta_x=math.degrees(math.acos(l)) #degrees\n",
+ "theta_y=math.degrees(math.acos(m)) #degrees\n",
+ "theta_z=math.degrees(math.acos(n)) #degrees\n",
+ "\n",
+ "#Result\n",
+ "print(\"The force in vector notation is %fi%fj%fk\"%(Fx,Fy,Fz))\n",
+ "print(\"Thetax=%f degrees,Thetay=%f degrees,Thetaz=%f degrees\"%(theta_x,theta_y,theta_z)) "
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 26.3 Appendix"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 12,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The force vector is -1059.997880i+2119.995760j+794.998410k N\n",
+ "The angles are thetax=115.087329,thetay=32.005383 and thetaz=71.458022 degrees\n"
+ ]
+ }
+ ],
+ "source": [
+ "#initiliation of variables\n",
+ "T=2500 #N\n",
+ "#Co-ordinates\n",
+ "Q=[40,0,-30]\n",
+ "P=[0,80,0]\n",
+ "\n",
+ "#Calculations\n",
+ "mag_QP=math.sqrt((P[0]-Q[0])**2+(P[1]-Q[1])**2+(P[2]-Q[2])**2) #Magnitude\n",
+ "QP=[(P[0]-Q[0]),(P[1]-Q[1]),(P[2]-Q[2])] \n",
+ "F=[]\n",
+ "F[:]=[(T/mag_QP)*QP[i] for i in range(0,3)] #N\n",
+ "thetax=(math.acos(F[0]/T)*180/math.pi) #degrees\n",
+ "thetay=(math.acos(F[1]/T)*180/math.pi) #degrees\n",
+ "thetaz=(math.acos(F[2]/T)*180/math.pi) #degrees\n",
+ "\n",
+ "#Result\n",
+ "print(\"The force vector is %fi+%fj+%fk N\"%(F[0],F[1],F[2]))\n",
+ "#Answer in the textbook is printed as 1600 which is incorrect\n",
+ "print(\"The angles are thetax=%f,thetay=%f and thetaz=%f degrees\"%(thetax,thetay,thetaz))"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 26.4 Appendix"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 14,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The unit vector is 0.635999i-0.212000j+0.741999k\n"
+ ]
+ }
+ ],
+ "source": [
+ "#initilization of variables\n",
+ "A=[2,-1,1]\n",
+ "B=[1,1,2]\n",
+ "C=[3,-2,4]\n",
+ "#Calculations\n",
+ "R=[A[0]+B[0]+C[0],A[1]+B[1]+C[1],A[2]+B[2]+C[2]] #Resultant\n",
+ "mag=math.sqrt(R[0]**2+R[1]**2+R[2]**2)\n",
+ "#Unit vector\n",
+ "U=[]\n",
+ "U[:]=[R[i]/mag for i in range(0,3)] \n",
+ "#Result\n",
+ "print(\"The unit vector is %fi%fj+%fk\"%(U[0],U[1],U[2]))\n",
+ "#Answer for (k) is incorrect in the textbook"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 26.5 Appendix"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 15,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The product of both the vectors is -7.000000\n",
+ "The angle between them is 101.309932 degrees\n"
+ ]
+ }
+ ],
+ "source": [
+ "#initilization of variables\n",
+ "A=[2,-6,-3]\n",
+ "B=[4,3,-1] \n",
+ "#Calculations\n",
+ "AdotB=A[0]*B[0]+A[1]*B[1]+A[2]*B[2] \n",
+ "magA=math.sqrt(A[0]**2+A[1]**2+A[2]**2) \n",
+ "magB=math.sqrt(B[0]**2+B[1]**2+B[2]**2)\n",
+ "theta=math.degrees(math.acos(AdotB/(magA*magB))) #degrees\n",
+ "\n",
+ "#Result\n",
+ "print(\"The product of both the vectors is %f\"%AdotB)\n",
+ "print(\"The angle between them is %f degrees\"%theta)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 26.6 Appendix"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 16,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The value of A.costheta is 1.000000\n"
+ ]
+ }
+ ],
+ "source": [
+ "#initilization of variables\n",
+ "A=[4,-3,1]\n",
+ "P=[2,3,-1]\n",
+ "Q=[-2,-4,3]\n",
+ "#Calculations\n",
+ "B=[Q[0]-P[0],Q[1]-P[1],Q[2]-P[2]]\n",
+ "AdotB=A[0]*B[0]+A[1]*B[1]+A[2]*B[2]\n",
+ "magB=math.sqrt(B[0]**2+B[1]**2+B[2]**2)\n",
+ "Acostheta=AdotB/magB\n",
+ "#Result\n",
+ "print(\"The value of A.costheta is %f\"%Acostheta)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 26.7 Appendix"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 29,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The work done is 135 units\n"
+ ]
+ }
+ ],
+ "source": [
+ "import numpy as np\n",
+ "#Initilization of variables\n",
+ "F=np.array([5,10,-15])\n",
+ "a=np.array([1,0,3])\n",
+ "b=np.array([3,-1,-6])\n",
+ "#Calculations\n",
+ "d=b-a\n",
+ "work=F*d\n",
+ "Work=work[0]+work[1]+work[2]\n",
+ "#Result\n",
+ "print(\"The work done is %d units\"%Work)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 26.8 Appendix"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 35,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The cross prcoduct of the two vectors is 15.000000i -10.000000j+30.000000k\n",
+ "The angle between the two is 78.690068 degrees\n"
+ ]
+ }
+ ],
+ "source": [
+ "#initilization of variables\n",
+ "A=[2,-6,-3]\n",
+ "B=[4,3,-1]\n",
+ "#Calculations\n",
+ "AcrossB=[A[1]*B[2]-B[1]*A[2],A[2]*B[0]-A[0]*B[2],A[0]*B[1]-A[1]*B[0]]\n",
+ "mag=math.sqrt(AcrossB[0]**2+AcrossB[1]**2+AcrossB[2]**2)\n",
+ "n=[AcrossB[i]/mag for i in range(0,3)]\n",
+ "magA=math.sqrt(A[0]**2+A[1]**2+A[2]**2)\n",
+ "magB=math.sqrt(B[0]**2+B[1]**2+B[2]**2)\n",
+ "theta=math.degrees(math.asin(mag/(magA*magB)))\n",
+ "#Result\n",
+ "print(\"The cross prcoduct of the two vectors is %fi %fj+%fk\"%(AcrossB[0],AcrossB[1],AcrossB[2])) #the answer for j is wrong in textbook\n",
+ "print(\"The angle between the two is %f degrees\"%theta)\n",
+ "# Only 1 value for theta has been solved"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 26.9 Appendix"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 38,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The vector notation of velocity is 10.474459i -6.110101j -0.436436k\n",
+ "The magnitude of the Velocity Vector is 12.134171\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Initilization of Variable \n",
+ "# Points As martices\n",
+ "A=[0,1,2]\n",
+ "B=[1,3,-2]\n",
+ "P=[3,6,4]\n",
+ "a_s=2 # Angular speed in rad/s\n",
+ "\n",
+ "# Calculations\n",
+ "C=(B[0]-A[0],B[1]-A[1],B[2]-A[2])\n",
+ "magC=(C[0]**2+C[1]**2+C[2]**2)**0.5 # Magnitude of the Vector C \n",
+ "# Unit vector\n",
+ "C_unit=(C[0]/magC,C[1]/magC,C[2]/magC) # Unit vector\n",
+ "# Position Vector\n",
+ "r=(P[0]-A[0],P[1]-A[1],P[2]-A[2])\n",
+ "# Velocity Vector\n",
+ "# Calculating the cross product as,\n",
+ "V=(C[1]*r[2]-C[2]*r[1],C[2]*r[0]-C[0]*r[2],C[0]*r[1]-C[1]*r[0])\n",
+ "# Vector notation\n",
+ "V_n=[]\n",
+ "V_n[:]=[(a_s/magC)*V[i] for i in range(0,3)]\n",
+ "# Velocity Magnitude\n",
+ "magV=math.sqrt(V[0]**2+V[1]**2+V[2]**2)\n",
+ "v=(a_s/magC)*magV\n",
+ "# Result\n",
+ "print(\"The vector notation of velocity is %fi %fj %fk\"%(V_n[0],V_n[1],V_n[2]))\n",
+ "print(\"The magnitude of the Velocity Vector is %f\"%v)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 26.10 Appendix"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 39,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The Moment about point O is 9.000000i -1.000000j+32.000000k\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Initilization of variables\n",
+ "# Points as matrices\n",
+ "O=[-2,3,5]\n",
+ "P=[1,-2,4]\n",
+ "Q=[5,2,3]\n",
+ "F=[4,4,-1] # Force vector\n",
+ "# Calculations\n",
+ "# Positon vector , r_2 gives the same answer as r_1\n",
+ "r_1=(P[0]-O[0],P[1]-O[1],P[2]-O[2])\n",
+ "# Moment\n",
+ "# Calculating the cross product\n",
+ "M=(r_1[1]*F[2]-r_1[2]*F[1],r_1[2]*F[0]-r_1[0]*F[2],r_1[0]*F[1]-r_1[1]*F[0])\n",
+ "# Results\n",
+ "print('The Moment about point O is %fi %fj+%fk'%(M[0],M[1],M[2]))"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 26.11 Appendix"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 40,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The moment of the force is 2.000000i -7.000000j -2.000000k\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Initilization of variables\n",
+ "# Points as matrices\n",
+ "P=[1,-1,2] # Point where force is applied\n",
+ "O=[2,-1,3] # point where moment is to be found\n",
+ "F=[3,2,-4] # Force vector\n",
+ "# Calculations\n",
+ "# Position vector of point P wrt O\n",
+ "r=(P[0]-O[0],P[1]-O[1],P[2]-O[2])\n",
+ "# Moment\n",
+ "M=(r[1]*F[2]-r[2]*F[1],r[2]*F[0]-r[0]*F[2],r[0]*F[1]-r[1]*F[0])\n",
+ "# Resuts\n",
+ "print('The moment of the force is %fi %fj %fk'%(M[0],M[1],M[2]))"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 26.12 Appendix"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 45,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The moment is -68.000000i + 102.000000j + 0.000000 k\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Initilization of variables\n",
+ "f=22 # N \n",
+ "# Points as matrices\n",
+ "A=[4,-1,7]\n",
+ "O=[1,-3,2]\n",
+ "V=[9,6,-2] # Given vector\n",
+ "# Calculations\n",
+ "# Unit vector in the direction of the vector\n",
+ "denom=math.sqrt(V[0]**2+V[1]**2+V[2]**2)\n",
+ "v=[V[i]/denom for i in range(0,3)]\n",
+ "# Force\n",
+ "F=[f*v[i] for i in range(0,3)]\n",
+ "# Position vector of point A wrt O\n",
+ "r=(A[0]-O[0],A[1]-O[1],A[2]-O[2])\n",
+ "# Moment\n",
+ "M=(r[1]*F[2]-r[2]*F[1],r[2]*F[0]-r[0]*F[2],r[0]*F[1]-r[1]*F[0])\n",
+ "# Results\n",
+ "print('The moment is %fi + %fj + %f k'%(M[0],M[1],M[2]))"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 26.13 Appendix"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 48,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The components of the force is along u=3.301270 N,along v=-94.282032 N,along w=30.000000 N\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Initilization of variables\n",
+ "# Force Vector\n",
+ "F=[50,-80,30]\n",
+ "# from fig.13\n",
+ "theta1=30 # angles by which the axis is rotated [ all in degrees]\n",
+ "theta2=60\n",
+ "theta3=90\n",
+ "theta4=120\n",
+ "theta5=0\n",
+ "# Calculations\n",
+ "# Unit vector in u-direction\n",
+ "u_unit=(1*math.cos(theta1*math.pi/180),1*math.cos(theta2*math.pi/180),1*math.cos(theta3*math.pi/180))\n",
+ "# Unit vector in v-direction\n",
+ "v_unit=(1*math.cos(theta4*math.pi/180),1*math.cos(theta1*math.pi/180),1*math.cos(theta3*math.pi/180))\n",
+ "# Unit vector in w-direction\n",
+ "w_unit=(1*math.cos(theta3*math.pi/180),1*math.cos(theta3*math.pi/180),1*math.cos(theta5*math.pi/180))\n",
+ "# Components of force\n",
+ "# finding the dot product as\n",
+ "u=F[0]*u_unit[0]+F[1]*u_unit[1]+F[2]*u_unit[2] # N\n",
+ "v=F[0]*v_unit[0]+F[1]*v_unit[1]+F[2]*v_unit[2] # N\n",
+ "w=F[0]*w_unit[0]+F[1]*w_unit[1]+F[2]*w_unit[2] # N\n",
+ "# Results\n",
+ "print('The components of the force is along u=%f N,along v=%f N,along w=%f N'%(u,v,w))"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 26.14 Appendix"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 64,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The moment of the force about point E is 0.000000i - 44.721360j + 22.360680k N.m\n",
+ "The moment of force about axis AE is -44.721360 N.m\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Initilization of variables\n",
+ "f=100 # N # magnitude of force\n",
+ "# Co-ordinates of corners of the box as matrices\n",
+ "A=[0,0,0]\n",
+ "B=[0.5,0,0]\n",
+ "C=[0.5,0,1]\n",
+ "D=[0,0,1]\n",
+ "E=[0,0.5,0]\n",
+ "F=[0.5,0.5,0]\n",
+ "G=[0.5,0.5,1]\n",
+ "H=[0,0.5,1]\n",
+ "# Calculations\n",
+ "# Force vector\n",
+ "Fmag=f/math.sqrt((F[0]-C[0])**2+(F[1]-C[1])**2+(F[2]-C[2])**2)\n",
+ "F=[Fmag*(F[i]-C[i]) for i in range(0,3)]\n",
+ "# Position vector\n",
+ "r_EC=(C[0]-E[0],C[1]-E[1],C[2]-E[2])\n",
+ "# Moment about point E\n",
+ "# Calculating the cross product\n",
+ "M_E=((r_EC[1]*F[2]-r_EC[2]*F[1]),(r_EC[2]*F[0]-r_EC[0]*F[2]),(r_EC[0]*F[1]-r_EC[1]*F[0])) # N.m # The value taken for F is incorrect in textbook.\n",
+ "# Unit vector\n",
+ "n_AE=[(E[i]-A[i])/math.sqrt((E[0]-A[0])**2+(E[1]-A[1])**2+(E[2]-A[2])**2) for i in range(0,3)]\n",
+ "# Moment of force about axis AE\n",
+ "# finding the dot product\n",
+ "M_AE=M_E[0]*n_AE[0]+M_E[1]*n_AE[1]+M_E[2]*n_AE[2] # N.m\n",
+ "# Results\n",
+ "print('The moment of the force about point E is %fi - %fj + %fk N.m'%M_E)\n",
+ "print('The moment of force about axis AE is -%f N.m'%M_AE)\n",
+ "# The value of M_AE & M_E is incorrect in the textbook.Incorrect value of force vector is taken in calculation of M_E\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 26.16 Appendix"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 15,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The point of application should be shifted to: x=3.800000 m and z=4.100000 m\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Initilization of variables\n",
+ "F=20 # kN # Force acting at O\n",
+ "M_x=76 # kNm\n",
+ "M_y=82 # kNm\n",
+ "# Calculations\n",
+ "x=M_x/F # m\n",
+ "z=M_y/F # m\n",
+ "# Results\n",
+ "print('The point of application should be shifted to: x=%f m and z=%f m'%(x,z))"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 26.17 Appendix"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 19,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Tension in cable AD is 2282.996811 N\n",
+ "Tension in cable AB is 2040.860785 N\n",
+ "Tension in cable AC is 1588.382888 N\n"
+ ]
+ }
+ ],
+ "source": [
+ "import numpy\n",
+ "# Initilization of variables\n",
+ "W=5000 # N\n",
+ "# Co-ordinates of various points\n",
+ "A=[0,4.5,0]\n",
+ "B=[2.8,0,0]\n",
+ "C=[0,0,-2.4]\n",
+ "D=[-2.6,0,1.8]\n",
+ "# Calculations\n",
+ "# Ref textbook for the values of tenion in the cable AB, AC & AD. The values consist of variables which cannot be defined here\n",
+ "# We re-arrange and define the equations of equilibrium as matrices and solve them as,\n",
+ "P=numpy.matrix('0.528,0.0,-0.472;0.0,0.47,-0.327;0.85,0.88,0.818')\n",
+ "Q=numpy.matrix('0;0;5000')\n",
+ "X=numpy.linalg.inv(P)*Q\n",
+ "# Results\n",
+ "print('Tension in cable AD is %f N'%X[2])\n",
+ "print('Tension in cable AB is %f N'%X[0])\n",
+ "print('Tension in cable AC is %f N'%X[1])\n",
+ "#Ans for T_AB is incorrect in textbook.\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 26.18 Appendix"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 20,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The reactions are: R_A=6.416667 kN ,R_C=3.892857 kN and R_B=-2.309524 kN\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Initilization of variables\n",
+ "P=5 # kN\n",
+ "Q=3 # kN\n",
+ "C=5 # kNm # couple\n",
+ "# ref fig.20 # Notations have been assumed\n",
+ "z1=1.5 # m\n",
+ "z2=0.625 # m\n",
+ "z3=0.5 # m\n",
+ "x1=3.5 # m\n",
+ "x2=0.625 # m\n",
+ "# Calculations\n",
+ "# sum M_x=0\n",
+ "R_A=((P*z2)+(Q*z3)+C)/z1 # kN\n",
+ "# M_z=0\n",
+ "R_C=((Q*x1)+(P*x2))/x1 # kN\n",
+ "# sum F_y=0\n",
+ "R_B=P+Q-R_A-R_C # kN\n",
+ "# Results\n",
+ "print('The reactions are: R_A=%f kN ,R_C=%f kN and R_B=%f kN'%(R_A,R_C,R_B))"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 26.19 Appendix"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 23,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The components of reaction at A are: A_x=-1.562500 kN , A_y=-1.687500 kN and A_z=6.250000 kN\n",
+ "The tensions in the cable are: T_FE=5.387931 kN and T_GD=3.810976 kN\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Initilization of variables\n",
+ "F=2 # kN\n",
+ "W=1 # kN\n",
+ "# Co-ordinates as matrices\n",
+ "A=[0,0,0]\n",
+ "C=[0,0,1.2]\n",
+ "B=[0,0,2.5]\n",
+ "D=[-1,1,0]\n",
+ "E=[1,1,0]\n",
+ "F=[0,0,1]\n",
+ "G=[0,0,2]\n",
+ "# Force vector\n",
+ "f=[0,-2,0]\n",
+ "# Weight vector\n",
+ "w=[0,-1,0]\n",
+ "# Calculations\n",
+ "# we have 5 unknowns: A_x,A_y,A_z,T_FE & T_GD\n",
+ "# we define and solve eqn's 1,2,3,4&5 using matrix as,\n",
+ "P=numpy.matrix('1 0 0 0.58 -0.41;0 1 0 0.58 0.41;0 0 1 -0.58 -0.82;0 0 0 0.58 0.82;0 0 0 0.58 -0.82')\n",
+ "Q=numpy.matrix('0;3;0;6.25;0')\n",
+ "X=numpy.linalg.inv(P)*Q\n",
+ "\n",
+ "# Results\n",
+ "print('The components of reaction at A are: A_x=%f kN , A_y=%f kN and A_z=%f kN'%(X[0],X[1],X[2]))\n",
+ "print('The tensions in the cable are: T_FE=%f kN and T_GD=%f kN'%(X[3],X[4]))\n",
+ "# The solution in the textbook is incorrect and yeilds singularity in matrix calculation."
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 3",
+ "language": "python",
+ "name": "python3"
+ },
+ "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.1"
+ },
+ "widgets": {
+ "state": {},
+ "version": "1.1.2"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/Engineering_Mechanics_by_A._K._Tayal/Chapter3.ipynb b/Engineering_Mechanics_by_A._K._Tayal/Chapter3.ipynb
new file mode 100644
index 00000000..b57e6663
--- /dev/null
+++ b/Engineering_Mechanics_by_A._K._Tayal/Chapter3.ipynb
@@ -0,0 +1,582 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Chapter 3 Parallel forces in a plane"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 3.1 Resultant of Forces in a Plane"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 4,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The load taken by man P is 400 N\n",
+ "The load taken by man Q is 600 N\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "#Initilization of variables\n",
+ "W=1000 #N\n",
+ "Lab=1 #m\n",
+ "Lac=0.6 #m\n",
+ "theta=60 #degree #angle made by the beam with the horizontal\n",
+ "#Calculations\n",
+ "Q=(W*Lac*math.cos(theta*180/math.pi))/(Lab*math.cos(theta*180/math.pi)) #N # from eq'n 2\n",
+ "P=W-Q #N # from eq'n 1\n",
+ "#Results\n",
+ "print('The load taken by man P is %d N'%P)\n",
+ "print('The load taken by man Q is %d N'%Q)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 3.2 Resultant of forces in a Plane"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 6,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The reaction (downwards)at support A is 250 N\n",
+ "The reaction (upwards)at support B is 1250 N\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Initilization of variables\n",
+ "F=1000 #N\n",
+ "Lab=1 #m\n",
+ "Lbc=0.25 #m\n",
+ "Lac=1.25 #m\n",
+ "#Calculations\n",
+ "Rb=(F*Lac)/Lab #N # from eq'n 2\n",
+ "Ra=Rb-F #N # fom eq'n 1\n",
+ "#Results\n",
+ "print('The reaction (downwards)at support A is %d N'%Ra)\n",
+ "print('The reaction (upwards)at support B is %d N'%Rb)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 3.3 Resultant of Forces in a Plane"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 7,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The vertical reaction (upwards) at A is 0.833333 kN\n",
+ "The horizontal reaction (towards A) is -20.000000 kN\n",
+ "The reaction (downwards) at B is -0.833333 kN\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Inilitization of variables\n",
+ "Lab=12 #m\n",
+ "Mc=40 #kN-m \n",
+ "Md=10 #kN-m\n",
+ "Me=20 #kN-m\n",
+ "Fe=20 #kN #force acting at point E\n",
+ "#Calculations\n",
+ "Xa=-(Fe) #kN #take sum Fx=0\n",
+ "Rb=(Md+Me-Mc)/Lab #N #take moment at A\n",
+ "Ya=-Rb #N #take sum Fy=0\n",
+ "#Results\n",
+ "print('The vertical reaction (upwards) at A is %f kN'%Ya)\n",
+ "print('The horizontal reaction (towards A) is %d kN'%Xa)\n",
+ "print('The reaction (downwards) at B is %f kN'%Rb)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 3.5 Resultant of Forces in a Plane"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 11,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The reaction at F i.e Rf is 3500.000000 N\n",
+ "The reaction at D i.e Rd is 1000.000000 N\n",
+ "The reaction at pt E i.e Re is 833.333333 N\n",
+ "The reaction at pt A i.e Ra is -333.333333 N\n"
+ ]
+ }
+ ],
+ "source": [
+ "import numpy\n",
+ "#Initilization of variables\n",
+ "W=1000 #N\n",
+ "Lad=7.5 #m\n",
+ "Lae=1.5 #m\n",
+ "La1=3.75 #m #distance of 1st 1000N load from pt A\n",
+ "La2=5 #m #distance of 2nd 1000N load from pt A\n",
+ "La3=6 #m # distance of 3rd 1000N load from pt A\n",
+ "# Calculations (part1)\n",
+ "#using matrix to solve the given eqn's 1 & 2\n",
+ "A=numpy.matrix('1 -2.5;3.5 -5')\n",
+ "B=numpy.matrix('1000;7250')\n",
+ "C=numpy.linalg.inv(A)*B\n",
+ "#Calculations (part 2)\n",
+ "#Consider combined F.B.D of beams AB,BC &CD. Take moment at A\n",
+ "Re=((W*La1)+(W*La2)+(W*La3)+(C[1]*Lad)-(C[0]*La3))/Lae #N\n",
+ "Ra=C[1]-Re-C[0]+(3*W) #N #Taking sum of forces in Y direction\n",
+ "#Results\n",
+ "print('The reaction at F i.e Rf is %f N'%C[0])\n",
+ "print('The reaction at D i.e Rd is %f N'%C[1])\n",
+ "print('The reaction at pt E i.e Re is %f N'%Re)\n",
+ "print('The reaction at pt A i.e Ra is %f N'%Ra) "
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 3.6 Resultant of forces in a plane"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 12,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The angle theta is 15.945396 degrees\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Initilization of variables\n",
+ "W=100 # N #force acting at D\n",
+ "AB=50 # N # weight of bar ab\n",
+ "CD=50 # N # weight of bar cd\n",
+ "# Calculations\n",
+ "# From the derived expression the value of the angle is given as,\n",
+ "theta=math.degrees(math.atan(5/17.5)) #degrees\n",
+ "# Results\n",
+ "print('The angle theta is %f degrees'%theta)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 3.7 Resultant of forces in a plane"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 13,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The reaction at wheel A is 0.950000 kN\n",
+ "The reaction at wheel B is 0.950000 kN\n",
+ "The reaction at wheel C is 0.600000 kN\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Initilization of variables\n",
+ "Ws=2 #kN #weight of scooter\n",
+ "Wd=0.5 #kN #weight of driver\n",
+ "Lab=1 #m\n",
+ "Led=0.8 #m\n",
+ "Leg=0.1 #m\n",
+ "#Calculations\n",
+ "Rc=((2*Leg)+(Wd*Led))/Lab #kN #take moment at E\n",
+ "Ra=(2+Wd-Rc)/2 # kN # as Ra=Rb,(Ra+Rb=2*Ra)\n",
+ "Rb=Ra # kN\n",
+ "#Results\n",
+ "print('The reaction at wheel A is %f kN'%Ra)\n",
+ "print('The reaction at wheel B is %f kN'%Rb)\n",
+ "print('The reaction at wheel C is %f kN'%Rc)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 3.8 Resultant of Forces in a Plane"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 15,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The reaction for single force is -60 N\n",
+ "The distance of Ry from A is 0.783333 m\n",
+ "The moment at A is -47 N-m\n",
+ "The moment at B is 25.020000 N-m\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Initilization of variables\n",
+ "W1=15 #N #up\n",
+ "W2=60 #N #down\n",
+ "W3=10 #N #up\n",
+ "W4=25 #N #down\n",
+ "Lab=1.2 #m\n",
+ "Lac=0.4 #m\n",
+ "Lcd=0.3 #m\n",
+ "Ldb=0.5 #m\n",
+ "Lad=0.7 #m\n",
+ "Leb=0.417 #m #Leb=Lab-x\n",
+ "#Calculations\n",
+ "#(a) A single force\n",
+ "Ry=W1-W2+W3-W4 #N #take sum Fy=0\n",
+ "x=((-W2*Lac)+(W3*Lad)-(W4*Lab))/(Ry) #m\n",
+ "# (b) Single force moment at A\n",
+ "Ma=(Ry*x) #N-m\n",
+ "# Single force moment at B\n",
+ "Mb=W2*Leb #N-m\n",
+ "#Results\n",
+ "print('The reaction for single force is %d N'%Ry)\n",
+ "print('The distance of Ry from A is %f m'%x)\n",
+ "print('The moment at A is %d N-m'%Ma)\n",
+ "print('The moment at B is %f N-m'%Mb)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 3.9 Resultant of Forces in a Plane"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 17,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Tension in wire 1 i.e T1 is 8101.126884 N \n",
+ "\n",
+ "Tension in wire 2 i.e T2 is 6786.756093 N \n",
+ "\n",
+ "Tension in wire 3 i.e T3 is 4444.444444 N \n",
+ "\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Initilization of variables\n",
+ "Ra=5000 #N\n",
+ "Ma=10000 #Nm\n",
+ "alpha=60 #degree #angle made by T1 with the pole\n",
+ "beta=45 #degree #angle made by T2 with the pole\n",
+ "theta=30 #degree #angle made by T3 with the pole\n",
+ "Lab=6 #m\n",
+ "Lac=1.5 #m\n",
+ "Lcb=4.5 #m\n",
+ "#Calculations\n",
+ "T3=Ma/(4.5*math.sin(theta*math.pi/180)) #N #take moment at B\n",
+ "# Now we use matrix to solve eqn's 1 & 2 simultaneously,\n",
+ "A=numpy.matrix('-0.707 0.8666;0.707 0.5')\n",
+ "B=numpy.matrix('2222.2;8848.8')\n",
+ "C=numpy.linalg.inv(A)*B\n",
+ "#Results\n",
+ "print('Tension in wire 1 i.e T1 is %f N \\n'%C[1])\n",
+ "print('Tension in wire 2 i.e T2 is %f N \\n'%C[0])\n",
+ "print('Tension in wire 3 i.e T3 is %f N \\n'%T3)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 3.10 Distributed Force in a Plane"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 19,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The resultant of the distibuted load lies at 2 m\n",
+ "The reaction at support A is 1000 N\n",
+ "The reaction at support B is 2000 N\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Initilization of variables\n",
+ "w=2000 #N/m\n",
+ "Lab=3 #m\n",
+ "#Calculations\n",
+ "W=w*Lab/2 #N# Area under the curve\n",
+ "Lac=(2/3)*Lab #m#centroid of the triangular load system\n",
+ "Rb=(W*Lac)/Lab #N #sum of moment at A\n",
+ "Ra=W-Rb #N\n",
+ "#Results\n",
+ "print('The resultant of the distibuted load lies at %d m'%Lac)\n",
+ "print('The reaction at support A is %d N'%Ra)\n",
+ "print('The reaction at support B is %d N'%Rb)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 3.11 Distributed force in a plane"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 22,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The resultant is 2000 N and the line of action of the force is 3 m\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Initiization of variables\n",
+ "w=1500 #N/m\n",
+ "x=4 #m\n",
+ "L=4 #m\n",
+ "#Calculations\n",
+ "k=x**2/w #m**3/N\n",
+ "#Solving the intergral we get\n",
+ "W=L**3/(3*k) #N\n",
+ "x_bar=L**4/(4*k*W) #m\n",
+ "#Result\n",
+ "print(\"The resultant is %d N and the line of action of the force is %d m\"%(W,x_bar))"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 3.12 Distributed force in a plane"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 25,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The resultant of the distributed load system is 18 kN\n",
+ "The line of action of the resulting load is 3.500000 m\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Initilization of variables\n",
+ "w1=1.5 #kN/m # intensity of varying load at the starting point of the beam\n",
+ "w2=4.5 #kN/m # intensity of varying load at the end of the beam\n",
+ "l=6 #m # ength of the beam\n",
+ "# Calculations\n",
+ "# The varying load distribution is divided into a rectangle and a right angled triangle\n",
+ "W1=w1*l #kN # where W1 is the area of the load diagram(rectangle ABED)\n",
+ "x1=l/2 #m # centroid of the rectangular load system\n",
+ "W2=(w2-w1)*l/2 #kN # where W1 is the area of the load diagram(triangle DCE)\n",
+ "x2=2*l/3 #m # centroid of the triangular load system\n",
+ "W=W1+W2 #kN # W is the resultant\n",
+ "x=((W1*x1)+(W2*x2))/W #m # where x is the distance where the resultant lies\n",
+ "#Results\n",
+ "print('The resultant of the distributed load system is %d kN'%W)\n",
+ "print('The line of action of the resulting load is %f m'%x)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 3.13 Distributed forces in a plane"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 28,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The horizontal reaction at A i.e Xa is 17.320508 kN\n",
+ "The vertical reaction at A i.e Ya is 10 kN\n",
+ "The reaction at A i.e Ra is 20 kN\n",
+ "The reaction at B i.e Rb is 45 kN\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Initiization of variables\n",
+ "W1=10 #kN #point load acting at D\n",
+ "W2=20 #kN # point load acting at C at an angle of 30 degree\n",
+ "W3=5 #kN/m # intensity of udl acting on span EB of 4m\n",
+ "W4=10 #kN/m # intensity of varying load acting on span BC of 3m\n",
+ "M=25 #kN-m # moment acting at E\n",
+ "theta=30 #degree # angle made by 20 kN load with the beam\n",
+ "Lad=2 #m\n",
+ "Leb=4 #m\n",
+ "Laf=6 #m #distance between the resultant of W3 & point A\n",
+ "Lac=11 #m\n",
+ "Lag=9 #m #distance between the resultant of W4 and point A\n",
+ "Lbc=3 #m\n",
+ "Lab=8 #m\n",
+ "# Calculations\n",
+ "Xa=20*math.cos(theta*math.pi/180) #kN # sum Fx=0\n",
+ "Rb=((W1*Lad)+(-M)+(W3*Leb*Laf)+(W2*math.sin(theta*math.pi/180)*Lac)+((W4*Lbc*Lag)/2))/Lab #kN # taking moment at A\n",
+ "Ya=W1+(W2*math.sin(theta*math.pi/180))+(W3*Leb)+(W4*Lbc/2)-Rb #kN # sum Fy=0\n",
+ "Ra=math.sqrt(Xa**2+Ya**2) #kN # resultant at A\n",
+ "#Results\n",
+ "print('The horizontal reaction at A i.e Xa is %f kN'%Xa)\n",
+ "print('The vertical reaction at A i.e Ya is %d kN'%Ya)\n",
+ "print('The reaction at A i.e Ra is %d kN'%Ra)\n",
+ "print('The reaction at B i.e Rb is %d kN'%Rb)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 3.14 Distributed forces in a plane"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 29,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The minimum width which is to be provided to the dam to prevent overturning about point B is 1.490712 m\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Initilization of variables\n",
+ "h=4 #m #height of the dam wall\n",
+ "rho_w=1000 # kg/m**3 # density of water\n",
+ "rho_c=2400 # kg/m**3 # density of concrete\n",
+ "g=9.81 # m/s**2\n",
+ "# Calculations\n",
+ "P=(rho_w*g*h**2)/2 # The resultant force due to water pressure per unit length of the dam\n",
+ "x=(2/3)*h #m # distance at which the resutant of the triangular load acts \n",
+ "b=math.sqrt((2*P*h)/(3*h*rho_c*g)) # m # eq'n required to find the minimum width of the dam\n",
+ "# Results\n",
+ "print('The minimum width which is to be provided to the dam to prevent overturning about point B is %f m'%b)"
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 3",
+ "language": "python",
+ "name": "python3"
+ },
+ "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.1"
+ },
+ "widgets": {
+ "state": {},
+ "version": "1.1.2"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/Engineering_Mechanics_by_A._K._Tayal/Chapter4.ipynb b/Engineering_Mechanics_by_A._K._Tayal/Chapter4.ipynb
new file mode 100644
index 00000000..ad72b04f
--- /dev/null
+++ b/Engineering_Mechanics_by_A._K._Tayal/Chapter4.ipynb
@@ -0,0 +1,133 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Chapter 4 Centroid Centre of mass and Centre of Gravity"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 4.8 Centroid of a composite plane figure"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The centroid of the un equal I-section is 10.961538 cm \n",
+ "\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Initilization of variables\n",
+ "b1=20 #cm # width of top flange\n",
+ "t1=5 #cm # thickness of top flange\n",
+ "b2=5 #cm # width of web\n",
+ "t2=15 #cm # thickness or height of the web\n",
+ "b3=30 #cm # width of bottom flange\n",
+ "t3=5 #cm # thickness of bottom flange\n",
+ "# Calculations\n",
+ "A1=b1*t1 #cm**2 # area of bottom flange\n",
+ "A2=b2*t2 #cm**2 # area of the web\n",
+ "A3=b3*t3 #cm**2 # area of top flange\n",
+ "y1=t3+t2+(t1/2) #cm # y co-ordinate of the centroid of top flange\n",
+ "y2=t3+(t2/2) #cm # y co-ordinate of the centroid of the web\n",
+ "y3=t3/2 #cm # y co-ordinate of the centroid of the bottom flange\n",
+ "y_c=((A1*y1)+(A2*y2)+(A3*y3))/(A1+A2+A3) #cm # where y_c is the centroid of the un-symmetrical I-section\n",
+ "# Results\n",
+ "print('The centroid of the un equal I-section is %f cm \\n'%y_c)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 4.9 Centroid of a composite plane figure"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The centroid of the cross-sectional area of a Z-section about x-axis is 13.557692 cm \n",
+ "\n",
+ "The centroid of the cross-sectional area of a Z-section about y-axis is 7.692308 cm \n",
+ "\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Initilization of variables\n",
+ "# The given section is Z-section which is un-symmetrycal about both the axis\n",
+ "b1=20 #cm # width of bottom flange \n",
+ "t1=5 #cm # thickness of the bottom flange\n",
+ "b2=2.5 #cm # thickness of the web of the flange\n",
+ "t2=15 #cm # depth of the web\n",
+ "b3=10 #cm # width of the top flange\n",
+ "t3=2.5 #cm # thickness of the top flange\n",
+ "# Calculations\n",
+ "# Respective areas\n",
+ "A1=b1*t1 # cm**2 # area of the bottom flange\n",
+ "A2=b2*t2 # cm**2 # area of the web\n",
+ "A3=b3*t3 # cm**2 # area of the top-flange\n",
+ "# first we calculate the x co-ordinate of the centroid\n",
+ "x1=b3-b2+(b1/2) #cm # for the bottom flange\n",
+ "x2=b3-(b2/2) #cm # for the web\n",
+ "x3=b3/2 #cm # for the top flange\n",
+ "x_c=((A1*x1)+(A2*x2)+(A3*x3))/(A1+A2+A3) #cm\n",
+ "# secondly we calculate the y co-ordinate of the centroid\n",
+ "y1=t1/2 #cm # for the bottom flange\n",
+ "y2=t1+(t2/2) #cm # for the web\n",
+ "y3=t1+t2+(t3/2) #cm # for the top flange\n",
+ "y_c=((A1*y1)+(A2*y2)+(A3*y3))/(A1+A2+A3) # cm\n",
+ "# Results\n",
+ "print('The centroid of the cross-sectional area of a Z-section about x-axis is %f cm \\n'%x_c)\n",
+ "print('The centroid of the cross-sectional area of a Z-section about y-axis is %f cm \\n'%y_c)"
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 3",
+ "language": "python",
+ "name": "python3"
+ },
+ "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.1"
+ },
+ "widgets": {
+ "state": {},
+ "version": "1.1.2"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/Engineering_Mechanics_by_A._K._Tayal/Chapter5.ipynb b/Engineering_Mechanics_by_A._K._Tayal/Chapter5.ipynb
new file mode 100644
index 00000000..a77ec491
--- /dev/null
+++ b/Engineering_Mechanics_by_A._K._Tayal/Chapter5.ipynb
@@ -0,0 +1,279 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Chapter 5 General Case of Forces in a plane"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "collapsed": true
+ },
+ "source": [
+ "# Example 5.2 Equations of equilibrium"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 7,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "('The reaction at P is', 5656.85424949238, 'N')\n",
+ "('The reaction at Q is ', 4000.0, 'N')\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Initialization of Variables\n",
+ "W=2000 #N\n",
+ "Lab=2 #m #length of the member from the vertical to the 1st load of 2000 N\n",
+ "Lac=5 #m #length of the member from the vertical to the 2nd load of 2000 N\n",
+ "Lpq=3.5 #m\n",
+ "\n",
+ "#Calculations\n",
+ "Rq=((W*Lab)+(W*Lac))/Lpq #N #take moment abt. pt P\n",
+ "Xp=Rq #N #sum Fx=0\n",
+ "Yp=2*W #N #sum Fy=0\n",
+ "Rp=math.sqrt(Xp**2+Yp**2) #N\n",
+ "\n",
+ "#Resuts\n",
+ "print('The reaction at P is' ,Rp ,'N')\n",
+ "print('The reaction at Q is ',Rq ,'N')"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "collapsed": true
+ },
+ "source": [
+ "# Example 5.3 Equations of equilibrium"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 6,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "('The reaction at A i.e Ra is ', matrix([[ 120.27406887]]), 'N')\n",
+ "('The reaction at B i.e Rb is ', matrix([[ 35.13703443]]), 'N')\n",
+ "('The required tension in the string is ', matrix([[ 40.57275258]]), 'N')\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math,numpy\n",
+ "#Initilization of vaiables\n",
+ "W=25 #N # self weight of the ladder\n",
+ "M=75 #N # weight of the man standing o the ladder\n",
+ "theta=63.43 #degree # angle which the ladder makes with the horizontal\n",
+ "alpha=30 #degree # angle made by the string with the horizontal\n",
+ "Loa=2 #m # spacing between the wall and the ladder\n",
+ "Lob=4 #m #length from the horizontal to the top of the ladder touching the wall(vertical)\n",
+ "\n",
+ "#Calculations\n",
+ "#Using matrix to solve the simultaneous eqn's 3 & 4\n",
+ "A=numpy.matrix('2 -4; 1 -0.577')\n",
+ "B=numpy.matrix('100;100')\n",
+ "C=numpy.linalg.inv(A)*B\n",
+ "\n",
+ "#Results\n",
+ "print('The reaction at A i.e Ra is ',C[0] ,'N')\n",
+ "print('The reaction at B i.e Rb is ',C[1] ,'N')\n",
+ "\n",
+ "#Calculations\n",
+ "T=C[1]/math.cos(math.radians(alpha)) #N # from (eqn 1)\n",
+ "\n",
+ "#Results\n",
+ "print('The required tension in the string is ',T, 'N')"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "collapsed": true
+ },
+ "source": [
+ "# Example 5.4 Equations of Equilibrium"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 4,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "('The reaction at B i.e Rb is ', 25.0, 'N')\n",
+ "('The horizontal reaction at A i.e Xa is ', 21.650635094610966, 'N')\n",
+ "('The vertical reaction at A i.e Ya is ', 112.5, 'N')\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "#Initilization of variables\n",
+ "W=100 #N\n",
+ "theta=60 #degree angle made by the ladder with the horizontal\n",
+ "alpha=30 #degree angle made by the ladder with the vertical wall\n",
+ "Lob=4 #m length from the horizontal to the top of the ladder touching the wall(vertical)\n",
+ "Lcd=2 #m length from the horizontal to the centre of the ladder where the man stands\n",
+ "\n",
+ "#Calculations\n",
+ "Lab=Lob*(1/math.cos(math.radians(alpha))) #m length of the ladder\n",
+ "Lad=Lcd*math.tan(math.radians(alpha)) #m\n",
+ "Rb=(W*Lad)/Lab #N take moment at A\n",
+ "Xa=Rb*math.sin(math.radians(theta)) #N From eq'n 1\n",
+ "Ya=W+Rb*math.cos(math.radians(theta)) #N From eq'n 2\n",
+ "\n",
+ "#Results\n",
+ "print('The reaction at B i.e Rb is ',Rb, 'N')\n",
+ "print('The horizontal reaction at A i.e Xa is ',Xa, 'N')\n",
+ "print('The vertical reaction at A i.e Ya is ',Ya,'N')\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "collapsed": true
+ },
+ "source": [
+ "# Example 5.5 Equations of Equilibrium"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "('The horizontal reaction at A i.e Xa is ', 28.867513459481287, 'N')\n",
+ "('The vertical reaction at A i.e Ya is ', 100, 'N')\n",
+ "('The reaction at B i.e Rb is ', 28.867513459481287, 'N')\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "#Initilization of variables\n",
+ "W=100 #N self weight of the man\n",
+ "alpha=30 #degree angle made by the ladder with the wall\n",
+ "Lob=4 #m length from the horizontal to the top of the ladder touching the wall(vertical)\n",
+ "Lcd=2 #m\n",
+ "\n",
+ "#Calculations\n",
+ "# using the equiblirium equations\n",
+ "Ya=W #N From eq'n 2\n",
+ "Lad=Lcd*math.tan(math.radians(alpha)) #m Lad is the distance fom pt A to the point where the line from the cg intersects the horizontal\n",
+ "Rb=(W*Lad)/Lob #N Taking sum of moment abt A\n",
+ "Xa=Rb #N From eq'n 1\n",
+ "\n",
+ "#Results\n",
+ "print('The horizontal reaction at A i.e Xa is ',Xa, 'N')\n",
+ "print('The vertical reaction at A i.e Ya is ',Ya,'N' )\n",
+ "print('The reaction at B i.e Rb is ',Rb ,'N')\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "collapsed": true
+ },
+ "source": [
+ "# Example 5.6 Equations of Equilibrium"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "('The horizontal reaction at A i.e Xa is ', 3.84, 'N')\n",
+ "('The vertical reaction at A i.e Ya is ', 7.12, 'N')\n",
+ "('Therefore the reaction at A i.e Ra is ', 8.089499366462674, 'N')\n",
+ "('The reaction at D i.e Rd is ', 4.8, 'N')\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "#Initilization of variables\n",
+ "d=0.09 #m diametre of the right circular cylinder\n",
+ "h=0.12 #m height of the cyinder\n",
+ "W=10 #N self weight of the bar\n",
+ "l=0.24 #m length of the bar\n",
+ "\n",
+ "#Calculations\n",
+ "theta=math.degrees(math.atan(h/d)) #angle which the bar makes with the horizontal\n",
+ "Lad=math.sqrt(d**2+h**2) #m Lad is the length of the bar from point A to point B\n",
+ "Rd=(W*h*(math.cos(theta*math.pi/180)))/Lad #N Taking moment at A\n",
+ "Xa=Rd*(math.sin(theta*math.pi/180)) #N sum Fx=0.... From eq'n 1\n",
+ "Ya=W-(Rd*(math.cos(theta*math.pi/180))) #N sum Fy=0..... From eq'n 2\n",
+ "Ra=math.sqrt(Xa**2+Ya**2) #resultant of Xa & Ya\n",
+ "\n",
+ "#Results\n",
+ "print('The horizontal reaction at A i.e Xa is ',Xa, 'N')\n",
+ "print('The vertical reaction at A i.e Ya is ',Ya, 'N')\n",
+ "print('Therefore the reaction at A i.e Ra is ',Ra,'N')\n",
+ "print('The reaction at D i.e Rd is ',Rd,'N')"
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python [Root]",
+ "language": "python",
+ "name": "Python [Root]"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 2
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython2",
+ "version": "2.7.12"
+ },
+ "widgets": {
+ "state": {},
+ "version": "1.1.2"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/Engineering_Mechanics_by_A._K._Tayal/Chapter6.ipynb b/Engineering_Mechanics_by_A._K._Tayal/Chapter6.ipynb
new file mode 100644
index 00000000..5710d02f
--- /dev/null
+++ b/Engineering_Mechanics_by_A._K._Tayal/Chapter6.ipynb
@@ -0,0 +1,252 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Chapter 6 Friction"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 6.1 Friction"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 31,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The required pull force P1 is 18.345820 N \n",
+ "The required push force P2 is 22.750511 N \n"
+ ]
+ }
+ ],
+ "source": [
+ "import math,numpy\n",
+ "# Initilization of variables\n",
+ "m=5 #kg # mass of the bock\n",
+ "g=9.81 # m/s**2 # acceleration due to gravity\n",
+ "theta=15 # degree # angle made by the forces (P1 & P2) with the horizontal of the block\n",
+ "de=theta*math.pi/180\n",
+ "mu=0.4 #coefficient of static friction\n",
+ "#Calculations\n",
+ "# Case 1. Where P1 is the force required to just pull the bock\n",
+ "# Solving eqn's 1 & 2 using matrix\n",
+ "A=numpy.matrix([[math.cos(de),-mu],[math.sin(de),1]])\n",
+ "B=numpy.matrix([[0],[m*g]])\n",
+ "C=numpy.linalg.inv(A)*B\n",
+ "# Calculations \n",
+ "# Case 2. Where P2 is the force required to push the block\n",
+ "# Solving eqn's 1 & 2 using matrix\n",
+ "P=numpy.matrix([[-math.cos(de),mu],[-math.sin(de),1]])\n",
+ "Q=numpy.matrix([[0],[m*g]])\n",
+ "R=numpy.linalg.inv(P)*Q\n",
+ "# Results\n",
+ "print('The required pull force P1 is %f N '%C[0])\n",
+ "print('The required push force P2 is %f N '%R[0])"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 6.4 Friction"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 39,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The inclination of the plane is 14.036243 degree\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "# Initilization of variables\n",
+ "W1=50 # N # weight of the first block\n",
+ "W2=50 # N # weight of the second block\n",
+ "mu_1=0.3 # coefficient of friction between the inclined plane and W1\n",
+ "mu_2=0.2 # coefficient of friction between the inclined plane and W2\n",
+ "# Calculations\n",
+ "# On adding eq'ns 1&3 and substuting the values of N1 & N2 from eqn's 2&4 in this and on solving for alpha we get,\n",
+ "alpha=math.atan((((mu_1*W1)+(mu_2*W2))/(W1+W2))) # degrees\n",
+ "a=math.degrees(alpha)\n",
+ "# Results\n",
+ "print('The inclination of the plane is %f degree'%a)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 6.7 Friction"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 40,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The angle of inclination is 16.699244 degree \n",
+ "\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Initilization of variables\n",
+ "M=2000 # kg # mass of the car\n",
+ "mu=0.3 # coefficient of static friction between the tyre and the road\n",
+ "g=9.81 # m/s**2 # acc. due to gravity\n",
+ "# Calculations\n",
+ "# Divide eqn 1 by eqn 2, We get\n",
+ "theta=math.atan(mu) #degree\n",
+ "t=math.degrees(theta)\n",
+ "# Results\n",
+ "print('The angle of inclination is %f degree \\n'%t)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 6.9 Friction"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 46,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The minimum horizontal force (P) which should be applied to raise the block is 870.844400 N \n",
+ "\n",
+ "The required coefficient for the wedge to be self locking is 0.130900 \n",
+ "\n"
+ ]
+ }
+ ],
+ "source": [
+ "import numpy as np\n",
+ "import math \n",
+ "# Initilization of variabes\n",
+ "Wa=1000 #N # weight of block A\n",
+ "Wb=500 #N # weight of block B\n",
+ "theta=15 # degree # angle of the wedge\n",
+ "mu=0.2 # coefficient of friction between the surfaces in contact\n",
+ "phi=7.5 # degrees # used in case 2\n",
+ "# Caculations \n",
+ "# CASE (a)\n",
+ "# consider the equilibrium of upper block A\n",
+ "# rearranging eq'ns 1 &2 and solving them using matrix for N1 & N2\n",
+ "A=np.matrix('1 -0.4522;-0.2 0.914')\n",
+ "B=np.matrix('0;1000')\n",
+ "C=np.linalg.inv(A)*B\n",
+ "# Now consider the equilibrium of lower block B\n",
+ "# From eq'n 4\n",
+ "N3=Wb+(C[1]*math.cos(theta*math.pi/180))-(mu*C[1]*math.sin(theta*math.pi/180)) #N\n",
+ "# Now from eq'n 3\n",
+ "P=(mu*N3)+(mu*C[1]*math.cos(theta*math.pi/180))+(C[1]*math.sin(theta*math.pi/180)) # N\n",
+ "# CASE (b)\n",
+ "# The eq'n for required coefficient for the wedge to be self locking is,\n",
+ "mu_req=(theta*math.pi)/(360) # multiplying with (pie/180) to convert it into radians\n",
+ "# Results\n",
+ "print('The minimum horizontal force (P) which should be applied to raise the block is %f N \\n'%P)\n",
+ "print('The required coefficient for the wedge to be self locking is %f \\n'%mu_req)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 6.13 Friction"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 50,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The minimum value of x at which the load Q=200 N may be applied before slipping impends is 0.350000 m\n"
+ ]
+ }
+ ],
+ "source": [
+ "import numpy as np\n",
+ "import math\n",
+ "# Initilization of variables\n",
+ "P=100 #N # force acting at 0.2 m from A\n",
+ "Q=200 #N # force acting at any distance x from B\n",
+ "l=1 #m # length of the bar\n",
+ "theta=45 #degree #angle made by the normal reaction at A&B with horizontal\n",
+ "# Calculations\n",
+ "# solving eqn's 1 & 2 using matrix for Ra & Rb,\n",
+ "A=np.matrix([[1,-1],[math.sin(theta*math.pi/180),math.sin(theta*math.pi/180)]])\n",
+ "B=np.matrix([[0],[P+Q]])\n",
+ "C=np.linalg.inv(A)*B\n",
+ "# Now take moment about B\n",
+ "x=((C[0]*l*math.sin(theta*math.pi/180))-(P*(l-0.2)))/200 #m # here 0.2 is the distance where 100 N load lies from A\n",
+ "# Results\n",
+ "print('The minimum value of x at which the load Q=200 N may be applied before slipping impends is %f m'%x)"
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 3",
+ "language": "python",
+ "name": "python3"
+ },
+ "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.1"
+ },
+ "widgets": {
+ "state": {},
+ "version": "1.1.2"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/Engineering_Mechanics_by_A._K._Tayal/Chapter7.ipynb b/Engineering_Mechanics_by_A._K._Tayal/Chapter7.ipynb
new file mode 100644
index 00000000..eb34bfe8
--- /dev/null
+++ b/Engineering_Mechanics_by_A._K._Tayal/Chapter7.ipynb
@@ -0,0 +1,465 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Chapter 7 Application of friction"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 7.1 Application of Friction"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The angle of lap for the larger pulley is 203.073918 degree\n",
+ "The angle of lap for the smaller pulley is 156.926082 degree\n",
+ "The length of pulley required is 117.748668 cm\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "# Initilization of variables\n",
+ "d1=24 # cm # diameter of larger pulley\n",
+ "d2=12 # cm # diameter of smaller pulley\n",
+ "d=30 #cm # seperation betweem 1st & the 2nd pulley\n",
+ "# Calcuations\n",
+ "r1=d1/2 #cm # radius of 1st pulley\n",
+ "r2=d2/2 #cm # radius of 2nd pulley\n",
+ "theta=math.degrees(math.asin((r1-r2)/d)) #degrees \n",
+ "# Angle of lap\n",
+ "beta_1=180+(2*theta) #degree # for larger pulley\n",
+ "beta_2=180-(2*theta) #degree #for smaller pulley\n",
+ "L=math.pi*(r1+r2)+(2*d)+((r1-r2)**2/d) #cm # Length of the belt\n",
+ "# Results\n",
+ "print('The angle of lap for the larger pulley is %f degree'%beta_1)\n",
+ "print('The angle of lap for the smaller pulley is %f degree'%beta_2)\n",
+ "print('The length of pulley required is %f cm'%L)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 7.2 Application of Friction"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The angle of lap for the pulley is 194.774097 degree\n",
+ "The length of pulley required is 8.420145 m\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Initilization of variables\n",
+ "d1=0.6 #m # diameter of larger pulley\n",
+ "d2=0.3 #m # diameter of smaller pulley\n",
+ "d=3.5 #m # separation between the pulleys\n",
+ "# Calculations\n",
+ "r1=d1/2 #m # radius of larger pulley\n",
+ "r2=d2/2 #m # radius of smaller pulley\n",
+ "theta=math.degrees(math.asin((r1+r2)/d)) #degree\n",
+ "# Angle of lap for both the pulleys is same, i.e\n",
+ "beta=180+(2*theta) # degree\n",
+ "L=((math.pi*(r1+r2))+(2*d)+((r1-r2)**2/d)) #cm # Length of the belt\n",
+ "# Results\n",
+ "print('The angle of lap for the pulley is %f degree'%beta)\n",
+ "print('The length of pulley required is %f m'%L)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 7.4 Belt friction"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 5,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The minimum weight W2 to keep W1 in equilibrium is 455.975258 N\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Initilization of variables\n",
+ "W1=1000 #N\n",
+ "mu=0.25 #coefficient of friction\n",
+ "T1=W1 # Tension in the 1st belt carrying W1\n",
+ "e=2.718 #constant\n",
+ "# Calculations\n",
+ "T2=T1/(e**(mu*math.pi)) #N # Tension in the 2nd belt\n",
+ "W2=T2 #N\n",
+ "# Results\n",
+ "print('The minimum weight W2 to keep W1 in equilibrium is %f N'%W2)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 7.5 Belt friction"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 6,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The braking moment (M) exerted by the vertical weight W is 42.980225 N-m\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Initilization of variables\n",
+ "mu=0.5 # coefficient of friction between the belt and the wheel\n",
+ "W=100 #N\n",
+ "theta=45 #degree\n",
+ "e=2.718\n",
+ "Lac=0.75 #m # ength of the lever\n",
+ "Lab=0.25 #m\n",
+ "Lbc=0.50 #m\n",
+ "r=0.25 #m\n",
+ "# Calculations\n",
+ "beta=((180+theta)*math.pi)/180 # radian # angle of lap\n",
+ "# from eq'n 2\n",
+ "T1=(W*Lbc)/Lab #N \n",
+ "T2=T1/(e**(mu*beta)) #N # from eq'n 1\n",
+ "# consider the F.B.D of the pulley and take moment about its center, we get Braking Moment (M)\n",
+ "M=r*(T1-T2) #N-m\n",
+ "# Results\n",
+ "print('The braking moment (M) exerted by the vertical weight W is %f N-m'%M)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 7.6 Belt friction"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 8,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The force required to suport the weight of 1000 N i.e 1kN is 3.502492 N\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Initiization of variables\n",
+ "W= 1000 #N # or 1kN\n",
+ "mu=0.3 # coefficient of friction between the rope and the cylinder\n",
+ "e=2.718 # constant\n",
+ "alpha=90 # degree # since 2*alpha=180 egree\n",
+ "# Calculations\n",
+ "beta=2*math.pi*3 # radian # for 3 turn of the rope\n",
+ "# Here T1 is the larger tension in that section of the rope which is about to slip\n",
+ "T1=W #N\n",
+ "F=W/e**(mu*(1/(math.sin(alpha*math.pi/180)))*(beta)) #N Here T2=F\n",
+ "# Results\n",
+ "print('The force required to suport the weight of 1000 N i.e 1kN is %f N'%F)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 7.7 Belt friction"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 13,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The number of ropes required to transmit 50 kW is 4.789906 or ~ 5\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Initilization of variables\n",
+ "Pw=50 #kW\n",
+ "T_max=1500 #N\n",
+ "v=10 # m/s # velocity of rope\n",
+ "w=4 # N/m # weight of rope\n",
+ "mu=0.2 # coefficient of friction \n",
+ "g=9.81 # m/s**2 # acceleration due to gravity\n",
+ "e=2.718 # constant\n",
+ "alpha=30 # degree # since 2*alpha=60 \n",
+ "# Calcuations\n",
+ "T_e=(w*v**2)/g # N # where T_e is the centrifugal tension\n",
+ "T1=(T_max)-(T_e) #N\n",
+ "T2=T1/(e**(mu*(1/math.sin(alpha*math.pi/180))*(math.pi))) #N # From eq'n T1/T2=e^(mu*cosec(alpha)*beta)\n",
+ "P=(T1-T2)*v*(10**-3) #kW # power transmitted by a single rope\n",
+ "N=Pw/P # Number of ropes required\n",
+ "# Results\n",
+ "print('The number of ropes required to transmit 50 kW is %f or ~ %.0f'%(N,N))"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 7.8 Belt friction"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 14,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The power transmitted by the cross belt drive is 1.180543 kW\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Initilization of variables\n",
+ "d1=0.45 #m # diameter of larger pulley\n",
+ "d2=0.20 #m # diameter of smaller pulley\n",
+ "d=1.95 #m # separation between the pulley's\n",
+ "T_max=1000 #N # or 1kN which is the maximum permissible tension\n",
+ "mu=0.20 # coefficient of friction\n",
+ "N=100 # r.p.m # speed of larger pulley\n",
+ "e=2.718 # constant\n",
+ "T_e=0 #N # as the data for calculating T_e is not given we assume T_e=0\n",
+ "# Calculations\n",
+ "r1=d1/2 #m # radius of larger pulley\n",
+ "r2=d2/2 #m # radius of smaller pulley\n",
+ "theta=math.degrees(math.asin((r1+r2)/d)) # degree\n",
+ "# for cross drive the angle of lap for both the pulleys is same\n",
+ "beta=((180+(2*(theta)))*math.pi)/180 #radian\n",
+ "T1=T_max-T_e #N\n",
+ "T2=T1/(e**(mu*(beta))) #N # from formulae, T1/T2=e**(mu*beta)\n",
+ "v=((2*math.pi)*N*r1)/60 # m/s # where v=velocity of belt which is given as, v=wr=2*pie*N*r/60\n",
+ "P=(T1-T2)*v*(10**-3) #kW # Power\n",
+ "# Results\n",
+ "print('The power transmitted by the cross belt drive is %f kW'%P)\n",
+ "#answer given in the textbook is incorrect"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 7.9 Belt friction"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 16,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The initial power transmitted is 14.808043 kW\n",
+ "The initial tension in the belt is 682.223893 N\n",
+ "The maximum power that can be transmitted is 15.020439 kW\n",
+ "The maximum power is transmitted at a belt speed of 24.343225 m/s\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Initilization of variabes\n",
+ "b=0.1 #m #width of the belt\n",
+ "t=0.008 #m #thickness of the belt\n",
+ "v=26.67 # m/s # belt speed\n",
+ "beta=165 # radian # angle of lap for the smaller belt\n",
+ "mu=0.3 # coefficient of friction\n",
+ "sigma_max=2 # MN/m**2 # maximum permissible stress in the belt\n",
+ "m=0.9 # kg/m # mass of the belt\n",
+ "g=9.81 # m/s**2\n",
+ "e=2.718 # constant\n",
+ "# Calculations\n",
+ "A=b*t # m**2 # cross-sectional area of the belt\n",
+ "T_e=m*v**2 # N # where T_e is the Centrifugal tension\n",
+ "T_max=(sigma_max)*(A)*(10**6) # N # maximum tension in the belt\n",
+ "T1=(T_max)-(T_e) # N \n",
+ "T2=T1/(e**((mu*math.pi*beta)/180)) #N # from formulae T1/T2=e**(mu*beta)\n",
+ "P=(T1-T2)*v*(10**-3) #kW # Power transmitted\n",
+ "T_o=(T1+T2)/2 # N # Initial tension\n",
+ "# Now calculations to transmit maximum power\n",
+ "Te=T_max/3 # N # max tension\n",
+ "u=math.sqrt(T_max/(3*m)) # m/s # belt speed for max power\n",
+ "T_1=T_max-Te # N # T1 for case 2\n",
+ "T_2=T_1/(e**((mu*math.pi*beta)/180)) # N \n",
+ "P_max=(T_1-T_2)*u*(10**-3) # kW # Max power transmitted\n",
+ "# Results\n",
+ "print('The initial power transmitted is %f kW'%P)\n",
+ "print('The initial tension in the belt is %f N'%T_o)\n",
+ "print('The maximum power that can be transmitted is %f kW'%P_max)\n",
+ "print('The maximum power is transmitted at a belt speed of %f m/s'%u)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 7.10 Friction in a square threaded screw"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 30,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The force required (i.e F1) to raise the weight is 1.208561 kN\n",
+ "The force required (i.e F2) to lower the weight is -0.794732 kN\n",
+ "The efficiency of the jack is 16.461202 percent\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Initilization of variables\n",
+ "p=0.0125 # m # pitch of screw\n",
+ "d=0.1 #m # diameter of the screw\n",
+ "r=0.05 #m # radius of the screw\n",
+ "l=0.5 #m # length of the lever\n",
+ "W=50 #kN # load on the lever\n",
+ "mu=0.20 # coefficient of friction \n",
+ "# Calculations\n",
+ "theta=math.degrees(math.atan(p/(2*math.pi*r))) #degree # theta is the Helix angle\n",
+ "phi=math.degrees(math.atan(mu)) # degree # phi is the angle of friction\n",
+ "# Taking the leverage due to handle into account,force F1 required is,\n",
+ "a=theta+phi\n",
+ "b=theta-phi\n",
+ "F1=(W*(math.tan(a*math.pi/180)))*(r/l) #kN\n",
+ "# To lower the load\n",
+ "F2=(W*(math.tan(b*math.pi/180)))*(r/l) #kN # -ve sign of F2 indicates force required is in opposite sense\n",
+ "E=(math.tan(theta*math.pi/180)/math.tan((theta+phi)*math.pi/180))*100 # % # here E=eata=efficiency in %\n",
+ "# Results\n",
+ "print('The force required (i.e F1) to raise the weight is %f kN'%F1)\n",
+ "print('The force required (i.e F2) to lower the weight is %f kN'%F2)\n",
+ "print('The efficiency of the jack is %f percent'%E)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 7.11 Application of Friction"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 33,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The frictional torque is 240.000000 N-m\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Initilization of variabes\n",
+ "P=20000 #N #Weight of the shaft\n",
+ "D=0.30 #m #diameter of the shaft\n",
+ "R=0.15 #m #radius of the shaft\n",
+ "mu=0.12 # coefficient of friction\n",
+ "# Calculations\n",
+ "# Friction torque T is given by formulae,\n",
+ "T=(2/3)*P*R*mu #N-m\n",
+ "M=T #N-m\n",
+ "# Results\n",
+ "print('The frictional torque is %f N-m'%M)"
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 3",
+ "language": "python",
+ "name": "python3"
+ },
+ "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.1"
+ },
+ "widgets": {
+ "state": {},
+ "version": "1.1.2"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/Engineering_Mechanics_by_A._K._Tayal/Chapter8.ipynb b/Engineering_Mechanics_by_A._K._Tayal/Chapter8.ipynb
new file mode 100644
index 00000000..69e9fe67
--- /dev/null
+++ b/Engineering_Mechanics_by_A._K._Tayal/Chapter8.ipynb
@@ -0,0 +1,282 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Chapter 8 Simple Lifting Machines"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 8.1 Simple Machine"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "(a) The efficiency of the machine is 83.333333 percent\n",
+ "(b) The effort loss in friction of the machine is 3.333333 N\n",
+ "(c) The Frictional load of the machine is 20 N\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Initilization of variables\n",
+ "VR=6 # Velocity ratio\n",
+ "P=20 #N # Effort\n",
+ "W=100 #N # Load lifted\n",
+ "# Calculations\n",
+ "#(a)\n",
+ "P_actual=P #N\n",
+ "W_actual=W #N\n",
+ "MA=W/P # where, M.A= Mechanical advantage\n",
+ "E=(MA/VR)*100 #% # Where E= efficiency\n",
+ "#(b)\n",
+ "# Now ideal effort required is,\n",
+ "P_ideal=W/VR #N\n",
+ "# Effort loss in friction is, (Le)\n",
+ "Le=P_actual-P_ideal #N # Effort loss in friction\n",
+ "#(c)\n",
+ "# Ideal load lifted is,(W_ideal)\n",
+ "W_ideal=P*VR #N \n",
+ "# Frictional load/resistance,\n",
+ "F=W_ideal-W_actual # N\n",
+ "# Results\n",
+ "print('(a) The efficiency of the machine is %f percent'%E)\n",
+ "print('(b) The effort loss in friction of the machine is %f N'%Le)\n",
+ "print('(c) The Frictional load of the machine is %d N'%F)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 8.2 Simple machines performance"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 17,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The graph is the solution\n"
+ ]
+ },
+ {
+ "data": {
+ "image/png": "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\n",
+ "text/plain": [
+ "<matplotlib.figure.Figure at 0x7f3cdf1b6be0>"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "%matplotlib inline\n",
+ "from matplotlib.pyplot import plot,subplot,xlabel,ylabel,text,show\n",
+ "import math\n",
+ "import numpy as np\n",
+ "\n",
+ "# Initilization of variables\n",
+ "V_r=20 # Velocity ratio\n",
+ "# Values from the table # Variables have been assumed\n",
+ "# Values of W in N\n",
+ "W=[30,40,50,60,70,80,90,100]\n",
+ "# P in N\n",
+ "P=[7,8.5,10,11.5,13.5,14.5,16,17.5]\n",
+ "MA=[]\n",
+ "MA[:]=[W[i]/P[i] for i in range(0,8)]\n",
+ "# Efficiency (n)\n",
+ "n = np.asarray(MA) * (V_r** -1) * 100\n",
+ "# Calculations\n",
+ "# Part (a)- Realtionship between W & P\n",
+ "# Here part a cannot be solved as it has variables which cannot be defined in Scilab. Ref.textbook for the solution\n",
+ "# Part (b)- Graph between W & efficiency n(eta)\n",
+ "x=[0,W[0],W[1],W[2],W[3],W[4],W[5],W[6],W[7]] # values for W # N\n",
+ "y=[0,n[0],n[1],n[2],n[3],n[4],n[5],n[6],n[7]] # values for efficiency n (eta) # %\n",
+ "subplot(221)\n",
+ "xlabel(\"W (N)\")\n",
+ "ylabel(\"efficiency n (%)\")\n",
+ "plot(x,y)\n",
+ "# Results\n",
+ "print('The graph is the solution')\n",
+ "# The value of m is found by drawing a straight line in the graph and by taking its slope\n",
+ "# The curve of the graph may differ from textbook because of the graphical calculation."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 8.3 Performance of Machine"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 20,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "(a) The effort wasted in friction is 15 N\n",
+ "(b) The load wasted in friction is 240 N\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Calculations\n",
+ "W_actual=1360 #N #Load lifted\n",
+ "P_actual=100 #N # Effort\n",
+ "n=4 # no of pulleys\n",
+ "# Calculations\n",
+ "# for 1st system of pulleys having 4 movable pulleys, Velocity ratio is\n",
+ "VR=2**(n) # Velocity Ratio\n",
+ "# If the machine were to be ideal(frictionless)\n",
+ "MA=VR # Here, M.A= mechanical advantage \n",
+ "# For a load of 1360 N, ideal effort required is\n",
+ "P_ideal=W_actual/VR #N\n",
+ "# Effort loss in friction is,\n",
+ "P_friction=P_actual-P_ideal #N\n",
+ "# For a effort of 100 N, ideal load lifted is,\n",
+ "W_ideal=VR*100 #N \n",
+ "# Load lost in friction is,\n",
+ "W_friction=W_ideal-W_actual # N \n",
+ "# Results\n",
+ "print('(a) The effort wasted in friction is %d N'%P_friction)\n",
+ "print('(b) The load wasted in friction is %d N'%W_friction)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 8.4 Performance of a machine"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 21,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The effort required to lift the load of 1000 N is 266.666667 N\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Initilization of variables\n",
+ "W=1000 #N # Load to be lifted\n",
+ "n=5 # no. of pulleys\n",
+ "E=75 #% # Efficiency\n",
+ "# Calculations\n",
+ "# Velocity Ratio is given as,\n",
+ "VR=n \n",
+ "# Mechanical Advantage (M.A) is,\n",
+ "MA=(E/100)*VR # from formulae, Efficiency=E=M.A/V.R\n",
+ "P=W/MA #N # Effort required\n",
+ "# Results\n",
+ "print('The effort required to lift the load of 1000 N is %f N'%P)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 8.5 Simple screw jack"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 30,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The force required at the end of the handle is 15.408712 N\n",
+ "The force required if the screw jack is considered to be an ideal machine is 4.547284 N\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Initilization of variables\n",
+ "W=2000 #N # Load to be raised\n",
+ "l=0.70 #m # length of the handle\n",
+ "d=0.05 #m # diameter of the screw\n",
+ "p=0.01 #m # pitch of the screw\n",
+ "mu=0.15 # coefficient of friction at the screw thread\n",
+ "E=1 # efficiency\n",
+ "# Calculations\n",
+ "phi=math.degrees(math.atan(mu)) #degree\n",
+ "theta=math.degrees(math.atan(p/(math.pi*d))) #degree # where theta is the Helix angle\n",
+ "# Force required at the circumference of the screw is,\n",
+ "P=W*(math.tan((theta+phi)*math.pi/180)) # N #\n",
+ "# Force required at the end of the handle is,\n",
+ "F=(P*(d/2))/l #N \n",
+ "# Force required (Ideal case)\n",
+ "VR=2*math.pi*l/p\n",
+ "MA=E*VR # from formulae E=M.A/V,R\n",
+ "P_ideal=W/MA #N # From formulae, M.A=W/P\n",
+ "# Results\n",
+ "print('The force required at the end of the handle is %f N'%F)\n",
+ "print('The force required if the screw jack is considered to be an ideal machine is %f N'%P_ideal)"
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 3",
+ "language": "python",
+ "name": "python3"
+ },
+ "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.1"
+ },
+ "widgets": {
+ "state": {},
+ "version": "1.1.2"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/Engineering_Mechanics_by_A._K._Tayal/Chapter9.ipynb b/Engineering_Mechanics_by_A._K._Tayal/Chapter9.ipynb
new file mode 100644
index 00000000..49750588
--- /dev/null
+++ b/Engineering_Mechanics_by_A._K._Tayal/Chapter9.ipynb
@@ -0,0 +1,564 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Chapter 9 Analysis of Plane Trusses and Frames"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 9.1 Axial forces in members of Truss"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The Axial Force in member AD (Fad) is 2886.751346 N \n",
+ "The Axial Force in member AB (Fab) is 1443.375673 N \n",
+ "The Axial Force in member CE (Fce) is 4041.451884 N \n",
+ "The Axial Force in member CB (Fcb) is 2020.725942 N \n",
+ "The Axial Force in member DB (Fdb) is 577.350269 N \n",
+ "The Axial Force in member DE (Fde)is 1732.050808 N \n",
+ "The Axial Force in member EB (Feb) is 577.350269 N \n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "# Initilization of variables\n",
+ "W1=2000 #N # load at joint D of the truss\n",
+ "W2=4000 #N # load at joint E of the truss\n",
+ "Lac=6 #m # length of the tie\n",
+ "Lab=3 #m\n",
+ "Lbc=3 #m\n",
+ "theta=60 #degree # interior angles of the truss\n",
+ "# Calculations\n",
+ "# Here A is simply supported & B is roller support. Now the SUPPORT REACTIONS are given as,\n",
+ "Rc=((W1*(Lab/2))+(W2*(Lab+(Lbc/2))))/Lac #N # Taking moment at A\n",
+ "Ra=W1+W2-Rc #N # Take sum Fy=0\n",
+ "# ANALYSIS OF TRUSS BY METHOD OF JOINT\n",
+ "# ASSUMPTION- we consider the,(1) Forces moving towards each other as +ve i.e TENSILE (T) & (2) Forces moving away from each other as -ve i.e COMPRESSIVE (C)\n",
+ "# (1) JOINT A\n",
+ "Fad=Ra/(math.sin(theta*math.pi/180)) #N #(C) # Umath.sing eq'n 2\n",
+ "Fab=Fad*math.cos(theta*math.pi/180) #N # (T) # Umath.sing eq'n 1\n",
+ "# (2) JOINT C\n",
+ "Fce=Rc/(math.sin(theta*math.pi/180)) #N # (C) # using eq'n 4\n",
+ "Fcb=Fce*math.cos(theta*math.pi/180) #N # (T) # using eq'n 3\n",
+ "# (3) JOINT D\n",
+ "Fdb=((Fad*math.sin(theta*math.pi/180))-(W1))/math.sin(theta*math.pi/180) #N # (T) # Using eq'n 6\n",
+ "Fde=(Fdb*math.cos(theta*math.pi/180))+(Fad*math.cos(theta*math.pi/180)) #N # (C) # Using eq'n 5\n",
+ "# (4) JOINT E\n",
+ "Feb=((Fce*math.cos(theta*math.pi/180))-(Fde))/math.cos(theta*math.pi/180) #N # (C) # Using eq'n 7\n",
+ "# Results\n",
+ "print('The Axial Force in member AD (Fad) is %f N '%Fad)\n",
+ "print('The Axial Force in member AB (Fab) is %f N '%Fab)\n",
+ "print('The Axial Force in member CE (Fce) is %f N '%Fce)\n",
+ "print('The Axial Force in member CB (Fcb) is %f N '%Fcb)\n",
+ "print('The Axial Force in member DB (Fdb) is %f N '%Fdb)\n",
+ "print('The Axial Force in member DE (Fde)is %f N '%Fde)\n",
+ "print('The Axial Force in member EB (Feb) is %f N '%Feb)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 9.2 axial forces in members of truss"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 4,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The axial force in the member DE (Fde)is 1732.050808 N \n",
+ "\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Initilization of variables\n",
+ "W1=2000 #N (or 2 kN)# load at joint D of the truss\n",
+ "W2=4000 #N (or 4 kN)# load at joint E of the truss\n",
+ "Lac=6 #m # length of the tie\n",
+ "Lab=3 #m\n",
+ "Lbc=3 #m\n",
+ "theta=60 #degree # interior angles of the truss\n",
+ "# Calculations\n",
+ "# Here A is simply supported & B is roller support. Now the SUPPORT REACTIONS are given as,\n",
+ "Rc=((W1*(Lab/2))+(W2*(Lab+(Lbc/2))))/Lac #N # Taking moment at A\n",
+ "Ra=W1+W2-Rc #N # Take sum Fy=0\n",
+ "# Calculations\n",
+ "# Calculating the axial forces in the respective members by METHOD OF SECTION\n",
+ "# A section is drawn passing through member DE such that it cuts the respective member. Now consider the equilibrium of the left hand portion of the truss. The three unknown forces are Fde, Fdb, & Fab\n",
+ "# Take moment about B\n",
+ "Fde=((3*Ra)-(W1*Lab*math.sin(30*math.pi/180)))/(3*math.cos(30*math.pi/180)) #N # (T)\n",
+ "# Results\n",
+ "print('The axial force in the member DE (Fde)is %f N \\n'%Fde)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 9.3 Axial Forces in members of the truss"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 5,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The axial force in the member DC (Fdc) is 1.000000 kN\n",
+ "The axial force in the member DB (Fdb) is 1.414214 kN\n",
+ "The axial force in the member CA (Fca) is 1.414214 kN\n",
+ "The axial force in the member CB (Fcb) is -1.000000 kN\n",
+ "The axial force in the member EC (Fec) is 0.000000 kN\n",
+ "The axial force in the member ED (Fed) is 0.000000 kN\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Initilization of variables\n",
+ "W=1 #kN # load on the truss at joint D\n",
+ "theta=45 #degree # angle made by the members AC & BD with the horizontal\n",
+ "Lab=1 #m \n",
+ "Lcd=1 #m # here Lcd= the distance from B to the line of extension drawn from 1kN force on the horizontal\n",
+ "# Calculations \n",
+ "# (1) JOINT E\n",
+ "# Here the joint E is in equilibrium under two forces Fec & Fed which are non-collinear. Hence they must be 0. i.e Fec=Fed=0 \n",
+ "Fec=0\n",
+ "Fed=0\n",
+ "# (2) JOINT D\n",
+ "Fdb=W/math.sin(theta*math.pi/180) # kN # (C)# sum Fy=0\n",
+ "Fdc=Fdb*math.cos(theta*math.pi/180) # kN # (T) # sum Fx=0\n",
+ "# (3) JOINT C\n",
+ "Fca=Fdc/math.sin(theta*math.pi/180) # kN # (T) # sum Fx=0\n",
+ "Fcb=-(Fca*math.sin(theta*math.pi/180)) # kN # (C) # sum Fy=0\n",
+ "# Results\n",
+ "print('The axial force in the member DC (Fdc) is %f kN'%Fdc)\n",
+ "print('The axial force in the member DB (Fdb) is %f kN'%Fdb)\n",
+ "print('The axial force in the member CA (Fca) is %f kN'%Fca)\n",
+ "print('The axial force in the member CB (Fcb) is %f kN'%Fcb)\n",
+ "print('The axial force in the member EC (Fec) is %f kN'%Fec)\n",
+ "print('The axial force in the member ED (Fed) is %f kN'%Fed)\n",
+ "# Here -ve sign indicates COMPRESSIVE force & +ve indicates TENSILE force"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 9.5 Axial Forces in members of the truss"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 6,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The axial force in the member FG (Ffg) is 2000.000000 N\n",
+ "The axial force in the member CE (Fce) is -2309.401077 N\n",
+ "The axial force in the member CG (Fcg) is 0.000000 N\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Initilization of variables\n",
+ "W1=1000 #N # Load acting at the end pannels and the ridge\n",
+ "W2=2000 #N # Load acting at the intermidiate pannels\n",
+ "Laf=1 #m\n",
+ "Lgf=1 #m\n",
+ "Lag=2 #m\n",
+ "Lbg=1 #m\n",
+ "Lab=3 #m\n",
+ "theta=30 #degree # angle made by the principal rafter with the tie beam\n",
+ "beta=60 #degree # angle made by the slings (i.e members CF & CG) with the tie beam\n",
+ "# Calculations\n",
+ "# consider the equilibrium of the entire truss as a F.B.D\n",
+ "Xa=2*(W1*math.sin(theta*math.pi/180))+(W2*math.sin(theta*math.pi/180)) #N # sum Fx=0\n",
+ "Rb=((W2*Laf*math.cos(theta*math.pi/180))+(W1*Lag*math.cos(theta*math.pi/180)))/Lab # N # Moment at A=0\n",
+ "Ya=2*(W1*math.cos(theta*math.pi/180))+(W2*math.cos(theta*math.pi/180))-(Rb) #N # sum Fy=0\n",
+ "# Now pass a section through the truss such that it cuts the members CE,CG & FG. Now consider the equilibrium of the right hand side of the truss\n",
+ "# Take moment about C\n",
+ "Ffg=(Rb*(Lbg+0.5))/(0.5*math.tan(beta*math.pi/180)) # N # (T) # Here 0.5 is the half distance of Lgf\n",
+ "# Take moment about G\n",
+ "Fce=(-Rb*Lbg)/(Lbg*math.sin(theta*math.pi/180)) # N # (C)\n",
+ "# Take moment about B\n",
+ "Fcg=0/(Lbg*math.sin(beta*math.pi/180)) # N\n",
+ "# Results \n",
+ "print('The axial force in the member FG (Ffg) is %f N'%Ffg)\n",
+ "print('The axial force in the member CE (Fce) is %f N'%Fce)\n",
+ "print('The axial force in the member CG (Fcg) is %f N'%Fcg)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 9.6 Axial Forces in members of the truss"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 7,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The axial force in the member CD (Fcd) is 25.000000 N\n",
+ "The axial force in the member GB (Fgb) is 32.735027 N\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Initilization of variables\n",
+ "W1=100 #N # load acting at pt. C vertically\n",
+ "W2=50 #N # load acting at point B horizontaly\n",
+ "L=2 #m # length of each bar in the hexagonal truss\n",
+ "theta=60 #degree # internal angle of the truss\n",
+ "# Calculations\n",
+ "# We calculate the values of different members of the truss\n",
+ "HG=L*math.sin(theta*math.pi/180)\n",
+ "AF=L\n",
+ "# Support A is hinged whereas support F is a roller support. Firstly we find the support reactios as follows,\n",
+ "Rf=(W2*HG)/AF #N # moment at F\n",
+ "Xa=W2 #N # sum Fx=0\n",
+ "Ya=W1-Rf #N # sum Fy=0\n",
+ "# Now pass a section through the truss cutting the members CD,GD,GE & GF and consider equilibrium of right hand portion of the truss\n",
+ "Fcd=(Rf*(L/2))/(L*math.sin(theta*math.pi/180)) # N (C) # Taking moment about G\n",
+ "# Now pass a scetion pq cutting the members CB,GB & GA\n",
+ "Fga=((Rf*(L+(L/2)))-(W1*(L/2)))/(L*math.sin(theta*math.pi/180)) # N (T) # Taking moment about B\n",
+ "# take moment about G\n",
+ "Fcb=((W1*(L/2))+(Rf*(L/2)))/(L*math.sin(theta*math.pi/180)) # N (C)\n",
+ "Fgb=(Fcb*math.cos(theta*math.pi/180))-(Fga*math.cos(theta*math.pi/180)) # N (T) # sum Fx=0\n",
+ "# Results\n",
+ "print('The axial force in the member CD (Fcd) is %f N'%Fcd)\n",
+ "print('The axial force in the member GB (Fgb) is %f N'%Fgb)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 9.10 Axial Forces in members of the truss"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 8,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "(1) The axial force in the bar CE (Fce) is 10.666667 kN\n",
+ "(2) The axial force in the bar BD (Fbd) is -21.333333 kN\n",
+ "(3) The axial force in the bar BE (Fbe) is -13.333333 kN\n",
+ "(4) The axial force in the bar CD (Fcd) is 13.333333 kN\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Initilization of variables\n",
+ "W=24 # kN # Load acting at pt C\n",
+ "Laf=12 # m # length of the tie beam\n",
+ "l=4 # m# length of each member in the tie\n",
+ "h=3 # m # height of the slings\n",
+ "Lae=8 # m\n",
+ "# Calculations\n",
+ "s=math.sqrt((l**2)+(h**2)) # m # sloping length \n",
+ "# From triangle BCD,\n",
+ "theta=math.degrees(math.acos(h/s))\n",
+ "# SUPPORT REACTIONS\n",
+ "Rf=(W*l)/Laf # kN # take moment at A\n",
+ "Ra=W-Rf # kN # sum Fy=0\n",
+ "# now pass a sectio mn through the truss and consider te equilibrium of the left hand portion \n",
+ "Fce=(Ra*l)/h # kN (T) # Take moment at B\n",
+ "Fbd=((W*l)-(Ra*Lae))/h # kN (C) # take moment at E\n",
+ "Fbe=(Ra-W)/math.cos(theta*math.pi/180) # kN\n",
+ "Fbd=(-Ra*l)/h # kN # take moment at C\n",
+ "Fce=((Ra*Lae)-(W*l))/h # kN (T) # take moment at D\n",
+ "Fcd=(W-Ra)/math.cos(theta*math.pi/180) # kN (T) # sum Fy=0\n",
+ "# Resuts\n",
+ "print('(1) The axial force in the bar CE (Fce) is %f kN'%Fce)\n",
+ "print('(2) The axial force in the bar BD (Fbd) is %f kN'%Fbd)\n",
+ "print('(3) The axial force in the bar BE (Fbe) is %f kN'%Fbe)\n",
+ "print('(4) The axial force in the bar CD (Fcd) is %f kN'%Fcd)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 9.12 Axial Forces in members of the truss"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 9,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The reaction at A ( Ra) is 4.001736 kN\n",
+ "The reaction at B ( Rb) is 4.144943 kN\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Initilization of variables\n",
+ "W1=4 # kN # load acting at a distance of 5 m from C\n",
+ "W2=3 # kN # load acting at a distance of 7.5 m from C\n",
+ "L=30 #m # distance AB\n",
+ "L1=15 # dist AC\n",
+ "L2=15 #m #dist BC\n",
+ "l1=10 #m # distance between A and 4 kN load\n",
+ "l2=22.5 #m # distance between A and 3 kN load\n",
+ "# Calculations\n",
+ "# (1) Reactions\n",
+ "Yb=((W1*l1)+(W2*l2))/L # kN # Take moment at A\n",
+ "Ya=W1+W2-Yb # kN # sum Fy=0\n",
+ "# Xa=Xb........(eq'n 1) # sum Fx=0\n",
+ "# (2) Dismember\n",
+ "# Member AC. Consider equilibrium of member AC\n",
+ "# Xa=Xc ... Consider thus as eq'n 2 # sum Fx=0\n",
+ "Yc=W1-Ya # kN # sum Fy=0\n",
+ "# Take moment about A\n",
+ "Xc=((W1*l1)-(Yc*L1))/L1 # kN \n",
+ "# now from eq'n 1 & 2\n",
+ "Xa=Xc # kN\n",
+ "Xb=Xa # kN\n",
+ "# The components of reactions at A & B are,\n",
+ "Ra=math.sqrt(Xa**2+Ya**2) # kN\n",
+ "Rb=math.sqrt(Xb**2+Yb**2) # kN\n",
+ "# Results\n",
+ "print('The reaction at A ( Ra) is %f kN'%Ra)\n",
+ "print('The reaction at B ( Rb) is %f kN'%Rb)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 9.13 Axial Forces in members of the truss"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 10,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The force in tie bar AB is 1.299038 kN\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Initilization of variables\n",
+ "W1=2 # kN # load acting at a distance of 1m from point A\n",
+ "W2=1 # kN # load acting at a distance of 1m from point B\n",
+ "theta=30 # degree\n",
+ "L=4 # m # length of the tie beam\n",
+ "l=1 #m # length of each member in the tie\n",
+ "# Calculations\n",
+ "# (a) Reactions\n",
+ "Yb=((W1*l)+(W2*3*l))/L # kN # Taking moment about A\n",
+ "Ya=W1+W2-Yb # kN # sum Fy=0\n",
+ "# (b) Dismember\n",
+ "# MEMBER AB\n",
+ "# Xa=Xb........ (eq'n 1) # sum Fx=0\n",
+ "# MEMBER AC\n",
+ "# Xa=Xc.........(eq'n 2) # sum Fx=0\n",
+ "Yc=W1-Ya # kN # sum Fy=0\n",
+ "# Taking moment about A\n",
+ "Xc=((W1*l)-(Yc*2*l))/(2*math.tan(theta*math.pi/180)) # kN\n",
+ "# From eq'n 1 & 2\n",
+ "Xa=Xc # kN\n",
+ "Xb=Xa # kN\n",
+ "# Results\n",
+ "print('The force in tie bar AB is %f kN'%Xb)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 9.14 Axial Forces in members of the truss"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 11,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The compressive force in bar BC (Fbc) is 1250.000000 N\n",
+ "The shear force on the pin is 2015.564437 N\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Initilization of variables\n",
+ "W=1000 # N \n",
+ "r=0.25 # radius of pulley at E \n",
+ "Lab=2 #m\n",
+ "Lad=1 # m\n",
+ "Lbd=1 # m \n",
+ "Ldc=0.75 # m\n",
+ "l1=0.5 #m # c/c distance between bar AB and point E\n",
+ "l2=1.25 # m # dist between rigid support and the weight\n",
+ "# Calculations\n",
+ "# (a) Reactions\n",
+ "Xa=W # N # sum Fx=0\n",
+ "Yb=((W*l1)+(W*l2))/Lab # N # Take moment about A\n",
+ "Ya=W-Yb # N # sum Fy=0\n",
+ "# Dismember\n",
+ "# MEMBER ADB\n",
+ "# consider triangle BCD to find theta, where s= length of bar BC, \n",
+ "s=math.sqrt(Lbd**2+Ldc**2) # m\n",
+ "theta=math.degrees(math.acos(Lbd/s)) # degree\n",
+ "# equilibrium eq'n of member ADB\n",
+ "Yd=(Ya*Lab)/Lad # take moment about B\n",
+ "Fbc=(Yb+Ya-Yd)/math.sin(theta*math.pi/180) # N # sum Fy=0\n",
+ "Xd=(Fbc*math.cos(theta*math.pi/180))+(Xa) # N # sum Fx=0\n",
+ "# PIN D\n",
+ "Rd=math.sqrt(Xd**2+Yd**2) # N # shear force on the pin\n",
+ "# Results\n",
+ "print('The compressive force in bar BC (Fbc) is %f N'%Fbc)\n",
+ "print('The shear force on the pin is %f N'%Rd)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Example 9.15 Axial Forces in members of the truss"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 14,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "(1) The value of axial force (Rd) in bar 2 is 2651.650429 N\n",
+ "(2) The value of axial force (Re) in bar 3 is 2651.650429 N\n",
+ "(3) The value of axial force (Yb) in bar 1 is 1875.000000 N\n",
+ "(4) The value of axial force (Yc) in bar 4 is -625.000000 N\n"
+ ]
+ }
+ ],
+ "source": [
+ "import numpy\n",
+ "# Initiliztion of variables\n",
+ "P=5000 # N\n",
+ "theta=45 # degree # angle made by Rd & Re with the horizontal\n",
+ "Lab=3 # m\n",
+ "Lac=3 # m\n",
+ "Lbd=2 # m\n",
+ "Lce=2 # m\n",
+ "l=1.5 # m # dist of load P from B\n",
+ "# Calculations (BEAM AB )\n",
+ "# Consider the equilibrium of beams \n",
+ "# We are using matrix to solve the simultaneous eqn's \n",
+ "A=numpy.matrix([[(Lbd*math.sin(theta*math.pi/180)),Lab],[(Lce*math.sin(theta*math.pi/180)),-Lac]])\n",
+ "B=numpy.matrix([[(P*l)],[0]])\n",
+ "C=numpy.linalg.inv(A)*B\n",
+ "# Calculations (BEAM AC)\n",
+ "Re=C[0] # N (C) # from eq'n 1\n",
+ "Ya=(Re*Lce*math.sin(theta*math.pi/180))/Lac # N # from eq'n 7\n",
+ "Xa=C[0]*math.cos(theta*math.pi/180) # N # from eq'n 2\n",
+ "Ra=math.sqrt(Xa**2+Ya**2) # N (C)\n",
+ "Yb=P-Ya-(C[0]*math.sin(theta*math.pi/180)) # N (C) # eq'n 3\n",
+ "Yc=Ya-(Re*math.sin(theta*math.pi/180)) # N (T)\n",
+ "# Results \n",
+ "print('(1) The value of axial force (Rd) in bar 2 is %f N'%C[0])\n",
+ "print('(2) The value of axial force (Re) in bar 3 is %f N'%Re)\n",
+ "print('(3) The value of axial force (Yb) in bar 1 is %f N'%Yb)\n",
+ "print('(4) The value of axial force (Yc) in bar 4 is %f N'%Yc)"
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 3",
+ "language": "python",
+ "name": "python3"
+ },
+ "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.1"
+ },
+ "widgets": {
+ "state": {},
+ "version": "1.1.2"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/Engineering_Mechanics_by_A._K._Tayal/screenshots/1.png b/Engineering_Mechanics_by_A._K._Tayal/screenshots/1.png
new file mode 100644
index 00000000..afa64f46
--- /dev/null
+++ b/Engineering_Mechanics_by_A._K._Tayal/screenshots/1.png
Binary files differ
diff --git a/Engineering_Mechanics_by_A._K._Tayal/screenshots/2.png b/Engineering_Mechanics_by_A._K._Tayal/screenshots/2.png
new file mode 100644
index 00000000..c65e7361
--- /dev/null
+++ b/Engineering_Mechanics_by_A._K._Tayal/screenshots/2.png
Binary files differ
diff --git a/Engineering_Mechanics_by_A._K._Tayal/screenshots/3.png b/Engineering_Mechanics_by_A._K._Tayal/screenshots/3.png
new file mode 100644
index 00000000..cfb80af9
--- /dev/null
+++ b/Engineering_Mechanics_by_A._K._Tayal/screenshots/3.png
Binary files differ
diff --git a/Semiconductor_circuit_approximations_by_A.P._Malvino/ch10.ipynb b/Semiconductor_circuit_approximations_by_A.P._Malvino/ch10.ipynb
new file mode 100644
index 00000000..4947770a
--- /dev/null
+++ b/Semiconductor_circuit_approximations_by_A.P._Malvino/ch10.ipynb
@@ -0,0 +1,395 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Chapter 10 - Other Power Amplifiers"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 10.1 Page No 253"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The value of P_DQ = 11.25 mW\n",
+ "The value of P_Dmax = 112.50 mW\n",
+ "The value of P_Lmax = 562.50 mW\n"
+ ]
+ }
+ ],
+ "source": [
+ "# given data\n",
+ "V_CEQ= 7.5## V\n",
+ "R_L= 50## Ω\n",
+ "I_Csat= V_CEQ/R_L## A\n",
+ "I_CQ= 0.01*I_Csat## A\n",
+ "P_DQ= V_CEQ*I_CQ## W\n",
+ "PP= 2*V_CEQ## V\n",
+ "P_Dmax= PP**2/(40*R_L)## W\n",
+ "P_Lmax= PP**2/(8*R_L)## W\n",
+ "# The value of P_DQ \n",
+ "P_DQ= P_DQ*10**3## mW\n",
+ "# The value of P_Dmax \n",
+ "P_Dmax= P_Dmax*10**3## mW\n",
+ "# The value of P_Lmax \n",
+ "P_Lmax= P_Lmax*10**3## mW\n",
+ "print \"The value of P_DQ = %.2f mW\"%P_DQ\n",
+ "print \"The value of P_Dmax = %.2f mW\"%P_Dmax\n",
+ "print \"The value of P_Lmax = %.2f mW\"%P_Lmax"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 10.2 Page No 255"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The efficiency of amplifier = 74.03 %\n"
+ ]
+ }
+ ],
+ "source": [
+ "# given data\n",
+ "V_CC= 15## V\n",
+ "I_Csat= 150## mA\n",
+ "P_Lmax= 563## mW\n",
+ "I= 0.02*I_Csat## mA\n",
+ "Idc= 0.318*I_Csat## mA\n",
+ "I_CC= I+Idc## mA\n",
+ "P_CC= V_CC*I_CC## mW\n",
+ "# The efficiency of amplifier \n",
+ "Eta= P_Lmax/P_CC*100## %\n",
+ "print \"The efficiency of amplifier = %.2f %%\"%Eta\n",
+ "\n",
+ "# Note: The answer in the book is not accurate"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 10.3 Page No 260"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 17,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "data": {
+ "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYQAAAEZCAYAAACXRVJOAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAFnxJREFUeJzt3Xvw5XV93/HnSy4qXjBxhcKCAw7gCPGyZUqJxPCrmdEF\nrea2CqYVbcfQphAV4limKptgE5xpUyRY1BZXY+OChg3BSrzE+FNjqsYVhHCpYiGA4NKVS4GlFuXd\nP8532cOP3+Wc8zvf37k9HzNn9ly+v3M+e+bs77PP7+2kqpAk6UmjHoAkaTw4IUiSACcESVLDCUGS\nBDghSJIaTgiSJMAJQQIgyUeTnNfC884luX2Zxx9N8rzm+sVJ3jXsMUi9ckLQREsyn+SeJPsu8tgb\nknwryQNJ7kxyVZITlniqai4jU1X/uqreO8oxaLY5IWhiJTkMOA64G3jNgsfOAv4T8F7gAOBQ4AML\nl1v4lG2MU5oUTgiaZG8E/hL4OHDa7juT7A/8LvBbVXVFVT1cVT+tqs9U1Tt7eeIkb0nyvSQ/SvLn\nSQ7qeuz9SW5Lcn9TIL/Q9dhTm9VP9yS5HvhHvf5luldbNaua7khyVpIdTeG8qWvZJyf5D0n+PskP\nm9VNT+n1taTFOCFokr0RuAz4JPDKJM9p7v954CnAnw3ypEleDvw+sAk4CPh74NKuRb4JvBj4GeAT\nwKe6VlmdCxwOPA94JZ2JqtdVUQtXWx0IPBM4GPiXwAeayQ7gfOCIZhxHAOuB9/T8l5QW4YSgidT8\nr3w9cGVVfQ+4AfiN5uFnAzur6tE+n3b3L+PfAC6pqmuq6v8B5wA/n+S5AFX1J1V1b1U9WlV/CDwZ\neH7zs5uAf19V91XVHcD76W9VVPeyjwC/19TNXwAPAs9PEuAtwFnN6zwI/AFwSp9/X+lxnBA0qU4D\nPl9VDzS3P8We1UY/AtYlGfTzvbsKAKiqh5rnXA+Q5HeS3JDkviT3AvsD65rFDwa69yq6bcAxAPxo\nwaS2C3g68BxgP2B7knubMfxF1xikgew96gFI/UryVOB1wJOS3NXc/WTgWUleBPwP4MfArwCXD/AS\ndwKHdb3e0+hUxw+SvAx4B/Dyqrq+efwe9vzP/i7gucCNze3n9vnavaxe2gk8DBxdVXettLDUKwtB\nk+iXgZ8AL6CzDv3FzfWvAm+sqvvprE//QJLXJtkvyT5JTkryviWeM+z5pb4VeHOSFyd5Mp3tCV+v\nqtuAZzSvvTPJvkneQ2c9/26fBM5J8qwkhwBn9vH36h7Dkppq+C/ABbu3myRZn+QVfbyW9AROCJpE\nbwQ+UlV3VNXdzWUHcBHwhiRPatbtnwW8i85uqbcBv8XSG5of26BbVV8E3k2nLu6ks5F49/r5zzaX\n7wK30vmfevdqod+ls7rplma5P2b5//XXgusLby/lncDNwNeT3A98AThqmeWlFaWtL8hJciidfwwH\n0Plgf7iqLlxkuQuBk+isH31TVV3dyoAkSctqcxvCI8Dbq+qaJE+nswHsC1W1e90qSU4GjqiqI5P8\nY+Bi4PgWxyRJWkJrq4yq6odVdU1z/UE6G9kOXrDYa4CPNct8g85GwQPbGpMkaWlrsg2hOcXABuAb\nCx5az+N30bsDOGQtxiRJerzWJ4RmddGfAm9tSuEJiyy4PdITjEnSrGr1OIQk+9DZU+O/VdUViyzy\nAzonHdvtkOa+hc/jJCFJA6iqno+Ub60QmsPrLwFuqKoLlljsSjq7EJLkeOC+ZvfBJ7j88uKgg4qz\nzioeeqio8jLo5dxzzx35GKbl4nvp+znOl361ucroBOCfAf8kydXN5aQkpyc5HaCqrgL+V5KbgQ/R\n2U98Ub/6q3DttXDnnfCSl8DXvtbiyCVpBrW2yqiq/poeJpyqOqPX51y3DrZuhW3bYNMmOPVUOO88\n2G+/VQ1VksSEHqlsLazO3NzcqIcwNXwvh8v3c7RaO1J5mJLUUuPctg3OOMNakKSFklDjsFF5rVgL\nkjQcE18I3awFSdpj5gqhm7UgSYObqkLoZi1ImnUzXQjdrAVJ6s/UFkI3a0HSLLIQFmEtSNLKZqIQ\nulkLkmaFhbACa0GSFjdzhdDNWpA0zSyEPlgLkrTHTBdCN2tB0rSxEAZkLUiadRbCIqwFSdPAQhgC\na0HSLLIQVmAtSJpUFsKQWQuSZoWF0AdrQdIksRBaZC1ImmYWwoCsBUnjzkJYI9aCpGljIQyBtSBp\nHFkII2AtSJoGFsKQWQuSxoWFMGLWgqRJZSG0yFqQNEoWwhixFiRNEgthjVgLktaahTCmrAVJ485C\nGAFrQdJasBAmgLUgaRxZCCNmLUhqi4UwYawFSePCQhgj1oKkYbIQJpi1IGmULIQxZS1IWi0LYUpY\nC5LWmoUwAawFSYOwEKaQtSBpLVgIE8ZakNQrC2HKWQuS2mIhTDBrQdJyLIQZYi1IGiYLYUpYC5IW\nshBmlLUgabVanRCSfCTJjiTXLfH4XJL7k1zdXN7V5nim3bp1sHUrnH8+bNoEZ58Nu3aNelSSJkXb\nhbAF2LjCMl+uqg3N5b0tj2cmWAuSBtHqhFBVXwXuXWGxntdvqXfWgqR+jXobQgEvTfKdJFclOXrE\n45k61oKkXu094tf/NnBoVe1KchJwBXDUYgtu3rz5setzc3PMzc2txfimwu5a2LatUwvuiSRNp/n5\neebn5wf++dZ3O01yGPDpqnphD8veAhxbVfcsuN/dTodk504480zYvh22bIETThj1iCS1ZaJ2O01y\nYJI014+jM0Hds8KPaRXctiBpKW3vdroV+Bvg+UluT/Ivkpye5PRmkV8HrktyDXABcEqb49EebluQ\ntJBHKsujnKUpNVGrjDQerAVJYCFoAWtBmh4WglbFWpBml4WgJVkL0mSzEDQ01oI0WywE9cRakCaP\nhaBWWAvS9LMQ1DdrQZoMFoJaZy1I08lC0KpYC9L4shC0pqwFaXpYCBoaa0EaLxaCRsZakCabhaBW\nWAvS6FkIGgvWgjR5LAS1zlqQRsNC0NixFqTJYCFoTVkL0tqxEDTWrAVpfFkIGhlrQWqXhaCJYS1I\n48VC0FiwFqThsxA0kawFafQsBI0da0EaDgtBE89akEbDQtBYsxakwVkImirWgrR2LARNDGtB6o+F\noKllLUjtshA0kawFaWUWgmaCtSANn4WgiWctSIuzEDRzrAVpOCwETRVrQdrDQtBMsxakwVkImlrW\ngmadhSA1rAWpP31NCEmOSPLuJNe3NSBpmNatg61b4fzzYdMmOPts2LVr1KOSxtOKE0KS9UnOSvK3\nwN8BewGntD4yaYisBWllS25DSHI6cCpwAPCnwKeAK6vq8LUb3mNjcRuChsZtC5oVw9yGcBHwAHBq\nVb2nqq5b9eikMWAtSItbbkI4CLgKuDDJjUnOA/ZZm2FJ7XLbgvRES04IVbWzqi6uqhOBVwD3AzuS\n3JTk99dshFKLrAVpj76PQ0hyFHBKVf1eO0Na9DXdhqDWuW1B06bfbQgemCZ12bkTzjwTtm+HLVvg\nhBNGPSJpcE4I0hBYC5oGHqksDYHbFjSLeiqEJOuBw+gclBagquorPfzcR4BXAXdX1QuXWOZC4CRg\nF/Cmqrp6kWUsBI2MtaBJNfRCSPI+4GvAvwPeAfxO82cvtgAbl3nuk4EjqupI4DeBi3t8XmnNWAua\nFSsWQpLvAi+sqh8P9ALJYcCnFyuEJB8EvlRVlzW3bwJOrKodC5azEDQWrAVNkja2IXwf2HfwIS1r\nPXB71+07gENaei1p1awFTbO9e1jmYeCaJF8EdldCVdVvD2kMC2evRVNg8+bNj12fm5tjbm5uSC8v\n9Wf3Uc7btnWOcrYWNC7m5+eZn58f+Od7WWX0pkXurqr6WE8vsPIqo/mqurS57SojTRSPW9A463eV\n0YqFUFUfXdWIlnclcAZwaZLjgfsWTgbSOLMWNE2WO/31p6pqU5LFznJaVfWiFZ882QqcCKwDdgDn\n0pwgr6o+1CxzEZ09kR4C3lxV317keSwEjT1rQeNmaEcqJzm4qu5sVvk8QVXdOsgAB+GEoEninkga\nF566QhoD1oLGgROCNEasBY2S5zKSxojHLWiSLDkhJDkgyTGL3H9Mkue0OyxpevjtbJoUyxXCH9HZ\nO2ihZwPvb2c40vSyFjTultvLaHtVHbvEY9dX1RPqoS1uQ9C0cduC1sIwtyE8Y5nH9ul9SJIWshY0\njpabEG5O8qqFdzanrP5+e0OSZoPbFjRulltldBTw34G/AbbTOQndscBLgVdX1f9cs0G6ykhTzuMW\n1IahHoeQ5CnAG4Cfo3MW0uuBrVX18GoH2g8nBM0Kty1omDwwTZpw1oKGZZjnMnqQJb6bgM7J7Z45\nwPgG4oSgWWQtaLWGtpdRVT29qp6xxGXNJgNpVrknktaaq4ykCWAtaBCey0iaQtaC1oKFIE0Ya0G9\nshCkKWctqC0WgjTBrAUtx0KQZoi1oGGyEKQpYS1oIQtBmlHWglbLQpCmkLUgsBAkYS1oMBaCNOWs\nhdllIUh6HGtBvbIQpBliLcwWC0HSkqwFLcdCkGaUtTD9LARJPbEWtJCFIMlamFIWgqS+WQsCC0HS\nAtbC9LAQJK2KtTC7LARJS7IWJpuFIGlorIXZYiFI6om1MHksBEmtsBamn4UgqW/WwmSwECS1zlqY\nThaCpFWxFsaXhSBpTVkL08NCkDQ01sJ4sRAkjYy1MNksBEmtsBZGz0KQNBashcljIUhqnbUwGhaC\npLFjLUyGVieEJBuT3JTke0neucjjc0nuT3J1c3lXm+ORNDrr1sHWrXD++bBpE5x9NuzaNepRqVtr\nE0KSvYCLgI3A0cCpSV6wyKJfrqoNzeW9bY1H0niwFsZXm4VwHHBzVd1aVY8AlwKvXWS5ntdvSZoO\n1sJ4anNCWA/c3nX7jua+bgW8NMl3klyV5OgWxyNpzFgL42XvFp+7l92Cvg0cWlW7kpwEXAEctdiC\nmzdvfuz63Nwcc3NzQxiipFHbXQvbtnVqwT2RBjc/P8/8/PzAP9/abqdJjgc2V9XG5vY5wKNV9b5l\nfuYW4NiqumfB/e52Ks2AnTvhzDNh+3bYsgVOOGHUI5ps47Tb6beAI5MclmRf4PXAld0LJDkwSZrr\nx9GZoO554lNJmgVuWxit1iaEqvoJcAbwOeAG4LKqujHJ6UlObxb7deC6JNcAFwCntDUeSZPDbQuj\n4ZHKksaaRzkPbpxWGUnSqlkLa8dCkDQxrIX+WAiSppa10C4LQdJEshZWZiFImgnWwvBZCJImnrWw\nOAtB0syxFobDQpA0VayFPSwESTPNWhichSBpas16LVgIktSwFvpjIUiaCbNYCxaCJC3CWliZhSBp\n5sxKLVgIkrQCa2FxFoKkmTbNtWAhSFIfrIU9LARJakxbLVgIkjSgWa8FC0GSFjENtWAhSNIQzGIt\nWAiStIJJrQULQZKGbFZqwUKQpD5MUi1YCJLUommuBQtBkgY07rVgIUjSGpm2WrAQJGkIxrEWLARJ\nGoFpqAULQZKGbFxqwUKQpBGb1FqwECSpRaOsBQtBksbIJNWChSBJa2Sta8FCkKQxNe61YCFI0gis\nRS1YCJI0AcaxFiwESRqxtmrBQpCkCTMutWAhSNIYGWYtWAiSNMFGWQsWgiSNqdXWgoUgSVNirWvB\nQpCkCTBILVgIkjSF1qIWLARJmjC91sJYFUKSjUluSvK9JO9cYpkLm8e/k2RDm+ORpGnQVi20NiEk\n2Qu4CNgIHA2cmuQFC5Y5GTiiqo4EfhO4uK3xaI/5+flRD2Fq+F4Ol+9n79atg61b4fzzYdMmOPts\n2LVrdc/ZZiEcB9xcVbdW1SPApcBrFyzzGuBjAFX1DeBZSQ5scUzCf3TD5Hs5XL6f/RtmLbQ5IawH\nbu+6fUdz30rLHNLimCRp6gyrFtqcEHrdCrxwg4dbjyVpAAtroV+t7WWU5Hhgc1VtbG6fAzxaVe/r\nWuaDwHxVXdrcvgk4sap2LHguJwlJGkA/exnt3eI4vgUcmeQw4E7g9cCpC5a5EjgDuLSZQO5bOBlA\nf38hSdJgWpsQquonSc4APgfsBVxSVTcmOb15/ENVdVWSk5PcDDwEvLmt8UiSljcRB6ZJkto31qeu\n6OXANvUuya1Jrk1ydZJvjno8kybJR5LsSHJd130/m+QLSb6b5PNJnjXKMU6SJd7PzUnuaD6jVyfZ\nOMoxTookhyb5UpLrk/xdkt9u7u/r8zm2E0IvB7apbwXMVdWGqjpu1IOZQFvofB67/VvgC1V1FPDF\n5rZ6s9j7WcAfNp/RDVX12RGMaxI9Ary9qo4Bjgf+TfP7sq/P59hOCPR2YJv65wb6AVXVV4F7F9z9\n2MGVzZ+/vKaDmmBLvJ/gZ7RvVfXDqrqmuf4gcCOd47z6+nyO84TQy4Ft6k8Bf5nkW0neMurBTIkD\nu/aM2wF4pP3qndmc2+wSV8H1r9mzcwPwDfr8fI7zhODW7uE7oao2ACfRScqXjXpA06Q5Ja+f29W5\nGDgceAlwF/AfRzucyZLk6cDlwFur6oHux3r5fI7zhPAD4NCu24fSqQQNqKruav7838Cf0Vktp9XZ\nkeQfACQ5CLh7xOOZaFV1dzWA/4qf0Z4l2YfOZPDxqrqiubuvz+c4TwiPHdiWZF86B7ZdOeIxTawk\n+yV5RnP9acArgOuW/yn14ErgtOb6acAVyyyrFTS/tHb7FfyM9iRJgEuAG6rqgq6H+vp8jvVxCElO\nAi5gz4FtfzDiIU2sJIfTqQLoHJD4J76f/UmyFTgRWEdnfex7gD8HPgk8F7gVeF1V3TeqMU6SRd7P\nc4E5OquLCrgFOH2xsxfo8ZL8AvAV4Fr2rBY6B/gmfXw+x3pCkCStnXFeZSRJWkNOCJIkwAlBktRw\nQpAkAU4IkqSGE4IkCXBC0BRJ8ldJXrHgvrcl+c/N9aOSXNWcCnh7ksuSHJBkLsn9XadcvjrJyxd5\n/s8keWaL4/9okl/rGvdT23otaTFtfoWmtNa2AqcAn++67/XAO5I8BfgM8Laq+gxAkhOB59A5kOcr\nVfVPl3vyqnpVK6Puegn2HFT0VuDjwMMtv6b0GAtB0+Ry4FVJ9obHzvp4cFX9NfAG4Gu7JwOAqvpy\nVV1Pj6dbbr5g6Geb06ncmOTDzZeRfK6ZcLqX3T/JrV23n5bktiR7JXlJkq83Z/TctuCMnklyJnAw\n8KUkX0zypKYermu+4OhtA7070gqcEDQ1quoeOofqn9zcdQpwWXP9GGD7Mj/+sgWrjA5f7CW6rh8B\nXFRVPwfcB/zagrHcD1yTZK6569XAZ6vqp8AfA++oqhfTOVfPuY//0foj4E46X2b0S3ROZXxwVb2w\nql5E54tlpKFzQtC02b3aCDqri7Z2PbZcCXy161u6NlTVLSu8zi1VdW1zfTtw2CLLXNaMgWZMlyXZ\nH9i/+XIY6HxpyS+u8FrfB56X5MIkrwT+zwrLSwNxQtC0uRL4pSQbgP2q6urm/uuBY4f4Oj/uuv5T\nFt8e92lgY5KfAf4h8FeLLLPi6qrmZGQvAuaBf0XntNDS0DkhaKo0Xx/4JTqrVT7R9dAngJcm2b06\niSS/mOSYlsfyt8CFwKeb0/zfD9zbnJ0S4J/T+UW/0APAM5txPhvYu6q2Ae+mM7lIQ+deRppGW4Ft\nwOt231FV/zfJq4ELklxA50vJvwO8jc7pl1+W5Oqu5ziv+QXcrZa4vtjt3S6jc/rhua77TgM+mGQ/\nOquD3rzIz30Y+GySHwBvB7Yk2f0fuGW/KF0alKe/liQBrjKSJDWcECRJgBOCJKnhhCBJApwQJEkN\nJwRJEuCEIElqOCFIkgD4/2yFPh7tHE6jAAAAAElFTkSuQmCC\n",
+ "text/plain": [
+ "<matplotlib.figure.Figure at 0x7f863864ffd0>"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "AC load line shown in figure\n"
+ ]
+ }
+ ],
+ "source": [
+ "from numpy import arange\n",
+ "%matplotlib inline\n",
+ "from matplotlib.pyplot import plot,xlabel,ylabel,title,show\n",
+ "# given data\n",
+ "V_CC= 40.0## V\n",
+ "V_CEQ= 20.0## V\n",
+ "R_L= 10.0## Ω\n",
+ "I_Csat= V_CEQ/R_L## A\n",
+ "V_CEcutoff= V_CEQ## V\n",
+ "V_CE= arange(0,0.1+V_CEcutoff,0.1) # V\n",
+ "I_C= (V_CEQ-V_CE)/R_L## A\n",
+ "# The plot of ac load line,\n",
+ "plot(V_CE,I_C)\n",
+ "xlabel(\"VCE in volts\")\n",
+ "ylabel(\"IC in A\")\n",
+ "title(\"AC load line\")\n",
+ "show()\n",
+ "print \"AC load line shown in figure\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 10.4 Page No 260"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 5,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The value of P_DQ = 0.39 W\n",
+ "The value of P_Lmax = 20.00 W\n",
+ "The value of P_Dmax = 4.00 W\n"
+ ]
+ }
+ ],
+ "source": [
+ "# given data\n",
+ "V_CC= 40## V\n",
+ "V_BE= 0.7## V\n",
+ "R= 1*10**3## Ω\n",
+ "R_L= 10## Ω\n",
+ "V_CEQ= 20## V\n",
+ "I_CQ= (V_CC-2*V_BE)/(2*R)## A\n",
+ "# The value of P_DQ\n",
+ "P_DQ= V_CEQ*I_CQ## W\n",
+ "print \"The value of P_DQ = %.2f W\"%P_DQ\n",
+ "PP= 2*V_CEQ## V\n",
+ "# The value of P_Lmax\n",
+ "P_Lmax= PP**2/(8*R_L)## W\n",
+ "# The value of P_Dmax\n",
+ "P_Dmax= PP**2/(40*R_L)## W\n",
+ "print \"The value of P_Lmax = %.2f W\"%P_Lmax\n",
+ "print \"The value of P_Dmax = %.2f W\"%P_Dmax"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 10.5 Page No 263"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 9,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The voltage gain of the driver stage = 9.36\n",
+ "On ignoring the value of Zin and r'e, the voltage gain = 10.00\n"
+ ]
+ }
+ ],
+ "source": [
+ "# given data\n",
+ "V_E= 1.43## V\n",
+ "R_E= 100## Ω\n",
+ "R_L= 100## Ω\n",
+ "R_C= 1*10**3## Ω\n",
+ "bita= 200#\n",
+ "Vt= 25*10**-3## V\n",
+ "I_E= V_E/R_E## A\n",
+ "I_CQ= I_E## A\n",
+ "Zin= bita*R_L## Ω\n",
+ "r_desh_e= Vt/I_CQ## Ω\n",
+ "# The voltage gain of the driver stage \n",
+ "A= (R_C*Zin/(R_C+Zin))/(R_E+r_desh_e)#\n",
+ "print \"The voltage gain of the driver stage = %.2f\"%A\n",
+ "# On ignoring Zin and r_desh_e,\n",
+ "A= R_C/R_E#\n",
+ "print \"On ignoring the value of Zin and r'e, the voltage gain = %.2f\"%A"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 10.6 Page No 264"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 11,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The value of PP = 30.00 volts\n",
+ "The value of P_Lmax = 1.12 W\n"
+ ]
+ }
+ ],
+ "source": [
+ "# given data\n",
+ "V_CC= 30.0## V\n",
+ "PP= V_CC## V\n",
+ "R_L= 100.0## Ω\n",
+ "# The value of P_Lmax \n",
+ "P_Lmax= PP**2/(8*R_L)## W\n",
+ "print \"The value of PP = %.2f volts\"%PP\n",
+ "print \"The value of P_Lmax = %.2f W\"%P_Lmax"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 10.7 Page No 264"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 13,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The overall voltage gain = 2000.00\n"
+ ]
+ }
+ ],
+ "source": [
+ "# given data\n",
+ "R_C= 1*10**3## Ω\n",
+ "r_desh_e= 2.5##in Ω\n",
+ "Zin= 1.0*10**3## Ω\n",
+ "A2= 10## unit less\n",
+ "A3= 1## unit less\n",
+ "A1= (R_C*Zin/(R_C+Zin))/r_desh_e## unit less\n",
+ "# The overall voltage gain \n",
+ "A= A1*A2*A3#\n",
+ "print \"The overall voltage gain = %.2f\"%A"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 10.8 Page No 266"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 15,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The minimum base current that produces saturation = 108.89 mA\n"
+ ]
+ }
+ ],
+ "source": [
+ "# given data\n",
+ "V_CC= 50.0## V\n",
+ "V_CEsat= 1.0## V\n",
+ "R_L= 5## Ω\n",
+ "bita_dc= 90## unit less\n",
+ "I_Csat= (V_CC-V_CEsat)/R_L## A\n",
+ "# The minimum base current that produces saturation \n",
+ "I_Bsat= I_Csat/bita_dc## A\n",
+ "I_Bsat= I_Bsat*10**3## mA\n",
+ "print \"The minimum base current that produces saturation = %.2f mA\"%I_Bsat"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 10.9 Page No 267"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 16,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The input voltage = 2.85 volts\n"
+ ]
+ }
+ ],
+ "source": [
+ "# given data\n",
+ "I_Csat= 109*10**-3## A\n",
+ "bita_dc= 200#\n",
+ "R_B= 1*10**3## Ω\n",
+ "V_BE1= 0.7## V\n",
+ "V_BE2= 1.6## V\n",
+ "# The base current,\n",
+ "I_Bsat= I_Csat/bita_dc## A\n",
+ "# The input voltage\n",
+ "Vin= I_Bsat*R_B+V_BE1+V_BE2## V\n",
+ "print \"The input voltage = %.2f volts\"%Vin"
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 2",
+ "language": "python",
+ "name": "python2"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 2
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython2",
+ "version": "2.7.9"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/Semiconductor_circuit_approximations_by_A.P._Malvino/ch11.ipynb b/Semiconductor_circuit_approximations_by_A.P._Malvino/ch11.ipynb
new file mode 100644
index 00000000..072fab6a
--- /dev/null
+++ b/Semiconductor_circuit_approximations_by_A.P._Malvino/ch11.ipynb
@@ -0,0 +1,170 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Chapter 11 More Amplifier Theory"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 11.1 Page No 274"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The closed loop voltage gain = 47.81\n"
+ ]
+ }
+ ],
+ "source": [
+ "# given data\n",
+ "r_F= 220## Ω\n",
+ "r_E= 4.7##in Ω\n",
+ "# The closed loop voltage gain \n",
+ "A_CL= r_F/r_E+1#\n",
+ "print \"The closed loop voltage gain = %.2f\"%A_CL"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 11.2 Page No 287"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The value of alpha = 0.99\n",
+ "The value of r''e = 29.17 Ω\n",
+ "The value of r''c = 14.12 MΩ\n"
+ ]
+ }
+ ],
+ "source": [
+ "# given data\n",
+ "h_ie= 3.5*10**3##in Ω\n",
+ "h_fe= 120.0#\n",
+ "h_re= 1.3*10**-4#\n",
+ "h_oe= 8.5*10**-6## S\n",
+ "bita= h_fe## unit less\n",
+ "# The value of alpha \n",
+ "alpha= h_fe/(h_fe+1)#\n",
+ "print \"The value of alpha = %.2f\"%alpha\n",
+ "# The value of r'e\n",
+ "r_desh_e= h_ie/h_fe## Ω\n",
+ "r_desh_c= h_fe/h_oe## Ω\n",
+ "print \"The value of r''e = %.2f Ω\"%r_desh_e\n",
+ "# The value of r'c\n",
+ "r_desh_c= r_desh_c*10**-6## Mohm\n",
+ "print \"The value of r''c = %.2f MΩ\"%r_desh_c"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 11.3 Page No 288"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 4,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The value of r''b = 175.00 Ω\n"
+ ]
+ }
+ ],
+ "source": [
+ "# given data\n",
+ "h_rb= 1.75*10**-4#\n",
+ "h_ob= 10**-6## S\n",
+ "r_desh_b= h_rb/h_ob## Ω\n",
+ "print \"The value of r''b = %.2f Ω\"%r_desh_b"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 11.4 Page No 289"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 6,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The voltage gain = 68.02\n"
+ ]
+ }
+ ],
+ "source": [
+ "# given data\n",
+ "h_fe= 120## unit less\n",
+ "h_ie= 3.5*10**3##in Ω\n",
+ "r_L= 2*10**3## Ω\n",
+ "h_oe= 8.5*10**-6## S\n",
+ "h_re= 1.3*10**-4## unit less\n",
+ "# The voltage gain \n",
+ "A= h_fe*r_L/(h_ie*(1+h_oe*r_L)-h_re*h_fe*r_L)\n",
+ "print \"The voltage gain = %.2f\"%A"
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 2",
+ "language": "python",
+ "name": "python2"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 2
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython2",
+ "version": "2.7.9"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/Semiconductor_circuit_approximations_by_A.P._Malvino/ch12.ipynb b/Semiconductor_circuit_approximations_by_A.P._Malvino/ch12.ipynb
new file mode 100644
index 00000000..35cf5354
--- /dev/null
+++ b/Semiconductor_circuit_approximations_by_A.P._Malvino/ch12.ipynb
@@ -0,0 +1,191 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Chapter 12 JFETS"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 12.1 Page No 303"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The dc voltage from the drain to ground = 22.37 volts\n",
+ "The source voltage to ground = 12.00 volts\n"
+ ]
+ }
+ ],
+ "source": [
+ "# given data\n",
+ "R1= 20## kΩ\n",
+ "R2= 10## kΩ\n",
+ "R_E= 10## kΩ\n",
+ "R_D= 8.2## kΩ\n",
+ "V_G= 10## V\n",
+ "V_BE= 0.7## V\n",
+ "V_GS= -2## V\n",
+ "V_DD= 30## V\n",
+ "V_B= R2*V_DD/(R1+R2)## V\n",
+ "I_E= (V_B-V_BE)/R_E## mA\n",
+ "I_D= I_E## mA\n",
+ "# The dc voltage from the drain to ground \n",
+ "V_D= V_DD-I_D*R_D## V\n",
+ "# The source voltage to ground \n",
+ "Vs= V_G-V_GS## V\n",
+ "print \"The dc voltage from the drain to ground = %.2f volts\"%V_D\n",
+ "print \"The source voltage to ground = %.2f volts\"%Vs"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 12.2 Page No 307"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Part (i) When V_GS= -1\n",
+ "The value of gm = 3000.00 µS\n",
+ "Part (ii) When I_D= 2.5 mA\n",
+ "The value of gm = 1500.00 µS\n"
+ ]
+ }
+ ],
+ "source": [
+ "# given data\n",
+ "gmo= 3000## µmhoS\n",
+ "V_GSoff= -4## V\n",
+ "I_DSS= 10## mA\n",
+ "print \"Part (i) When V_GS= -1\"\n",
+ "V_GS= -1## V\n",
+ "# The value of gm \n",
+ "gm= gmo*(1-V_GS/V_GSoff)## µS\n",
+ "print \"The value of gm = %.2f µS\"%gm\n",
+ "print \"Part (ii) When I_D= 2.5 mA\"\n",
+ "I_D= 2.5## mA\n",
+ "# The value of gm \n",
+ "gm= gmo*2*I_D/I_DSS## µS\n",
+ "print \"The value of gm = %.2f µS\"%gm"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 12.3 Page No 311"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 4,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The output voltage = 12.79 mV\n"
+ ]
+ }
+ ],
+ "source": [
+ "# given data\n",
+ "gm= 2000## µS\n",
+ "gm=gm*10**-6## S\n",
+ "R_D= 4.7## kΩ\n",
+ "Vin= 2## mV\n",
+ "R_L= 10## kΩ\n",
+ "r_D= R_D*R_L/(R_D+R_L)## kΩ\n",
+ "r_D= r_D*10**3## Ω\n",
+ "A= gm*r_D## unit less\n",
+ "# The output voltage \n",
+ "Vout= A*Vin## mV\n",
+ "print \"The output voltage = %.2f mV\"%Vout\n",
+ "\n",
+ "# Note: The calculated value of A = %.2f the book is wrong. Correct value of A6.39, So the answer in the book is wrong."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 12.4 Page No 311"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 5,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The voltage gain = 0.84\n"
+ ]
+ }
+ ],
+ "source": [
+ "# given data\n",
+ "R_D= 7.5## kΩ\n",
+ "R_L= 3## kΩ\n",
+ "r_s= R_D*R_L/(R_D+R_L)## kΩ\n",
+ "r_s= r_s*10**3## Ω\n",
+ "gm= 2500*10**-6## S\n",
+ "# The voltage gain \n",
+ "A= gm*r_s/(1+gm*r_s)## unit less\n",
+ "print \"The voltage gain = %.2f\"%A"
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 2",
+ "language": "python",
+ "name": "python2"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 2
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython2",
+ "version": "2.7.9"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/Semiconductor_circuit_approximations_by_A.P._Malvino/ch14.ipynb b/Semiconductor_circuit_approximations_by_A.P._Malvino/ch14.ipynb
new file mode 100644
index 00000000..dc2d8927
--- /dev/null
+++ b/Semiconductor_circuit_approximations_by_A.P._Malvino/ch14.ipynb
@@ -0,0 +1,165 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Chapter 14 Thyristors"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 14.1 Page No 342"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The load current = 140.00 mA\n"
+ ]
+ }
+ ],
+ "source": [
+ "# given data\n",
+ "V1=15.## V\n",
+ "V2=1.## V\n",
+ "R= 100.## Ω\n",
+ "# The load current \n",
+ "I= (V1-V2)/R## A\n",
+ "I= I*10**3## mA\n",
+ "print \"The load current = %.2f mA\"%I"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 14.2 Page No 342"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The input voltage = 0.90 volts\n"
+ ]
+ }
+ ],
+ "source": [
+ "# given data\n",
+ "I= 4## mA\n",
+ "I=I*10**-3## A\n",
+ "V1=0.5## voltage across diode = %.2f V\n",
+ "R=100## Ω\n",
+ "# The input voltage \n",
+ "V= V1+I*R## V\n",
+ "print \"The input voltage = %.2f volts\"%V"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 14.6 Page No 351"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 8,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The emitter current = 50.00 mA\n"
+ ]
+ }
+ ],
+ "source": [
+ "# given data\n",
+ "Eta= 0.85#\n",
+ "V= 10.## V\n",
+ "V1= Eta*V## V\n",
+ "V= 20.## V\n",
+ "R= 400.## Ω\n",
+ "# The emitter current\n",
+ "I_E= V/R## A\n",
+ "I_E= I_E*10**3## mA\n",
+ "print \"The emitter current = %.2f mA\"%I_E"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 14.7 Page No 351"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 9,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The emitter supply voltage = 3.80 volts\n"
+ ]
+ }
+ ],
+ "source": [
+ "# given data\n",
+ "V_E= 1## V\n",
+ "R= 400## Ω\n",
+ "I= 7*10**-3## A\n",
+ "# The emitter supply voltage\n",
+ "V= V_E+I*R## V\n",
+ "print \"The emitter supply voltage = %.2f volts\"%V"
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 2",
+ "language": "python",
+ "name": "python2"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 2
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython2",
+ "version": "2.7.9"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/Semiconductor_circuit_approximations_by_A.P._Malvino/ch16.ipynb b/Semiconductor_circuit_approximations_by_A.P._Malvino/ch16.ipynb
new file mode 100644
index 00000000..63153f57
--- /dev/null
+++ b/Semiconductor_circuit_approximations_by_A.P._Malvino/ch16.ipynb
@@ -0,0 +1,296 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Chapter 16 Op-Amp Negative Feedback"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 16.1 Page No 385"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The output voltage = 49.98 mV\n",
+ "The error voltage = 0.50 µV\n"
+ ]
+ }
+ ],
+ "source": [
+ "# given data\n",
+ "A=100000.0##unit less\n",
+ "R1= 98.0*10**3## Ω\n",
+ "R2= 2.0*10**3## Ω\n",
+ "Vin= 1.*10**-3## V\n",
+ "B= R2/(R1+R2)## unit less\n",
+ "A_CL= 1/B## unit less\n",
+ "A_CL= A/(1+A*B)## unit less\n",
+ "# The output voltage \n",
+ "Vout= Vin*A_CL## V\n",
+ "# The error voltage \n",
+ "Verror= Vout/A## V\n",
+ "Vout= Vout*10**3## mV\n",
+ "Verror= Verror*10**6## µV\n",
+ "print \"The output voltage = %.2f mV\"%Vout\n",
+ "print \"The error voltage = %.2f µV\"%Verror"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 16.2 Page No 386"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 4,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The value of A_CL = 49.88\n",
+ "The value of Vout = 49.88 mV\n",
+ "The value of Verror = 2.49 µV\n"
+ ]
+ }
+ ],
+ "source": [
+ "# given data\n",
+ "A=20000#\n",
+ "B= 0.02#\n",
+ "Vin= 1## mV\n",
+ "Vin= Vin*10**-3## V\n",
+ "# The closed loop voltage gain,\n",
+ "A_CL= A/(1+A*B)#\n",
+ "# The output voltage,\n",
+ "Vout= Vin*A_CL## V\n",
+ "# The error voltage,\n",
+ "Verror= Vout/A## V\n",
+ "Vout= Vout*10**3## mV\n",
+ "Verror= Verror*10**6## µV\n",
+ "print \"The value of A_CL = %.2f\"%A_CL\n",
+ "print \"The value of Vout = %.2f mV\"%Vout\n",
+ "print \"The value of Verror = %.2f µV\"%Verror"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 16.3 Page No 389"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 5,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The closed loop input impedence = 201.80 MΩ\n",
+ "The closed loop output impedence = 0.74 Ω\n"
+ ]
+ }
+ ],
+ "source": [
+ "# given data\n",
+ "A=100000.0#\n",
+ "R1= 100.0*10**3## Ω\n",
+ "R2= 100.0## Ω\n",
+ "r_in= 2.0*10**6## Ω\n",
+ "r_out= 75.0## Ω\n",
+ "B= R2/(R1+R2)## unit less\n",
+ "# The closed loop input impedence \n",
+ "r_in_CL= (1+A*B)*r_in## Ω\n",
+ "# The closed loop output impedence \n",
+ "r_out_CL= r_out/(1+A*B)## Ω\n",
+ "r_in_CL=r_in_CL*10**-6## Mohm\n",
+ "print \"The closed loop input impedence = %.2f MΩ\"%r_in_CL\n",
+ "print \"The closed loop output impedence = %.2f Ω\"%r_out_CL"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 16.4 Page No 389"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 11,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The closed loop voltage gain = 1.00\n",
+ "The closed-loop input impedance = 202.00 MΩ\n",
+ "The closed-loop output impedance = 7.50e-04 Ω\n",
+ "The output offset voltage = 5.51 mV\n"
+ ]
+ }
+ ],
+ "source": [
+ "# given data\n",
+ "A=100.0#\n",
+ "R_B= 39.0*10**3## Ω\n",
+ "r_in= 2.0*10**6## Ω\n",
+ "r_out= 75.0## Ω\n",
+ "Vin_off= 2.0*10**-3## V\n",
+ "I_B1= 90.0*10**-9## A\n",
+ "I_in_off= 20.0*10**-9## A\n",
+ "# The closed loop voltage gain \n",
+ "B=1## unit less\n",
+ "# The closed-loop input impedance\n",
+ "r_in_CL= (1.0+A*B)*r_in## Ω\n",
+ "r_in_CL= r_in_CL*10**-6## Mohm\n",
+ "print \"The closed loop voltage gain = %.2f\"%B\n",
+ "print \"The closed-loop input impedance = %.2f MΩ\"%r_in_CL\n",
+ "A=100000.0#\n",
+ "# The closed-loop output impedance\n",
+ "r_out_CL= r_out/A## Ω\n",
+ "print \"The closed-loop output impedance = %.2e Ω\"%r_out_CL\n",
+ "#Let V= V1-V2 = Vin_off+I_B1*R_B\n",
+ "V= Vin_off+I_B1*R_B## A\n",
+ "# The output offset voltage \n",
+ "Voo_CL= A*V/A## V\n",
+ "Voo_CL= Voo_CL*10**3## mV\n",
+ "print \"The output offset voltage = %.2f mV\"%Voo_CL"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 16.5 Page No 393"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 12,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The closed-loop voltage gain = 22.00\n",
+ "The desensitivity = 4545.45\n"
+ ]
+ }
+ ],
+ "source": [
+ "# given data\n",
+ "R_F= 22.0*10**3## Ω\n",
+ "R_S= 1.0*10**3## Ω\n",
+ "A= 100000.0## unit less\n",
+ "# The closed-loop voltage gain\n",
+ "A_CL= R_F/R_S#\n",
+ "# The desensitivity\n",
+ "desensitivity= A/A_CL#\n",
+ "print \"The closed-loop voltage gain = %.2f\"%A_CL\n",
+ "print \"The desensitivity = %.2f\"%desensitivity"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 16.6 Page No 396"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 13,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "For A_CL= 1000, The value of f_CL = 1.00 kHz\n",
+ "For A_CL= 100, The value of f_CL = 10.00 kHz\n",
+ "For A_CL= 10, The value of f_CL = 100.00 kHz\n",
+ "For A_CL= 1, The value of f_CL = 1.00 MHz\n"
+ ]
+ }
+ ],
+ "source": [
+ "# given data\n",
+ "f_unity= 1.0*10**6## Hz\n",
+ "# For A_CL= 1000, The value of f_CL\n",
+ "A_CL= 1000.0#\n",
+ "f_CL= f_unity/A_CL## Hz\n",
+ "f_CL= f_CL*10**-3## kHz\n",
+ "print \"For A_CL= 1000, The value of f_CL = %.2f kHz\"%f_CL\n",
+ "# For A_CL= 100, The value of f_CL\n",
+ "A_CL= 100.0#\n",
+ "f_CL= f_unity/A_CL## Hz\n",
+ "f_CL= f_CL*10**-3## kHz\n",
+ "print \"For A_CL= 100, The value of f_CL = %.2f kHz\"%f_CL\n",
+ "# For A_CL= 10, The value of f_CL\n",
+ "A_CL= 10.0#\n",
+ "f_CL= f_unity/A_CL## Hz\n",
+ "f_CL= f_CL*10**-3## kHz\n",
+ "print \"For A_CL= 10, The value of f_CL = %.2f kHz\"%f_CL\n",
+ "# For A_CL= 1, The value of f_CL\n",
+ "A_CL= 1.0#\n",
+ "f_CL= f_unity/A_CL## Hz\n",
+ "f_CL= f_CL*10**-6## MHz\n",
+ "print \"For A_CL= 1, The value of f_CL = %.2f MHz\"%f_CL"
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 2",
+ "language": "python",
+ "name": "python2"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 2
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython2",
+ "version": "2.7.9"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/Semiconductor_circuit_approximations_by_A.P._Malvino/ch2.ipynb b/Semiconductor_circuit_approximations_by_A.P._Malvino/ch2.ipynb
new file mode 100644
index 00000000..350e3308
--- /dev/null
+++ b/Semiconductor_circuit_approximations_by_A.P._Malvino/ch2.ipynb
@@ -0,0 +1,269 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Chapter 2 Rectifier Diodes"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 2.1 Page No 29"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The output voltage = 15.00 volts\n",
+ "The current = 1.50 mA\n"
+ ]
+ }
+ ],
+ "source": [
+ "# given data\n",
+ "Vin= 15.0## V\n",
+ "R_L= 10.0## kΩ\n",
+ "# The output voltage\n",
+ "Vout= Vin ## V\n",
+ "# The current\n",
+ "I= Vout/R_L## mA\n",
+ "print \"The output voltage = %.2f volts\"%Vout\n",
+ "print \"The current = %.2f mA\"%I"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 2.2 Page No 30"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 6,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The output voltage = 0 volts\n",
+ "The voltage across the diode = 15.00 volts\n"
+ ]
+ }
+ ],
+ "source": [
+ "# given data\n",
+ "Vin= 15.0## V\n",
+ "I=0#\n",
+ "R_L= 10.0## kΩ\n",
+ "R_L= R_L*10**3## Ω\n",
+ "# The output voltage \n",
+ "Vout= I*R_L## V\n",
+ "# The voltage across the diode \n",
+ "V_R= Vin-Vout## V\n",
+ "print \"The output voltage = %.f volts\"%Vout\n",
+ "print \"The voltage across the diode = %.2f volts\"%V_R"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 2.4 Page No 31"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 9,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The peak current through the diode = 1.50 mA\n",
+ "The maximum reverse voltage = 15.00 volts\n"
+ ]
+ }
+ ],
+ "source": [
+ "# given data\n",
+ "Vin= 15.0## V\n",
+ "V_P= Vin## V\n",
+ "R_L= 10## kΩ\n",
+ "R_L= R_L*10**3## Ω\n",
+ "Vout=0#\n",
+ "# The peak current through the diode \n",
+ "I_P= V_P/R_L## A\n",
+ "# The maximum reverse voltage \n",
+ "V_R= Vin-Vout## V\n",
+ "I_P= I_P*10**3## mA\n",
+ "print \"The peak current through the diode = %.2f mA\"%I_P\n",
+ "print \"The maximum reverse voltage = %.2f volts\"%V_R"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 2.5 Page No 33"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 10,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The output voltage = 14.30 volts\n",
+ "The current = 1.43 mA\n",
+ "The power dissipation of the diode = 1.00 mW\n"
+ ]
+ }
+ ],
+ "source": [
+ "# given data\n",
+ "Vin= 15.0## V\n",
+ "V_K= 0.7## V\n",
+ "R_L= 10.0## kΩ\n",
+ "R_L= R_L*10**3## Ω\n",
+ "# The output voltage \n",
+ "Vout= Vin-V_K## V\n",
+ "# The current \n",
+ "I= Vout/R_L## A\n",
+ "# The power dissipation of the diode \n",
+ "P= V_K*I## W\n",
+ "I=I*10**3## mA\n",
+ "P= round(P*10**3)## mW\n",
+ "print \"The output voltage = %.2f volts\"%Vout\n",
+ "print \"The current = %.2f mA\"%I\n",
+ "print \"The power dissipation of the diode = %.2f mW\"%P"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 2.6 Page No 34"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 11,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The peak output voltage = 14.30 volts\n",
+ "The maximum forward current = 1.43 mA\n",
+ "The peak inverse voltage = 15.00 volts\n"
+ ]
+ }
+ ],
+ "source": [
+ "# given data\n",
+ "Vin= 15.0## V\n",
+ "V_K= 0.7## V\n",
+ "Vout=0## V\n",
+ "R_L= 10.0## kΩ\n",
+ "R_L= R_L*10**3## Ω\n",
+ "# The peak output voltage \n",
+ "V_P= Vin-V_K## V\n",
+ "# The maximum forward current \n",
+ "I_P= V_P/R_L## A\n",
+ "# The peak inverse voltage \n",
+ "PIV= Vin-Vout## V\n",
+ "I_P= I_P*10**3## mA\n",
+ "print \"The peak output voltage = %.2f volts\"%V_P\n",
+ "print \"The maximum forward current = %.2f mA\"%I_P\n",
+ "print \"The peak inverse voltage = %.2f volts\"%PIV"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 2.7 Page No 36"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The peak voltage = 9.12 volts\n",
+ "The peak inverse voltage = 10.00 volts\n"
+ ]
+ }
+ ],
+ "source": [
+ "# given data\n",
+ "Vin= 10.0## V\n",
+ "V_K= 0.7## V\n",
+ "Vout=0## V\n",
+ "R_L= 1000.0## kΩ\n",
+ "r_B= 20.0## Ω\n",
+ "# The peak forward current,\n",
+ "I_P= (Vin-V_K)/(R_L+r_B)## A\n",
+ "# The peak voltage \n",
+ "V_P= I_P*R_L## V\n",
+ "# The peak inverse voltage \n",
+ "PIV= Vin-Vout## V\n",
+ "print \"The peak voltage = %.2f volts\"%V_P\n",
+ "print \"The peak inverse voltage = %.2f volts\"%PIV"
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 2",
+ "language": "python",
+ "name": "python2"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 2
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython2",
+ "version": "2.7.9"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/Semiconductor_circuit_approximations_by_A.P._Malvino/ch3.ipynb b/Semiconductor_circuit_approximations_by_A.P._Malvino/ch3.ipynb
new file mode 100644
index 00000000..39c7b29e
--- /dev/null
+++ b/Semiconductor_circuit_approximations_by_A.P._Malvino/ch3.ipynb
@@ -0,0 +1,636 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Chapter 3 Special Diodes"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exa 3.1 Page No 53"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The LED current = 21.28 mA\n"
+ ]
+ }
+ ],
+ "source": [
+ "# given data\n",
+ "Vin= 12.0## V\n",
+ "V_LED= 2## V\n",
+ "Rs= 470## Ω\n",
+ "Vs= Vin-V_LED## V\n",
+ "# The LED current \n",
+ "I= Vs/Rs## A\n",
+ "I= I*10**3## mA\n",
+ "print \"The LED current = %.2f mA\"%I"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exa 3.2 Page No 53"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "When supply voltage is 5 V, the LED current = 6.38 mA\n",
+ "When supply voltage is 10 V, the LED current = 17.02 mA\n",
+ "When supply voltage is 15 V, the LED current = 27.66 mA\n",
+ "When supply voltage is 20 V, the LED current = 38.30 mA\n"
+ ]
+ }
+ ],
+ "source": [
+ "# given data\n",
+ "Vin= 5.0## V\n",
+ "V_LED= 2.0## V\n",
+ "Rs= 470.0## Ω\n",
+ "Vs= Vin-V_LED## V\n",
+ "# When supply voltage is 5 V, the LED current\n",
+ "I= Vs/Rs## A\n",
+ "I= I*10**3## mA\n",
+ "print \"When supply voltage is 5 V, the LED current = %.2f mA\"%I\n",
+ "Vin= 10## V\n",
+ "Vs= Vin-V_LED## V\n",
+ "# When supply voltage is 10 V, the LED current\n",
+ "I= Vs/Rs## A\n",
+ "I= I*10**3## mA\n",
+ "print \"When supply voltage is 10 V, the LED current = %.2f mA\"%I\n",
+ "Vin= 15## V\n",
+ "Vs= Vin-V_LED## V\n",
+ "# When supply voltage is 15 V, the LED current\n",
+ "I= Vs/Rs## A\n",
+ "I= I*10**3## mA\n",
+ "print \"When supply voltage is 15 V, the LED current = %.2f mA\"%I\n",
+ "Vin= 20## V\n",
+ "Vs= Vin-V_LED## V\n",
+ "# When supply voltage is 20 V, the LED current\n",
+ "I= Vs/Rs## A\n",
+ "I= I*10**3## mA\n",
+ "print \"When supply voltage is 20 V, the LED current = %.2f mA\"%I"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exa 3.4 Page No 61"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 4,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The tuning range = 18.67\n"
+ ]
+ }
+ ],
+ "source": [
+ "# given data\n",
+ "C1= 560.0##transistor capacitance at 1V = %.2f pF\n",
+ "C2= 30##transistor capacitance at 10V = %.2f pF\n",
+ "# The tuning range \n",
+ "tuningRange= C1/C2#\n",
+ "print \"The tuning range = %.2f\"%tuningRange"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exa 3.5 Page No 68"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 5,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The minimum zener current = 12.20 mA\n",
+ "The maximum zener current = 36.59 mA\n",
+ "The output voltage = 10.00 V\n"
+ ]
+ }
+ ],
+ "source": [
+ "# given data\n",
+ "Vin_min= 20.0## V\n",
+ "Vin_max= 40.0## V\n",
+ "Vz= 10.0## V\n",
+ "Rs= 820.0## Ω\n",
+ "# The minimum zener current,\n",
+ "Iz_min= (Vin_min-Vz)/Rs## A\n",
+ "# The maximum zener current, \n",
+ "Iz_max= (Vin_max-Vz)/Rs## A\n",
+ "# The output voltage,\n",
+ "Vout= Vz## V\n",
+ "Iz_min= Iz_min*10**3## mA\n",
+ "Iz_max= Iz_max*10**3## mA\n",
+ "print \"The minimum zener current = %.2f mA\"%Iz_min\n",
+ "print \"The maximum zener current = %.2f mA\"%Iz_max\n",
+ "print \"The output voltage = %.2f V\"%Vout"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exa 3.6 Page No 70"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 6,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The minimum zener current = 11.95 mA\n",
+ "The maximum zener current = 35.84 mA\n",
+ "The minimum output voltage = 10.20 V\n",
+ "The maximum output voltage = 10.61 V\n"
+ ]
+ }
+ ],
+ "source": [
+ "# given data\n",
+ "Rs= 820.0## Ω\n",
+ "Rz= 17.0## Ω\n",
+ "R_T= Rs+Rz## Ω\n",
+ "Vz= 10.0## V\n",
+ "Vin_min= 20.0## V\n",
+ "Vin_max= 40.0## V\n",
+ "# The minimum zener current \n",
+ "Iz_min= (Vin_min-Vz)/R_T## A\n",
+ "# The maximum zener current \n",
+ "Iz_max= (Vin_max-Vz)/R_T## A\n",
+ "# The minimum output voltage \n",
+ "Vout_min= Vz+Iz_min*Rz## V\n",
+ "# The maximum output voltage \n",
+ "Vout_max= Vz+Iz_max*Rz## V\n",
+ "Iz_min= Iz_min*10**3## mA\n",
+ "Iz_max= Iz_max*10**3## mA\n",
+ "print \"The minimum zener current = %.2f mA\"%Iz_min\n",
+ "print \"The maximum zener current = %.2f mA\"%Iz_max\n",
+ "print \"The minimum output voltage = %.2f V\"%Vout_min\n",
+ "print \"The maximum output voltage = %.2f V\"%Vout_max"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exa 3.7 Page No 72"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 7,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The maximum current rating = 16.13 mA\n"
+ ]
+ }
+ ],
+ "source": [
+ "# given data\n",
+ "P= 100.0## power rating = %.2f mW\n",
+ "V= 6.2## V\n",
+ "# The maximum current rating \n",
+ "I_ZM= P/V## mA\n",
+ "print \"The maximum current rating = %.2f mA\"%I_ZM"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exa 3.8 Page No 73"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 8,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The value of I_S = 72.22 mA\n",
+ "The value of I_L = 60.00 mA\n",
+ "The value of I_Z = 12.22 mA\n"
+ ]
+ }
+ ],
+ "source": [
+ "# given data\n",
+ "Vz= 12.0## V\n",
+ "Vout= Vz## V\n",
+ "Vin= 25.0## V\n",
+ "R_S= 180.0## Ω\n",
+ "R_L= 200.0## Ω\n",
+ "# The value of I_S \n",
+ "I_S= (Vin-Vout)/R_S## A\n",
+ "# The value of I_L \n",
+ "I_L= Vout/R_L## A\n",
+ "# The value of I_Z \n",
+ "I_Z= I_S-I_L## A\n",
+ "I_S= I_S*10**3## mA\n",
+ "I_L= I_L*10**3## mA\n",
+ "I_Z= I_Z*10**3## mA\n",
+ "print \"The value of I_S = %.2f mA\"%I_S\n",
+ "print \"The value of I_L = %.2f mA\"%I_L\n",
+ "print \"The value of I_Z = %.2f mA\"%I_Z"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exa 3.9 Page No 73"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 11,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "(i) For 200 Ω load resistance\n",
+ "The value of I_S = 72.22 mA\n",
+ "The value of I_L = 60.00 mA\n",
+ "The value of I_Z = 12.22 mA\n",
+ "(ii) For 400 Ω load resistance\n",
+ "The value of I_S = 72.22 mA\n",
+ "The value of I_L = 30.00 mA\n",
+ "The value of I_Z = 42.22 mA\n",
+ "(iii) For 600 Ω load resistance\n",
+ "The value of I_S = 72.22 mA\n",
+ "The value of I_L = 20.00 mA\n",
+ "The value of I_Z = 52.22 mA\n",
+ "(iv) For 800 Ω load resistance\n",
+ "The value of I_S = 72.22 mA\n",
+ "The value of I_L = 15.00 mA\n",
+ "The value of I_Z = 57.22 mA\n",
+ "(v) For 1 kΩ load resistance\n",
+ "The value of I_S = 72.22 mA\n",
+ "The value of I_L = 12.00 mA\n",
+ "The value of I_Z = 60.22 mA\n"
+ ]
+ }
+ ],
+ "source": [
+ "# given data\n",
+ "print \"(i) For 200 Ω load resistance\"\n",
+ "R_L= 200.0## Ω\n",
+ "Vz= 12.0## V\n",
+ "Vout= Vz## V\n",
+ "Vin= 25.0## V\n",
+ "R_S= 180.0## Ω\n",
+ "# The value of I_S \n",
+ "I_S= (Vin-Vout)/R_S## A\n",
+ "# The value of I_L \n",
+ "I_L= Vout/R_L## A\n",
+ "# The value of I_Z \n",
+ "I_Z= I_S-I_L## A\n",
+ "I_S= I_S*10**3## mA\n",
+ "I_L= I_L*10**3## mA\n",
+ "I_Z= I_Z*10**3## mA\n",
+ "print \"The value of I_S = %.2f mA\"%I_S\n",
+ "print \"The value of I_L = %.2f mA\"%I_L\n",
+ "print \"The value of I_Z = %.2f mA\"%I_Z\n",
+ "print \"(ii) For 400 Ω load resistance\"\n",
+ "R_L= 400## Ω\n",
+ "# The value of I_S \n",
+ "I_S= (Vin-Vout)/R_S## A\n",
+ "# The value of I_L \n",
+ "I_L= Vout/R_L## A\n",
+ "# The value of I_Z \n",
+ "I_Z= I_S-I_L## A\n",
+ "I_S= I_S*10**3## mA\n",
+ "I_L= I_L*10**3## mA\n",
+ "I_Z= I_Z*10**3## mA\n",
+ "print \"The value of I_S = %.2f mA\"%I_S\n",
+ "print \"The value of I_L = %.2f mA\"%I_L\n",
+ "print \"The value of I_Z = %.2f mA\"%I_Z\n",
+ "print \"(iii) For 600 Ω load resistance\"\n",
+ "R_L= 600## Ω\n",
+ "# The value of I_S \n",
+ "I_S= (Vin-Vout)/R_S## A\n",
+ "# The value of I_L \n",
+ "I_L= Vout/R_L## A\n",
+ "# The value of I_Z \n",
+ "I_Z= I_S-I_L## A\n",
+ "I_S= I_S*10**3## mA\n",
+ "I_L= I_L*10**3## mA\n",
+ "I_Z= I_Z*10**3## mA\n",
+ "print \"The value of I_S = %.2f mA\"%I_S\n",
+ "print \"The value of I_L = %.2f mA\"%I_L\n",
+ "print \"The value of I_Z = %.2f mA\"%I_Z\n",
+ "print \"(iv) For 800 Ω load resistance\"\n",
+ "R_L= 800## Ω\n",
+ "# The value of I_S \n",
+ "I_S= (Vin-Vout)/R_S## A\n",
+ "# The value of I_L \n",
+ "I_L= Vout/R_L## A\n",
+ "# The value of I_Z \n",
+ "I_Z= I_S-I_L## A\n",
+ "I_S= I_S*10**3## mA\n",
+ "I_L= I_L*10**3## mA\n",
+ "I_Z= I_Z*10**3## mA\n",
+ "print \"The value of I_S = %.2f mA\"%I_S\n",
+ "print \"The value of I_L = %.2f mA\"%I_L\n",
+ "print \"The value of I_Z = %.2f mA\"%I_Z\n",
+ "print \"(v) For 1 kΩ load resistance\"\n",
+ "R_L= 1*10**3## Ω\n",
+ "# The value of I_S \n",
+ "I_S= (Vin-Vout)/R_S## A\n",
+ "# The value of I_L \n",
+ "I_L= Vout/R_L## A\n",
+ "# The value of I_Z \n",
+ "I_Z= I_S-I_L## A\n",
+ "I_S= I_S*10**3## mA\n",
+ "I_L= I_L*10**3## mA\n",
+ "I_Z= I_Z*10**3## mA\n",
+ "print \"The value of I_S = %.2f mA\"%I_S\n",
+ "print \"The value of I_L = %.2f mA\"%I_L\n",
+ "print \"The value of I_Z = %.2f mA\"%I_Z"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exa 3.10 Page No 73"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 12,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The output voltage = 12.34 V\n"
+ ]
+ }
+ ],
+ "source": [
+ "# given data\n",
+ "R_Z= 7.0## Ω\n",
+ "I_Z1=12.2## mA\n",
+ "I_Z2=60.2## mA\n",
+ "deltaV_Z=(I_Z2-I_Z1)*R_Z## mV\n",
+ "deltaV_Z= deltaV_Z*10**-3## V\n",
+ "Vz= 12## V\n",
+ "# The output voltage,\n",
+ "Vout= Vz+deltaV_Z## V\n",
+ "print \"The output voltage = %.2f V\"%Vout"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exa 3.11 Page No 74"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 13,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The value of I_S = 15.00 mA\n",
+ "The value of I_L = 12.00 mA\n",
+ "The value of I_Z = 3.00 mA\n"
+ ]
+ }
+ ],
+ "source": [
+ "# given data\n",
+ "Vz= 12.0## V\n",
+ "Vin= 15.0## V\n",
+ "R_S= 200.0## Ω\n",
+ "R_L= 1*10**3## Ω\n",
+ "# The value of I_S \n",
+ "I_S= (Vin-Vz)/R_S## A\n",
+ "# The value of I_L \n",
+ "I_L= Vz/R_L## A\n",
+ "# The value of I_Z \n",
+ "I_Z= I_S-I_L## A\n",
+ "I_S= I_S*10**3## mA\n",
+ "I_L= I_L*10**3## mA\n",
+ "I_Z= I_Z*10**3## mA\n",
+ "print \"The value of I_S = %.2f mA\"%I_S\n",
+ "print \"The value of I_L = %.2f mA\"%I_L\n",
+ "print \"The value of I_Z = %.2f mA\"%I_Z"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Exa 3.12 Page No 75"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 15,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "(i) For 15 V input voltage\n",
+ "The value of I_S = 15.00 mA\n",
+ "The value of I_L = 12.00 mA\n",
+ "The value of I_Z = 3.00 mA\n",
+ "(ii) For 20 V input voltage\n",
+ "The value of I_S = 40.00 mA\n",
+ "The value of I_L = 12.00 mA\n",
+ "The value of I_Z = 28.00 mA\n",
+ "(iii) For 25 V input voltage\n",
+ "The value of I_S = 65.00 mA\n",
+ "The value of I_L = 12.00 mA\n",
+ "The value of I_Z = 53.00 mA\n",
+ "(iv) For 30 V input voltage\n",
+ "The value of I_S = 90.00 mA\n",
+ "The value of I_L = 12.00 mA\n",
+ "The value of I_Z = 78.00 mA\n",
+ "(v) For 35 V input voltage\n",
+ "The value of I_S = 115.00 mA\n",
+ "The value of I_L = 12.00 mA\n",
+ "The value of I_Z = 103.00 mA\n"
+ ]
+ }
+ ],
+ "source": [
+ "# given data\n",
+ "print \"(i) For 15 V input voltage\"\n",
+ "Vin= 15.0## V\n",
+ "Vz= 12.0## V\n",
+ "R_S= 200.0## Ω\n",
+ "R_L= 1*10**3## Ω\n",
+ "# The value of I_S \n",
+ "I_S= (Vin-Vz)/R_S## A\n",
+ "# The value of I_L \n",
+ "I_L= Vz/R_L## A\n",
+ "# The value of I_Z \n",
+ "I_Z= I_S-I_L## A\n",
+ "I_S= I_S*10**3## mA\n",
+ "I_L= I_L*10**3## mA\n",
+ "I_Z= I_Z*10**3## mA\n",
+ "print \"The value of I_S = %.2f mA\"%I_S\n",
+ "print \"The value of I_L = %.2f mA\"%I_L\n",
+ "print \"The value of I_Z = %.2f mA\"%I_Z\n",
+ "print \"(ii) For 20 V input voltage\"\n",
+ "Vin= 20## V\n",
+ "# The value of I_S \n",
+ "I_S= (Vin-Vz)/R_S## A\n",
+ "# The value of I_L \n",
+ "I_L= Vz/R_L## A\n",
+ "# The value of I_Z \n",
+ "I_Z= I_S-I_L## A\n",
+ "I_S= I_S*10**3## mA\n",
+ "I_L= I_L*10**3## mA\n",
+ "I_Z= I_Z*10**3## mA\n",
+ "print \"The value of I_S = %.2f mA\"%I_S\n",
+ "print \"The value of I_L = %.2f mA\"%I_L\n",
+ "print \"The value of I_Z = %.2f mA\"%I_Z\n",
+ "print \"(iii) For 25 V input voltage\"\n",
+ "Vin= 25## V\n",
+ "# The value of I_S \n",
+ "I_S= (Vin-Vz)/R_S## A\n",
+ "# The value of I_L \n",
+ "I_L= Vz/R_L## A\n",
+ "# The value of I_Z \n",
+ "I_Z= I_S-I_L## A\n",
+ "I_S= I_S*10**3## mA\n",
+ "I_L= I_L*10**3## mA\n",
+ "I_Z= I_Z*10**3## mA\n",
+ "print \"The value of I_S = %.2f mA\"%I_S\n",
+ "print \"The value of I_L = %.2f mA\"%I_L\n",
+ "print \"The value of I_Z = %.2f mA\"%I_Z\n",
+ "print \"(iv) For 30 V input voltage\"\n",
+ "Vin= 30## V\n",
+ "# The value of I_S \n",
+ "I_S= (Vin-Vz)/R_S## A\n",
+ "# The value of I_L \n",
+ "I_L= Vz/R_L## A\n",
+ "# The value of I_Z \n",
+ "I_Z= I_S-I_L## A\n",
+ "I_S= I_S*10**3## mA\n",
+ "I_L= I_L*10**3## mA\n",
+ "I_Z= I_Z*10**3## mA\n",
+ "print \"The value of I_S = %.2f mA\"%I_S\n",
+ "print \"The value of I_L = %.2f mA\"%I_L\n",
+ "print \"The value of I_Z = %.2f mA\"%I_Z\n",
+ "print \"(v) For 35 V input voltage\"\n",
+ "Vin= 35## V\n",
+ "# The value of I_S \n",
+ "I_S= (Vin-Vz)/R_S## A\n",
+ "# The value of I_L \n",
+ "I_L= Vz/R_L## A\n",
+ "# The value of I_Z \n",
+ "I_Z= I_S-I_L## A\n",
+ "I_S= I_S*10**3## mA\n",
+ "I_L= I_L*10**3## mA\n",
+ "I_Z= I_Z*10**3## mA\n",
+ "print \"The value of I_S = %.2f mA\"%I_S\n",
+ "print \"The value of I_L = %.2f mA\"%I_L\n",
+ "print \"The value of I_Z = %.2f mA\"%I_Z"
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 2",
+ "language": "python",
+ "name": "python2"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 2
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython2",
+ "version": "2.7.9"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/Semiconductor_circuit_approximations_by_A.P._Malvino/ch4.ipynb b/Semiconductor_circuit_approximations_by_A.P._Malvino/ch4.ipynb
new file mode 100644
index 00000000..deaeced8
--- /dev/null
+++ b/Semiconductor_circuit_approximations_by_A.P._Malvino/ch4.ipynb
@@ -0,0 +1,277 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Chapter 4 Diode Applications"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 4.1 Page No 83"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The dc voltage across the load resistor = 17.99 volts\n",
+ "The peak inverse voltage across the diode = 56.58 volts\n",
+ "The dc current through the diode = 0.90 A\n"
+ ]
+ }
+ ],
+ "source": [
+ "# given data\n",
+ "V2rms= 40.0## V\n",
+ "R_L= 20.0## Ω\n",
+ "V2peak= V2rms/0.707## V\n",
+ "Vout_peak= V2peak## V\n",
+ "# The dc voltage across the load resistor \n",
+ "Vdc=0.318*Vout_peak## V\n",
+ "#The peak inverse voltage across the diode \n",
+ "PIV= V2peak## V\n",
+ "Idc= Vdc/R_L## A\n",
+ "# The dc current through the diode \n",
+ "I_diode= Idc## A\n",
+ "print \"The dc voltage across the load resistor = %.2f volts\"%Vdc\n",
+ "print \"The peak inverse voltage across the diode = %.2f volts\"%PIV\n",
+ "print \"The dc current through the diode = %.2f A\"%I_diode"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 4.2 Page No 86"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The dc load voltage = 17.99 volts\n",
+ "The peak inverse voltage across each diode = 56.58 volts\n",
+ "The dc current through each diode = 0.45 A\n"
+ ]
+ }
+ ],
+ "source": [
+ "# given data\n",
+ "Vrms= 40.0## V\n",
+ "R_L= 20.0## Ω\n",
+ "V2peak= Vrms/0.707## V\n",
+ "Vout_peak= V2peak/2## V\n",
+ "# The dc load voltage \n",
+ "Vdc=0.636*Vout_peak## V\n",
+ "# The peak inverse voltage across each diode \n",
+ "PIV= V2peak## V\n",
+ "Idc= Vdc/R_L## A\n",
+ "# The dc current through each diode \n",
+ "I_diode= Idc/2## A\n",
+ "print \"The dc load voltage = %.2f volts\"%Vdc\n",
+ "print \"The peak inverse voltage across each diode = %.2f volts\"%PIV\n",
+ "print \"The dc current through each diode = %.2f A\"%I_diode"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 4.3 Page No 88"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The dc load voltage = 35.98 volts\n",
+ "The peak inverse voltage across each diode = 56.58 volts\n",
+ "The dc current through each diode = 0.90 A\n"
+ ]
+ }
+ ],
+ "source": [
+ "# given data\n",
+ "Vrms= 40.0## V\n",
+ "R_L= 20.0## Ω\n",
+ "V2peak= Vrms/0.707## V\n",
+ "Vout_peak= V2peak## V\n",
+ "# The value of Vdc \n",
+ "Vdc=0.636*Vout_peak## V\n",
+ "# The value of PIV \n",
+ "PIV= V2peak## V\n",
+ "Idc= Vdc/R_L## A\n",
+ "#The value of I_diode\n",
+ "I_diode= Idc/2## A\n",
+ "print \"The dc load voltage = %.2f volts\"%Vdc\n",
+ "print \"The peak inverse voltage across each diode = %.2f volts\"%PIV\n",
+ "print \"The dc current through each diode = %.2f A\"%I_diode"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 4.6 Page No 94"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 4,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The peak-to-peak ripple = 4.72 volts\n",
+ "The dc load voltage = 54.24 volts\n"
+ ]
+ }
+ ],
+ "source": [
+ "# given data\n",
+ "Vdc= 56.6## V\n",
+ "R_L= 100.0## Ω\n",
+ "f=120.0## Hz\n",
+ "C= 1000.0## µF\n",
+ "C= C*10**-6## F\n",
+ "V2peak= Vdc## V\n",
+ "Idc= Vdc/R_L## A\n",
+ "# The peak-to-peak ripple \n",
+ "Vrip= Idc/(f*C)## V\n",
+ "# The dc load voltage \n",
+ "Vdc= V2peak-Vrip/2## V\n",
+ "print \"The peak-to-peak ripple = %.2f volts\"%Vrip\n",
+ "print \"The dc load voltage = %.2f volts\"%Vdc"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 4.8 Page No 98"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 7,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The zener current = 5.36 mA\n"
+ ]
+ }
+ ],
+ "source": [
+ "# given data\n",
+ "V2rms= 12.6## V\n",
+ "V_Z= 6.8## V\n",
+ "V2peak= V2rms/0.707## V\n",
+ "Vin= V2peak## V\n",
+ "Vout= V_Z## V\n",
+ "R_L= 1.2## kΩ\n",
+ "R_L= R_L*10**3##in Ω\n",
+ "Rs= 1## kΩ\n",
+ "Rs= Rs*10**3## Ω\n",
+ "Is= (Vin-Vout)/Rs## A\n",
+ "I_L= Vout/R_L## A\n",
+ "# The zener current \n",
+ "Iz= Is-I_L## A\n",
+ "Iz= Iz*10**3## mA\n",
+ "print \"The zener current = %.2f mA\"%Iz\n",
+ "# Note: The calculation = %.2f the book is not accurate.\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 4.9 Page No 98"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 8,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The ripple across the load resistance = 4.56 mV\n"
+ ]
+ }
+ ],
+ "source": [
+ "# given data\n",
+ "C= 100.0##in µF\n",
+ "C= C*10**-6## F\n",
+ "Rz= 5.0##in Ω\n",
+ "Rs= 1.0*10**3##in Ω\n",
+ "Idc= 11.0*10**-3##in A\n",
+ "f=120.0##in Hz\n",
+ "Vin_rip= Idc/(f*C)## V\n",
+ "# The ripple across the load resistance \n",
+ "Vout_rip= Rz*Vin_rip/(Rs+Rz)##in A\n",
+ "Vout_rip= Vout_rip*10**3## mV\n",
+ "print \"The ripple across the load resistance = %.2f mV\"%Vout_rip"
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 2",
+ "language": "python",
+ "name": "python2"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 2
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython2",
+ "version": "2.7.9"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/Semiconductor_circuit_approximations_by_A.P._Malvino/ch5.ipynb b/Semiconductor_circuit_approximations_by_A.P._Malvino/ch5.ipynb
new file mode 100644
index 00000000..add61935
--- /dev/null
+++ b/Semiconductor_circuit_approximations_by_A.P._Malvino/ch5.ipynb
@@ -0,0 +1,533 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Chapter 5 Bipolar Transistors"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 5.1 Page No 125"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The dc voltage between the collector and emitter = 16.12 volts\n"
+ ]
+ }
+ ],
+ "source": [
+ "# given data\n",
+ "V_BB= 10##in V\n",
+ "V_BE= 0.7##in V\n",
+ "V_CC= 20## V\n",
+ "R_B= 1.5## MΩ\n",
+ "R_B= R_B*10**6##in Ω\n",
+ "R_C= 5*10**3##in Ω\n",
+ "bita= 125## unit less\n",
+ "I_B= (V_BB-V_BE)/R_B##in A\n",
+ "I_C= bita*I_B##in A\n",
+ "# The dc voltage between the collector and emitter \n",
+ "V_CE= V_CC-I_C*R_C##in V\n",
+ "print \"The dc voltage between the collector and emitter = %.2f volts\"%V_CE"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 5.2 Page No 125"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "data": {
+ "image/png": "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\n",
+ "text/plain": [
+ "<matplotlib.figure.Figure at 0x7fddb9364090>"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "from numpy import arange\n",
+ "%matplotlib inline\n",
+ "from matplotlib.pyplot import plot,xlabel,ylabel,title,show\n",
+ "# given data\n",
+ "V_CC= 30## V\n",
+ "R_C= 1.5##in kΩ\n",
+ "Ver_intercept= V_CC/R_C##in mA\n",
+ "Hor_intercept= V_CC## V\n",
+ "V_CE= arange(0,0.1+Hor_intercept,0.1) #V\n",
+ "I_C= [(V_CC-VCE)/R_C for VCE in V_CE] ## mA\n",
+ "# DC load line\n",
+ "plot(V_CE,I_C)\n",
+ "xlabel(\"V_CE in volts\")\n",
+ "ylabel(\"I_C in mA\")\n",
+ "title(\"DC load line\")\n",
+ "show()"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 5.3 Page No 126"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 4,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The value of I_C = 6.01 mA\n",
+ "The value of V_CE = 20.98 volts\n"
+ ]
+ }
+ ],
+ "source": [
+ "# given data\n",
+ "V_BE= 0.7##in V\n",
+ "V_CC= 30## V\n",
+ "R_B= 390## kΩ\n",
+ "R_B= R_B*10**3##in Ω\n",
+ "R_C= 1.5*10**3##in Ω\n",
+ "bita= 80## unit less\n",
+ "I_B= (V_CC-V_BE)/R_B##in A\n",
+ "# The collector current,\n",
+ "I_C= bita*I_B##in A\n",
+ "# The value of V_CE\n",
+ "V_CE= V_CC-I_C*R_C##in V\n",
+ "I_C= I_C*10**3## mA\n",
+ "print \"The value of I_C = %.2f mA\"%I_C\n",
+ "print \"The value of V_CE = %.2f volts\"%V_CE"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 5.4 Page No 126"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 6,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The LED current = 18.00 mA\n",
+ "The value of Vin = 6.34 volts\n"
+ ]
+ }
+ ],
+ "source": [
+ "# given data\n",
+ "V_BE= 0.7## V\n",
+ "V_LED= 2.0##in V\n",
+ "V_CC= 20## V\n",
+ "R_B= 47## kΩ\n",
+ "R_B= R_B*10**3##in Ω\n",
+ "R_C= 1*10**3##in Ω\n",
+ "bita= 150## unit less\n",
+ "# The LED current\n",
+ "I_LED= (V_CC-V_LED)/R_C## A\n",
+ "I_Csat= I_LED## A\n",
+ "I_Bsat= I_Csat/bita## A\n",
+ "# The input voltage,\n",
+ "V_IN= I_Bsat*R_B+V_BE##in V\n",
+ "I_LED= I_LED*10**3## mA\n",
+ "print \"The LED current = %.2f mA\"%I_LED\n",
+ "print \"The value of Vin = %.2f volts\"%V_IN"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 5.5 Page No 129"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 8,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The collector voltage = 22.56 volts\n"
+ ]
+ }
+ ],
+ "source": [
+ "# given data\n",
+ "Vz= 10## V\n",
+ "V_BE= 0.7## V\n",
+ "V_CC= 30.0## V\n",
+ "R_E= 5## kΩ\n",
+ "R_E= R_E*10**3##in Ω\n",
+ "R_C= 4## kΩ\n",
+ "R_C= R_C*10**3##in Ω\n",
+ "V_E= Vz-V_BE## V\n",
+ "I_E= V_E/R_E## A\n",
+ "I_C= I_E## A\n",
+ "# The collector voltage\n",
+ "V_C= V_CC-I_C*R_C## V\n",
+ "print \"The collector voltage = %.2f volts\"%V_C"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 5.6 Page No 130"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 10,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The collector voltage = 18.40 volts\n"
+ ]
+ }
+ ],
+ "source": [
+ "# given data\n",
+ "V_BE= 0.7## V\n",
+ "R2= 1*10**3##in Ω\n",
+ "R1= 3.9*10**3##in Ω\n",
+ "R_E= 100## Ω\n",
+ "R_C= 150## kΩ\n",
+ "V_CC= 25.0## V\n",
+ "Vz= R2*V_CC/(R1+R2)## V\n",
+ "V_E= Vz-V_BE## V\n",
+ "I_E= V_E/R_E## A\n",
+ "I_C= I_E## A\n",
+ "# The collector voltage \n",
+ "V_C= V_CC-I_C*R_C## V\n",
+ "print \"The collector voltage = %.2f volts\"%V_C"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 5.7 Page No 130"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 11,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "In the first stage the collector voltage = 12.85 volts\n",
+ "In the second stage the collector voltage = 10.09 volts\n"
+ ]
+ }
+ ],
+ "source": [
+ "# given data\n",
+ "R_E= 2*10**3## Ω\n",
+ "R_C= 1*10**3## kΩ\n",
+ "V_E= 4.3##in V\n",
+ "V_CC= 15.0## V\n",
+ "I_E= V_E/R_E## A\n",
+ "I_C= I_E##in A\n",
+ "# = %.2f the first stage the collector voltage \n",
+ "V_C= V_CC-I_C*R_C## A\n",
+ "print \"In the first stage the collector voltage = %.2f volts\"%V_C\n",
+ "# Second stage\n",
+ "V_E= 2.3## V\n",
+ "R_E= 220## Ω\n",
+ "R_C= 470## Ω\n",
+ "I_E= V_E/R_E## A\n",
+ "I_C= I_E##in A\n",
+ "# = %.2f the second stage the collector voltage \n",
+ "V_C= V_CC-I_C*R_C## A\n",
+ "print \"In the second stage the collector voltage = %.2f volts\"%V_C\n",
+ "\n",
+ "# Note : In the book, the calculated value of collector voltage in first stage is not accurate."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 5.8 Page No 133"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 12,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The minimum value of collector current = 0.98 mA\n",
+ "The maximum value of collector current = 2.93 mA\n"
+ ]
+ }
+ ],
+ "source": [
+ "# given data\n",
+ "V_BE= 0.7##in V\n",
+ "V_CC= 30## V\n",
+ "R_B= 3*10**6## Ω\n",
+ "bitamin= 100## unit less\n",
+ "bitamax= 300## unit less\n",
+ "I_B= (V_CC-V_BE)/R_B## A\n",
+ "# The minimum value of collector current \n",
+ "I_Cmin= bitamin*I_B## A\n",
+ "# The maximum value of collector current \n",
+ "I_Cmax= bitamax*I_B## A\n",
+ "I_Cmin= I_Cmin*10**3## mA\n",
+ "I_Cmax= I_Cmax*10**3## mA\n",
+ "print \"The minimum value of collector current = %.2f mA\"%I_Cmin\n",
+ "print \"The maximum value of collector current = %.2f mA\"%I_Cmax"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 5.9 Page No 139"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 13,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The value of I_C = 9.33 mA\n",
+ "The value of V_CE = 5.58 volts\n"
+ ]
+ }
+ ],
+ "source": [
+ "# given data\n",
+ "V_BE= 0.7##in V\n",
+ "V_CC= 15## V\n",
+ "R_E= 100## Ω\n",
+ "R_C= 910## Ω\n",
+ "R_B= 430*10**3## Ω\n",
+ "bita= 300## unit less\n",
+ "# The collector current,\n",
+ "I_C= (V_CC-V_BE)/(R_E+R_B/bita)## A\n",
+ "I_C= I_C*10**3## mA\n",
+ "print \"The value of I_C = %.2f mA\"%I_C\n",
+ "I_C= I_C*10**-3## A\n",
+ "# The collector to emitter voltage,\n",
+ "V_CE= V_CC-I_C*(R_C+R_E)## V\n",
+ "print \"The value of V_CE = %.2f volts\"%V_CE"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 5.10 Page No 140"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 14,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The value of I_C = 8.58 mA\n",
+ "The value of V_CE = 6.42 volts\n"
+ ]
+ }
+ ],
+ "source": [
+ "# given data\n",
+ "V_BE= 0.7##in V\n",
+ "V_CC= 15## V\n",
+ "R_C= 1*10**3## Ω\n",
+ "R_B= 200*10**3## Ω\n",
+ "bita= 300## unit less\n",
+ "# The collector current,\n",
+ "I_C= (V_CC-V_BE)/(R_C+R_B/bita)## A\n",
+ "I_C=I_C*10**3## mA\n",
+ "print \"The value of I_C = %.2f mA\"%I_C\n",
+ "I_C=I_C*10**-3## A\n",
+ "# The collector to emitter voltage,\n",
+ "V_CE= V_CC-I_C*R_C## V\n",
+ "print \"The value of V_CE = %.2f volts\"%V_CE"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 5.11 Page No 140"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 15,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The value of I_C = 1.43 mA\n",
+ "The value of V_CE = 8.41 volts\n"
+ ]
+ }
+ ],
+ "source": [
+ "# given data\n",
+ "V_BE= 0.7##in V\n",
+ "V_CC= 15## V\n",
+ "V_EE= 15## V\n",
+ "R_E= 10*10**3## Ω\n",
+ "R_C= 5.1*10**3## Ω\n",
+ "I_E= (V_EE-V_BE)/R_E## A\n",
+ "# The collector current,\n",
+ "I_C= I_E## A\n",
+ "V_C= V_CC-I_C*R_C## A\n",
+ "V_E= -V_BE## V\n",
+ "V_CE= V_C-V_E## V\n",
+ "# The collector to emitter voltage,\n",
+ "V_CE= V_CC+V_EE-I_C*(R_C+R_E)\n",
+ "I_C= I_C*10**3## mA\n",
+ "print \"The value of I_C = %.2f mA\"%I_C\n",
+ "print \"The value of V_CE = %.2f volts\"%V_CE"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 5.12 Page No 142"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 16,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "For first stage the collector voltage to ground = 22.93 volts\n",
+ "For second stage the collector voltage to ground = 13.95 volts\n"
+ ]
+ }
+ ],
+ "source": [
+ "# given data\n",
+ "V_BE= 0.7##in V\n",
+ "V_CC= 30## V\n",
+ "Vz= 6## V\n",
+ "R_E= 3*10**3## Ω\n",
+ "R_C= 4*10**3## Ω\n",
+ "I_E= (Vz-V_BE)/R_E## A\n",
+ "I_C= I_E## A\n",
+ "# For first stage the collector voltage to ground \n",
+ "V_C= V_CC-I_C*R_C## v\n",
+ "print \"For first stage the collector voltage to ground = %.2f volts\"%V_C\n",
+ "Vz= 10## V\n",
+ "R_E= 2*10**3##in Ω\n",
+ "R_C= 3*10**3## Ω\n",
+ "I_E= (Vz-V_BE)/R_E## A\n",
+ "I_C= I_E## A\n",
+ "# For second stage the collector voltage to ground \n",
+ "V_C= I_C*R_C## v\n",
+ "print \"For second stage the collector voltage to ground = %.2f volts\"%V_C"
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 2",
+ "language": "python",
+ "name": "python2"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 2
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython2",
+ "version": "2.7.9"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/Semiconductor_circuit_approximations_by_A.P._Malvino/ch6.ipynb b/Semiconductor_circuit_approximations_by_A.P._Malvino/ch6.ipynb
new file mode 100644
index 00000000..88fb93a3
--- /dev/null
+++ b/Semiconductor_circuit_approximations_by_A.P._Malvino/ch6.ipynb
@@ -0,0 +1,463 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Chapter 6 Common-Emitter Approximations"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 6.2 Page No 153"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The total voltage across the 10 Ω resistance = 9.99 mV is :\n"
+ ]
+ }
+ ],
+ "source": [
+ "# given data\n",
+ "R1= 10.0## Ω\n",
+ "R2= 10010## Ω\n",
+ "V1= 10## V\n",
+ "# The total voltage across the 10 Ω resistance \n",
+ "V= R1/R2*V1## V\n",
+ "V= V*10**3## mV\n",
+ "print \"The total voltage across the 10 Ω resistance = %.2f mV is :\"%V"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 6.3 Page No 156"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The total current through diode = 57.20 µA\n"
+ ]
+ }
+ ],
+ "source": [
+ "# given data\n",
+ "R= 10*10**3## Ω\n",
+ "V_CC= 15## V\n",
+ "V_BE= 0.7## V\n",
+ "Vt= 25*10**-3## V\n",
+ "Vp= 1*10**-3## V\n",
+ "I= (V_CC-V_BE)/R## A\n",
+ "r_ac= Vt/I## Ω\n",
+ "# The total current through diode \n",
+ "Ip= Vp/r_ac## A\n",
+ "Ip= Ip*10**6## µA\n",
+ "print \"The total current through diode = %.2f µA\"%Ip"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 6.4 Page No 162"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 4,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The output voltage = 381.26 mV\n",
+ "The input impedance of amplifier = 4.14 kΩ\n"
+ ]
+ }
+ ],
+ "source": [
+ "# given data\n",
+ "R1= 47*10**3## Ω\n",
+ "R2= 15*10**3## Ω\n",
+ "R_E= 8.2*10**3## Ω\n",
+ "R_C= 10*10**3## Ω\n",
+ "R3= 3.3*10**3## Ω\n",
+ "bita= 200#\n",
+ "V_CC= 30## V\n",
+ "V_BE= 0.7## V\n",
+ "Vin= 5*10**-3##in V\n",
+ "Vt= 25*10**-3## V\n",
+ "V2= R2*V_CC/(R1+R2)## V\n",
+ "# DC voltage across emitter\n",
+ "V_E= V2-V_BE## V\n",
+ "# Emitter current\n",
+ "I_E= V_E/R_E## A\n",
+ "r_desh_e= Vt/I_E## Ω\n",
+ "r_L= R_C*R3/(R_C+R3)##in Ω\n",
+ "A= r_L/r_desh_e#\n",
+ "# The output voltage \n",
+ "Vout= A*Vin## V\n",
+ "Zin_base= bita*r_desh_e## Ω\n",
+ "# The input impedance of amplifier \n",
+ "Zin= R1*R2*Zin_base/(R2*Zin_base+R1*Zin_base+R1*R2)## Ω\n",
+ "Vout= Vout*10**3## mV\n",
+ "Zin= Zin*10**-3## k ohm\n",
+ "print \"The output voltage = %.2f mV\"%Vout\n",
+ "print \"The input impedance of amplifier = %.2f kΩ\"%Zin"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 6.5 Page No 163"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 5,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The base voltage = 1.80 V\n",
+ "The collector voltage = 6.04 V\n"
+ ]
+ }
+ ],
+ "source": [
+ "# given data\n",
+ "R1= 10*10**3## Ω\n",
+ "R2= 2.2*10**3## Ω\n",
+ "R_C= 3.6*10**3## Ω\n",
+ "V_CC= 10## V\n",
+ "I_C= 1.1*10**-3## A\n",
+ "# The base voltage \n",
+ "V_B= R2*V_CC/(R1+R2)## V\n",
+ "# The collector voltage \n",
+ "V_C= V_CC-I_C*R_C## V\n",
+ "print \"The base voltage = %.2f V\"%V_B\n",
+ "print \"The collector voltage = %.2f V\"%V_C"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 6.6 Page No 164"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 6,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The output voltage = 158.40 mV\n"
+ ]
+ }
+ ],
+ "source": [
+ "# given data\n",
+ "V2= 1.1## V\n",
+ "Vin= 1*10**-3## V\n",
+ "Vt= 25*10**-3## V\n",
+ "R2= 1*10**3## Ω\n",
+ "R_C= 3.6*10**3## Ω\n",
+ "I_E= V2/R2## A\n",
+ "# Emitter diode ac resistance\n",
+ "r_desh_e= Vt/I_E## Ω\n",
+ "A= R_C/r_desh_e#\n",
+ "# The output voltage \n",
+ "Vout= A*Vin## V\n",
+ "Vout= Vout*10**3## mV\n",
+ "print \"The output voltage = %.2f mV\"%Vout"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 6.7 Page No 167"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 8,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The minimum voltage gain = 89.00\n",
+ "The maximum voltage gain = 178.00\n"
+ ]
+ }
+ ],
+ "source": [
+ "# given data\n",
+ "R_C= 10*10**3## Ω\n",
+ "R_L= 82*10**3## Ω\n",
+ "r_E= 1*10**3## Ω\n",
+ "r_desh_e_min= 50## Ω\n",
+ "r_desh_e_max= 100## Ω\n",
+ "r_L= R_C*R_L/(R_C+R_L)## Ω\n",
+ "# The minimum voltage gain \n",
+ "A_min= r_L/r_desh_e_max#\n",
+ "# The maximum voltage gain \n",
+ "A_max= r_L/r_desh_e_min#\n",
+ "print \"The minimum voltage gain = %.2f\"%A_min\n",
+ "print \"The maximum voltage gain = %.2f\"%A_max"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 6.8 Page No 169"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 9,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The input impedance of the amplifier = 10.79 kΩ\n"
+ ]
+ }
+ ],
+ "source": [
+ "# given data\n",
+ "bita= 200#\n",
+ "R1= 47*10**3## Ω\n",
+ "R2= 15*10**3## Ω\n",
+ "r_E= 1*10**3## Ω\n",
+ "r_desh_e= 50## Ω\n",
+ "Zin_base= bita*(r_E+r_desh_e)## Ω\n",
+ "# The input impedance of the amplifier \n",
+ "Zin= R1*R2*Zin_base/(R1*R2+R1*Zin_base+R2*Zin_base)## Ω\n",
+ "Zin= Zin*10**-3## k ohm\n",
+ "print \"The input impedance of the amplifier = %.2f kΩ\"%Zin"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 6.9 Page No 171"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 10,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The input impedance of each stage = 1.18 kΩ\n"
+ ]
+ }
+ ],
+ "source": [
+ "# given data\n",
+ "bita= 150#\n",
+ "R1= 10*10**3## Ω\n",
+ "R2= 2.2*10**3## Ω\n",
+ "R_E= 1*10**3## Ω\n",
+ "V_CC= 10## V\n",
+ "V_BE= 0.7## V\n",
+ "Vt= 25*10**-3## V\n",
+ "V_B= R2*V_CC/(R1+R2)## V\n",
+ "V_E= V_B-V_BE## V\n",
+ "# The emitter current,\n",
+ "I_E= V_E/R_E## A\n",
+ "r_desh_e= Vt/I_E## Ω\n",
+ "Zin_base= bita*r_desh_e## Ω\n",
+ "# The input impedance of each stage \n",
+ "Zin= R1*R2*Zin_base/(R1*R2+R1*Zin_base+R2*Zin_base)## Ω\n",
+ "Zin= Zin*10**-3## k ohm\n",
+ "print \"The input impedance of each stage = %.2f kΩ\"%Zin"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 6.10 Page No 172"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 11,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The ac output voltage across the final load resistor = 0.99 volts\n"
+ ]
+ }
+ ],
+ "source": [
+ "# given data\n",
+ "bita= 150#\n",
+ "R1= 10*10**3## Ω\n",
+ "R2= 2.2*10**3## Ω\n",
+ "R_E= 1*10**3## Ω\n",
+ "Rs= 1*10**3## Ω\n",
+ "R_C= 3.6*10**3## Ω\n",
+ "R_L= 1.5*10**3## Ω\n",
+ "V_CC= 10## V\n",
+ "V_BE= 0.7## V\n",
+ "Vt= 25*10**-3## V\n",
+ "Vin= 1*10**-3## V\n",
+ "V_B= R2*V_CC/(R1+R2)## V\n",
+ "V_E= V_B-V_BE## V\n",
+ "I_E= V_E/R_E## A\n",
+ "r_desh_e= Vt/I_E## Ω\n",
+ "Zin_base= bita*r_desh_e## Ω\n",
+ "Zin= R1*R2*Zin_base/(R1*R2+R1*Zin_base+R2*Zin_base)## Ω\n",
+ "Vb1= Zin*Vin/(Rs+Zin)## V\n",
+ "r_L= R_C*Zin/(R_C+Zin)## Ω\n",
+ "V_B= R2*V_CC/(R1+R2)## V\n",
+ "V_E= V_B-V_BE## V\n",
+ "I_E= V_E/R_E## A\n",
+ "r_desh_e= Vt/I_E## Ω\n",
+ "A1= r_L/r_desh_e#\n",
+ "Vb2= A1*Vb1## V\n",
+ "r_L= R_C*R_L/(R_C+R_L)## Ω\n",
+ "A2= r_L/r_desh_e#\n",
+ "# The ac output voltage across the final load resistor \n",
+ "Vout= A2*Vb2## V\n",
+ "A= A1*A2#\n",
+ "Vout= A*Vb1## V\n",
+ "print \"The ac output voltage across the final load resistor = %.2f volts\"%Vout"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 6.11 Page No 173"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 12,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The ac voltage at the final output = 18.77 mV\n"
+ ]
+ }
+ ],
+ "source": [
+ "# given data\n",
+ "bita= 150#\n",
+ "R1= 10*10**3## Ω\n",
+ "R2= 2.2*10**3## Ω\n",
+ "R_C= 3.6*10**3## Ω\n",
+ "Rs= 1*10**3## Ω\n",
+ "R_L= 1.5*10**3## Ω\n",
+ "r_E= 180## Ω\n",
+ "R_E= 1*10**3## Ω\n",
+ "V_CC= 10## V\n",
+ "V_BE= 0.7## V\n",
+ "Vt= 25*10**-3## V\n",
+ "Vin= 1*10**-3## V\n",
+ "V_B= R2*V_CC/(R1+R2)## V\n",
+ "V_E= V_B-V_BE## V\n",
+ "I_E= V_E/R_E## A\n",
+ "r_desh_e= Vt/I_E## Ω\n",
+ "Zin_base= bita*(r_desh_e+r_E)## Ω\n",
+ "Zin= R1*R2*Zin_base/(R1*R2+R1*Zin_base+R2*Zin_base)## Ω\n",
+ "r_L= R_C*Zin/(R_C+Zin)## Ω\n",
+ "A1= r_L/(r_E+r_desh_e)#\n",
+ "r_L= R_C*R_L/(R_C+R_L)## Ω\n",
+ "A2= r_L/(r_desh_e+r_E)#\n",
+ "A= A1*A2#\n",
+ "Vb1= Zin*Vin/(Rs+Zin)## V\n",
+ "# The ac voltage at the final output \n",
+ "Vout= A*Vb1## V\n",
+ "Vout= Vout*10**3## mV\n",
+ "print \"The ac voltage at the final output = %.2f mV\"%Vout"
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 2",
+ "language": "python",
+ "name": "python2"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 2
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython2",
+ "version": "2.7.9"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/Semiconductor_circuit_approximations_by_A.P._Malvino/ch7.ipynb b/Semiconductor_circuit_approximations_by_A.P._Malvino/ch7.ipynb
new file mode 100644
index 00000000..b33f9654
--- /dev/null
+++ b/Semiconductor_circuit_approximations_by_A.P._Malvino/ch7.ipynb
@@ -0,0 +1,441 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Chapter 7 Common-Collector Approximations"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 7.1 Page No 183"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Q-point = (5.70V,10.00mA)\n",
+ "DC load line shown in figure\n"
+ ]
+ },
+ {
+ "data": {
+ "image/png": "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\nYII=\n",
+ "text/plain": [
+ "<matplotlib.figure.Figure at 0x7f83366aa1d0>"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "from numpy import arange\n",
+ "%matplotlib inline\n",
+ "from matplotlib.pyplot import show,title,ylabel,xlabel,plot\n",
+ "# given data\n",
+ "V_CC= 10## V\n",
+ "R_E= 430## Ω\n",
+ "V_BE= 0.7##in V\n",
+ "V_B= 5##in V\n",
+ "# The collector saturation current,\n",
+ "I_Csat= V_CC/R_E## A\n",
+ "# The collector emitter voltage,\n",
+ "V_CEcutoff= V_CC## V\n",
+ "# The collector current,\n",
+ "I_C= (V_B-V_BE)/R_E## A\n",
+ "# The collector emitter voltage,\n",
+ "V_CE= V_CC-(V_B-V_BE)## V\n",
+ "I_C= I_C*10**3## mA\n",
+ "print \"Q-point = (%.2fV,%.2fmA)\"%(V_CE,I_C)\n",
+ "print \"DC load line shown in figure\"\n",
+ "I_C= I_C*10**-3## A\n",
+ "V_CE= arange(0,0.1+V_CEcutoff,0.1) # V\n",
+ "I_C= (V_CC-V_CE)/R_E*10**3## mA\n",
+ "# The plot of DC load line\n",
+ "plot(V_CE,I_C)#\n",
+ "xlabel(\"V_CE in volts\")\n",
+ "ylabel(\"I_C in mA\")\n",
+ "title(\"DC load line\")\n",
+ "show()"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ " ## Example 7.2 Page No 184"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 4,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The output voltage = 99.17 mV\n"
+ ]
+ }
+ ],
+ "source": [
+ "# given data\n",
+ "Vin= 100## mV\n",
+ "Vin= Vin*10**-3## V\n",
+ "R_E= 430## Ω\n",
+ "R_L= 1*10**3## Ω\n",
+ "r_e= 2.5## Ω\n",
+ "# The ac load resistance,\n",
+ "r_L= R_E*R_L/(R_E+R_L)## Ω\n",
+ "A= r_L/(r_L+r_e)## unit less\n",
+ "# The output voltage \n",
+ "Vout= A*Vin## V\n",
+ "Vout= Vout*10**3## mV\n",
+ "print \"The output voltage = %.2f mV\"%Vout"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 7.3 Page No 186"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 6,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The voltge gain = 0.97\n",
+ "The input impedence = 3.85 kΩ\n"
+ ]
+ }
+ ],
+ "source": [
+ "# given data\n",
+ "R_E= 430## Ω\n",
+ "R_L= 100## Ω\n",
+ "R1= 10*10**3## Ω\n",
+ "R2= 10*10**3## Ω\n",
+ "bita= 200## unit less\n",
+ "r_e= 2.5## Ω\n",
+ "r_L= R_E*R_L/(R_E+R_L)## Ω\n",
+ "# The voltge gain \n",
+ "A= r_L/(r_L+r_e)#\n",
+ "print \"The voltge gain = %.2f\"%A\n",
+ "Zin_base= bita*(r_L+r_e)## Ω\n",
+ "# The input impedence \n",
+ "Zin= R1*R2*Zin_base/(R1*R2+R2*Zin_base+Zin_base*R1)## Ω\n",
+ "Zin= Zin*10**-3## k ohm\n",
+ "print \"The input impedence = %.2f kΩ\"%Zin"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 7.4 Page No 187"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 7,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The power gain = 194.01\n"
+ ]
+ }
+ ],
+ "source": [
+ "# given data\n",
+ "R_E= 430## Ω\n",
+ "R_L= 100## Ω\n",
+ "R1= 10*10**3## Ω\n",
+ "R2= 10*10**3## Ω\n",
+ "bita= 200#\n",
+ "r_e= 2.5## Ω\n",
+ "# The load resistance\n",
+ "r_L= R_E*R_L/(R_E+R_L)## Ω\n",
+ "# The power gain \n",
+ "G= bita*r_L/(r_L+r_e)#\n",
+ "print \"The power gain = %.2f\"%G"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 7.5 Page No 191"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 8,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The ac output voltage = 33.33 mV\n"
+ ]
+ }
+ ],
+ "source": [
+ "# given data\n",
+ "R_C= 5*10**3## Ω\n",
+ "r_e= 25## Ω\n",
+ "Vin= 1*10**-3## V\n",
+ "R_L= 1*10**3## Ω\n",
+ "A= R_C/r_e#\n",
+ "# Thevenin voltage,\n",
+ "V_TH= A*Vin## V\n",
+ "# The ac output voltage \n",
+ "Vout= R_L*V_TH/(R_C+R_L)## V\n",
+ "Vout= Vout*10**3## mV\n",
+ "print \"The ac output voltage = %.2f mV\"%Vout"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 7.7 Page No 194"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 9,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The ac output voltage = 183.21 mV\n"
+ ]
+ }
+ ],
+ "source": [
+ "# given data\n",
+ "V_B= 1.8## V\n",
+ "V_E= 1.1## V\n",
+ "V_TH= 200*10**-3## V\n",
+ "I_E= 1*10**-3## A\n",
+ "r_e= 2.5##in Ω\n",
+ "bita=200#\n",
+ "V_CC= 10## V\n",
+ "R_C= 5*10**3## Ω\n",
+ "R_E= 430## Ω\n",
+ "R_L= 1*10**3##in Ω\n",
+ "I_C= I_E## A\n",
+ "# The collector voltage,\n",
+ "V_C= V_CC-I_C*R_C## V\n",
+ "V_E= 4.3## V\n",
+ "# The emitter current,\n",
+ "I_E= V_E/R_E## A\n",
+ "# The base current,\n",
+ "I_B= I_E/bita## A\n",
+ "# The load resistance,\n",
+ "r_L= R_E*R_L/(R_E+R_L)## Ω\n",
+ "Zin= bita*(r_L+r_e)## Ω\n",
+ "Vin= Zin*V_TH/(R_C+Zin)## V\n",
+ "# The ac output voltage\n",
+ "Vout= r_L*Vin/(r_L+r_e)##in V\n",
+ "Vout= Vout*10**3## mV\n",
+ "print \"The ac output voltage = %.2f mV\"%Vout"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 7.9 Page No 199"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 10,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The value of r''e2 = 2.50 Ω\n",
+ "The value of r''e1 = 250.00 Ω\n"
+ ]
+ }
+ ],
+ "source": [
+ "# given data\n",
+ "R1= 100##in kΩ\n",
+ "R2= 100##in kΩ\n",
+ "R3= 360##in Ω\n",
+ "bita= 100#\n",
+ "V1= 5## V\n",
+ "v1= 1.4## V\n",
+ "v2= 25## mV\n",
+ "# Voltage at first base\n",
+ "V2= R1/R2*V1## V\n",
+ "# Emitter current = %.2f second transistor\n",
+ "I_E2= (V2-v1)/R3## A\n",
+ "I_E2= I_E2*10**3## mA\n",
+ "# Resistance of second emitter diode,\n",
+ "r_desh_e2= v2/I_E2## Ω\n",
+ "# Base current\n",
+ "I_B2= I_E2/bita## mA \n",
+ "# Emitter current,\n",
+ "I_E1= I_B2## mA\n",
+ "# First emitter diode resistance\n",
+ "r_desh_e1= v2/I_E1## Ω\n",
+ "print \"The value of r''e2 = %.2f Ω\"%r_desh_e2\n",
+ "print \"The value of r''e1 = %.2f Ω\"%r_desh_e1"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 7.10 Page No 200"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 11,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The input impedence = 49.09 kΩ\n"
+ ]
+ }
+ ],
+ "source": [
+ "# given data\n",
+ "R_E= 360## Ω\n",
+ "R_L= 1*10**3## Ω\n",
+ "R1= 100*10**3##in Ω\n",
+ "R2= 100*10**3##in Ω\n",
+ "r_desh_e1= 250## Ω\n",
+ "r_desh_e2= 2.5## Ω\n",
+ "h_FE= 100#\n",
+ "h_fe= 100#\n",
+ "# The load resistance,\n",
+ "r_L= R_E*R_L/(R_E+R_L)## Ω\n",
+ "Zin1= h_FE*h_fe*r_L## Ω\n",
+ "Zin= R1*R2*Zin1/(R1*R2+R2*Zin1+Zin1*R1)## Ω\n",
+ "Zin2= h_FE*(r_L+r_desh_e2)## Ω\n",
+ "Zin1= h_FE*(Zin2+r_desh_e1)## Ω\n",
+ "# The input impedence \n",
+ "Zin= R1*R2*Zin1/(R1*R2+R2*Zin1+Zin1*R1)## Ω\n",
+ "Zin= Zin*10**-3## k ohm\n",
+ "print \"The input impedence = %.2f kΩ\"%Zin"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 7.11 Page No 203"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 12,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The current through the zener diode = -7.75 mA\n",
+ "The transistor power dissipation = 6.63 watt\n"
+ ]
+ }
+ ],
+ "source": [
+ "# given data\n",
+ "Vin= 20## V\n",
+ "Vz= 10## V\n",
+ "Rs= 680## Ω\n",
+ "V_BE= 0.7## V\n",
+ "R_L= 15## Ω\n",
+ "bita= 80#\n",
+ "Is= (Vin-Vz)/Rs## A\n",
+ "Vout= Vz-V_BE## V\n",
+ "I_E= Vout/R_L## A\n",
+ "I_L= I_E## A\n",
+ "I_B= I_E/bita## A\n",
+ "# The current through the zener diode \n",
+ "Iz= Is-I_B## A\n",
+ "V_CE= Vin-Vout## V\n",
+ "# The transistor power dissipation \n",
+ "Po= I_L*(Vin-Vout)## W\n",
+ "Iz= Iz*10**3## mA\n",
+ "print \"The current through the zener diode = %.2f mA\"%Iz\n",
+ "print \"The transistor power dissipation = %.2f watt\"%Po"
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 2",
+ "language": "python",
+ "name": "python2"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 2
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython2",
+ "version": "2.7.9"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/Semiconductor_circuit_approximations_by_A.P._Malvino/ch8.ipynb b/Semiconductor_circuit_approximations_by_A.P._Malvino/ch8.ipynb
new file mode 100644
index 00000000..c807da0f
--- /dev/null
+++ b/Semiconductor_circuit_approximations_by_A.P._Malvino/ch8.ipynb
@@ -0,0 +1,197 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Chapter 8 Common-Base Approximations"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 8.1 Page No 209"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The value of V_CB = 20.35 volts\n"
+ ]
+ }
+ ],
+ "source": [
+ "# given data\n",
+ "V_EE= 10## V\n",
+ "V_BE= 0.7## V\n",
+ "R_E= 20*10**3## Ω\n",
+ "V_CC= 25## V\n",
+ "R_C= 10*10**3## Ω\n",
+ "# The emitter current\n",
+ "I_E= (V_EE-V_BE)/R_E## A\n",
+ "I_C= I_E## A\n",
+ "# The collector to base voltage,\n",
+ "V_CB= V_CC-I_C*R_C## V\n",
+ "print \"The value of V_CB = %.2f volts\"%V_CB"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 8.2 Page No 209"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The value of V_CB = 1.28 volts\n"
+ ]
+ }
+ ],
+ "source": [
+ "# given data\n",
+ "V_EE= 12## V\n",
+ "V_BE= 0.7## V\n",
+ "R_E= 5.6*10**3## Ω\n",
+ "V_CC= 15## V\n",
+ "R_C= 6.8*10**3## Ω\n",
+ "# The emitter current,\n",
+ "I_E= (V_EE-V_BE)/R_E## A\n",
+ "I_C= I_E## A\n",
+ "# The collector to base voltage\n",
+ "V_CB= V_CC-I_C*R_C## V\n",
+ "print \"The value of V_CB = %.2f volts\"%V_CB\n",
+ "\n",
+ "# Note : The answer in the book is not accurate."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 8.3 Page No 211"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The output voltage = 390.00 mV\n"
+ ]
+ }
+ ],
+ "source": [
+ "# given data\n",
+ "V_EE= 15## V\n",
+ "V_BE= 0.7## V\n",
+ "R_E= 22*10**3## Ω\n",
+ "Vin= 2*10**-3## V\n",
+ "V= 25*10**-3## V\n",
+ "R1= 10*10**3## Ω\n",
+ "R2= 30*10**3## Ω\n",
+ "I_E= (V_EE-V_BE)/R_E## A\n",
+ "# The ac resistance of emitter diode,\n",
+ "r_desh_e= V/I_E## Ω\n",
+ "r_L= R1*R2/(R1+R2)## Ω\n",
+ "# The voltage gain\n",
+ "A= r_L/r_desh_e#\n",
+ "# The output voltage \n",
+ "Vout= A*Vin## V\n",
+ "Vout= Vout*10**3## mV\n",
+ "print \"The output voltage = %.2f mV\"%Vout"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 8.4 Page No 212"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 4,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The output voltage = 8.72 mV\n"
+ ]
+ }
+ ],
+ "source": [
+ "# given data\n",
+ "V_EE= 10## V\n",
+ "V_BE= 0.7## V\n",
+ "R_E= 6.8*10**3## Ω\n",
+ "Rs= 100## Ω\n",
+ "R1= 3.3*10**3## Ω\n",
+ "R2= 1.5*10**3## Ω\n",
+ "V= 25*10**-3## V\n",
+ "Vs= 1*10**-3## V\n",
+ "I_E= (V_EE-V_BE)/R_E## A\n",
+ "r_desh_e= V/I_E## Ω\n",
+ "Zin= r_desh_e## Ω\n",
+ "# The input voltage to the emitter,\n",
+ "Vin= Zin*Vs/(Rs+Zin)## V\n",
+ "r_L= R1*R2/(R1+R2)## Ω\n",
+ "# The voltage gain,\n",
+ "A= r_L/r_desh_e#\n",
+ "# The output voltage \n",
+ "Vout= A*Vin## V\n",
+ "Vout= Vout*10**3## mV\n",
+ "print \"The output voltage = %.2f mV\"%Vout"
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 2",
+ "language": "python",
+ "name": "python2"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 2
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython2",
+ "version": "2.7.9"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/Semiconductor_circuit_approximations_by_A.P._Malvino/ch9.ipynb b/Semiconductor_circuit_approximations_by_A.P._Malvino/ch9.ipynb
new file mode 100644
index 00000000..da584e87
--- /dev/null
+++ b/Semiconductor_circuit_approximations_by_A.P._Malvino/ch9.ipynb
@@ -0,0 +1,564 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Chapter 9 Class A Power Amplifiers"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 9.1 Page No 220"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "data": {
+ "image/png": "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\n",
+ "text/plain": [
+ "<matplotlib.figure.Figure at 0x7f9f5f942a50>"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "DC and AC load line shown in figure.\n"
+ ]
+ }
+ ],
+ "source": [
+ "from numpy import arange\n",
+ "%matplotlib inline\n",
+ "from matplotlib.pyplot import plot,xlabel,ylabel,show,title,subplot\n",
+ "# given data\n",
+ "V_CC= 10## V\n",
+ "V_BE= 0.7## V\n",
+ "R1= 2.2## kΩ\n",
+ "R2= 10## kΩ\n",
+ "R_E= 1## kΩ\n",
+ "R_C= 3.6## kΩ\n",
+ "R= 1.5## kΩ\n",
+ "# The base voltage\n",
+ "V_B= R1*V_CC/(R1+R2)## V\n",
+ "# The emitter current,\n",
+ "I_E= (V_B-V_BE)/R_E## mA\n",
+ "# The collector current,\n",
+ "I_CQ= I_E## mA\n",
+ "# The collector emitter voltage,\n",
+ "V_CE= V_CC-I_E*(R_C+R_E)## V\n",
+ "V_CEQ= V_CE## V\n",
+ "# The saturation current,\n",
+ "I_Csat= V_CC/(R_C+R_E)## mA\n",
+ "V_CEcutoff= V_CC## V\n",
+ "V_CE= arange(0,0.1+V_CEcutoff,0.1) # V\n",
+ "I_C= (V_CC-V_CE)/(R_C+R_E)## mA\n",
+ "# The dc and ac load line\n",
+ "subplot(121)\n",
+ "plot(V_CE,I_C)\n",
+ "xlabel(\"V_CE in volts\")\n",
+ "ylabel(\"I_C in mA\")\n",
+ "title(\"DC load line\")\n",
+ "r_L= R_C*R/(R_C+R)## kΩ\n",
+ "I_Csat= I_CQ+V_CEQ/r_L## mA\n",
+ "Vce_cutoff= V_CEQ+I_CQ*r_L## V\n",
+ "x=[0,Vce_cutoff]#\n",
+ "y=[I_Csat, 0]\n",
+ "subplot(122)\n",
+ "plot(x,y)\n",
+ "xlabel(\"V_CE in volts\")\n",
+ "ylabel(\"I_C in mA\")\n",
+ "title(\"AC load line\")\n",
+ "show()\n",
+ "print \"DC and AC load line shown in figure.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 9.2 Page No 221"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 6,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The cut off value of V_CE = 18.66 volts\n"
+ ]
+ }
+ ],
+ "source": [
+ "# given data\n",
+ "V_BE= 0.7## V\n",
+ "V_CC= 30## V\n",
+ "R_E= 8.2## Ω\n",
+ "R1= 22## Ω\n",
+ "R2= 47## Ω\n",
+ "R_C= 10## Ω\n",
+ "R_L= 30##in Ω\n",
+ "# The base to ground voltage,\n",
+ "V_B= R1*V_CC/(R1+R2)## V\n",
+ "# The emitter current,\n",
+ "I_E= (V_B-V_BE)/R_E## A\n",
+ "# The collector current,\n",
+ "I_CQ= I_E## A\n",
+ "# The collector emitter voltage,\n",
+ "V_CEQ= V_CC-I_E*(R_E+R_C)## V\n",
+ "# The load resistance,\n",
+ "r_L= R_C*R_L/(R_C+R_L)## Ω\n",
+ "I_Csat= I_E+V_CEQ/r_L## A\n",
+ "Vce_cutoff= V_CEQ+I_CQ*r_L## V\n",
+ "print \"The cut off value of V_CE = %.2f volts\"%Vce_cutoff"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 9.3 Page No 223"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 7,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The cut off value of V_CE = 15.35 volts\n"
+ ]
+ }
+ ],
+ "source": [
+ "# given data\n",
+ "V_BE= 0.7## V\n",
+ "V_CC= 20## V\n",
+ "V_B= 10## V\n",
+ "R_E= 50## Ω\n",
+ "# The collector current,\n",
+ "I_CQ= (V_B-V_BE)/R_E## A\n",
+ "# The collector emitter voltage,\n",
+ "V_CEQ= V_CC-I_CQ*R_E## V\n",
+ "R1= 50## Ω\n",
+ "R2= 50## Ω\n",
+ "# The load resistance,\n",
+ "r_L= R1*R2/(R1+R2)## Ω\n",
+ "I_Csat= I_CQ+V_CEQ/r_L## A\n",
+ "Vce_cutoff= V_CEQ+I_CQ*r_L## V\n",
+ "print \"The cut off value of V_CE = %.2f volts\"%Vce_cutoff"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 9.4 Page No 227"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 12,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The ac compliance = 5.71 volts\n"
+ ]
+ }
+ ],
+ "source": [
+ "# given data\n",
+ "V_E= 1.0## V\n",
+ "R_E=1*10**3## Ω\n",
+ "V_CC= 10.0## V\n",
+ "R_C= 4.0*10**3## Ω\n",
+ "R_L= 10.0*10**3## Ω\n",
+ "# The collector current,\n",
+ "I_CQ= V_E/R_E## A\n",
+ "I_C= I_CQ## A\n",
+ "# The collector emitter voltage,\n",
+ "V_CEQ= V_CC-I_C*(R_C+R_E)## V\n",
+ "# The load resistance,\n",
+ "r_L= R_L*R_C/(R_L+R_C)## Ω\n",
+ "#The ac compliance,\n",
+ "PP= 2*I_CQ*r_L## V\n",
+ "print \"The ac compliance = %.2f volts\"%PP"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 9.5 Page No 227"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 13,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "When R_L = 1 MΩ, the value of 2I_CQrL = 7.97 volts\n",
+ "When R_L = 100 kΩ, the value of 2I_CQrL = 7.69 volts\n",
+ "When R_L = 10 kΩ, the value of 2I_CQrL = 5.71 volts\n",
+ "When R_L = 1 kΩ, the value of 2I_CQrL = 1.60 volts\n",
+ "When R_L = 100 Ω, the value of 2I_CQrL = 0.20 volts\n"
+ ]
+ }
+ ],
+ "source": [
+ "# given data\n",
+ "V_E= 1.0## V\n",
+ "R_E=1*10**3## Ω\n",
+ "R_C= 4.0*10**3## Ω\n",
+ "V_CC= 10.0## V\n",
+ "I_CQ= V_E/R_E## A\n",
+ "I_C= I_CQ## A\n",
+ "V_CEQ= V_CC-I_C*(R_C+R_E)## V\n",
+ "# (i) when R_L = 1 MΩ, the value of 2I_CQrL\n",
+ "R_L= 1*10**6## Ω\n",
+ "r_L= R_L*R_C/(R_L+R_C)## Ω\n",
+ "I_CQrL= I_CQ*r_L##in A\n",
+ "print \"When R_L = 1 MΩ, the value of 2I_CQrL = %.2f volts\"%(2*I_CQrL)\n",
+ "# (ii) when R_L = 100 kΩ, the value of 2I_CQrL\n",
+ "R_L= 100*10**3## Ω\n",
+ "r_L= R_L*R_C/(R_L+R_C)## Ω\n",
+ "I_CQrL= I_CQ*r_L##in A\n",
+ "print \"When R_L = 100 kΩ, the value of 2I_CQrL = %.2f volts\"%(2*I_CQrL)\n",
+ "# (iii) when R_L = 10 kΩ, the value of 2I_CQrL\n",
+ "R_L= 10*10**3## Ω\n",
+ "r_L= R_L*R_C/(R_L+R_C)## Ω\n",
+ "I_CQrL= I_CQ*r_L##in A\n",
+ "print \"When R_L = 10 kΩ, the value of 2I_CQrL = %.2f volts\"%(2*I_CQrL)\n",
+ "# (iv) when R_L = 1 kΩ, the value of 2I_CQrL\n",
+ "R_L= 1*10**3## Ω\n",
+ "r_L= R_L*R_C/(R_L+R_C)## Ω\n",
+ "I_CQrL= I_CQ*r_L##in A\n",
+ "print \"When R_L = 1 kΩ, the value of 2I_CQrL = %.2f volts\"%(2*I_CQrL)\n",
+ "# (v) when R_L = 100 Ω, the value of 2I_CQrL\n",
+ "R_L= 100## Ω\n",
+ "r_L= R_L*R_C/(R_L+R_C)## Ω\n",
+ "I_CQrL= I_CQ*r_L##in A\n",
+ "print \"When R_L = 100 Ω, the value of 2I_CQrL = %.2f volts\"%(2*I_CQrL)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 9.6 Page No 230"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 18,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The value of R1 is : 40.40 kΩ (standard value : 39 kΩ)\n",
+ "The value of R2 is : 7.60 kΩ (standard value : 7.5 kΩ)\n",
+ "The value of R_E is : 240.00 Ω (standard value : 240 Ω)\n",
+ "The value of R_C is : 0.96 kΩ (standard value : 1 kΩ)\n"
+ ]
+ }
+ ],
+ "source": [
+ "# given data\n",
+ "V_CC= 12## V\n",
+ "V_BE= 0.7## V\n",
+ "I_CQ= 5*10**-3## A\n",
+ "bita= 200## unit less\n",
+ "# The emitter voltage,\n",
+ "V_E= 0.1*V_CC## V\n",
+ "# The emitter current,\n",
+ "I_E= I_CQ## A\n",
+ "# The emitter resistance,\n",
+ "R_E= V_E/I_E## Ω\n",
+ "# The collector resistance,\n",
+ "R_C= 4*R_E## Ω\n",
+ "# The base voltage,\n",
+ "V_B= V_E+V_BE## V\n",
+ "I_C= I_CQ## A\n",
+ "I_B= I_C/bita## A\n",
+ "R= V_CC/(10*I_B)## Ω\n",
+ "R2= V_B/(10*I_B)## Ω\n",
+ "R1= R-R2## Ω\n",
+ "R1= R1*10**-3## k ohm\n",
+ "R2= R2*10**-3## k ohm\n",
+ "R_C= R_C*10**-3## k ohm\n",
+ "print \"The value of R1 is : %.2f\"%(R1),\" kΩ (standard value : 39 kΩ)\"\n",
+ "print \"The value of R2 is : %.2f\"%(R2),\" kΩ (standard value : 7.5 kΩ)\"\n",
+ "print \"The value of R_E is : %.2f\"%(R_E),\" Ω (standard value : 240 Ω)\"\n",
+ "print \"The value of R_C is : %.2f\"%(R_C),\" kΩ (standard value : 1 kΩ)\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 9.7 Page No 231"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 19,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The ac compliance = 5.15 volts\n"
+ ]
+ }
+ ],
+ "source": [
+ "# given data\n",
+ "I_CQ= 5*10**-3## A\n",
+ "R_C= 1*10**3## Ω\n",
+ "R_L= 1*10**3## Ω\n",
+ "# The load resistance\n",
+ "r_L= R_C*R_L/(R_C+R_L)## Ω\n",
+ "# The ac compliance,\n",
+ "PP= 2*I_CQ*r_L## V\n",
+ "I_CQ= 5.15*10**-3## A\n",
+ "PP= 2*I_CQ*r_L## V\n",
+ "print \"The ac compliance = %.2f volts\"%PP"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 9.9 Page No 234"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 21,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The value of R1 is : 27.97 kΩ (standard value : 39 kΩ)\n",
+ "The value of R2 is : 6.83 kΩ (standard value : 7.5 kΩ)\n",
+ "The value of R_E is : 240.00 Ω (standard value : 240 Ω)\n",
+ "The value of R_C is : 1.00 kΩ (standard value : 1 kΩ)\n"
+ ]
+ }
+ ],
+ "source": [
+ "# given data\n",
+ "V_CC= 12.0## V\n",
+ "V_BE= 0.7## V\n",
+ "R_C= 1*10**3## Ω\n",
+ "R_E= 240.0## Ω\n",
+ "r_L= 500.0## Ω\n",
+ "bita= 200.0## unit less\n",
+ "# The required collector current,\n",
+ "I_CQ= V_CC/(R_C+R_E+r_L)## A\n",
+ "# The emitter voltage,\n",
+ "V_E= I_CQ*R_E## V\n",
+ "# The base voltage,\n",
+ "V_B= V_E+V_BE## V\n",
+ "I_C= I_CQ## A\n",
+ "I_B= I_C/bita## A\n",
+ "# The total resistance of the voltage divider,\n",
+ "R= V_CC/(10*I_B)## Ω\n",
+ "R2= V_B/(10*I_B)## Ω\n",
+ "R1= R-R2## Ω\n",
+ "R1= R1*10**-3## k ohm\n",
+ "R2= R2*10**-3## k ohm\n",
+ "R_C= R_C*10**-3## k ohm\n",
+ "print \"The value of R1 is : %.2f\"%(R1),\" kΩ (standard value : 39 kΩ)\"\n",
+ "print \"The value of R2 is : %.2f\"%(R2),\" kΩ (standard value : 7.5 kΩ)\"\n",
+ "print \"The value of R_E is : %.2f\"%(R_E),\" Ω (standard value : 240 Ω)\"\n",
+ "print \"The value of R_C is : %.2f\"%(R_C),\" kΩ (standard value : 1 kΩ)\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 9.10 Page No 236"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 22,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The maximum ac load power = 0.45 mW\n"
+ ]
+ }
+ ],
+ "source": [
+ "# given data\n",
+ "R_C= 3.6## kΩ\n",
+ "R_L= 1.5## kΩ\n",
+ "V_CEQ= 4.94## V\n",
+ "I_CQ= 1.1## mA\n",
+ "# The quiescent power dissipation of the transistor,\n",
+ "P_DQ= V_CEQ*I_CQ## mW\n",
+ "r_L= R_C*R_L/(R_C+R_L)## kΩ\n",
+ "PP= 2*I_CQ*r_L## V\n",
+ "# The maximum ac load power,\n",
+ "P_Lmax= PP**2/(8*R_L)## mW\n",
+ "print \"The maximum ac load power = %.2f mW\"%P_Lmax"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 9.11 Page No 240"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 23,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The efficiency = 5.58 %\n"
+ ]
+ }
+ ],
+ "source": [
+ "# given data\n",
+ "V_E= 1.71## V\n",
+ "R_E= 240## Ω\n",
+ "V_CC= 12## V\n",
+ "R_C= 1*10**3## Ω\n",
+ "R_L= 1*10**3## Ω\n",
+ "I= 0.355*10**-3## A\n",
+ "I_CQ= V_E/R_E## A\n",
+ "I_C= I_CQ## A\n",
+ "# The collector emitter voltage,\n",
+ "V_CEQ= V_CC-I_C*(R_C+R_E)## V\n",
+ "r_L= R_C*R_L/(R_C+R_L)## Ω\n",
+ "PP= 2*V_CEQ## V\n",
+ "# The maximum ac load power,\n",
+ "P_Lmax= PP**2/(8*R_L)## W\n",
+ "I_CC= I_C+I## A\n",
+ "P_CC= V_CC*I_CC## W\n",
+ "# The efficiency \n",
+ "Eta= P_Lmax/P_CC*100## %\n",
+ "print \"The efficiency = %.2f %%\"%Eta"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 9.12 Page No 244"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 24,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The case temperature = 130.00 °C\n",
+ "The power rating = 60.00 watt\n"
+ ]
+ }
+ ],
+ "source": [
+ "# given data\n",
+ "Ta= 70## ambient temperature = %.2f °C\n",
+ "P= 30## power dissipation = %.2f W\n",
+ "theta_CS= 0.5## °C/W\n",
+ "theta_SA= 1.5## °C/W\n",
+ "# The case temperature\n",
+ "Tc= Ta+P*(theta_CS+theta_SA)## °C\n",
+ "# The power rating\n",
+ "P_Dmax= 60## W\n",
+ "print \"The case temperature = %.2f °C\"%Tc\n",
+ "print \"The power rating = %.2f watt\"%P_Dmax"
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 2",
+ "language": "python",
+ "name": "python2"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 2
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython2",
+ "version": "2.7.9"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/Semiconductor_circuit_approximations_by_A.P._Malvino/screenshots/ACloadLineChapter10.png b/Semiconductor_circuit_approximations_by_A.P._Malvino/screenshots/ACloadLineChapter10.png
new file mode 100644
index 00000000..464f20d4
--- /dev/null
+++ b/Semiconductor_circuit_approximations_by_A.P._Malvino/screenshots/ACloadLineChapter10.png
Binary files differ
diff --git a/Semiconductor_circuit_approximations_by_A.P._Malvino/screenshots/DCandACloadlinechapter9.png b/Semiconductor_circuit_approximations_by_A.P._Malvino/screenshots/DCandACloadlinechapter9.png
new file mode 100644
index 00000000..df0de3b8
--- /dev/null
+++ b/Semiconductor_circuit_approximations_by_A.P._Malvino/screenshots/DCandACloadlinechapter9.png
Binary files differ
diff --git a/Semiconductor_circuit_approximations_by_A.P._Malvino/screenshots/Powerratingchapter9.png b/Semiconductor_circuit_approximations_by_A.P._Malvino/screenshots/Powerratingchapter9.png
new file mode 100644
index 00000000..e2813d39
--- /dev/null
+++ b/Semiconductor_circuit_approximations_by_A.P._Malvino/screenshots/Powerratingchapter9.png
Binary files differ