# Track Awesome Scientific Computing Updates Weekly

:sunglasses: Curated list of awesome software for numerical analysis and scientific computing

🏠 Home · 🔍 Search · 🔥 Feed · 📮 Subscribe · ❤️ Sponsor · 😺 nschloe/awesome-scientific-computing · ⭐ 1.2K · 🏷️ Miscellaneous

## Mar 11 - Mar 17, 2024

Meshing / Triangular and tetrahedral meshing

- trimesh - Loading and using triangular meshes with an emphasis on watertight surfaces. (Python, MIT, GitHub (⭐2.7k))

## Apr 10 - Apr 16, 2023

Meshing / Triangular and tetrahedral meshing

- pygalmesh (⭐528) - Python interface for CGAL's 3D meshing capabilities. (Python, GPL 3, GitHub)

- dmsh (⭐201) - Simple generator for unstructured triangular meshes, inspired by distmesh. (Python, proprietary, GitHub)

Meshing / Mesh tools

- optimesh (⭐550) - Triangular mesh smoothing. (Python, proprietary, GitHub)

- meshplex (⭐104) - Fast tools for simplex meshes. (Python, proprietary, GitHub)

Other libraries and tools / Mesh tools

- quadpy (⭐750) - Numerical integration (quadrature, cubature) in Python. (Python, proprietary, GitHub)

- accupy (⭐101) - Accurate sums and dot products for Python. (Python, GPL 3, GitHub)

- orthopy (⭐179) - Compute orthogonal polynomials efficiently. (Python, proprietary, GitHub)

## Dec 12 - Dec 18, 2022

Visualization / Mesh tools

- morphologica (⭐214) - Header-only, modern OpenGL code to visualize numerical simulations at runtime. (C++, Apache 2.0, GitHub)

## Dec 05 - Dec 11, 2022

Basic linear algebra

- BLAS - Standard building blocks for performing basic vector and matrix operations. (Fortran, public domain, GitHub (⭐1.4k))

- LAPACK - Routines for solving systems of linear equations, linear least-squares, eigenvalue problems, etc. (Fortran, BSD, GitHub (⭐1.4k))

Visualization / Mesh tools

- F3D - Cross-platform, fast, and minimalist 3D viewer with scientific visualization tools. (C++, BSD, GitHub (⭐2.2k))

Community / Mesh tools

- Jack Dongarra's software list - List of freely available software for the solution of linear algebra problems.

- NA Digest - Collection of articles on topics related to numerical analysis and those who practice it.

## Mar 14 - Mar 20, 2022

Finite Elements

- MFEM - Free, lightweight, scalable C++ library for finite element methods. (C++, BSD-3-Clause, GitHub (⭐1.5k))

## Jan 10 - Jan 16, 2022

Multi-purpose toolkits

- DifferentialEquations.jl - Toolbox for solving different types of differential equations numerically. (Julia, MIT, GitHub (⭐2.7k))

Other libraries and tools / Mesh tools

- HPDDM (⭐126) - High-performance unified framework for domain decomposition methods. (C++, LGPL 3, GitHub)

## Dec 13 - Dec 19, 2021

Meshing / Triangular and tetrahedral meshing

- Triangle - Two-dimensional quality mesh generator and Delaunay triangulator.
(C,
*nonfree software*)

- SeismicMesh (⭐113) - Parallel 2D/3D triangle/tetrahedral mesh generation with sliver removal. (Python and C++, GPL 3, GitHub)

Meshing / Quadrilateral and hexahedral meshing

- QuadriFlow - Scalable and robust quadrangulation from triangulation. (C++, BSD, GitHub (⭐593))

Meshing / Mesh tools

- meshio (⭐1.8k) - I/O for various mesh formats, file conversion. (Python, MIT, GitHub)

- pmp-library - Polygon mesh processing library. (C++, MIT with Employer Disclaimer, GitHub (⭐1.2k))

- Mmg - Robust, open-source & multidisciplinary software for remeshing. (C, LGPL 3, GitHub (⭐332))

## Oct 25 - Oct 31, 2021

Other libraries and tools / Mesh tools

- PyDMD (⭐55) - Dynamic Mode Decomposition (DMD) in Python. (Python, MIT, GitHub)

## May 24 - May 30, 2021

Finite Elements

