Я написал код для распространения гауссова луча в свободном пространстве методом углового спектра.
Чтобы проверить правильность моделирования или нет, я распространяю гауссов луч в свободном пространстве и проверяю результат ширина луча поля по теоретическим формулам. Ниже приведен мой код, я не понимаю, что в нем не так, ширина луча не соответствует теоретической ширине луча, я был бы очень признателен за любые рекомендации. Спасибо.
Вот мой код:
Я написал код для распространения гауссова луча в свободном пространстве методом углового спектра. Чтобы проверить правильность моделирования или нет, я распространяю гауссов луч в свободном пространстве и проверяю результат ширина луча поля по теоретическим формулам. Ниже приведен мой код, я не понимаю, что в нем не так, ширина луча не соответствует теоретической ширине луча, я был бы очень признателен за любые рекомендации. Спасибо. Вот мой код:
[code]wvl = 1550e-9 # wavelength wz = 0.05 # beam waist gdim = 1 # spatial extent of the grid; resol = 512 # grid resolution I = 1 # intensity amplitude zr = (np.pi * wz**2)/wvl # rayleigh range k = 2*np.pi/wvl
# Theoretical beam width at reciever (Lz km) # Gaussian wzt = lambda Lz, wg, lmda: wg * np.sqrt(1 + ((Lz * lmda)/(np.pi * wg**2))**2)
def gaussian(wz, r, I): """ wz: Beam width at z=0; r : Radial coordinates I : Intensity distribution """ Fin = I*np.exp(-2*(r/wz)**2) return Fin gbeam = gaussian(wz, r, I) def ft2(g, delta=None): """ Computes the 2D Fourier transform of g with scaling.
Parameters: g : numpy.ndarray Input 2D array to transform. delta : float Spacing in the spatial domain.
Returns: numpy.ndarray The scaled 2D Fourier transform of g. """ G = np.fft.fftshift(np.fft.fft2(np.fft.ifftshift(g))) return G
def ang_spec_prop(e, z, resol, dx, wvl): k = (2*np.pi/wvl)
Я написал код для распространения гауссова луча в свободном пространстве методом углового спектра.
Чтобы проверить правильность моделирования или нет, я распространяю гауссов луч в свободном пространстве и проверяю результат ширина луча поля по...
Я написал код для распространения гауссовского луча в свободном пространстве методом углового спектра. Ширина луча поле с теоретическими формулами. Ниже приведен мой код, я не понимаю, что в нем не так, ширина луча не соответствует теоретической...
Я написал код для распространения гауссовского луча в свободном пространстве методом углового спектра. Ширина луча поле с теоретическими формулами. Ниже приведен мой код, я не понимаю, что в нем не так, ширина луча не соответствует теоретической...