#importing modules
import math
from __future__ import division
#Variable declaration
n1=1.53; #refractive index of core
n2=1.5; #refractive index of cladding
lamda=1*10**-6; #wavelength(m)
a=50*10**-6; #core radius(m)
#Calculation
NA=math.sqrt((n1**2)-(n2**2)); #numerical aperture(m)
V=((2*math.pi*a)*NA)/lamda; #normalised frequency
M=(V**2)/2; #number of guided mode
#Result
print "normalised frequency is",round(V,2)
print "number of guided mode is",round(M)
#importing modules
import math
from __future__ import division
#Variable declaration
n1=1.53; #refractive index of core
n2=1.5; #refractive index of cladding
lamda=1*10**-6; #wavelength(m)
#Calculation
NA=math.sqrt((n1**2)-(n2**2)); #numerical aperture(m)
a=(2.405*lamda)/(2*math.pi*NA); #core radius(m)
#Result
print "core radius is less than",round(a*10**6,2),"micro m"
#importing modules
import math
from __future__ import division
#Variable declaration
NA=0.5; #numerical aperture(m)
n1=1.54; #refractive index of core
#Calculation
n2=math.sqrt((n1**2)-(NA**2)); #refractive index of cladding
n=(n1-n2)/n1; #change in core cladding refractive index
#Result
print "refractive index of cladding is",round(n2,4)
print "change in core cladding refractive index is",round(n,4)
#importing modules
import math
from __future__ import division
#Variable declaration
NA=0.5; #numerical aperture(m)
n1=1.48; #refractive index of core
#Calculation
n2=math.sqrt((n1**2)-(NA**2)); #refractive index of cladding
alpha=math.asin(NA); #acceptance angle(radian)
alpha=alpha*(180/math.pi); #acceptance angle(degrees)
#Result
print "refractive index of cladding is",round(n2,3)
print "acceptance angle is",alpha,"degrees"