172 lines
12 KiB
Markdown
172 lines
12 KiB
Markdown
# Awesome Physics [](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
|
|
|
|
[](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.
|