Beispiel #1
0
from pulse import Pulse
#from fftw_transforms import fftcomputer as fftw
#from scipy import fftpack

plt.close('all')

steps = 100

centerwl = 850.0
gamma = 0.045
fiber_length = 0.1
P0 = 10e3
T0 = 28.4e-3

init = Pulse(n = 2**13)
init.gen_sech(P0, T0, centerwl)

fiber1 = Fiber()

fiber1.generate_fiber(fiber_length ,centerwl, [-1.276e-2, 8.119e-5, -1.321e-7,
                      3.032e-10, -4.196e-13, 2.570e-16], gamma, 0)

evol = SSFM(disable_Raman = False, disable_self_steepening = False,
            local_error = 0.1, suppress_iteration = True)

y = np.zeros(steps)
AW = np.complex64(np.zeros((init.n, steps)))
AT = np.complex64(np.copy(AW))

y, AW, AT, pulse1, = evol.Fiber_propagate(pulse_in = init, fiber = fiber1, 
                                         n_steps = steps)
Beispiel #2
0
from SSFM import SSFM
from fiber import Fiber
from pulse import Pulse


plt.close('all')

dz = 1e-3
steps = 500
range1 = np.arange(steps)

centerwl = 835.0
fiber_length = 0.15

init = Pulse(n = 2**13)
init.gen_sech(1e4, 28.4e-3, centerwl)

fiber1 = Fiber()
fiber1.load_from_db( fiber_length, 'dudley')

evoladv  = SSFM(dz = 1e-6, local_error = 0.001, USE_SIMPLE_RAMAN = False)
yadv = np.zeros(steps)
AWadv = np.zeros((init.n, steps))
ATadv = np.copy(AWadv)

yadv, AWadv, ATadv, pulse1adv = evoladv.propagate(pulse_in = init,
                                                        fiber = fiber1,
                                                        n_steps = steps)
                                         
evolsimp = SSFM(dz = 1e-6, local_error = 0.001, USE_SIMPLE_RAMAN = True)
ysimp = np.zeros(steps)
Beispiel #3
0
fiber1 = Fiber()

steps = 250

centerwl = 1550.0
gamma = 2e-3
fiber_length = 100.0
T0 = 50e-3
D = 4  # ps / km / nm
beta2 = -2 * np.pi * fiber1.c / centerwl**2 * D
beta3 = 0.1
betas = [beta2, beta3]
print betas
P0 = abs(betas[0] * 1e-3) / gamma / T0**2
init = Pulse(n=2**14)
init.gen_sech(P0, T0, centerwl, time_window=25)
fiber1.generate_fiber(fiber_length, centerwl, betas, gamma, 0, "ps^n/km")

evol = SSFM(disable_Raman=False,
            disable_self_steepening=False,
            local_error=0.001,
            suppress_iteration=True,
            USE_SIMPLE_RAMAN=True)

y = np.zeros(steps)
AW = np.complex64(np.zeros((init.n, steps)))
AT = np.complex64(np.copy(AW))
wl = 2 * np.pi * init.c / (init.W)

shift = np.zeros((len(y), 3))
fwhm = np.copy(shift)
Beispiel #4
0
from pulse import Pulse
#from fftw_transforms import fftcomputer as fftw
#from scipy import fftpack

plt.close('all')

steps = 100

centerwl = 850.0
gamma = 0.045
fiber_length = 0.1
P0 = 10e3
T0 = 28.4e-3

init = Pulse(n = 2**13)
init.gen_sech(P0, T0, centerwl)

fiber1 = Fiber()

fiber1.generate_fiber(fiber_length ,centerwl, [-1.276e-2, 8.119e-5, -1.321e-7,
                      3.032e-10, -4.196e-13, 2.570e-16], gamma, 0)

evol = SSFM(disable_Raman = False, disable_self_steepening = False,
            local_error = 0.1, suppress_iteration = True)

y = np.zeros(steps)
AW = np.complex64(np.zeros((init.n, steps)))
AT = np.complex64(np.copy(AW))

y, AW, AT, pulse1, = evol.propagate(pulse_in = init, fiber = fiber1, 
                                         n_steps = steps)
Beispiel #5
0
fiber1 = Fiber()

steps = 250

centerwl = 1550.0
gamma = 2e-3
fiber_length = 100.0
T0 = 50e-3
D = 4 # ps / km / nm
beta2 = -2 * np.pi * fiber1.c / centerwl**2 * D
beta3 = 0.1
betas = [beta2, beta3]
print betas
P0 = abs(betas[0] * 1e-3) / gamma / T0**2
init = Pulse(n = 2**14)
init.gen_sech(P0, T0, centerwl, time_window=25)
fiber1.generate_fiber(fiber_length, centerwl, betas, gamma, 0, "ps^n/km")

evol = SSFM(disable_Raman = False, disable_self_steepening = False,
            local_error = 0.001, suppress_iteration = True, USE_SIMPLE_RAMAN = True)

y = np.zeros(steps)
AW = np.complex64(np.zeros((init.n, steps)))
AT = np.complex64(np.copy(AW))
wl = 2 * np.pi * init.c / (init.W)

shift = np.zeros((len(y), 3))
fwhm = np.copy(shift)

chirps = np.array([0.0])*-1
j = 0