Awesome Scientific Computing
A curated list of awesome articles, software libraries and resources on Scientific Computing
Items marked with
are open-source software and link to the source code. Items marked with
are free (as in free beer).
Table of Contents
- Astrodynamics
- Computational Fluid Dynamics
- Signal Processing
- Flight Mechanics
- Nuclear Physics
- Python
- Meteorology
- Chemical Engineering
- Structural Analysis
- Numerical Aerodynamics
- Data Analysis
- Machine Learnig
- Control Systems
- Marine Engineering
- Quantum Mechanics
- Visualization
- Finite Element Method
- Finite Volume Method
- Chemistry
- Numerical Simulation
Astrodynamics
Software Tools
Computational Fluid Dynamics
- OpenFOAM - C++ toolbox for the development of customized numerical solvers, and pre-/post-processing utilities for the solution of continuum mechanics problems.
Blog Posts
- Fluid Simulation for Video Games - 20 part tutorial to use fluid motion game to create immersive and fun virtual worlds.
Learning
- CFDPython - A sequence of IPython notebooks featuring the "12 Steps to Navier-Stokes".
Communities
- CFD Online - Free community for everyone interested in Computational Fluid Dynamics.
- SimScale - Cloud-based CAE platform that lets you seamlessly simulate, share, and collaborate.
Signal Processing
Notebooks
- Signal Processign with GW150914 Open Data - Typical signal processing tasks with the LIGO GW150914 Open Data.
Flight Mechanics
Software Tools
- PyFME - Python Flight Mechanics Engine.
- Aerospace Blockset™ - Simulink® extension with blocks for modeling and simulating aircraft, spacecraft, rocket, and propulsion systems, as well as unmanned airborne vehicles.
Nuclear Physics
Notebooks
- ¿Cuánto tardará el área de Chernobyl en dejar de ser radiactiva? - Analysis of the radioactive decay of the Chernobyl's radioactive waste. (Spanish)
Python
Use of Python in multiple Scientific Computing areas
Learning
- Basic Python Packages for Science - Quick introduction to the principal Python packages for scientific purposes using the Jupyter Notebook.
- Numba: Tell those C++ bullies to get lost - Scipy 2016 tutorial presented as a set of Jupyter notebooks with exercises sprinkled throughout.
- Lectures on scientific computing with Python - A set of lectures on scientific computing with Python, using IPython notebooks.
Blogs
- Raúl E. López Briega - Mathematics and Data Analysis using Python. (Spanish)
Meteorology
Datasets
- Wind Atlas of Spain - Numerical weather prediction system to predict the long-term wind resource.
Chemical Engineering
Communities
- CAChemE - Engineering students group to promote Free Software and encourage the use of computing in Chemical Engineering. (Spanish)
Structural Analysis
Notebooks
- Transverse Vibration of a uniform Euler-Bernoilli beam - Transverse Vibrations analysed using Python.
Numerical Aerodynamics
Learning
- Aerodinámica Numérica - Numerical Aerodynamics MOOC. (Spanish)
- Aerodynamics / Hydrodynamics - Foundation in the classical theories of aerodynamics of ideal fluids using Python.
Data Analysis
Software Tools
- xlwings - Replace your VBA code with Python.
Machine Learnig
Blog Posts
- Man Combines Random People’s Photos Using Neural Networks And The Results Are Amazing - Art technique known as Inceptionism, where images are combined using neural networks to generate a single mind-bending picture.
Control Systems
Software Tools
- python-control - Basic operations for analysis and design of feedback control systems.
Marine Engineering
Software Tools
- FreeCAD-Ship - FreeCAD module to provide a complete set of naval architect tools.
Quantum Mechanics
Software Tools
- QuTiP - Quantum Toolbox in Python.
Visualization
Software Tools
- Mayavi - 3D scientific data visualization and plotting in Python.
- ParaView - Build visualizations to analyze their data using qualitative and quantitative techniques.
- VisIt - Interactive, scalable, visualization, animation and analysis tool.
Finite Element Method
Software Tools
- Fenics Project - Automated scientific computing, with a particular focus on automated solution of differential equations by finite element methods.
- SfePy - Solving systems of coupled partial differential equations (PDEs) by the finite element method in 1D, 2D and 3D.
Blogs
- Finit3element - Web page on the finite element method (FEM) and its applicantions. (Spanish)
Finite Volume Method
Software Tools
- FiPy - A Finite Volume PDE Solver Using Python.
Chemistry
Software Tools
- PyMOL - A molecular visualization system.
Numerical Simulation
Software Tools
- SALOME - Generic platform for Pre- and Post-Processing for numerical simulation. It is based on an open and flexible architecture made of reusable components.
Contribute
Your contributions are always welcome! Please submit a pull request to add a new resource to the list. See CONTRIBUTING.md for more advice.
REMEMBER: this is a list of resources that you consider essential but people may not know.
License
This work is licensed under a Creative Commons Attribution 4.0 International License.