Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
awesome-scientific-computing
:sunglasses: Curated list of awesome software for numerical analysis and scientific computing
https://github.com/nschloe/awesome-scientific-computing
Last synced: 4 days ago
JSON representation
-
Other libraries and tools
-
Mesh tools
- GitHub
- pyGAM - Generalized Additive Models in Python.
- FFTW - Discrete Fourier transforms in one or more dimensions, of arbitrary input size, real and complex.
- Qhull - Convex hull, Delaunay triangulation, Voronoi diagram, halfspace intersection about a point, etc.
- custom open source license
- GSL - Random number generators, special functions, and least-squares fitting etc.
- Savannah
- OpenFOAM - Free, open source CFD (computational fluid dynamics) software.
- FiPy - Finite-volume PDE solver.
- SLEPc - Scalable Library for Eigenvalue Problem Computations.
- Chebfun - Computing with functions to about 15-digit accuracy.
- pyMOR - Model Order Reduction with Python.
- cvxpy - Modeling language for convex optimization problems.
- PyWavelets - Wavelet transforms in Python.
- NFFT - Nonequispaced fast Fourier transform.
- preCICE - Coupling library for partitioned multi-physics simulations (FSI, CHT, and more).
- Dedalus - Solve partial differential equations with spectral methods.
- shenfun - High-performance Python library for the spectral Galerkin method.
- FFTW - Discrete Fourier transforms in one or more dimensions, of arbitrary input size, real and complex.
- Qhull - Convex hull, Delaunay triangulation, Voronoi diagram, halfspace intersection about a point, etc.
- SLEPc - Scalable Library for Eigenvalue Problem Computations.
- GitHub
- Qhull - Convex hull, Delaunay triangulation, Voronoi diagram, halfspace intersection about a point, etc.
- GitHub
- quadpy - Numerical integration (quadrature, cubature) in Python.
- GitHub
- accupy - Accurate sums and dot products for Python.
- GitLab
- GitHub
- GitHub
- GitHub
- GitHub
- orthopy - Compute orthogonal polynomials efficiently.
- GitHub
- GitHub
- PyGMO - Massively parallel optimization.
- GitHub
- GitHub
- PyDMD - Dynamic Mode Decomposition (DMD) in Python.
- HPDDM - High-performance unified framework for domain decomposition methods.
-
-
Meshing
-
Mesh tools
- pmp-library - Polygon mesh processing library.
- Mmg - Robust, open-source & multidisciplinary software for remeshing.
- MOAB - Representing and evaluating mesh data.
- meshio - I/O for various mesh formats, file conversion.
- Bitbucket
- optimesh - Triangular mesh smoothing.
- GitHub
- meshplex - Fast tools for simplex meshes.
-
Triangular and tetrahedral meshing
- Gmsh - Three-dimensional finite element mesh generator with pre- and post-processing facilities.
- GitLab
- MeshPy - Quality triangular and tetrahedral mesh generation.
- CGAL - Algorithms for computational geometry.
- TetGen - Quality tetrahedral mesh generator and 3D Delaunay triangulator.
- Triangle - Two-dimensional quality mesh generator and Delaunay triangulator.
- distmesh - Simple generator for unstructured triangular and tetrahedral meshes.
- trimesh - Loading and using triangular meshes with an emphasis on watertight surfaces.
- TetWild - Generate tetrahedral meshes for triangular surface meshes.
- TriWild - Robust triangulation with curve constraints.
- fTetWild - Same as TetWild, but faster.
- Gmsh - Three-dimensional finite element mesh generator with pre- and post-processing facilities.
- CGAL - Algorithms for computational geometry.
- pygmsh - Python interface for Gmsh.
- GitHub
- GitHub
- pygalmesh - Python interface for CGAL's 3D meshing capabilities.
- GitHub
- dmsh - Simple generator for unstructured triangular meshes, inspired by distmesh.
- GitHub
- GitHub
- GitHub
- SeismicMesh - Parallel 2D/3D triangle/tetrahedral mesh generation with sliver removal.
-
Quadrilateral and hexahedral meshing
- QuadriFlow - Scalable and robust quadrangulation from triangulation.
- GitHub
-
-
Data formats
-
Mesh tools
- NetCDF - Software libraries and data formats for array-oriented scientific data.
- HDF5 - Data model, library, and file format for storing and managing data.
- XDMF - eXtensible Data Model and Format for data from High Performance Computing codes.
- GitLab
- Zarr - Format for the storage of chunked, compressed, N-dimensional arrays.
- GitHub
- GitHub
- GitHub
-
-
Sparse linear solvers
-
Visualization
-
Mesh tools
- ParaView - Multi-platform data analysis and visualization application based on VTK.
- GitLab
- VTK - Process images and create 3D computer graphics.
- GitLab
- Mayavi - 3D scientific data visualization and plotting in Python.
- Polyscope - Viewer and user interface for 3D geometry processing.
- PyVista - 3D plotting and mesh analysis through a streamlined interface for VTK.
- vedo - Library for scientific analysis and visualization of 3D objects based on VTK.
- yt - Toolkit for analysis and visualization of volumetric data.
- F3D - Cross-platform, fast, and minimalist 3D viewer with scientific visualization tools.
- TTK - Topological data analysis and visualization.
- ParaView - Multi-platform data analysis and visualization application based on VTK.
- vedo - Library for scientific analysis and visualization of 3D objects based on VTK.
- GitHub
- GitHub
- GitHub
- GitHub
- GitHub
- GitHub
- GitHub
- morphologica - Header-only, modern OpenGL code to visualize numerical simulations at runtime. (C++, Apache 2.0, GitHub)
-
-
Basic linear algebra
- BLAS - Standard building blocks for performing basic vector and matrix operations.
- GitHub
- OpenBLAS - Optimized BLAS library based on GotoBLAS2.
- LAPACK - Routines for solving systems of linear equations, linear least-squares, eigenvalue problems, etc.
- Eigen - C++ template library for linear algebra.
- Ginkgo - High-performance manycore linear algebra library, focus on sparse systems.
- GitHub
- OpenBLAS - Optimized BLAS library based on GotoBLAS2.
- GitHub
- GitHub
- BLIS - High-performance BLAS-like dense linear algebra libraries.
- GitHub
- GitLab
- GitHub
- blaze - High-performance C++ math library for dense and sparse arithmetic.
-
Multi-purpose toolkits
- PETSc - Parallel solution of scientific applications modeled by PDEs.
- DUNE Numerics - Toolbox for solving PDEs with grid-based methods.
- GitLab
- SciPy - Python modules for statistics, optimization, integration, linear algebra, etc.
- NumPy - Fundamental package needed for scientific computing with Python.
- DifferentialEquations.jl - Toolbox for solving different types of differential equations numerically. (Julia, MIT, [GitHub](https://github.com/SciML/DifferentialEquations.jl))
- DUNE Numerics - Toolbox for solving PDEs with grid-based methods.
- SciPy - Python modules for statistics, optimization, integration, linear algebra, etc.
- GitLab
- GitHub
-
Finite Elements
- FEniCS - Computing platform for solving PDEs in Python and C++.
- GitHub - project/))
- libMesh - Framework for the numerical simulation of PDEs using unstructured discretizations.
- deal.II - Software library supporting the creation of finite element codes.
- Netgen/NGSolve - High performance multiphysics finite element software.
- Firedrake - Automated system for the solution of PDEs using the finite element method.
- MOOSE - Multiphysics Object Oriented Simulation Environment.
- MFEM - Free, lightweight, scalable C++ library for finite element methods.
- SfePy - Simple Finite Elements in Python.
- FreeFEM - High level multiphysics-multimesh finite element language.
- GitHub
- libceed - Code for Efficient Extensible Discretizations.
- FEniCS - Computing platform for solving PDEs in Python and C++.
- libMesh - Framework for the numerical simulation of PDEs using unstructured discretizations.
- deal.II - Software library supporting the creation of finite element codes.
- Netgen/NGSolve - High performance multiphysics finite element software.
- Firedrake - Automated system for the solution of PDEs using the finite element method.
- MFEM - Free, lightweight, scalable C++ library for finite element methods.
- SfePy - Simple Finite Elements in Python.
- FreeFEM - High level multiphysics-multimesh finite element language.
- libceed - Code for Efficient Extensible Discretizations.
- GitHub
- GitHub
- GitHub
- GitHub
- GitHub
- GitHub
- GitHub
- GitHub
- scikit-fem - Simple finite element assemblers.
-
Community
-
Mesh tools
- SciComp StackExchange - Computational Science on the StackExchange network.
- Wolfgang Bangerth's video class - MATH 676: Finite element methods in scientific computing.
- Nick Higham's blog - Mostly on MATLAB, general computing advice.
- Nick Trefethen's Video Lectures - 36 video lectures on approximation theory/practice and scientific computing.
- John D. Cook's blog - Feats of scientific computing.
- 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.
- Discord: Numerical Software - Discord messaging server on numerical software.
- Gabriel Peyré on Twitter - One tweet a day on computational mathematics.
-
Categories
Sub Categories
Keywords
python
22
mesh
9
mathematics
9
finite-elements
7
engineering
7
fem
6
meshing
6
hpc
6
linear-algebra
5
vtk
5
mesh-generation
5
visualization
5
simulation
5
c
5
pypi
5
scientific-computing
5
c-plus-plus
4
3d
4
finite-element-analysis
3
geometry
3
amr
3
numpy
3
geometry-processing
3
library
3
parallel
3
optimization
3
scientific-visualization
3
high-performance-computing
3
blas
3
fortran
3
radiuss
2
parallel-computing
2
math-physics
2
high-order
2
numerical-methods
2
julia
2
quadrature
2
cgal
2
cpp
2
mesh-processing
2
graphics
2
voronoi-diagram
2
data-visualization
2
3d-graphics
2
scientific-research
2
plotting
2
physics
2
lapacke
2
lapack
2
paraview
2