Exemplo n.º 1
0
    R = np.sqrt(X**2 + Y**2)
    E[R > r0] = 0
    return E


# %% Input Beam ###############################################################
# Generating Data %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
X1 = X[:, :, 0]
Y1 = Y[:, :, 0]
E1 = GB.PlaneWaveFieldVec(1, R[:, :, 0], 0, w0, k)
I1 = GB.BeamInt(E1, P)
# Generating Fit %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
I1 = I1.astype(float)
p0 = [np.max(I1), 0, 0, w0, w0]
[params1, _] = optimize.curve_fit(GB.GaussBeamFit, [X1, Y1], I1.ravel(), p0=p0)
I1_fit = GB.GaussBeamFit([X1, Y1], *params1).reshape(Ny, Nx)
figure = plotGaussianBeam(1, X1, Y1, I1, I1_fit, params1, 1, 1)
cwd = os.getcwd()
os.chdir(startUp.saveDir)
figure.set_size_inches(10, 7)
figure.savefig('GS_inputBeam.png')
os.chdir(cwd)

# %% Cylindrical Lens f_cyY1 #################################################
# Generating Data %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
[E2, X2, Y2] = OE.CylLensAction(E1,
                                X1,
                                Y1,
                                k,
                                f_cyY1,
                                FocusingAxis='Y',
Exemplo n.º 2
0
    Y = Y-y0
    R = np.sqrt(X**2+Y**2)
    E[R>r0] = 0    
    return E

# %% Input Beam ###############################################################
# Generating Data %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
X1 = X[:,:,0]
Y1 = Y[:,:,0]
E1 = GB.PlaneWaveFieldVec(1,R[:,:,0],0,w0,k)
I1 = GB.BeamInt(E1,P)
# Generating Fit %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
I1 = I1.astype(float)
p0 = [np.max(I1),0,0,w0,w0]
[params1,_] = optimize.curve_fit(GB.GaussBeamFit, [X1,Y1], I1.ravel(), p0=p0)
I1_fit = GB.GaussBeamFit([X1,Y1],*params1).reshape(Ny,Nx)
figure = plotGaussianBeam(1,X1,Y1,I1,I1_fit,params1,1,1)
cwd = os.getcwd()
os.chdir(startUp.saveDir)
figure.set_size_inches(10, 7)
figure.savefig('GS_inputBeam.png')
os.chdir(cwd)

# %% Cylindrical Lens f1 = -40 mm #############################################
# Generating Data %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
[E2, X2, Y2] = OE.CylLensAction(E1,X1,Y1,k,f1,FocusingAxis = 'Y')
I2 = GB.BeamInt(E2,P)
# Generating Fits %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
I2 = I2.astype(float)
p0 = [np.max(I2),0,0,w0,10]
[params2,_] = optimize.curve_fit(GB.GaussBeamFit, [X2,Y2], I2.ravel(),p0 = p0)