All Projects → nschloe → Awesome Scientific Computing

nschloe / Awesome Scientific Computing

Licence: cc0-1.0
😎 Curated list of awesome software for numerical analysis and scientific computing

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Awesome Scientific Computing

Orthopy
Orthogonal polynomials in all shapes and sizes.
Stars: ✭ 75 (-84.24%)
Mutual labels:  engineering, mathematics, physics
Optimesh
Mesh optimization, mesh smoothing.
Stars: ✭ 261 (-45.17%)
Mutual labels:  engineering, mathematics, physics
qnm
Python package for computing Kerr quasinormal mode frequencies, separation constants, and spherical-spheroidal mixing coefficients
Stars: ✭ 21 (-95.59%)
Mutual labels:  physics, scientific-computing
fundamental
Software to look for interrelationships between constants and find formulas for number sequences
Stars: ✭ 14 (-97.06%)
Mutual labels:  physics, mathematics
Qilin App
Fully hackable text editor developed for exact sciences with built-in KaTeX and AsciiMath support. Extensible via plugins and themes. Exportable as HTML, PDF and GFM.
Stars: ✭ 336 (-29.41%)
Mutual labels:  mathematics, physics
continuum mechanics
Utilities for doing calculations in continuum mechanics.
Stars: ✭ 18 (-96.22%)
Mutual labels:  physics, mathematics
Python-Matematica
Explorando aspectos fundamentais da matemática com Python e Jupyter
Stars: ✭ 41 (-91.39%)
Mutual labels:  mathematics, scientific-computing
Exprtk
C++ Mathematical Expression Parsing And Evaluation Library
Stars: ✭ 301 (-36.76%)
Mutual labels:  mathematics, scientific-computing
meshgen-comparison
🕸️ A comparison of mesh generators.
Stars: ✭ 25 (-94.75%)
Mutual labels:  engineering, mathematics
Dynamicalsystems.jl
Award winning software library for nonlinear dynamics
Stars: ✭ 381 (-19.96%)
Mutual labels:  mathematics, physics
Learn Something Every Day
📝 A compilation of everything that I learn; Computer Science, Software Development, Engineering, Math, and Coding in General. Read the rendered results here ->
Stars: ✭ 362 (-23.95%)
Mutual labels:  engineering, mathematics
Pygmsh
Gmsh for Python
Stars: ✭ 418 (-12.18%)
Mutual labels:  engineering, mathematics
NPY-for-Fortran
A FORTRAN module to write Numpy's *.npy and *.npz files
Stars: ✭ 30 (-93.7%)
Mutual labels:  physics, scientific-computing
FastExpm.jl
Implementation of a fast exponential matrix for large matrices (full and sparse)
Stars: ✭ 22 (-95.38%)
Mutual labels:  physics, mathematics
multiphysics
Interactive Multiphysics Simulation for Everyone
Stars: ✭ 41 (-91.39%)
Mutual labels:  engineering, physics
KalmanFlow
A simple Kalman Filter built in TensorFlow
Stars: ✭ 22 (-95.38%)
Mutual labels:  engineering, physics
Gop
GoPlus - The Go+ language for engineering, STEM education, and data science
Stars: ✭ 7,829 (+1544.75%)
Mutual labels:  scientific-computing, engineering
My NoteBook
サイエンス、テクノロジー、エンジニアリング関連の情報を記載したノート(忘備録)です。
Stars: ✭ 104 (-78.15%)
Mutual labels:  physics, mathematics
maelstrom
Numerical simulation of magnetohydrodynamics.
Stars: ✭ 28 (-94.12%)
Mutual labels:  physics, mathematics
Pyemd
Fast EMD for Python: a wrapper for Pele and Werman's C++ implementation of the Earth Mover's Distance metric
Stars: ✭ 361 (-24.16%)
Mutual labels:  mathematics, scientific-computing

Awesome Scientific Computing Awesome

Useful resources for scientific computing and numerical analysis.

Scientific computing and numerical analysis are research fields that aim to provide methods for solving large-scale problems from various areas of science with the help of computers. Typical problems are ordinary and partial differential equations (ODEs, PDEs), their discretizations, and the solution of linear algebra problems arising from them.

Contents

