#importing modules
import math
from __future__ import division
#Variable declaration
h=6.626*10**-34; #plancks constant(J s)
c=3*10**8; #velocity of light(m/s)
Eg=1.44*1.6*10**-19; #band gap(J)
#Calculation
lamda=h*c/Eg; #wavelength of emission(m)
#Result
print "wavelength of emission is",round(lamda*10**10),"angstrom"
#importing modules
import math
from __future__ import division
#Variable declaration
lamda=1.55; #wavelength(micro m)
#Calculation
Eg=1.24/lamda; #band gap(eV)
#Result
print "band gap is",Eg,"eV"
#importing modules
import math
from __future__ import division
#Variable declaration
eta=0.65; #quantum efficiency
n=5*10**5; #number of photons incident
#Calculation
N=eta*n; #number of electron-hole pairs
#Result
print "number of electron-hole pairs is",N/10**5,"*10**5"
#importing modules
import math
from __future__ import division
#Variable declaration
eta=0.6; #quantum efficiency
q=1.6*10**-19; #charge(coulomb)
lamda=1.3*10**-6; #lamda(m)
h=6.625*10**-34; #plancks constant(J s)
c=3*10**8; #velocity of light(m/s)
#Calculation
R=eta*q*lamda/(h*c); #responsibility(A/W)
#Result
print "responsibility is",round(R,3),"A/W"
#importing modules
import math
from __future__ import division
#Variable declaration
eta=0.7; #quantum efficiency
q=1.6*10**-19; #charge(coulomb)
lamda=863*10**-9; #lamda(m)
P0=0.5*10**-6; #optical power(W)
h=6.625*10**-34; #plancks constant(J s)
c=3*10**8; #velocity of light(m/s)
IT=10*10**-6; #current(A)
#Calculation
IP=eta*q*lamda*P0/(h*c);
M=IT/IP; #multiplication factor
#Result
print "multiplication factor is",int(M)
#importing modules
import math
from __future__ import division
#Variable declaration
n2=1.47; #refractive index of cladding
n1=1.5; #refractive index of core
#Calculation
phi_c=math.asin(n2/n1); #critical angle(radian)
phi_c=phi_c*180/math.pi; #critical angle(degrees)
NA=math.sqrt(n1**2-n2**2); #numerical aperture
phi_max=math.asin(NA); #acceptance angle(radian)
phi_max=phi_max*180/math.pi; #acceptance angle(degrees)
#Result
print "critical angle is",round(phi_c,1),"degrees"
print "numerical aperture is",round(NA,1)
print "acceptance angle is",round(phi_max,1),"degrees"
#importing modules
import math
from __future__ import division
#Variable declaration
d=50*10**-6; #diameter(m)
NA=0.2; #numerical aperture(m)
lamda=1*10**-6; #wavelength(m)
#Calculation
N=4.9*(d*NA/lamda)**2; #total number of guided modes
#Result
print "total number of guided modes is",N
#importing modules
import math
from __future__ import division
#Variable declaration
d=5*10**-6; #diameter(m)
n2=1.447; #refractive index of cladding
n1=1.45; #refractive index of core
lamda=1*10**-6; #wavelength(m)
#Calculation
NA=math.sqrt(n1**2-n2**2); #numerical aperture
N=4.9*(d*NA/lamda)**2; #total number of guided modes
#Result
print "total number of guided modes is",int(N)
#importing modules
import math
from __future__ import division
#Variable declaration
n1=1.46; #refractive index of core
delta=0.05; #refractive index difference
#Calculation
NA=n1*math.sqrt(2*delta); #numerical aperture
#Result
print "numerical aperture is",round(NA,2)
#importing modules
import math
from __future__ import division
#Variable declaration
a=50;
n2=1.5; #refractive index of cladding
n1=1.53; #refractive index of core
lamda0=1; #wavelength(micro m)
#Calculation
V_number=round(2*math.pi*a*math.sqrt(n1**2-n2**2)/lamda0,2); #V number
n=V_number**2/2; #maximum number of modes
#Result
print "V number is",V_number
print "maximum number of modes is",round(n)
#importing modules
import math
from __future__ import division
#Variable declaration
a=100*10**-6;
NA=0.3; #numerical aperture(m)
lamda=850*10**-9; #wavelength(m)
#Calculation
V_number=round(2*math.pi**2*a**2*NA**2/lamda**2); #number of modes
#Result
print "total number of modes is",2*V_number
#importing modules
import math
from __future__ import division
#Variable declaration
a=25*10**-6;
n1=1.48; #refractive index of core
delta=0.01; #refractive index difference
V=25; #Vnumber
#Calculation
lamda=2*math.pi*a*n1*math.sqrt(2*delta)/V; #cutoff wavelength(m)
#Result
print "cutoff wavelength is",round(lamda*10**6,3),"micro m"
#importing modules
import math
from __future__ import division
#Variable declaration
V=2.405; #Vnumber
lamda=1.3; #wavelength(micro m)
NA=0.05; #numerical aperture(m)
#Calculation
amax=V*lamda/(2*math.pi*NA); #maximum value of core radius(micro m)
#Result
print "maximum value of core radius is",round(amax,2),"micro m"