Awesome Physics 
🌌 A collaborative list of awesome software for exploring Physics
concepts. Feel free to contribute!
Contributing
Please take a quick look at the contribution guidelines first. If you see a
package or project here that is no longer maintained or is not a good
fit, please submit a pull request to improve this file. Thank you for
taking the time to consider contributing!
Contents
Mechanics
Kinematics
Rigid Bodies and Physics
Engines
- bullet3 -
real-time collision detection and multi-physics simulation for VR,
games, visual effects, robotics, machine learning
- cannon.js - A
lightweight 3D physics engine written in JavaScript
- matter-js - A 2D
rigid body physics engine for the web
- mujoco-py - A
physics engine for detailed, efficient rigid body simulations with
contacts
- myphysicslab -
provides JavaScript classes to build real-time interactive animated
physics simulations
- ncollide - 2 and
3-dimensional collision detection library in Rust
- newton-dynamics -
an integrated solution for real time simulation of physics
environments
- nphysics - 2 and
3-dimensional rigid body physics engine for Rust
- PhysX - a
scalable multi-platform game physics solution
- PositionBasedDynamics
- A library for the physically-based simulation of rigid bodies,
deformable solids and fluids
- pydy - Multibody dynamics
tool kit
- pymunk - A easy-to-use
pythonic 2d physics library
- simbody -
High-performance C++ multibody dynamics/physics library for simulating
articulated biomechanical and mechanical systems like vehicles, robots,
and the human skeleton
Fluid Mechanics
- fluid-engine-dev
- Fluid simulation engine for computer graphics applications
- fluids - Fluid
dynamics component of Chemical Engineering Design Library (ChEDL)
- pysph - SPH fluid
simulation with advanced screen space fluid rendering, using pyopengl
and pyopencl
- DualSPHysics -
C++/CUDA/OpenMP based Smoothed Particle Hydrodynamics (SPH) solver
Gravity
- Gravity-Simulator
- A 2D newtonian gravity simulator in JS
- Gravisim - A
universal gravity simulator written using rust_sdl2
- pycbc - Analyze
gravitational-wave data, find signals, and study their parameters
Waves and Acoustics
Mechanical Waves
- pyrocko - A
seismology toolkit for Python
- sw4 - 3-D seismic
modeling
- webgl-ripples
- A physically realistic real-time simulation of (transversal) 2D waves
in WebGL
Sound
Thermodynamics
- cantera - A
chemical kinetics, thermodynamics, and transport tool suite
- CoolProp -
Thermophysical properties for the masses
- RMG-Py -
Python version of the amazing Reaction Mechanism Generator
- thermo -
Thermodynamics, phase equilibria, transport properties and chemical
database component of Chemical Engineering Design Library (ChEDL)
- thermopy -
A python library for thermodynamics
Electromagnetism
- ElectricFieldSimulation
- An experimental example of how to use OpenGL for physical
simulations
- EMpy - A suite of
algorithms widely known and used in electromagnetic problems and optics:
the transfer matrix algorithm, the rigorous coupled wave analysis
algorithm and more
- gprMax - Simulates
electromagnetic wave propagation using the Finite-Difference Time-Domain
(FDTD) method for numerical modelling of Ground Penetrating Radar
(GPR)
- meep - Free
finite-difference time-domain (FDTD) software for electromagnetic
simulations
- openEMS - A free
and open-source electromagnetic field solver using the EC-FDTD
method
- openmeeg - A C++
package for low-frequency bio-electromagnetism solving forward problems
in the field of EEG and MEG
- PlasmaPy - A
community developed python package for plasma physics in the very early
stages of development.
- radis - A
nonequilibrium Radiative Solver for infrared molecular spectra
- scattpy -
Light Scattering Methods for Python
- scikit-beam
- Data analysis tools for X-Ray, Neutron and Electron sciences
- scikit-rf - RF
and Microwave Engineering Scikit
- scikit-spectra - A
python pandas-based toolkit for explorative spectroscopy, in particular
UVVis spectroscopic data
- scuff-em -
computational physics suite for boundary-element analysis of
electromagnetic scattering, fluctuation-induced phenomena,
nanophotonics, RF device engineering, electrostatics, and more
- spirit -
Optimizations and Dynamics Framework for atomistic Spin systems
Optics
- euclider - A
higher-dimensional “non-euclidean” ray tracing prototype written in
Rust
- lightpipes -
Simulations of optical phenomena where diffraction is essential
- odak - A fundamental
library for scientific computing in optical sciences.
- opticspy - A
python module for optics applications
- poppy - Physical
Optics Propagation in Python
- pyRT - a
raytracer/image generator for Python
- rayopt - Python
optics and lens design, raytracing
- raysect - A
ray-tracing framework for optical/non-optical physics simulations
Relativity
- OpenRelativity -
An open source framework to add the effects of traveling at relativistic
speeds to visualizations or games
- TFG - General
Relativity massively parallel raytracer
Quantum Physics
- artiq -
Next-generation control system for quantum information experiments
- flavio - flavour
phenomenology in the Standard model and beyond
- hepdata - the high
energy physics data repository
- particle-clicker
- An addictive incremental game that teaches players the history of high
energy particle physics
- Psi4 - Open-source
Quantum Chemistry
- pypdt -
Pythonic access to high energy particle data tables and ID codes
- QMsolve - A
Python module for solving and visualizing the Schrödinger equation.
- quantum-python-lectures
- A series of self-study lectures on using Python for scientific
computing at the graduate level in atomic physics and quantum
optics.
- QuantumOptics.jl
- Library for the numerical simulation of closed as well as open quantum
systems
- qutip - Quantum Toolbox
in Python
- ROOT - A data
processing and analysis framework, mainly used in high-energy
physics
- scikit-hep -
Toolkit of interfaces and tools for high energy physics (HEP)
Astrophysics
- astropy - intended
to contain much of the core functionality and some common tools needed
for performing astronomy and astrophysics with Python
- gala - Galactic and
gravitational dynamics in Python
- galpy -
Galactic Dynamics in python
- pynbody - framework
for N-body and hydrodynamic astrophysical simulations
- sunpy - an open-source
Python library for solar physics data analysis
Geophysics
- burnman - a
library for modeling mantle thermodynamics and thermoelasticity
constrained by mineral physics experiments
- em - Electromagnetic
methods in geophysics - open educational resources
- simpeg - Simulation
and Parameter Estimation in Geophysics - A python package for simulation
and gradient based parameter estimation in the context of geophysical
applications
Condensed Matter Physics
- Solid
State Simulations A software with many interactive plots in the area
of solid state physics. The software isn’t maintained anymore. The
latest version can be downloaded via this
link
- Shut up
and calculate Python code to calculate and visualize the properties
of 2 dimensional systems (such as cuprate superconductors).
Organizations
- CERN - European Organization
for Nuclear Research
- IOP -
Institute of Physics
- LANL - Los Alamos National
Lab
- LIGO - Laser Inferometer
Gravitational-Wave Experiment
- LLNL - Lawrence Livermore
National Laboratory
- MPPMU - Max Planck Institute
for Physics
- NIST - National Institute
of Standards and Technology
- NREL - National Renewable
Energy Laboratory
- ORNL - Oak Ridge National
Laboratory
- SLAC - Stanford Linear
Accelerator Center
License

To the extent possible under law, wbierbower has waived all copyright
and related or neighboring rights to this work.
physics.md
Github