Basic linear algebra

  • BLAS - Standard building blocks for performing basic vector and matrix operations. (Fortran, public domain, GitHub)
  • OpenBLAS - Optimized BLAS library based on GotoBLAS2. (C and Assembly, BSD, GitHub)
  • BLIS - High-performance BLAS-like dense linear algebra libraries. (C, BSD, GitHub)
  • LAPACK - Routines for solving systems of linear equations, linear least-squares, eigenvalue problems, etc. (Fortran, BSD, GitHub)
  • Eigen - C++ template library for linear algebra. (C++, MPL 2, GitLab)
  • Ginkgo - High-performance manycore linear algebra library, focus on sparse systems. (C++, BSD, GitHub)
  • blaze - High-performance C++ math library for dense and sparse arithmetic. (C++, BSD, Bitbucket)

Multi-purpose toolkits

  • PETSc - Parallel solution of scientific applications modeled by PDEs. (C, 2-clause BSD, GitLab)
  • DUNE Numerics - Toolbox for solving PDEs with grid-based methods. (C++, GPL 2, GitLab)
  • SciPy - Python modules for statistics, optimization, integration, linear algebra, etc. (Python, mostly BSD, GitHub)
  • NumPy - Fundamental package needed for scientific computing with Python. (Python, BSD, GitHub)

Finite Elements

  • FEniCS - Computing platform for solving PDEs in Python and C++. (C++/Python, LGPL 3, Bitbucket)
  • libMesh - Framework for the numerical simulation of PDEs using unstructured discretizations. (C++, LGPL 2.1, GitHub)
  • deal.II - Software library supporting the creation of finite element codes. (C++, LGPL 2.1, GitHub)
  • Netgen/NGSolve - High performance multiphysics finite element software. (C++, LGPL 2.1, GitHub)
  • Firedrake - Automated system for the solution of PDEs using the finite element method. (Python, LGPL 3, GitHub)
  • MOOSE - Multiphysics Object Oriented Simulation Environment. (C++, LGPL 2.1, GitHub)
  • MFEM - Free, lightweight, scalable C++ library for finite element methods. (C++, LGPL 2.1, GitHub)
  • SfePy - Simple Finite Elements in Python. (Python, BSD, GitHub)
  • FreeFEM - High level multiphysics-multimesh finite element language. (C++, LGPL, GitHub)
  • libceed - Code for Efficient Extensible Discretizations. (C, 2-clause BSD, GitHub)

Meshing

  • Gmsh - Three-dimensional finite element mesh generator with pre- and post-processing facilities. (C++, GPL, GitLab)
  • pygmsh - Python interface for Gmsh. (Python, GPL 3, GitHub)
  • MeshPy - Quality triangular and tetrahedral mesh generation. (Python, MIT, GitHub)
  • meshio - I/O for various mesh formats, file conversion. (Python, MIT, GitHub)
  • CGAL - Algorithms for computational geometry. (C++, mixed LGPL/GPL, GitHub)
  • pygalmesh - Python interface for CGAL's 3D meshing capabilities. (Python, GPL 3, GitHub)
  • mshr - Mesh generation component of FEniCS. (Python, GPL 3, Bitbucket)
  • MOAB - Representing and evaluating mesh data. (C++, mostly LGPL 3, Bitbucket)
  • TetGen - Quality tetrahedral mesh generator and 3D Delaunay triangulator. (C++, AGPLv3)
  • Triangle - Two-dimensional quality mesh generator and Delaunay triangulator. (C, nonfree software)
  • optimesh - Triangular mesh smoothing. (Python, GPL 3, GitHub)
  • distmesh - Simple generator for unstructured triangular and tetrahedral meshes. (MATLAB, GPL 3)
  • QuadriFlow - A Scalable and Robust Method for Quadrangulation. (C++, BSD, GitHub)
  • trimesh - Loading and using triangular meshes with an emphasis on watertight surfaces. (Python, MIT, GitHub)
  • dmsh - Simple generator for unstructured triangular meshes, inspired by distmesh. (Python, GPL 3, GitHub)
  • pmp-library - Polygon mesh processing library. (C++, MIT with Employer Disclaimer, GitHub)
  • Mmg - Robust, open-source & multidisciplinary software for remeshing. (C, LGPL 3, GitHub)
  • meshplex - Fast tools for simplex meshes. (Python, GPL 3, GitHub)
  • TetWild - Robust Tetrahedral Meshing in the Wild. (C++, GPL 3, GitHub)
  • TriWild - Robust Triangulation with Curve Constraints. (C++, MPL 2, GitHub)
  • fTetWild - Fast Tetrahedral Meshing in the Wild. (C++, MPL 2, GitHub)
  • SeismicMesh - Parallel 2D/3D triangle/tetrahedral mesh generation with sliver removal. (Python and C++, GPL 3, GitHub)

