光谱延迟校正方法等的python实现
pySDC的Python项目详细描述
pysdc项目是光谱延迟校正(sdc)方法及其风格的python实现, 特别是多级扩展mlsdc和pfasst。它旨在快速成型和教育目的。 新的想法,如清扫器或预测器可以测试和第一玩具问题可以很容易地实现
功能
- sdc的变体:显式、隐式、imex、多隐式、verlet、多级、对角、多步
- pfasst的变体:虚拟并行或基于mpi的并行,多网格透视的经典
- 8个教程:从设置第一个搭配问题到sdc、pfasst和高级主题
- 项目:许多文档化的项目,具有定义和测试的结果
- 已经实现了许多不同的示例、配置类型、数据类型
- 使用PETSc到petsc4py、FEniCS和mpi4py-fft
- 通过Travis-CI 进行连续集成
- 完全兼容3.6(或更高版本)
开始
代码托管在github上,见https://github.com/Parallel-in-Time/pySDC,pypi见https://pypi.python.org/pypi/pySDC。 使用
pip install pySDC
以获得包括核心依赖项在内的最新稳定版本。 请注意,这将省略pySDC核心功能不需要的一些更复杂的包,例如mpi4py,fenics和petsc4py(见下文)。 所有要求都列在文件requirements.txt中。 要使用源文件,请从github签出代码并安装依赖项,例如使用conda环境和
conda install -c conda-forge --file requirements.txt
要检查安装,请运行
nosetests -v pySDC/tests
您可能需要通过运行
exportPYTHONPATH=$PYTHONPATH:/path/to/pySDC/root/folder
尤其是如果你想运行游戏场,项目或教程。 那里的所有import语句都假定pysdc的基目录是PYTHONPATH的一部分。
注意:安装mpi4py、fenics和petsc4py时,请确保它们使用相同的MPI安装(例如MPICH3)。 你可以通过
conda install -c conda-forge mpich petsc4py mpi4py fenics
大多数代码都是使用Travis-CI自动测试的,因此可以在.travis.yml文件的install-块中找到安装过程的工作版本
在许多例子中,乳胶用于绘图,也就是说,为了运行测试,需要对其进行适当的安装。
在使用
有关pysdc的更多详细信息,请查看http://www.parallel-in-time.org/pySDC。