Skip to main content

Ultra Fast Optics Simulations with Python3

Project description

UFOpticSim

What is it?

UFOpticSim is a Python3 module that can allow scientists to simulate how the properties of ultra fast laser pulses change under interaction with different optical elements. The main selling point of UFOpticSim is its simplicity, accuracy and its lightweightness.

The following information about the beam properties can currently be simulated:

Temporal Properties Spectral Properties Spatial Properties
Pulse Duration (FWHM) Central Wavelength Beam Waist
Chirp GDD Bandwidth

The following are the currently supported optical elements

Optical Element Supported yet Not supported yet
Lens
Mirrors
Gratings
Prisms

How does it work?

To get started, simply try the following code:

from UFOpticSim import Simulation, Screen, PulseProfile, Laser, Lens, Mirror, Material

sim = Simulation(media='air', interval_cm=0.5)

pulse = PulseProfile(duration_fs=30, bandwidth_nm=45, is_temporally_limited=True, central_wavelength_nm=800, beam_waist_mm=0.5, m2=1)
laser = Laser(beam_profile=pulse, dir=(1, 0), pos_cm2=(1, 1))
glass = Material(media='BK7', thickness_mm=10)
lens = Lens(material=glass, focal_length_mm=100, pos_cm2=(2, 1), lens_name="Lens 1")
mirror = Mirror(material=glass, angle_to_horizontal=45, pos_cm2=(3, 1), mirror_name="Mirror 1")
screen = Screen(pos_cm2=(3, 2))

sim.add_laser(laser)
sim.add_element(mirror)
sim.add_element(lens)
sim.add_screen(screen)

sim.run(output=True, visualisation=True)

The visualisation tool:

The expected output printed on screen:

Input Pulse
-----------

1. Temporal Properties
        Pulse Duration (FWHM): 30 fs

2. Spectral Properties
        Central Wavelength: 800 nm
        Bandwidth: 45 nm

3. Spatial Properties


After Propagation
-----------------

1. Temporal Properties
        Pulse Duration (FWHM): 30.000214206532053 fs
        Chirp GDD = 899.9469622940074 fs^2

2. Spectral Properties
        Central Wavelength: 800 nm
        Bandwidth: 45 nm

3. Spatial Properties
        Beam Waist: 0.4751741561798651 mm

Project details


Release history Release notifications | RSS feed

This version

0.1

Download files

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

Source Distribution

UFOpticSim-0.1.tar.gz (7.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

UFOpticSim-0.1-py3-none-any.whl (9.7 kB view details)

Uploaded Python 3

File details

Details for the file UFOpticSim-0.1.tar.gz.

File metadata

  • Download URL: UFOpticSim-0.1.tar.gz
  • Upload date:
  • Size: 7.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.3

File hashes

Hashes for UFOpticSim-0.1.tar.gz
Algorithm Hash digest
SHA256 7558e527bb6959b94d9da0cef2e8c045336711622427a5c06b9e19b93c9b5a65
MD5 aaad5ab2797a6d310996f0d19bd0fb50
BLAKE2b-256 8aaa2e39059f2c3bbda1bc4655a2688ad0813cac0f65c8094699458f80aecfbc

See more details on using hashes here.

File details

Details for the file UFOpticSim-0.1-py3-none-any.whl.

File metadata

  • Download URL: UFOpticSim-0.1-py3-none-any.whl
  • Upload date:
  • Size: 9.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.3

File hashes

Hashes for UFOpticSim-0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 03d6159e7045ce870c2bc0ab28b1b415211ca8c94b02782d656976fba09086a7
MD5 4ece33c03c5e84cca8ea1e424419384c
BLAKE2b-256 3b8da09e0ea6b5a9f96f395a6a94e658f69b606f93c5233a18c75056fda3af3f

See more details on using hashes here.

Supported by

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