科学计算资源集合

基础线性代数

BLAS - 用于执行基本向量和矩阵运算的标准构建块。(Fortran,公共领域,GitHub)

OpenBLAS - 基于 GotoBLAS2 的优化 BLAS 库。(C 和汇编、BSD、GitHub)

BLIS - 类似于 BLAS 的高性能密集线性代数库。(C、BSD、GitHub)

LAPACK - 用于求解线性方程组、线性最小二乘、特征值问题等的例程(Fortran、BSD、GitHub)

Eigen - 用于线性代数的 C++ 模板库。(C++、MPL 2、GitLab)

Ginkgo - 高性能众核线性代数库,专注于稀疏系统。(C++、BSD、GitHub)

blaze - 用于密集和稀疏算术的高性能 C++ 数学库。(C++、BSD、Bitbucket)

多用途工具包

PETSc - 由偏微分方程建模的科学应用的并行解决方案。(C,2 子句 BSD,GitLab)

DUNE Numerics - 使用基于网格的方法求解偏微分方程的工具箱。(C++、GPL 2、GitLab)

SciPy - 用于统计、优化、积分、线性代数等的 Python 模块(Python,主要是 BSD、GitHub)

NumPy - 使用 Python 进行科学计算所需的基础包。(Python、BSD、GitHub)

DifferentialEquations.jl - 用于数值求解不同类型微分方程的工具箱。(朱莉娅,麻省理工学院,GitHub)

有限元

FEniCS - 用于用 Python 和 C++ 求解偏微分方程的计算平台。(C++/Python、LGPL 3、GitHub / Bitbucket)

libMesh - 使用非结构化离散化进行偏微分方程数值模拟的框架。(C++、LGPL 2.1、GitHub)

deal.II - 支持创建有限元代码的软件库。(C++、LGPL 2.1、GitHub)

Netgen/NGSolve - 高性能多物理场有限元软件。(C++、LGPL 2.1、GitHub)

Firedrake - 使用有限元方法求解偏微分方程的自动化系统。(Python、LGPL 3、GitHub)

MOOSE - 多物理场面向对象仿真环境。(C++、LGPL 2.1、GitHub)

MFEM - 用于有限元方法的免费、轻量级、可扩展的 C++ 库。(C++、BSD-3-Clause、GitHub)

SfePy - Python 中的简单有限元。(Python、BSD、GitHub)

FreeFEM - 高级多物理场多重网格有限元语言。(C++、LGPL、GitHub)

libceed - 高效可扩展离散化的代码。(C,2 子句 BSD,GitHub)

scikit-fem - 简单的有限元组装器。(Python、BSD/GPL、GitHub)

网格划分

  • 三角形和四面体网格划分
Gmsh - 具有预处理和后处理设施的三维有限元网格生成器。(C++、GPL、GitLab)

pygmsh - Gmsh 的 Python 接口. (Python、GPL 3、GitHub)

MeshPy - 高质量的三角形和四面体网格生成。(Python、麻省理工学院、GitHub)

CGAL - 计算几何算法。(C++、混合 LGPL/GPL、GitHub)

pygalmesh - 用于 CGAL 3D 网格划分功能的 Python 接口。(Python、GPL 3、GitHub)

TetGen - 优质四面体网格生成器和 3D Delaunay 三角测量器。(C++、AGPLv3)

Triangle - 二维质量网格生成器和 Delaunay 三角测量器。(C、非自由软件)

distmesh - 用于非结构化三角形和四面体网格的简单生成器。(MATLAB,GPL 3)

trimesh - 加载和使用三角形网格,重点是防水表面。(Python、麻省理工学院、GitHub)

dmsh - 非结构化三角网格的简单生成器,受到 distmesh 的启发. (Python,专有,GitHub)

TetWild - 为三角形表面网格生成四面体网格。(C++、GPL 3、GitHub)

TriWild - 具有曲线约束的稳健三角剖分。(C++、MPL 2、GitHub)

fTetWild - 与 TetWild 相同,但速度更快。(C++、MPL 2、GitHub)

SeismicMesh - 并行 2D/3D 三角形/四面体网格生成,带条子去除功能。(Python 和 C++、GPL 3、GitHub)
  • 四边形和六面体网格划分
QuadriFlow - 来自三角测量的可扩展且强大的四角测量。(C++、BSD、GitHub)
  • 网格工具
meshio - 各种网格格式的 I/O,文件转换。(Python、麻省理工学院、GitHub)

MOAB - 表示和评估网格数据。(C++,主要是 LGPL 3,Bitbucket)

optimesh - 三角网格平滑。(Python,专有,GitHub)

pmp-library - 多边形网格处理库。(C++、带有雇主免责声明的 MIT、GitHub)

Mmg - 用于重新网格化的强大、开源和多学科软件。(C、LGPL 3、GitHub)

meshplex - 用于单纯形网格的快速工具。(Python,专有,GitHub)

数据格式