Data formats

  • NetCDF - Software libraries and data formats for array-oriented scientific data. (C/C++/Fortran/Java/Python, custom open-source license, GitHub)
  • HDF5 - Data model, library, and file format for storing and managing data. (C/Fortran, BSD, GitHub)
  • XDMF - eXtensible Data Model and Format for data from High Performance Computing codes. (C++, GitLab)
  • Zarr - Format for the storage of chunked, compressed, N-dimensional arrays. (Python, MIT, GitHub)

Sparse linear solvers

  • SuperLU - Direct solution of large, sparse, nonsymmetric systems of linear equations. (C, mostly BSD, GitHub)
  • KryPy - Krylov subspace methods for the solution of linear algebraic systems. (Python, MIT, GitHub)
  • PyAMG - Algebraic Multigrid Solvers in Python. (Python, MIT, GitHub)
  • hypre - Library of high-performance preconditioners and solvers. (C, Apache 2.0/MIT, GitHub)

Visualization

  • ParaView - Multi-platform data analysis and visualization application based on VTK. (C++, BSD, GitLab)
  • VTK - Process images and create 3D computer graphics. (C++, BSD, GitLab)
  • Mayavi - 3D scientific data visualization and plotting in Python. (Python, BSD, GitHub)
  • Polyscope - Viewer and user interface for 3D geometry processing. (C++, MIT, GitHub)
  • PyVista - 3D plotting and mesh analysis through a streamlined interface for VTK. (Python, MIT, GitHub)
  • vedo - Library for scientific analysis and visualization of 3D objects based on VTK. (Python, MIT, GitHub)
  • yt - A toolkit for analysis and visualization of volumetric data. (Python, BSD, GitHub)
  • F3D - Cross-platform, fast, and minimalist 3D viewer with scientific visualization tools. (C++, BSD, GitLab)
  • TTK - Topological data analysis and visualization. (C++/Python, BSD, GitHub).

Other libraries and tools

  • FFTW - Discrete Fourier transforms in one or more dimensions, of arbitrary input size, real and complex. (C, GPL2, GitHub)
  • Qhull - Convex hull, Delaunay triangulation, Voronoi diagram, halfspace intersection about a point, etc. (C/C++, custom open source license, GitHub)
  • GSL - Random number generators, special functions, and least-squares fitting etc. (C/C++, GPL 3, Savannah)
  • OpenFOAM - Free, open source CFD (computational fluid dynamics) software. (C++, GPL 3, GitHub)
  • quadpy - Numerical integration (quadrature, cubature) in Python. (Python, GPL 3, GitHub)
  • FiPy - Finite-volume PDE solver. (Python, custom open-source license, GitHub)
  • accupy - Accurate sums and dot products for Python. (Python, GPL 3, GitHub)
  • SLEPc - Scalable Library for Eigenvalue Problem Computations. (C, 2-clause BSD, GitLab)
  • Chebfun - Computing with functions to about 15-digit accuracy. (MATLAB, BSD, GitHub)
  • pyMOR - Model Order Reduction with Python. (Python, 2-clause BSD, GitHub)
  • cvxpy - Modeling language for convex optimization problems. (Python, Apache 2.0, GitHub)
  • PyWavelets - Wavelet transforms in Python. (Python, MIT, GitHub)
  • NFFT - Nonequispaced fast Fourier transform. (C/MATLAB, GPL 2, GitHub)
  • preCICE - Coupling library for partitioned multi-physics simulations (FSI, CHT, and more). (C++, LGPL 3, GitHub)
  • orthopy - Compute orthogonal polynomials efficiently. (Python, GPL 3, GitHub)
  • pyGAM - Generalized Additive Models in Python. (Python, Apache 2.0, GitHub)
  • Dedalus - Solve partial differential equations with spectral methods. (Python, GPL 3, GitHub)

Community

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].