summaryrefslogtreecommitdiff
path: root/Engineering_Physics/Chapter12_1.ipynb
blob: 440b2d594ed74fa8baf9ae87c4d0d50a82f8472a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
{
 "metadata": {
  "name": "Chapter12"
 },
 "nbformat": 3,
 "nbformat_minor": 0,
 "worksheets": [
  {
   "cells": [
    {
     "cell_type": "heading",
     "level": 1,
     "metadata": {},
     "source": "12: Holography and Fibre Optics"
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": "Example number 12.1, Page number 271"
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": "#To calculate the critical angle, critical propagation angle and numerical aperture \n\n#importing modules\nimport math\nfrom __future__ import division\n\n#Variable declaration\nn1 = 1.43;    #Refractive index of fibre core\nn2 = 1.4;     #Refractive index of fibre cladding\n\n#Calculation\n#As sin (alpha_c) = n2/n1, solving for alpha_c\nalpha_c = math.asin(n2/n1);     #Critical angle for optical fibre(rad)\nalpha_c = alpha_c*57.2957795;     #Critical angle for optical fibre(degrees)\nalpha_c = math.ceil(alpha_c*10**3)/10**3;     #rounding off the value of alpha_c to 3 decimals\n#AS cos(theta_c) = n2/n1, solving for theta_c\ntheta_c = math.acos(n2/n1);    #Critical propagation angle for optical fibre(rad)\ntheta_c = theta_c*57.2957795;     #Critical propagation angle for optical fibre(degrees)\ntheta_c = math.ceil(theta_c*10**2)/10**2;     #rounding off the value of theta_c to 2 decimals\nNA = math.sqrt(n1**2 - n2**2);     #Numerical aperture for optical fibre\nNA = math.ceil(NA*10**3)/10**3;     #rounding off the value of NA to 3 decimals\n\n#Result\nprint \"The critical angle for optical fibre is\",alpha_c, \"degrees\"\nprint \"The critical propagation angle for optical fibre is\",theta_c, \"degrees\"\nprint \"Numerical aperture for optical fibre is\",NA\n",
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": "The critical angle for optical fibre is 78.244 degrees\nThe critical propagation angle for optical fibre is 11.76 degrees\nNumerical aperture for optical fibre is 0.292\n"
      }
     ],
     "prompt_number": 1
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": "Example number 12.2, Page number 271"
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": "#To calculate the numerical aperture, acceptance angle and relative refractive index difference\n\n#importing modules\nimport math\nfrom __future__ import division\n\n#Variable declaration\nn1 = 1.45;    #Refractive index of fibre core\nn2 = 1.4;     #Refractive index of fibre cladding\n\n#Calculation\nNA = math.sqrt(n1**2 - n2**2);     #Numerical aperture for optical fibre\nNA = math.ceil(NA*10**4)/10**4;     #rounding off the value of NA to 4 decimals\n#As sin(theta_a) = sqrt(n1^2 - n2^2), solving for theta_a\ntheta_a = math.asin(math.sqrt(n1**2 - n2**2));     #Half of acceptance angle of optical fibre(rad)\ntheta_a = theta_a*57.2957795;     #Half of acceptance angle of optical fibre(degrees)\ntheta_accp = 2*theta_a;     #Acceptance angle of optical fibre(degrees)\ntheta_accp = math.ceil(theta_accp*10**2)/10**2;     #rounding off the value of theta_accp to 2 decimals\nDelta = (n1 - n2)/n1;       #Relative refractive index difference\nDelta = math.ceil(Delta*10**4)/10**4;     #rounding off the value of Delta to 4 decimals\n\n#Result\nprint \"Numerical aperture for optical fibre is\", NA\nprint \"The acceptance angle of optical fibre is\",theta_accp, \"degrees\"\nprint \"Relative refractive index difference is\", Delta\n",
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": "Numerical aperture for optical fibre is 0.3775\nThe acceptance angle of optical fibre is 44.36 degrees\nRelative refractive index difference is 0.0345\n"
      }
     ],
     "prompt_number": 2
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": "Example number 12.3, Page number 271"
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": "#To calculate the numerical aperture and acceptance angle\n\n#importing modules\nimport math\nfrom __future__ import division\n\n#Variable declaration\nn1 = 1.55;     #Refractive index of fibre core\nn2 = 1.53;     #Refractive index of fibre cladding\nn0 = 1.3;      #Refractive index of medium\n\n#Calculation\nNA = math.sqrt(n1**2 - n2**2);     #Numerical aperture for optical fibre\nNA = math.ceil(NA*10**4)/10**4;     #rounding off the value of NA to 4 decimals\n#n0*sin(theta_a) = sqrt(n1^2 - n2^2) = NA, solving for theta_a\ntheta_a = math.asin(math.sqrt(n1**2 - n2**2)/n0);     #Half of acceptance angle of optical fibre(rad)\ntheta_a = theta_a*57.2957795;    #Half of acceptance angle of optical fibre(degrees)\ntheta_accp = 2*theta_a;     #Acceptance angle of optical fibre(degrees)\n\n#Result\nprint \"Numerical aperture for step index fibre is\",NA\nprint \"The acceptance angle of step index fibre is\",int(theta_accp), \"degrees\"\n",
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": "Numerical aperture for step index fibre is 0.2482\nThe acceptance angle of step index fibre is 22 degrees\n"
      }
     ],
     "prompt_number": 5
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": "Example number 12.4, Page number 271 Theoritical proof"
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": "Example number 12.5, Page number 272"
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": "#To calculate the numerical aperture and acceptance angle\n\n#importing modules\nimport math\nfrom __future__ import division\n\n#Variable declaration\nalpha = 2;      #Power loss through optical fibre(dB/km)\nP_in = 500;     #Poer input of optical fibre(micro-watt)\nz = 10;        #Length of the optical fibre(km)\n\n#Calculation\n#As alpha = 10/z*log10(P_in/P_out), solving for P_out\nP_out = P_in/10**(alpha*z/10);      #Output power in fibre optic communication(micro-Watt)\n\n#Result\nprint \"The output power in fibre optic communication is\",P_out, \"micro-Watt\"",
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": "The output power in fibre optic communication is 5.0 micro-Watt\n"
      }
     ],
     "prompt_number": 6
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": "",
     "language": "python",
     "metadata": {},
     "outputs": []
    }
   ],
   "metadata": {}
  }
 ]
}