- FEniCS - Computing platform for solving PDEs in Python and C++. (C++/Python, LGPL 3, GitHub/Bitbucket)

- scikit-fem (⭐416) - Simple finite element assemblers. (Python, BSD/GPL, GitHub)

Visualization / Mesh tools

- TTK - Topological data analysis and visualization. (C++/Python, BSD, GitHub (⭐393))

Other libraries and tools / Mesh tools

- shenfun - High-performance Python library for the spectral Galerkin method. (Python, BSD-2, GitHub (⭐177))

## Apr 19 - Apr 25, 2021

Other libraries and tools / Mesh tools

- cvxpy - Modeling language for convex optimization problems. (Python, Apache 2.0, GitHub (⭐5k))

- PyGMO - Massively parallel optimization. (Python/C++, MPL 2, GitHub (⭐394))

## Mar 15 - Mar 21, 2021

Community / Mesh tools

- Discord: Numerical Software - Discord messaging server on numerical software.

## Mar 01 - Mar 07, 2021

Other libraries and tools / Mesh tools

- Dedalus - Solve partial differential equations with spectral methods. (Python, GPL 3, GitHub (⭐416))

## Feb 01 - Feb 07, 2021

Data formats / Mesh tools

- NetCDF - Software libraries and data formats for array-oriented scientific data. (C/C++/Fortran/Java/Python, custom open-source license, GitHub (⭐481))

- HDF5 - Data model, library, and file format for storing and managing data. (C/Fortran, BSD, GitHub (⭐472))

- 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 (⭐1.3k))

Other libraries and tools / Mesh tools

- pyGAM - Generalized Additive Models in Python. (Python, Apache 2.0, GitHub (⭐830))

## Nov 02 - Nov 08, 2020

Visualization / Mesh tools

- yt - Toolkit for analysis and visualization of volumetric data. (Python, BSD, GitHub (⭐431))

## Oct 19 - Oct 25, 2020

Meshing / Triangular and tetrahedral meshing

- pygmsh (⭐782) - Python interface for Gmsh. (Python, GPL 3, GitHub)

Visualization / Mesh tools

- vedo - Library for scientific analysis and visualization of 3D objects based on VTK. (Python, MIT, GitHub (⭐1.9k))

Other libraries and tools / Mesh tools

- preCICE - Coupling library for partitioned multi-physics simulations (FSI, CHT, and more). (C++, LGPL 3, GitHub)

## Sep 14 - Sep 20, 2020

Basic linear algebra

- blaze - High-performance C++ math library for dense and sparse arithmetic. (C++, BSD, Bitbucket)

## Apr 06 - Apr 12, 2020

Finite Elements

- libceed - Code for Efficient Extensible Discretizations. (C, 2-clause BSD, GitHub (⭐172))

## Mar 02 - Mar 08, 2020

Basic linear algebra

Meshing / Triangular and tetrahedral meshing

- TetWild - Generate tetrahedral meshes for triangular surface meshes. (C++, GPL 3, GitHub (⭐570))

- fTetWild - Same as TetWild, but faster. (C++, MPL 2, GitHub (⭐357))

Other libraries and tools / Mesh tools

## Dec 30 - Jan 05, 2019

Visualization / Mesh tools

- PyVista - 3D plotting and mesh analysis through a streamlined interface for VTK. (Python, MIT, GitHub (⭐2.2k))

## Dec 09 - Dec 15, 2019

Finite Elements

Meshing / Triangular and tetrahedral meshing

- TriWild - Robust triangulation with curve constraints. (C++, MPL 2, GitHub (⭐222))

Visualization / Mesh tools

- ParaView - Multi-platform data analysis and visualization application based on VTK. (C++, BSD, GitLab)

- Mayavi - 3D scientific data visualization and plotting in Python. (Python, BSD, GitHub (⭐1.2k))

- Polyscope - Viewer and user interface for 3D geometry processing. (C++, MIT, GitHub (⭐1.6k))

Community / Mesh tools

- Gabriel Peyré on Twitter - One tweet a day on computational mathematics.

## Nov 25 - Dec 01, 2019

Other libraries and tools / Mesh tools

- NFFT - Nonequispaced fast Fourier transform. (C/MATLAB, GPL 2, GitHub (⭐164))

Community / Mesh tools

- Nick Higham's blog - Mostly on MATLAB, general computing advice.

