import PyOFTK from pylab import * T = 48.0 nt = pow(2,10) dt = T/nt t = linspace(-T/2, T/2, nt) dz = 5.0 u_ini_x = exp(-pow(t,2)/2) u_ini_y = zeros(nt) betap = array([0,0,0,1]) alpha = array([0]) u_out_x = PyOFTK.ssf(u_ini_x, dt, dz, 1, alpha, betap, 0.000,4,1e-5) betap = array([0,0,1,1]) u_out2_x = PyOFTK.ssf(u_ini_x,dt, dz, 1, alpha, betap, 0.000, 4,1e-5) plot(t, pow(abs(u_out_x),2),t, u_ini_x, ':',t, pow(abs(u_out2_x),2), '--',color='black') ylabel("$|u(z,T)|^2$") xlabel("$T/T_0$") legend((r"$\beta_2 = 0$", "$z = 0$","$L_D = L_D'$")) xlim([-12,12]) show()
puissanceCrete = 478.8 LMBD = 1.03 nt = 24000 positionDetecteur = 4999 ### Creation d'un fbg ### fbgStart = 2000 fbgStop = 8000 # Pas du reseaux #Longueur_onde_bragg = 1.03238 Longueur_onde_bragg = 1.03105615 #Longueur_onde_bragg = 1.0289438500000001 GrandLambda = Longueur_onde_bragg/(2*1.45) # Difference d'indice deltaIndex = 3.695e-3 fbg1 = PyOFTK.apodizedFBG(2.5, 62.5, 0.05, 0.0, 40e-2, deltaIndex, GrandLambda) #gamma = fbg1.nlGamma(1.03) gamma = 0.0 detZero = fbg1.detuning(LMBD) detVec = zeros(nbrPoints_z,double) detVec[fbgStart:fbgStop] += detZero kapZero = fbg1.kappa(LMBD) kapVec = zeros(nbrPoints_z,double) #iz = arange(1.0,nbrPoints_z+1)/nbrPoints_z #kapVec[3000:nbrPoints_z-1] = kapZero*(iz[3000:nbrPoints_z-1]) kapVec[fbgStart:fbgStop] = kapZero # Initialisation du champ incident d = linspace(-nbrPoints_z/2, nbrPoints_z/2, nbrPoints_z) z = linspace(0,fbg1.length, nbrPoints_z)
# # # # Author: Martin Laprise # Universite Laval # [email protected] # # ********************************************* import pylab as pl import PyOFTK LMBD=(1.0526+0.00047)/(2*1.45) LMBD2=0.34485 LNGTH = 100 fbg1 = PyOFTK.apodizedFBG(3.0, 62.5, 0.04, 0.0, 1e-1, 1e-2, LMBD2) fbg2 = PyOFTK.apodizedFBG(3.0, 62.5, 0.04, 0.0, 1e-1, 5e-3, LMBD2) fbg3 = PyOFTK.apodizedFBG(3.0, 62.5, 0.04, 0.0, 1e-1, 1e-3, LMBD2) print "Longueur d'onde de Bragg: " + str(fbg1.braggWavelength) + " um" wvl1 = pl.linspace(fbg1.braggWavelength-0.00047, fbg1.braggWavelength-0.00050, LNGTH) wvl2 = pl.linspace(fbg1.braggWavelength+0.010, fbg1.braggWavelength+0.050, LNGTH) beta2Grating1 = pl.zeros(LNGTH, float) beta2Grating2 = pl.zeros(LNGTH, float) beta2Grating3 = pl.zeros(LNGTH, float) beta3Grating1 = pl.zeros(LNGTH, float) beta3Grating2 = pl.zeros(LNGTH, float) beta3Grating3 = pl.zeros(LNGTH, float) for i in range(LNGTH):
z = pi / 2 nz = 500.0 nplot = plotRes n1 = round(nz / nplot) nz = n1 * nplot dz = z / nz betap = array([0, 0, -1]) alpha = array([0.0]) zv = (z / nplot) * arange(0, nplot) u = zeros([len(t), len(zv)], complex) uplot = zeros([plotRes, len(zv)], float32) u[:, 0] = PyOFTK.solitonPulse(t, 0, 1.0, 3.0) uplot[:, 0] = ss.resample(pow(abs(u[:, 0]), 2), plotRes) for ii in arange(0, nplot - 1): #u[:,ii+1] = PyOFTK.ssf(u[:,ii], dt, dz, n1, 0.0, betap, 1.0, 10, 1e-5) u[:, ii + 1] = PyOFTK.scalar(u[:, ii], dt, dz, n1, alpha, betap, 1.0) uplot[:, ii + 1] = ss.resample(pow(abs(u[:, ii + 1]), 2), plotRes) tplot = linspace(-T / 2.0, T / 2.0, plotRes) X, Y = meshgrid(zv, tplot) fig = plt.figure() ax = axes3d.Axes3D(fig) ax.plot_wireframe(X, Y, uplot) ax.set_xlabel(r"$Z/Z_0$") ax.set_ylabel(r"($t-\beta_1z)/T_0$") ax.set_zlabel(r"$|u(z,t)|^2/P_0$")
import PyOFTK from pylab import * T = 48.0 nt = pow(2, 10) dt = T / nt t = linspace(-T / 2, T / 2, nt) dz = 5.0 u_ini_x = exp(-pow(t, 2) / 2) u_ini_y = zeros(nt) betap = array([0, 0, 0, 1]) alpha = array([0]) [u_out_x, outputParam] = PyOFTK.scalar(u_ini_x, dt, dz, 1, alpha, betap, 0.000) betap = array([0, 0, 1, 1]) [u_out2_x, outputParam] = PyOFTK.scalar(u_ini_x, dt, dz, 1, alpha, betap, 0.000) plot(t, pow(abs(u_out_x), 2), t, u_ini_x, ':', t, pow(abs(u_out2_x), 2), '--', color='black') ylabel("$|u(z,T)|^2$") xlabel("$T/T_0$")
# # # # Author: Martin Laprise # Universite Laval # [email protected] # # ********************************************* import pylab as pl import PyOFTK LMBD = (1.0526 + 0.00047) / (2 * 1.45) LMBD2 = 0.34485 LNGTH = 100 fbg1 = PyOFTK.apodizedFBG(3.0, 62.5, 0.04, 0.0, 1e-1, 1e-2, LMBD2) fbg2 = PyOFTK.apodizedFBG(3.0, 62.5, 0.04, 0.0, 1e-1, 5e-3, LMBD2) fbg3 = PyOFTK.apodizedFBG(3.0, 62.5, 0.04, 0.0, 1e-1, 1e-3, LMBD2) print "Longueur d'onde de Bragg: " + str(fbg1.braggWavelength) + " um" wvl1 = pl.linspace(fbg1.braggWavelength - 0.00047, fbg1.braggWavelength - 0.00050, LNGTH) wvl2 = pl.linspace(fbg1.braggWavelength + 0.010, fbg1.braggWavelength + 0.050, LNGTH) beta2Grating1 = pl.zeros(LNGTH, float) beta2Grating2 = pl.zeros(LNGTH, float) beta2Grating3 = pl.zeros(LNGTH, float) beta3Grating1 = pl.zeros(LNGTH, float) beta3Grating2 = pl.zeros(LNGTH, float) beta3Grating3 = pl.zeros(LNGTH, float)
from pylab import * import scipy.interpolate from scipy import integrate import PyOFTK import time if __name__ == '__main__': t1 = time.time() lambdaZero = 1.030e-6 T = 100.0 nt = pow(2, 12) dt = T / float(nt) t = linspace(-T / 2, T / 2, nt) w = PyOFTK.wspace(T, nt) vs = fftpack.fftshift(w / (2 * pi)) C = 2.99792458e-4 nbSection = 4 nbPass = 1024 dz = zeros(nbSection) nz = zeros(nbSection, int) gamma = zeros(nbSection) betap = zeros([nbSection, 4], float) alpha = zeros([nbSection, 1], float) alphaSat = array([0.0]) alphaProfil = zeros(nt, float) pulseEnergy = zeros(nbPass, float) phiNLArchive = zeros(nbPass, float) #pulseWidth = zeros(nbPass, float)
nz = 1000 nplot = 2 n1 = round(nz/nplot) nz = n1*nplot dz = z/nz t = linspace(-T/2.0, T/2.0, nt) s = 0.01 zv = (z/nplot)*(0:nplot); u = zeros(length(t),length(zv)) u_ini_y = zeros(nt) U = zeros(length(t),length(zv)) u[:,1] = PyOFTK.gaussian(t,0,2*(sqrt(log(2.0)))) U[:,1] = fftshift(abs(dt*fft(u[:,1])/sqrt(2*pi)).^2) for ii in arange(1:nplot) u[:,ii+1] = PyOFTK.scalar(u[:,ii],dt,dz,n1,0,0,1,0,2*pi*s) U[:,ii+1] = fftshift(abs(dt*fft(u[:,ii+1])/sqrt(2*pi)).^2) plot (t,pow(abs(u),2)) xlim([-3,3]) grid(True) xlabel ('(t-\beta_1z)/T_0') ylabel ('|u(z,t)|^2/P_0') show()
from numpy import * from pylab import * from PyOFTK.utilities import * import PyOFTK T = 32.0 nt = pow(2,10) dt = T/nt t = linspace(-T/2.0, T/2.0, nt) dz = 2.0 nz = 2 betap = array([0.0,0.0,1.0]) alpha = 0.0 u_ini_x = PyOFTK.gaussianPulse(t,2.0,0.0,1.0,1.0,0.0) u_out_x = PyOFTK.ssf(u_ini_x, dt, dz, nz, alpha, betap, 0.0, 10, 1e-5) plot(t, pow(abs(u_out_x),2),t, pow(abs(u_ini_x),2)) ylabel("$|u(z,T)|^2$") xlabel("$T/T_0$") xlim([-16,16]) grid(True) show()
from numpy import * from pylab import * from PyOFTK.utilities import * import PyOFTK T = 32.0 nt = pow(2, 10) dt = T / nt t = linspace(-T / 2.0, T / 2.0, nt) dz = 2.0 nz = 2 betap = array([0.0, 0.0, 1.0]) alpha = 0.0 u_ini_x = PyOFTK.gaussianPulse(t, 2.0, 0.0, 1.0, 1.0, 0.0) u_out_x = PyOFTK.ssf(u_ini_x, dt, dz, nz, alpha, betap, 0.0, 10, 1e-5) plot(t, pow(abs(u_out_x), 2), t, pow(abs(u_ini_x), 2)) ylabel("$|u(z,T)|^2$") xlabel("$T/T_0$") xlim([-16, 16]) grid(True) show()
import PyOFTK from pylab import * T = 48.0 nt = pow(2,10) dt = T/nt t = linspace(-T/2, T/2, nt) dz = 5.0 u_ini_x = exp(-pow(t,2)/2) u_ini_y = zeros(nt) betap = array([0,0,0,1]) alpha = array([0]) [u_out_x, outputParam] = PyOFTK.scalar(u_ini_x, dt, dz, 1, alpha, betap, 0.000) betap = array([0,0,1,1]) [u_out2_x, outputParam] = PyOFTK.scalar(u_ini_x, dt, dz, 1, alpha, betap, 0.000) plot(t, pow(abs(u_out_x),2),t, u_ini_x, ':',t, pow(abs(u_out2_x),2), '--',color='black') ylabel("$|u(z,T)|^2$") xlabel("$T/T_0$") legend((r"$\beta_2 = 0$", "$z = 0$","$L_D = L_D'$")) xlim([-12,12]) show()
nt = 50000 positionDetecteur = 30100 ### Creation d'un fbg ### fbgStart = 20000 fbgStop = 39660 # Pas du reseaux Longueur_onde_bragg = 1.55005 Longueur_onde_bragg1 = 1.02 Longueur_onde_bragg2 = 1.03 LBRG = linspace(Longueur_onde_bragg1, Longueur_onde_bragg2, fbgStop-fbgStart) GrandLambda = Longueur_onde_bragg/(2*1.45) # Difference d'indice deltaIndex = 3.49e-5 fbg1 = PyOFTK.apodizedFBG(2.5, 62.5, 0.05, 0.0, 50e-2, deltaIndex, GrandLambda) gamma = fbg1.nlGamma(1.03) detZero = fbg1.detuning(LMBD) detVec = zeros(nbrPoints_z,double) detVec[fbgStart:fbgStop] += detZero #for i in arange(fbgStop-fbgStart): # detVec[fbgStart+i] = detZero = fbg1.detuning(LBRG[i]) kapZero = fbg1.kappa(LMBD) kapVec = zeros(nbrPoints_z,double) alphaVec = zeros(nbrPoints_z,double) alphaVec[fbgStart:fbgStop] += 0.0 # Initialisation du champ incident d = linspace(-nbrPoints_z/2, nbrPoints_z/2, nbrPoints_z)
z = pi/2 nz = 500.0 nplot = plotRes n1 = round(nz/nplot) nz = n1*nplot dz = z/nz betap = array([0,0,-1]) alpha = array([0.0]) zv = (z/nplot)*arange(0,nplot) u = zeros([len(t),len(zv)], complex) uplot = zeros([plotRes,len(zv)], float32) u[:,0] = PyOFTK.solitonPulse(t,0,1.0,3.0) uplot[:,0] = ss.resample(pow(abs(u[:,0]),2), plotRes) for ii in arange(0,nplot-1): #u[:,ii+1] = PyOFTK.ssf(u[:,ii], dt, dz, n1, 0.0, betap, 1.0, 10, 1e-5) u[:,ii+1] = PyOFTK.scalar(u[:,ii], dt, dz, n1, alpha, betap, 1.0) uplot[:,ii+1] = ss.resample(pow(abs(u[:,ii+1]),2), plotRes) tplot= linspace(-T/2.0, T/2.0, plotRes) X, Y = meshgrid(zv, tplot) fig = plt.figure() ax = axes3d.Axes3D(fig) ax.plot_wireframe(X, Y, uplot) ax.set_xlabel (r"$Z/Z_0$"); ax.set_ylabel (r"($t-\beta_1z)/T_0$"); ax.set_zlabel (r"$|u(z,t)|^2/P_0$");
import PyOFTK from pylab import * T = 48.0 nt = pow(2, 10) dt = T / nt t = linspace(-T / 2, T / 2, nt) dz = 5.0 u_ini_x = exp(-pow(t, 2) / 2) u_ini_y = zeros(nt) betap = array([0, 0, 0, 1]) alpha = array([0]) u_out_x = PyOFTK.ssf(u_ini_x, dt, dz, 1, alpha, betap, 0.000, 4, 1e-5) betap = array([0, 0, 1, 1]) u_out2_x = PyOFTK.ssf(u_ini_x, dt, dz, 1, alpha, betap, 0.000, 4, 1e-5) plot(t, pow(abs(u_out_x), 2), t, u_ini_x, ':', t, pow(abs(u_out2_x), 2), '--', color='black') ylabel("$|u(z,T)|^2$") xlabel("$T/T_0$") legend((r"$\beta_2 = 0$", "$z = 0$", "$L_D = L_D'$"))
nt = 40 positionDetecteur = 18500 ### Creation d'un fbg ### fbgStart = 2000 fbgStop = 38000 # Pas du reseaux Longueur_onde_bragg = 1.010 Longueur_onde_bragg1 = 1.02 Longueur_onde_bragg2 = 1.03 LBRG = linspace(Longueur_onde_bragg1, Longueur_onde_bragg2, fbgStop-fbgStart) GrandLambda = Longueur_onde_bragg/(2*1.45) # Difference d'indice deltaIndex = 1e-2 fbg1 = PyOFTK.apodizedFBG(2.5, 62.5, 0.05, 0.0, 10e-2, deltaIndex, GrandLambda) gamma = fbg1.nlGamma(1.03) detZero = fbg1.detuning(LMBD) detVec = zeros(nbrPoints_z,double) detVec[fbgStart:fbgStop] += detZero #for i in arange(fbgStop-fbgStart): # detVec[fbgStart+i] = detZero = fbg1.detuning(LBRG[i]) kapZero = fbg1.kappa(LMBD) kapVec = zeros(nbrPoints_z,double) alphaVec = zeros(nbrPoints_z,double) alphaVec[fbgStart:fbgStop] += -80 # Initialisation du champ incident d = linspace(-nbrPoints_z/2, nbrPoints_z/2, nbrPoints_z)
nt = 50000 positionDetecteur = 30100 ### Creation d'un fbg ### fbgStart = 20000 fbgStop = 39660 # Pas du reseaux Longueur_onde_bragg = 1.55005 Longueur_onde_bragg1 = 1.02 Longueur_onde_bragg2 = 1.03 LBRG = linspace(Longueur_onde_bragg1, Longueur_onde_bragg2, fbgStop - fbgStart) GrandLambda = Longueur_onde_bragg / (2 * 1.45) # Difference d'indice deltaIndex = 3.49e-5 fbg1 = PyOFTK.apodizedFBG(2.5, 62.5, 0.05, 0.0, 50e-2, deltaIndex, GrandLambda) gamma = fbg1.nlGamma(1.03) detZero = fbg1.detuning(LMBD) detVec = zeros(nbrPoints_z, double) detVec[fbgStart:fbgStop] += detZero #for i in arange(fbgStop-fbgStart): # detVec[fbgStart+i] = detZero = fbg1.detuning(LBRG[i]) kapZero = fbg1.kappa(LMBD) kapVec = zeros(nbrPoints_z, double) alphaVec = zeros(nbrPoints_z, double) alphaVec[fbgStart:fbgStop] += 0.0 # Initialisation du champ incident d = linspace(-nbrPoints_z / 2, nbrPoints_z / 2, nbrPoints_z) z = linspace(0, fbg1.length, nbrPoints_z)
nt = 40 positionDetecteur = 18500 ### Creation d'un fbg ### fbgStart = 2000 fbgStop = 38000 # Pas du reseaux Longueur_onde_bragg = 1.010 Longueur_onde_bragg1 = 1.02 Longueur_onde_bragg2 = 1.03 LBRG = linspace(Longueur_onde_bragg1, Longueur_onde_bragg2, fbgStop - fbgStart) GrandLambda = Longueur_onde_bragg / (2 * 1.45) # Difference d'indice deltaIndex = 1e-2 fbg1 = PyOFTK.apodizedFBG(2.5, 62.5, 0.05, 0.0, 10e-2, deltaIndex, GrandLambda) gamma = fbg1.nlGamma(1.03) detZero = fbg1.detuning(LMBD) detVec = zeros(nbrPoints_z, double) detVec[fbgStart:fbgStop] += detZero # for i in arange(fbgStop-fbgStart): # detVec[fbgStart+i] = detZero = fbg1.detuning(LBRG[i]) kapZero = fbg1.kappa(LMBD) kapVec = zeros(nbrPoints_z, double) alphaVec = zeros(nbrPoints_z, double) alphaVec[fbgStart:fbgStop] += -80 # Initialisation du champ incident d = linspace(-nbrPoints_z / 2, nbrPoints_z / 2, nbrPoints_z)
from pylab import * from scipy import fftpack T = 100 nt = pow(2,12) dt = T/float(nt) t = linspace(-T/2, T/2, nt) z = 0.08 nz = 500 dz = z/nz alpha = array([0]) betap = array([0,0,+1]) u_ini_x = PyOFTK.gaussianPulse(t,2*sqrt(log(2)),0,1,1,0) u_ini_y = zeros(nt) u_out_x = PyOFTK.ssf(u_ini_x, dt, dz, nz, alpha, betap, pow(30,2),50, 1e-5) [WL,U] = PyOFTK.pulseSpectrum(t, u_out_x) figure(figsize=(15,6)) subplot(121) plot(t,pow(abs(u_out_x),2), color='blue') xlim([-5,5]) xlabel (r"($t-\beta_1z)/T_0$") ylabel (r"$|u(z,t)|^2/P_0$") subplot(122) plot(WL,U, color='blue') xlabel (r"$(\nu-\nu_0)T_0$")
import scipy.interpolate from scipy import integrate import PyOFTK import time if __name__ == '__main__': t1 = time.time() lambdaZero = 1.030e-6 T = 100.0 nt = pow(2,12) dt = T/float(nt) t = linspace(-T/2, T/2, nt) w = PyOFTK.wspace(T,nt) vs = fftpack.fftshift(w/(2*pi)) C = 2.99792458e-4 nbSection = 4 nbPass = 1024 dz = zeros(nbSection) nz = zeros(nbSection, int) gamma = zeros(nbSection) betap = zeros([nbSection, 4], float) alpha = zeros([nbSection, 1], float) alphaSat = array([0.0]) alphaProfil = zeros(nt, float) pulseEnergy = zeros(nbPass, float) phiNLArchive = zeros(nbPass, float) #pulseWidth = zeros(nbPass, float)