├── CONTRIBUTING.md ├── LICENSE ├── README.md └── media ├── free.svg └── oss.svg /CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | # Contribution Guidelines 2 | 3 | 4 | ## Table of Contents 5 | 6 | - [This is an AWESOME list](#this-is-an-awesome-list) 7 | - [Adding to this list](#adding-to-this-list) 8 | 9 | 10 | ## This is an AWESOME list 11 | 12 | Which means that the list does not pretend to contain all the resources available in the world. Do not add well-know software packages, basic tutorials, documentation, etc. Instead contribute with bizarre links about the topics, amazing blog posts and tutorials, new software, interesting people, fresh insights, this essential book you have red and whatever you consider awesome! 13 | 14 | This is not a how-to start with... or a all the things you need to know about..., but a **list of resources that you consider essential but people may not know**. 15 | 16 | 17 | ## Adding to this list 18 | 19 | Please ensure your pull request adheres to the following guidelines: 20 | 21 | - Search previous suggestions before making a new one, as yours may be a duplicate. 22 | - Make an individual pull request for each suggestion. 23 | - Add the link: `- [Title](Link) - A short description ending with a period.` 24 | - Keep descriptions concise. 25 | - Add a section if needed. 26 | - Add the section description. 27 | - Add the section title to Table of Contents. 28 | - Inside a section follow this scheme and this order: 29 | ``` 30 | - Software Tools 31 | - Blog Posts 32 | - Learning: MOOCs, PDFs, tutorials, books, papers... 33 | - Notebooks: Jupyter Notebooks and other interactive programming formats. 34 | - Datasets: avaliable data to download and analyse. 35 | - Web Pages and Blogs: personal web pages of people writing about Scientific Computing, blogs about the list's topics... 36 | - Communities: places were find more resources on the topic. 37 | ``` 38 | - Link additions should be added to the bottom of the relevant category. 39 | - Check your spelling and grammar. 40 | - Remove any trailing whitespace. 41 | - The pull request and commit should have a useful title. 42 | - The body of your commit message should contain a link to the repository. 43 | - Please add a comment on why do you consider awesome your contribution to your pull request. 44 | 45 | Thank you for your suggestions! 46 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | Creative Commons Attribution 4.0 International License (CC BY 4.0) 2 | 3 | http://creativecommons.org/licenses/by/4.0/ 4 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | [![No Maintenance Intended](http://unmaintained.tech/badge.svg)](http://unmaintained.tech/) 2 | 3 | _See https://github.com/tapyu/awesome-scientific-computing instead_ 4 | 5 | # Awesome Scientific Computing 6 | 7 | [![Awesome](https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg)](https://github.com/sindresorhus/awesome) 8 | 9 | > A curated list of awesome articles, software libraries and resources on Scientific Computing 10 | 11 | > *Items marked with ![Open-Source Software][OSS Icon] are open-source software and link to the source code. Items marked with ![Freeware][Freeware Icon] are free (as in free beer).* 12 | 13 | 14 | ## Table of Contents 15 | 16 | - [Astrodynamics](#astrodynamics) 17 | - [Computational Fluid Dynamics](#computational-fluid-dynamics) 18 | - [Signal Processing](#signal-processing) 19 | - [Linear Algebra](#linear-algebra) 20 | - [Flight Mechanics](#flight-mechanics) 21 | - [Nuclear Physics](#nuclear-physics) 22 | - [Python](#python) 23 | - [Meteorology](meteorology) 24 | - [Chemical Engineering](#chemical-engineering) 25 | - [Structural Analysis](#structural-analysis) 26 | - [Numerical Aerodynamics](#numerical-aerodynamics) 27 | - [Data Analysis](#data-analysis) 28 | - [Machine Learnig](#machine-learnig) 29 | - [Control Systems](#control-systems) 30 | - [Communication Systems](#communication-systems) 31 | - [Marine Engineering](#marine-engineering) 32 | - [Microscopy](#microscopy) 33 | - [Scanning Probe Microscopy](#scanning-probe-microscopy) 34 | - [Quantum Mechanics](#quantum-mechanics) 35 | - [Visualization](#visualization) 36 | - [Finite Element Method](#finite-element-method) 37 | - [Finite Volume Method](#finite-volume-method) 38 | - [Chemistry](#chemistry) 39 | - [Numerical Simulation](#numerical-simulation) 40 | 41 | 42 | - - - 43 | 44 | ## Astrodynamics 45 | 46 | ### Software Tools 47 | 48 | - [poliastro](https://github.com/poliastro/poliastro) - Astrodynamics Python Library. ![Open-Source Software][OSS Icon] 49 | - [MONTE](http://montepy.jpl.nasa.gov) - Astrodynamics Python library. ![Freeware][Freeware Icon] 50 | 51 | 52 | ## Computational Fluid Dynamics 53 | 54 | - [OpenFOAM](http://www.openfoam.com) - C++ toolbox for the development of customized numerical solvers, and pre-/post-processing utilities for the solution of continuum mechanics problems. ![Open-Source Software][OSS Icon] 55 | 56 | ### Blog Posts 57 | 58 | - [Fluid Simulation for Video Games](https://software.intel.com/en-us/articles/fluid-simulation-for-video-games-part-1) - 20 part tutorial to use fluid motion game to create immersive and fun virtual worlds. 59 | 60 | ### Learning 61 | 62 | - [CFDPython](https://github.com/barbagroup/CFDPython) - A sequence of IPython notebooks featuring the "12 Steps to Navier-Stokes". 63 | 64 | ### Communities 65 | 66 | - [CFD Online](http://www.cfd-online.com) - Free community for everyone interested in Computational Fluid Dynamics. 67 | - [SimScale](https://www.simscale.com) - Cloud-based CAE platform that lets you seamlessly simulate, share, and collaborate. 68 | 69 | 70 | ## Signal Processing 71 | 72 | ### Notebooks 73 | 74 | - [Signal Processign with GW150914 Open Data](https://losc.ligo.org/s/events/GW150914/GW150914_tutorial.html) - Typical signal processing tasks with the LIGO GW150914 Open Data. 75 | 76 | 77 | ## Flight Mechanics 78 | 79 | ### Software Tools 80 | 81 | - [PyFME](https://github.com/AeroPython/PyFME) - Python Flight Mechanics Engine. ![Open-Source Software][OSS Icon] 82 | - [Aerospace Blockset™](http://es.mathworks.com/products/aeroblks/) - Simulink® extension with blocks for modeling and simulating aircraft, spacecraft, rocket, and propulsion systems, as well as unmanned airborne vehicles. 83 | 84 | ## Linear Algebra 85 | 86 | ### Learning 87 | 88 | - [MIT 18.06, Linear Algebra course](https://github.com/mitmath/1806) - Linear Algebra course by Professor Gilbert Strang. 89 | - [The Art of Linear Algebra](https://github.com/kenjihiranabe/The-Art-of-Linear-Algebra) - Graphic notes on Gilbert Strang's "Linear Algebra for Everyone". 90 | 91 | 92 | ## Nuclear Physics 93 | 94 | ### Notebooks 95 | 96 | - [¿Cuánto tardará el área de Chernobyl en dejar de ser radiactiva?](https://github.com/newlawrence/Funny-Stuff/blob/master/notebooks/chernobyl.ipynb) - Analysis of the radioactive decay of the Chernobyl's radioactive waste. (Spanish) 97 | 98 | 99 | ## Python 100 | 101 | **Use of Python in multiple Scientific Computing areas** 102 | 103 | ### Learning 104 | 105 | - [Basic Python Packages for Science](https://github.com/AeroPython/basic-python-packages-for-science/blob/master/Basic%20Python%20Packages%20for%20Science.ipynb) - Quick introduction to the principal Python packages for scientific purposes using the Jupyter Notebook. 106 | - [Numba: Tell those C++ bullies to get lost](https://github.com/barbagroup/numba_tutorial_scipy2016) - Scipy 2016 tutorial presented as a set of Jupyter notebooks with exercises sprinkled throughout. 107 | - [Lectures on scientific computing with Python](https://github.com/jrjohansson/scientific-python-lectures) - A set of lectures on scientific computing with Python, using IPython notebooks. 108 | 109 | 110 | ### Blogs 111 | 112 | - [Raúl E. López Briega](http://relopezbriega.github.io/) - Mathematics and Data Analysis using Python. (Spanish) 113 | 114 | 115 | ## Meteorology 116 | 117 | ### Datasets 118 | 119 | - [Wind Atlas of Spain](http://atlaseolico.idae.es/index.php?pag=introduccion&idioma=EN) - Numerical weather prediction system to predict the long-term wind resource. 120 | 121 | 122 | ## Chemical Engineering 123 | 124 | ### Communities 125 | 126 | - [CAChemE](http://cacheme.org) - Engineering students group to promote Free Software and encourage the use of computing in Chemical Engineering. (Spanish) 127 | 128 | 129 | ## Structural Analysis 130 | 131 | ### Notebooks 132 | 133 | - [Transverse Vibration of a uniform Euler-Bernoilli beam](https://nbviewer.jupyter.org/github/bayajid/Vibration/blob/master/Vibration.ipynb) - Transverse Vibrations analysed using Python. 134 | 135 | 136 | ## Numerical Aerodynamics 137 | 138 | ### Learning 139 | 140 | - [Aerodinámica Numérica](http://ocw.upm.es/ingenieria-aeroespacial/aerodinamica-numerica) - Numerical Aerodynamics MOOC. (Spanish) 141 | - [Aerodynamics / Hydrodynamics](http://openedx.seas.gwu.edu/courses/GW/MAE6226/2014_spring/about) - Foundation in the classical theories of aerodynamics of ideal fluids using Python. 142 | 143 | 144 | ## Data Analysis 145 | 146 | ### Software Tools 147 | 148 | - [xlwings](http://xlwings.org) - Replace your VBA code with Python. ![Open-Source Software][OSS Icon] 149 | 150 | 151 | ## Machine Learnig 152 | 153 | ### Learning 154 | - [Code solution of Steven L. Brunton and J. Nathan Kutz's book](https://github.com/dynamicslab/databook_matlab) - Matlab codes of the book "Data-Driven Science and Engineering: Machine Learning, Dynamical Systems, and Control" by Steven L. Brunton and J. Nathan Kutz. ![Freeware][Freeware Icon] 155 | - [Matlab code and Instructor Resources of Simon Haykin's book](https://media.pearsoncmg.com/bc/abp/engineering-resources/products/product.html#product,isbn=0131471392) - Instructor Resources and Matlab code of Simon Haykin's book "Neural Networks and Learning Machines". ![Freeware][Freeware Icon] 156 | 157 | ### Blog Posts 158 | 159 | - [Man Combines Random People’s Photos Using Neural Networks And The Results Are Amazing](http://www.boredpanda.com/inceptionism-neural-network-deep-dream-art/) - Art technique known as Inceptionism, where images are combined using neural networks to generate a single mind-bending picture. 160 | 161 | ### Datasets 162 | 163 | - [UCI](https://archive.ics.uci.edu/) - UC Irvine Machine Learning Repository. 164 | - [kaggle](https://www.kaggle.com/datasets) - A data science competition platform enables users to find and publish open datasets, explore and build models in a web-based data science environment, work with other data scientists and machine learning engineers. 165 | 166 | ## Control Systems 167 | 168 | ### Software Tools 169 | 170 | - [python-control](https://www.cds.caltech.edu/~murray/wiki/Control_Systems_Library_for_Python) - Basic operations for analysis and design of feedback control systems. ![Open-Source Software][OSS Icon] 171 | 172 | 173 | ## Communication Systems 174 | 175 | ### Software Tools 176 | 177 | - [GNU Radio](https://www.gnuradio.org) - Free software development toolkit that provides signal processing blocks to implement software-defined radios and signal processing systems. ![Freeware][Freeware Icon] 178 | - [proxmark3](https://github.com/RfidResearchGroup/proxmark3) - Swiss-army tool of RFID, allowing for interactions with the vast majority of RFID tags on a global scale. 179 | - [HackRF](https://github.com/greatscottgadgets/hackrf) - A low cost, open source Software Defined Radio platform. 180 | 181 | ### Learning 182 | - [Quadrature Signals: Complex, But Not Complicated.](https://www.ieee.li/pdf/essay/quadrature_signals.pdf) 183 | - [I/Q Data for Dummies.](http://whiteboard.ping.se/SDR/IQ) 184 | - [GLONASS & GPS HW design](https://content.u-blox.com/sites/default/files/products/documents/GLONASS-HW-Design_AppNote_%28GPS.G6-CS-10005%29.pdf) 185 | - [Software Radio for Experimenters with GNU Radio](https://people.scs.carleton.ca/~barbeau/SDRCRBook/index.shtml) - Implemented in Octave and Python by Michel Barbeau. 186 | - [Let’s Assume the System is Synchronized](https://s3.amazonaws.com/embeddedrelated/user/6420/lets_assume_system_synchronized_2_94379.pdf) - By Fred Harris. 187 | 188 | ## Marine Engineering 189 | 190 | ### Software Tools 191 | 192 | - [FreeCAD-Ship](https://jlcercos.wordpress.com/freecad-ship-en/) - FreeCAD module to provide a complete set of naval architect tools. ![Open-Source Software][OSS Icon] 193 | 194 | ## Microscopy 195 | 196 | ### Scanning Probe Microscopy 197 | 198 | #### Software Tools 199 | 200 | - [NTMDTRead](https://github.com/KOLANICH/NTMDTRead) - a library reading the proprietary file format of NT-MDT scanning probe microscopes and Raman spectrometers. 201 | 202 | ## Quantum Mechanics 203 | 204 | ### Software Tools 205 | 206 | - [QuTiP](http://qutip.org) - Quantum Toolbox in Python. ![Open-Source Software][OSS Icon] 207 | 208 | 209 | ## Visualization 210 | 211 | ### Software Tools 212 | 213 | - [Mayavi](http://docs.enthought.com/mayavi/mayavi/) - 3D scientific data visualization and plotting in Python. ![Open-Source Software][OSS Icon] 214 | - [ParaView](http://www.paraview.org) - Build visualizations to analyze their data using qualitative and quantitative techniques. ![Open-Source Software][OSS Icon] 215 | - [VisIt](https://wci.llnl.gov/simulation/computer-codes/visit) - Interactive, scalable, visualization, animation and analysis tool. ![Open-Source Software][OSS Icon] 216 | 217 | 218 | ## Finite Element Method 219 | 220 | ### Software Tools 221 | 222 | - [Fenics Project](https://fenicsproject.org/index.html) - Automated scientific computing, with a particular focus on automated solution of differential equations by finite element methods. ![Open-Source Software][OSS Icon] 223 | - [SfePy](http://sfepy.org/doc-devel/index.html) - Solving systems of coupled partial differential equations (PDEs) by the finite element method in 1D, 2D and 3D. ![Open-Source Software][OSS Icon] 224 | 225 | ### Blogs 226 | 227 | - [Finit3element](https://finit3element.com) - Web page on the finite element method (FEM) and its applicantions. (Spanish) 228 | 229 | 230 | ## Finite Volume Method 231 | 232 | ### Software Tools 233 | 234 | - [FiPy](http://www.ctcms.nist.gov/fipy/) - A Finite Volume PDE Solver Using Python. ![Open-Source Software][OSS Icon] 235 | 236 | 237 | ## Chemistry 238 | 239 | ### Software Tools 240 | 241 | - [PyMOL](https://www.pymol.org) - A molecular visualization system. ![Open-Source Software][OSS Icon] 242 | 243 | 244 | ## Numerical Simulation 245 | 246 | ### Software Tools 247 | 248 | - [SALOME](http://www.salome-platform.org) - Generic platform for Pre- and Post-Processing for numerical simulation. It is based on an open and flexible architecture made of reusable components. ![Open-Source Software][OSS Icon] 249 | 250 | 251 | **[⬆ back to top](#table-of-contents)** 252 | 253 | 254 | ## Contribute 255 | 256 | **Your contributions are always welcome!** Please submit a pull request to add a new resource to the list. See [**CONTRIBUTING.md**](https://github.com/AeroPython/awesome-scientific-computing/blob/master/CONTRIBUTING.md) for more advice. 257 | 258 | **REMEMBER:** this is a list of resources that you consider essential but people may not know. 259 | 260 | ## License 261 | 262 | [![Creative Commons License](http://i.creativecommons.org/l/by/4.0/88x31.png)](https://creativecommons.org/licenses/by/4.0/) 263 | 264 | This work is licensed under a [Creative Commons Attribution 4.0 International License](http://creativecommons.org/licenses/by/4.0/). 265 | 266 | 267 | [OSS Icon]: https://cdn.rawgit.com/iCHAIT/awesome-osx/master/media/oss.svg 268 | [Freeware Icon]: https://cdn.rawgit.com/iCHAIT/awesome-osx/master/media/free.svg 269 | -------------------------------------------------------------------------------- /media/free.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 10 | 11 | -------------------------------------------------------------------------------- /media/oss.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 7 | --------------------------------------------------------------------------------