# Awesome Physics [![Awesome](https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg)](https://github.com/sindresorhus/awesome) 🌌 A collaborative list of awesome software for exploring Physics concepts. Feel free to contribute! ## Contributing Please take a quick look at the [contribution guidelines](./CONTRIBUTING.md) 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](#mechanics) * [Waves and Acoustics](#waves-and-acoustics) * [Thermodynamics](#thermodynamics) * [Electromagnetism](#electromagnetism) * [Optics](#optics) * [Relativity](#relativity) * [Quantum Physics](#quantum-physics) * [Astrophysics](#astrophysics) * [Geophysics](#geophysics) * [Condensed Matter Physics](#condensed-matter-physics) * [Organizations](#organizations) ## Mechanics * [Kinematics](#kinematics) * [Rigid Bodies and Physics Engines](#rigid-bodies-and-physics-engines) * [Fluid Mechanics](#fluid-mechanics) * [Gravity](#gravity) ### Kinematics * [scikit-kinematics](https://github.com/thomas-haslwanter/scikit-kinematics) - Python functions for working with 3D kinematics ### Rigid Bodies and Physics Engines * [bullet3](https://github.com/bulletphysics/bullet3) - real-time collision detection and multi-physics simulation for VR, games, visual effects, robotics, machine learning * [cannon.js](https://github.com/schteppe/cannon.js) - A lightweight 3D physics engine written in JavaScript * [matter-js](https://github.com/liabru/matter-js) - A 2D rigid body physics engine for the web * [mujoco-py](https://github.com/openai/mujoco-py) - A physics engine for detailed, efficient rigid body simulations with contacts * [myphysicslab](https://github.com/myphysicslab/myphysicslab) - provides JavaScript classes to build real-time interactive animated physics simulations * [ncollide](https://github.com/sebcrozet/ncollide) - 2 and 3-dimensional collision detection library in Rust * [newton-dynamics](https://github.com/MADEAPPS/newton-dynamics) - an integrated solution for real time simulation of physics environments * [nphysics](https://github.com/sebcrozet/nphysics) - 2 and 3-dimensional rigid body physics engine for Rust * [PhysX](https://github.com/NVIDIAGameWorks/PhysX-3.4) - a scalable multi-platform game physics solution * [PositionBasedDynamics](https://github.com/InteractiveComputerGraphics/PositionBasedDynamics) - A library for the physically-based simulation of rigid bodies, deformable solids and fluids * [pydy](https://github.com/pydy/pydy) - Multibody dynamics tool kit * [pymunk](https://github.com/viblo/pymunk) - A easy-to-use pythonic 2d physics library * [simbody](https://github.com/simbody/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](https://github.com/doyubkim/fluid-engine-dev) - Fluid simulation engine for computer graphics applications * [fluids](https://github.com/CalebBell/fluids) - Fluid dynamics component of Chemical Engineering Design Library (ChEDL) * [pysph](https://github.com/benma/pysph) - SPH fluid simulation with advanced screen space fluid rendering, using pyopengl and pyopencl * [DualSPHysics](https://github.com/DualSPHysics/DualSPHysics) - C++/CUDA/OpenMP based Smoothed Particle Hydrodynamics (SPH) solver ### Gravity * [Gravity-Simulator](https://github.com/HermannBjorgvin/Gravity-Simulator) - A 2D newtonian gravity simulator in JS * [Gravisim](https://github.com/bcamp1/Gravisim) - A universal gravity simulator written using rust_sdl2 * [pycbc](https://github.com/ligo-cbc/pycbc) - Analyze gravitational-wave data, find signals, and study their parameters ## Waves and Acoustics * [Mechanical Waves](#mechanical-waves) * [Sound](#sound) ### Mechanical Waves * [pyrocko](https://github.com/pyrocko/pyrocko) - A seismology toolkit for Python * [sw4](https://github.com/geodynamics/sw4) - 3-D seismic modeling * [webgl-ripples](https://github.com/m-ender/webgl-ripples) - A physically realistic real-time simulation of (transversal) 2D waves in WebGL ### Sound * [python-acoustics](https://github.com/python-acoustics/python-acoustics) - A Python library aimed at acousticians ## Thermodynamics * [cantera](https://github.com/Cantera/cantera) - A chemical kinetics, thermodynamics, and transport tool suite * [CoolProp](https://github.com/CoolProp/CoolProp) - Thermophysical properties for the masses * [RMG-Py](https://github.com/ReactionMechanismGenerator/RMG-Py) - Python version of the amazing Reaction Mechanism Generator * [thermo](https://github.com/CalebBell/thermo) - Thermodynamics, phase equilibria, transport properties and chemical database component of Chemical Engineering Design Library (ChEDL) * [thermopy](https://github.com/guillemborrell/thermopy) - A python library for thermodynamics ## Electromagnetism * [ElectricFieldSimulation](https://github.com/manucorporat/ElectricFieldSimulation) - An experimental example of how to use OpenGL for physical simulations * [EMpy](https://github.com/lbolla/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](https://github.com/gprMax/gprMax) - Simulates electromagnetic wave propagation using the Finite-Difference Time-Domain (FDTD) method for numerical modelling of Ground Penetrating Radar (GPR) * [meep](https://github.com/stevengj/meep) - Free finite-difference time-domain (FDTD) software for electromagnetic simulations * [openEMS](https://github.com/thliebig/openEMS) - A free and open-source electromagnetic field solver using the EC-FDTD method * [openmeeg](https://github.com/openmeeg/openmeeg) - A C++ package for low-frequency bio-electromagnetism solving forward problems in the field of EEG and MEG * [PlasmaPy](https://github.com/PlasmaPy/PlasmaPy) - A community developed python package for plasma physics in the very early stages of development. * [radis](https://github.com/radis/radis) - A nonequilibrium Radiative Solver for infrared molecular spectra * [scattpy](https://github.com/ScattPy/scikits.scattpy) - Light Scattering Methods for Python * [scikit-beam](https://github.com/scikit-beam/scikit-beam) - Data analysis tools for X-Ray, Neutron and Electron sciences * [scikit-rf](https://github.com/scikit-rf/scikit-rf) - RF and Microwave Engineering Scikit * [scikit-spectra](https://github.com/hugadams/scikit-spectra) - A python pandas-based toolkit for explorative spectroscopy, in particular UVVis spectroscopic data * [scuff-em](https://github.com/HomerReid/scuff-em) - computational physics suite for boundary-element analysis of electromagnetic scattering, fluctuation-induced phenomena, nanophotonics, RF device engineering, electrostatics, and more * [spirit](https://github.com/spirit-code/spirit) - Optimizations and Dynamics Framework for atomistic Spin systems ## Optics * [euclider](https://github.com/Limeth/euclider) - A higher-dimensional "non-euclidean" ray tracing prototype written in Rust * [lightpipes](https://github.com/opticspy/lightpipes) - Simulations of optical phenomena where diffraction is essential * [odak](https://github.com/kunguz/odak) - A fundamental library for scientific computing in optical sciences. * [opticspy](https://github.com/Sterncat/opticspy) - A python module for optics applications * [poppy](https://github.com/mperrin/poppy) - Physical Optics Propagation in Python * [pyRT](https://github.com/martinchristen/pyRT) - a raytracer/image generator for Python * [rayopt](https://github.com/jordens/rayopt) - Python optics and lens design, raytracing * [raysect](https://github.com/raysect/source) - A ray-tracing framework for optical/non-optical physics simulations ## Relativity * [OpenRelativity](https://github.com/MITGameLab/OpenRelativity) - An open source framework to add the effects of traveling at relativistic speeds to visualizations or games * [TFG](https://github.com/agarciamontoro/TFG) - General Relativity massively parallel raytracer ## Quantum Physics * [artiq](https://github.com/m-labs/artiq) - Next-generation control system for quantum information experiments * [flavio](https://github.com/flav-io/flavio) - flavour phenomenology in the Standard model and beyond * [hepdata](https://github.com/HEPData/hepdata) - the high energy physics data repository * [particle-clicker](https://github.com/particle-clicker/particle-clicker) - An addictive incremental game that teaches players the history of high energy particle physics * [Psi4](https://github.com/psi4/psi4) - Open-source Quantum Chemistry * [pypdt](https://bitbucket.org/andybuckley/pypdt) - Pythonic access to high energy particle data tables and ID codes * [QMsolve](https://github.com/quantum-visualizations/qmsolve) - A Python module for solving and visualizing the Schrödinger equation. * [quantum-python-lectures](https://github.com/tommyogden/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](https://github.com/qojulia/QuantumOptics.jl) - Library for the numerical simulation of closed as well as open quantum systems * [qutip](https://github.com/qutip/qutip) - Quantum Toolbox in Python * [ROOT](https://github.com/root-project/root) - A data processing and analysis framework, mainly used in high-energy physics * [scikit-hep](https://github.com/scikit-hep/scikit-hep) - Toolkit of interfaces and tools for high energy physics (HEP) ## Astrophysics * [astropy](https://github.com/astropy/astropy) - intended to contain much of the core functionality and some common tools needed for performing astronomy and astrophysics with Python * [gala](https://github.com/adrn/gala) - Galactic and gravitational dynamics in Python * [galpy](http://galpy.readthedocs.io/en/latest/) - Galactic Dynamics in python * [pynbody](https://github.com/pynbody/pynbody) - framework for N-body and hydrodynamic astrophysical simulations * [sunpy](https://github.com/sunpy/sunpy) - an open-source Python library for solar physics data analysis ## Geophysics * [burnman](https://github.com/geodynamics/burnman) - a library for modeling mantle thermodynamics and thermoelasticity constrained by mineral physics experiments * [em](https://github.com/geoscixyz/em) - Electromagnetic methods in geophysics - open educational resources * [simpeg](https://github.com/simpeg/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](https://web.archive.org/web/20060907125225/http://www.physics.cornell.edu/sss/simulationlist.html) 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](https://web.archive.org/web/20190610115705/http://pages.physics.cornell.edu/~sethna/teaching/sss/labs/) * [Shut up and calculate](https://github.com/Sinan81/shut-up-and-calculate) Python code to calculate and visualize the properties of 2 dimensional systems (such as cuprate superconductors). ## Organizations * [CERN](https://github.com/CERN) - European Organization for Nuclear Research * [IOP](https://github.com/Institute-of-Physics) - Institute of Physics * [LANL](https://github.com/lanl) - Los Alamos National Lab * [LIGO](https://github.com/lscsoft) - Laser Inferometer Gravitational-Wave Experiment * [LLNL](https://github.com/LLNL) - Lawrence Livermore National Laboratory * [MPPMU](https://github.com/mppmu) - Max Planck Institute for Physics * [NIST](https://github.com/usnistgov) - National Institute of Standards and Technology * [NREL](https://github.com/NREL) - National Renewable Energy Laboratory * [ORNL](https://github.com/ORNL) - Oak Ridge National Laboratory * [SLAC](https://github.com/SLAC) - Stanford Linear Accelerator Center ## License [![CC0](http://mirrors.creativecommons.org/presskit/buttons/88x31/svg/cc-zero.svg)](https://creativecommons.org/publicdomain/zero/1.0/) To the extent possible under law, wbierbower has waived all copyright and related or neighboring rights to this work. [physics.md Github](https://github.com/wbierbower/awesome-physics )