NetCDF - 用于面向阵列的科学数据的软件库和数据格式。(C/C++/Fortran/Java/Python,自定义开源许可证, GitHub)

HDF5 - 用于存储和管理数据的数据模型、库和文件格式。(C/Fortran、BSD、GitHub)

XDMF - 来自高性能计算代码的数据的可扩展数据模型和格式。(C++、亚搏体育app实验室)

Zarr - 用于存储分块、压缩、N 维数组的格式。(Python、麻省理工学院、GitHub)

稀疏线性求解器

SuperLU - 大型、稀疏、非对称线性方程组的直接求解。(C,主要是 BSD、GitHub)

PyAMG - Python 中的代数多重网格求解器。(Python、麻省理工学院、GitHub)

hypre - 高性能预处理器和求解器库。(C,Apache 2.0/MIT,GitHub)

可视化

araView - 基于VTK的多平台数据分析和可视化应用程序。(C++、BSD、GitLab)

VTK - 处理图像并创建 3D 计算机图形。(C++、BSD、GitLab)

Mayavi - 使用 Python 进行 3D 科学数据可视化和绘图。(Python、BSD、GitHub)

Polyscope - 用于 3D 几何处理的查看器和用户界面。(C++、麻省理工学院、GitHub)

PyVista - 通过简化的 VTK 界面进行 3D 绘图和网格分析。(Python、麻省理工学院、GitHub)

vedo - 基于 VTK 的 3D 对象科学分析和可视化库。(Python、麻省理工学院、GitHub)

yt - 用于体积数据分析和可视化的工具包。(Python、BSD、GitHub)

F3D - 跨平台、快速、简约的 3D 查看器,具有科学可视化工具。(C++、BSD、GitHub)

TTK - 拓扑数据分析和可视化。(C++/Python、BSD、GitHub)

morphologica - 仅标头的现代 OpenGL 代码,用于在运行时可视化数值模拟。(C++、Apache 2.0、GitHub)

其他库和工具

FFTW - 一维或多维、任意输入大小、实数和复数的离散傅立叶变换。(C、GPL2、GitHub)

Qhull - 凸包、Delaunay 三角剖分、Voronoi 图、关于点的半空间交集等(C/C++、自定义开源许可证、 GitHub)

GSL - 随机数生成器、特殊函数和最小二乘拟合等(C/C++、GPL 3、Savannah)

OpenFOAM - 免费、开源 CFD(计算流体动力学)软件。(C++、GPL 3、GitHub)

Quadpy - Python 中的数值积分(求积、立方)。(Python,专有,GitHub)

FiPy - 有限体积 PDE 求解器。(Python、自定义开源许可证、 GitHub)

Accpy - Python 的精确求和和点积。(Python、GPL 3、GitHub)

SLEPc - 用于特征值问题计算的可扩展库。(C,2 子句 BSD,GitLab)

Chebfun - 使用函数进行计算,精度约为 15 位。(MATLAB、BSD、GitHub)

pyMOR - 使用 Python 减少模型阶数。(Python、2 子句 BSD、GitHub)

cvxpy - 凸优化问题的建模语言。(Python、Apache 2.0、GitHub)

PyWavelets - Python 中的小波变换. (Python、麻省理工学院、GitHub)

NFFT - 非等距快速傅里叶变换。(C/MATLAB、GPL 2、GitHub)

preCICE - 用于分区多物理场模拟(FSI、CHT 等)的耦合库。(C++、LGPL 3、GitHub)

orthopy - 有效计算正交多项式。(Python,专有,GitHub)

pyGAM - Python 中的广义加性模型。(Python、Apache 2.0、GitHub)

Dedalus - 用谱方法求解偏微分方程。(Python、GPL 3、GitHub)

PyGMO - 大规模并行优化。(Python/C++、MPL 2、GitHub)

shenfun - 用于光谱伽辽金方法的高性能 Python 库。(Python、BSD-2、GitHub)

PyDMD - Python 中的动态模式分解 (DMD)。(Python、麻省理工学院、GitHub)

HPDDM - 用于域分解方法的高性能统一框架。(C++、LGPL 3、GitHub)

社区

SciComp StackExchange - StackExchange 网络上的计算科学。

Wolfgang Bangerth 的视频课程- MATH 676:科学计算中的有限元方法。

Nick Higham 的博客- 主要是关于 MATLAB 的一般计算建议。

Nick Trefethen 的视频讲座- 36 个关于近似理论/实践和科学计算的视频讲座。

约翰·D·库克的博客- 科学计算的壮举。

Jack Dongarra 的软件列表- 用于解决线性代数问题的免费软件列表。

NA Digest - 与数值分析及其实践相关的主题的文章集合。

Gabriel Peyré 在 Twitter 上- 每天一条关于计算数学的推文。

Discord:数字软件- 数字软件上的 Discord 消息服务器。

来自

  • https://mp.weixin.qq.com/s/cMMWnnSWozzNQvEmo6xF4Q