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.4.0.tar.gz (53.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.4.0-py3-none-any.whl (63.5 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for physicsbox-0.4.0.tar.gz
Algorithm Hash digest
SHA256 6bc9624c487190cdfd138ee7d473c0653a0f8ec6be4978e249fae85c76b4d2ac
MD5 ccbd1668e5640d9a1e092fedc82b51f6
BLAKE2b-256 42ec9dc5479fa41f6bcb71b950d52169c483ff369bc789ee62f5c12b8346a597

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for physicsbox-0.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d6041bce2befc3ea0e9758ca5db86be32ac8025cb201f48d7da93cd3e8084a92
MD5 8f6aef8f4923a87607b22424de4854a8
BLAKE2b-256 b2b3c71782fee49fcd7189d6493b97e51ccca354dca0d50b543832c835237d38

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