Skip to main content

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

Metadata

Release files for physicsbox 0.5.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for physicsbox 0.5.0
File Size Uploaded
physicsbox-0.5.0.tar.gz 74.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for physicsbox 0.5.0
File Interpreter ABI Platform
physicsbox-0.5.0-py3-none-any.whl Python 3 none any Details

Total release size: 161.0 kB

Release files / physicsbox-0.5.0.tar.gz

Download URL physicsbox-0.5.0.tar.gz
Size 74.9 kB
Tags Source
SHA-256 checksum
How to use checksums
d83b0030f8429f94f2b1a755af1727943a7f1e7c829997e83bae90607992646d
BLAKE2b-256 checksum
How to use checksums
12c7a05fdafca20da9db1f7779586addc803e0acbacbccf1a0ee25261718a002
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.8

Release files / physicsbox-0.5.0-py3-none-any.whl

Download URL physicsbox-0.5.0-py3-none-any.whl
Size 86.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
5ef7e91014818503f7df8782faad96be9463db6d3bf11c5351dc04dd00e6b202
BLAKE2b-256 checksum
How to use checksums
65f49f73e6f263eedba3d823c1f2dca8d4bbd1febe2b13893b84246d6cdb4656
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.8

Release history Release notifications | RSS feed

This release

0.5.0 This release

2 release files

0.4.2

2 release files

0.4.1

2 release files

0.4.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page