#importing modules
import math
from __future__ import division
#Variable declaration
n1=1.48; #Core refractive index
n2=1.45; #Cladding refractive index
#Calculation
NA=math.sqrt(n1**2-n2**2); #numerical aperture
theta0=math.asin(NA); #acceptance angle(radian)
theta0=theta0*180/math.pi; #acceptance angle(degrees)
theta0m=60*(theta0-int(theta0)); #acceptance angle(minutes)
thetac=math.asin(n2/n1); #critical angle(radian)
thetac=thetac*180/math.pi; #critical angle(degrees)
thetacm=60*(thetac-int(thetac)); #critical angle(minutes)
delta=(n1-n2)/n1; #fractional index change
#Result
print "numerical aperture is",round(NA,4)
print "acceptance angle is",int(theta0),"degrees",int(round(theta0m)),"minutes"
print "critical angle is",int(thetac),"degrees",int(thetacm),"minutes"
print "fractional index change is",round(delta,2)
#importing modules
import math
from __future__ import division
#Variable declaration
n1=1.563; #Core refractive index
n2=1.498; #Cladding refractive index
#Calculation
NA=math.sqrt(n1**2-n2**2); #numerical aperture
theta0=math.asin(NA); #acceptance angle(radian)
theta0=theta0*180/math.pi; #acceptance angle(degrees)
theta0m=60*(theta0-int(theta0)); #acceptance angle(minutes)
#Resul"
print "numerical aperture is",round(NA,3)
print "acceptance angle is",int(theta0),"degrees",int(theta0m),"minutes"
print "answer for angle in minutes given in the book varies due to rounding off errors"
#importing modules
import math
from __future__ import division
#Variable declaration
n1=1.563; #Core refractive index
n2=1.498; #Cladding refractive index
#Calculation
delta=(n1-n2)/n1; #fractional index change
#Result
print "fractional index change is",round(delta,4)
#importing modules
import math
from __future__ import division
#Variable declaration
n1=1.55; #Core refractive index
n2=1.50; #Cladding refractive index
#Calculation
NA=math.sqrt(n1**2-n2**2); #numerical aperture
#Result
print "numerical aperture is",round(NA,4)
#importing modules
import math
from __future__ import division
#Variable declaration
NA=0.39; #numerical aperture
n1_n2=0.05; #difference in refractive indices
#Calculation
n1n2=NA**2/n1_n2;
n2=(n1n2-n1_n2)/2; #Cladding refractive index
n1=n2+n1_n2; #Core refractive index
#Result
print "Cladding refractive index is",n2
print "Core refractive index is",n1
#importing modules
import math
from __future__ import division
#Variable declaration
n1=1.55; #Core refractive index
n2=1.50; #Cladding refractive index
#Calculation
NA=math.sqrt(n1**2-n2**2); #numerical aperture
#Result
print "numerical aperture is",round(NA,4)
#importing modules
import math
from __future__ import division
#Variable declaration
n1=1.48; #Core refractive index
n2=1.45; #Cladding refractive index
#Calculation
NA=math.sqrt(n1**2-n2**2); #numerical aperture
theta0=math.asin(NA); #acceptance angle(radian)
theta0=theta0*180/math.pi; #acceptance angle(degrees)
theta0m=60*(theta0-int(theta0)); #acceptance angle(minutes)
#Result
print "numerical aperture is",round(NA,4)
print "acceptance angle is",int(theta0),"degrees",int(round(theta0m)),"minutes"
#importing modules
import math
from __future__ import division
#Variable declaration
NA=0.33; #numerical aperture
delta=0.02; #refractive index of cladding
#Calculation
x=1-delta;
n1=math.sqrt(NA**2/(1-x**2)); #refractive index of core
n2=x*n1; #refractive index of cladding
#Result
print "refractive index of core is",round(n1,4)
print "refractive index of cladding is",round(n2,3)
#importing modules
import math
from __future__ import division
#Variable declaration
NA=0.20; #numerical aperture
n0=1.33; #refractive index of water
n2=1.59; #Cladding refractive index
#Calculation
n1=math.sqrt((NA**2)+(n2**2)); #core refractive index
x=math.sqrt((n1**2)-(n2**2))/n0;
theta0=math.asin(x); #acceptance angle(radian)
theta0=theta0*180/math.pi; #acceptance angle(degrees)
theta0m=60*(theta0-int(theta0)); #acceptance angle(minutes)
theta0s=60*(theta0m-int(theta0m)); #acceptance angle(seconds)
#Resul"
print "acceptance angle is",int(theta0),"degrees",int(theta0m),"minutes",int(theta0s),"seconds"
print "answer for angle in seconds given in the book varies due to rounding off errors"
#importing modules
import math
from __future__ import division
#Variable declaration
n1=1.45; #Core refractive index
n2=1.44; #Cladding refractive index
#Calculation
delta=(n1-n2)/n1; #fractional index change
#Result
print "fractional index change is",round(delta*10**3,4),"*10**-3"
#importing modules
import math
from __future__ import division
#Variable declaration
n1=1.50; #Core refractive index
delta=4/100; #fractional index change
#Calculation
n2=n1-(delta*n1); #Cladding refractive index
NA=math.sqrt(n1**2-n2**2); #numerical aperture
theta0=math.asin(NA); #acceptance angle(radian)
theta0=theta0*180/math.pi; #acceptance angle(degrees)
theta0m=60*(theta0-int(theta0)); #acceptance angle(minutes)
thetac=math.asin(n2/n1); #critical angle(radian)
thetac=thetac*180/math.pi; #critical angle(degrees)
thetacm=60*(thetac-int(thetac)); #critical angle(minutes)
#Result
print "Cladding refractive index is",n2
print "numerical aperture is",NA
print "acceptance angle is",int(theta0),"degrees",int(round(theta0m)),"minutes"
print "critical angle is",int(thetac),"degrees",int(thetacm),"minutes"
#importing modules
import math
from __future__ import division
#Variable declaration
n1=1.563; #Core refractive index
n2=1.498; #Cladding refractive index
#Calculation
NA=math.sqrt(n1**2-n2**2); #numerical aperture
theta0=math.asin(NA); #acceptance angle(radian)
theta0=theta0*180/math.pi; #acceptance angle(degrees)
theta0m=60*(theta0-int(theta0)); #acceptance angle(minutes)
#Result
print "numerical aperture is",round(NA,3)
print "acceptance angle is",int(theta0),"degrees",int(round(theta0m)),"minutes"
print "answer for angle in minutes given in the book varies due to rounding off errors"