Skip to main content

Collection of useful calculations for optics and more.

Project description

physicsbox

Collection of useful calculations for optics and more. Intended to be a little toolbox/swiss army knife for everyday Python tasks for physists.

Requirements

  • numpy
  • scipy
  • (optional) numba to speed up OAP calculations

Installation

Since the package is still under development, I recommend to clone this git repository to your local machine and install the package in "develop" mode via pip.

  • git clone https://gitlab.lrz.de/cala-public/packages/physicsbox.git
  • cd physicsbox
  • pip install -e . where the -e installs in develop mode and . executes the setup.py in the current folder

If you make improvements to the package or want to download more recent commits, you can now just use git push/pull as usual.

Features

So far, the package contains the following submodules:

  • .units which defines constants like m=1, mm=1e-3 and so on to use in your code
  • .utils contains some coordinate system handling that can be used to plot e.g. an image to scale easily
  • .optics for
    • laser pulse calculations (power, energy, focus size etc. by typical formulas)
    • Gaussian pulse (in time and space) function definitions for 1d, 2d, 3d Gauss calculations
  • .relativity is pretty basic so far, only contains a few formulas for relativistic energy/momentum etc.
  • .wavefronts contains classes for reconstructing a wavefront from Shack-Hartmann images (see examples for use)
  • .oap contains a class for vectorial calculation of the focus of an off-axis parabolic mirror
  • Check out the examples for some things that this package is intended for.

Contributing

  • This started out as a private little helper project, if you have any suggestions just contact me.
  • If you wish to make improvements or add new examples/ features, best create a new branch and a merge request.
    • This avoids headaches just in case I have uncommited/unpublished changes in my local copy somewhere.

Project responsible

Leonard Doyle, leonard.doyle@physik.uni-muenchen.de

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

physicsbox-0.5.0.tar.gz (74.9 kB view details)

Uploaded Source

Built Distribution

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

physicsbox-0.5.0-py3-none-any.whl (86.2 kB view details)

Uploaded Python 3

File details

Details for the file physicsbox-0.5.0.tar.gz.

File metadata

  • Download URL: physicsbox-0.5.0.tar.gz
  • Upload date:
  • Size: 74.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.8

File hashes

Hashes for physicsbox-0.5.0.tar.gz
Algorithm Hash digest
SHA256 d83b0030f8429f94f2b1a755af1727943a7f1e7c829997e83bae90607992646d
MD5 6a86cfb0bb93b83f447f14bf3ec9ac34
BLAKE2b-256 12c7a05fdafca20da9db1f7779586addc803e0acbacbccf1a0ee25261718a002

See more details on using hashes here.

File details

Details for the file physicsbox-0.5.0-py3-none-any.whl.

File metadata

  • Download URL: physicsbox-0.5.0-py3-none-any.whl
  • Upload date:
  • Size: 86.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.8

File hashes

Hashes for physicsbox-0.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 5ef7e91014818503f7df8782faad96be9463db6d3bf11c5351dc04dd00e6b202
MD5 5c85e246dbd02d382e55b8676935739f
BLAKE2b-256 65f49f73e6f263eedba3d823c1f2dca8d4bbd1febe2b13893b84246d6cdb4656

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