Skip to main content

A Python implementation of spectral deferred correction methods and the likes

Project description

The pySDC project is a Python implementation of the spectral deferred correction (SDC) approach and its flavors, esp. the multilevel extension MLSDC and PFASST. It is intended for rapid prototyping and educational purposes. New ideas like e.g. sweepers or predictors can be tested and first toy problems can be easily implemented.

Features

  • Variants of SDC: explicit, implicit, IMEX, multi-implicit, Verlet, multi-level, diagonal, multi-step

  • Variants of PFASST: classic (libpfasst-style) and multigrid, virtual parallel or MPI-based parallel

  • 7 tutorials: from setting up a first collocation problem to SDC, PFASST and advanced topics

  • Projects: many documented projects with defined and tested outcomes

  • Many different examples, collocation types, data types already implemented

  • Works with PETSc through petsc4py and FEniCS

  • Continuous integration via Travis-CI

  • Fully compatible with Python 2.7 and 3.6 (or higher)

Getting started

The code is hosted on GitHub, see https://github.com/Parallel-in-Time/pySDC, and PyPI, see https://pypi.python.org/pypi/pySDC. Either use pip install pySDC to get the latest stable release including the core dependencies or check out the code on Github. All package requirements are listed in the files requirements.txt (for the core dependencies) and requirements-optional.txt for the more advanced features.

To check your installation, run

nosetests -v pySDC/tests

You may need to update your PYTHONPATH by running

export PYTHONPATH=$PYTHONPATH:../../..

in particular if you want to run any of the playgrounds, projects or tutorials. All import statements there assume that the pySDC’s base directory is part of PYTHONPATH.

Note: When installing both mpi4py and petsc4py, make sure they use the same MPI installation (e.g. MPICH3). You can achieve this e.g. by using the Anaconda distribution of Python and then run

conda install -c conda-forge petsc4py mpi4py

Most of the code is tested automatically using Travis-CI, so a working version of the installation process can always be found in the install-block of the .travis.yml file.

For more details on pySDC, check out http://www.parallel-in-time.org/pySDC.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pySDC-2.4.1.tar.gz (2.0 MB view details)

Uploaded Source

Built Distribution

pySDC-2.4.1-py3-none-any.whl (10.8 MB view details)

Uploaded Python 3

File details

Details for the file pySDC-2.4.1.tar.gz.

File metadata

  • Download URL: pySDC-2.4.1.tar.gz
  • Upload date:
  • Size: 2.0 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.19.1 setuptools/40.0.0 requests-toolbelt/0.8.0 tqdm/4.24.0 CPython/2.7.15

File hashes

Hashes for pySDC-2.4.1.tar.gz
Algorithm Hash digest
SHA256 ca35e1fa967bf78f35fb14dc7b2bc25c52b3c54d3331b4640fa0b81101072bc9
MD5 795202db47973f1ba10ff9675a2331e6
BLAKE2b-256 1fea63f3345d043b5ab448f88a7ccc874ce65ec99f016b850342ab4b05fa6a3b

See more details on using hashes here.

File details

Details for the file pySDC-2.4.1-py3-none-any.whl.

File metadata

  • Download URL: pySDC-2.4.1-py3-none-any.whl
  • Upload date:
  • Size: 10.8 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.18.4 setuptools/36.4.0 requests-toolbelt/0.8.0 tqdm/4.24.0 CPython/3.6.2

File hashes

Hashes for pySDC-2.4.1-py3-none-any.whl
Algorithm Hash digest
SHA256 682584c97e5234f0391a32f0012318dfc654433a13ab2f49e7004a5e93f27c7b
MD5 0f6a5bf3318a2cbadbfa86d98e703a58
BLAKE2b-256 29b4e92743154cccaa14de54bb77fd31b27da5b61c2702a10c1e4733df301ed8

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page