Skip to main content

Light propagation in free space with fourier transform

Project description

pypi Language grade: Python

Light propagation

Lightprop2d includes class 'Beam2D' to transform intitial field distribution using fourier transform from x-y field profile to kx-ky spectrum. You can use both numpy and cupy backends with use_gpu key of Beam2D class.

You can install it as follows

pip install lightprop2d

Example 1: Random beam propagation

import matplotlib.pyplot as plt
from lightprop2d import Beam2D, random_round_hole

# All input data are in cm
# XY grid dimensions
npoints = 256
# XY grid widening
beam_radius = 25e-4 # 25 um
area_size = 200e-4 # 200 um
# Wavelength in cm
wl0 = 632e-7

beam = Beam2D(area_size, npoints, wl0, init_field_gen=random_round_hole, 
              init_gen_args=(beam_radius,))
              
plt.imshow(beam.iprofile)
plt.show()

beam.propagate(100e-4)

plt.imshow(beam.iprofile)
plt.show()

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

lightprop2d-1.0a0.tar.gz (4.8 kB view hashes)

Uploaded Source

Built Distribution

lightprop2d-1.0a0-py3-none-any.whl (5.6 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page