## Oct 21 - Oct 27, 2019

Other libraries and tools / Mesh tools

- PyWavelets - Wavelet transforms in Python. (Python, MIT, GitHub (⭐1.9k))

## Oct 14 - Oct 20, 2019

Multi-purpose toolkits

## Aug 05 - Aug 11, 2019

Sparse linear solvers / Mesh tools

- hypre - Library of high-performance preconditioners and solvers. (C, Apache 2.0/MIT, GitHub (⭐603))

## Jun 10 - Jun 16, 2019

Other libraries and tools / Mesh tools

- pyMOR - Model Order Reduction with Python. (Python, 2-clause BSD, GitHub (⭐266))

## Jun 03 - Jun 09, 2019

Basic linear algebra

- OpenBLAS - Optimized BLAS library based on GotoBLAS2. (C and Assembly, BSD, GitHub (⭐5.8k))

- BLIS (⭐2k) - High-performance BLAS-like dense linear algebra libraries. (C, BSD, GitHub)

Finite Elements

- MOOSE - Multiphysics Object Oriented Simulation Environment. (C++, LGPL 2.1, GitHub (⭐1.5k))

## May 06 - May 12, 2019

Basic linear algebra

- Ginkgo - High-performance manycore linear algebra library, focus on sparse systems. (C++, BSD, GitHub (⭐365))

Other libraries and tools / Mesh tools

- Chebfun - Computing with functions to about 15-digit accuracy. (MATLAB, BSD, GitHub (⭐565))

## Mar 25 - Mar 31, 2019

Finite Elements

- SfePy - Simple Finite Elements in Python. (Python, BSD, GitHub (⭐669))

Community / Mesh tools

- Wolfgang Bangerth's video class - MATH 676: Finite element methods in scientific computing.

## Aug 27 - Sep 02, 2018

Community / Mesh tools

- John D. Cook's blog - Feats of scientific computing.

## Aug 13 - Aug 19, 2018

Community / Mesh tools

- SciComp StackExchange - Computational Science on the StackExchange network.

- Nick Trefethen's Video Lectures - 36 video lectures on approximation theory/practice and scientific computing.

## Jul 23 - Jul 29, 2018

Multi-purpose toolkits

- 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 (⭐12k))

- NumPy - Fundamental package needed for scientific computing with Python. (Python, BSD, GitHub (⭐26k))

Finite Elements

- libMesh - Framework for the numerical simulation of PDEs using unstructured discretizations. (C++, LGPL 2.1, GitHub (⭐607))

- deal.II - Software library supporting the creation of finite element codes. (C++, LGPL 2.1, GitHub (⭐1.2k))

- Netgen/NGSolve - High performance multiphysics finite element software. (C++, LGPL 2.1, GitHub (⭐253))

- Firedrake - Automated system for the solution of PDEs using the finite element method. (Python, LGPL 3, GitHub (⭐457))

Meshing / Triangular and tetrahedral meshing

- Gmsh - Three-dimensional finite element mesh generator with pre- and post-processing facilities. (C++, GPL, GitLab)

- MeshPy - Quality triangular and tetrahedral mesh generation. (Python, MIT, GitHub (⭐468))

- CGAL - Algorithms for computational geometry. (C++, mixed LGPL/GPL, GitHub (⭐4.4k))

- TetGen - Quality tetrahedral mesh generator and 3D Delaunay triangulator. (C++, AGPLv3)

- distmesh - Simple generator for unstructured triangular and tetrahedral meshes. (MATLAB, GPL 3)

Sparse linear solvers / Mesh tools

- SuperLU - Direct solution of large, sparse, nonsymmetric systems of linear equations. (C, mostly BSD, GitHub (⭐249))

- PyAMG - Algebraic Multigrid Solvers in Python. (Python, MIT, GitHub (⭐527))

Other libraries and tools / Mesh tools

- FFTW - Discrete Fourier transforms in one or more dimensions, of arbitrary input size, real and complex. (C, GPL2, GitHub (⭐2.6k))

- Qhull - Convex hull, Delaunay triangulation, Voronoi diagram, halfspace intersection about a point, etc. (C/C++, custom open source license, GitHub (⭐672))

- 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 (⭐1.4k))

- FiPy - Finite-volume PDE solver. (Python, custom open-source license, GitHub (⭐457))