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: virtual parallel or MPI-based parallel, classical of multigrid perspective

  • 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 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. Note that using pip install pySDC or python setup.py install will only install the core dependencies, omitting mpi4py and petsc4py (see below). All package requirements are listed in the files requirements.txt .

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 mpich 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-3.0.tar.gz (2.5 MB view details)

Uploaded Source

Built Distributions

pySDC-3.0-py3.7.egg (3.4 MB view details)

Uploaded Egg

pySDC-3.0-py3-none-any.whl (2.8 MB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: pySDC-3.0.tar.gz
  • Upload date:
  • Size: 2.5 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.6.3 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.7.2

File hashes

Hashes for pySDC-3.0.tar.gz
Algorithm Hash digest
SHA256 01e323ba2f441f53262462398da84d9aa1d5f679adc4a271c78fb857f28d354e
MD5 09c30f53b8f82fbe3e75661cd27620c7
BLAKE2b-256 ed2955416384a481cf6628918260d72dbfd806203b466621640eda5e3fe7e4c2

See more details on using hashes here.

File details

Details for the file pySDC-3.0-py3.7.egg.

File metadata

  • Download URL: pySDC-3.0-py3.7.egg
  • Upload date:
  • Size: 3.4 MB
  • Tags: Egg
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.6.3 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.7.2

File hashes

Hashes for pySDC-3.0-py3.7.egg
Algorithm Hash digest
SHA256 b6f49a1cb9ae9f8575a62b2a6faa0a2b087452d53dfe3ac19f0373c2ee118909
MD5 7fe119f8c424596ad0ba4c65768da246
BLAKE2b-256 83ebfa0b16acc0be807cd7cbb057a59377cd52aeb5cc5ec2dc69d41ff791a1de

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pySDC-3.0-py3-none-any.whl
  • Upload date:
  • Size: 2.8 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.6.3 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.7.2

File hashes

Hashes for pySDC-3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b9a05016b6dc195a3d13730bb2d86cf18836563c403cc95292645bc6decbe999
MD5 c8d816b752df702d3810dcce2f272c56
BLAKE2b-256 f1f8579ea595ce253da4e7d1263df985bd85a0a83c6b12d8abb93aa4e95189bd

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