间断galerkin有限元库及其求解
pyblitzdg的Python项目详细描述
闪电战
BLITZDG是一个开放源码的库,它为Galerkin和DyPy作为一个Python 3库,使用BLITIZ+++为数组和张量操作提供普通偏微分方程系统的间断的Delphi(DG)求解器。
浅水波示例blitzdg
输出
从源构建
构建和开发支持已经从仅限linux扩展到mac osx和windows系统。在linux/mingw64上使用gnu make(编写为跨平台)和g++
,在mac osx sierra上使用clang++
,在windows上使用msvc进行测试。我们的构建系统依赖于生成makefile的跨平台工具。
git clone https://github.com/dsteinmo/blitzdg.git
cd blitzdg && ./pull-deps.sh
cmake . && make advec1d && ./bin/advec1d
(这是一个一维平流方程解算器)。- 使用
make test
运行单元测试。
与Docker一起运行
您还可以在Docker(Linux)容器中运行构建和测试。这个容器基于一个ubuntu 18.04图像。
git clone https://github.com/dsteinmo/blitzdg.git && cd blitzdg
docker build -t blitzdg .
docker run -t blitzdg
依赖关系
cmake
blitz++
SuiteSparse (umfpack, cxsparse)
LAPACK
metis
boost
igloo
用于bdd风格的测试。vtk
用于在副视图中进行可视化。boost-python
用于python绑定。
依赖项安装在pull-deps.sh
(在ubuntu和mac osx上测试)中有概述。
窗口
为了更好地支持图形api,我们的windows发行版最近从mingw改为msvc,所以目前还缺乏支持。指示很快就会在这里提供。
贡献
我们接受来自公共fork的pull请求,并使用pull请求作为基本存储库中任何新代码的主要传递机制。
如果添加代码,请使用作为项目依赖项包含的igloo测试框架编写测试。您添加的代码将接受同行评审,并将通过我们的Travis CI持续集成过程运行。
感兴趣的开发人员应该在开始之前查阅Guidelines for Contributing。
维护人员
首席开发人员
文档
我们使用doxygen主动维护一组交互式文档,供最终用户使用。
文档可以在github的https://wqcg.github.io/blitzdg页面上找到,并通过自动化与主分支保持同步。
许可证
这个项目是根据GNU Public License Version 3授权的。
我们选择许可证的原因是希望保持这个项目及其任何衍生作品的开源,供开发人员、数学家、科学家、工程师和其他可能对这个项目感兴趣的人使用。
联系人
有关该项目的任何问题都可以通过电子邮件发送到project maintainer。