Skip to main content

py-pde

py-pde Logo

PyPI version Conda Version License: MIT Build Status codecov Binder Documentation Status DOI

py-pde is a Python package for solving partial differential equations (PDEs). The package provides classes for grids on which scalar and tensor fields can be defined. The associated differential operators are computed using finite differences, which allows defining, inspecting, and solving typical PDEs that appear for instance in the study of dynamical systems in physics. The focus of the package lies on easy usage to explore the behavior of PDEs. However, core computations can be compiled transparently using numba, jax, or torch for speed.

Try it online!

Installation

PyPI / pip

py-pde is available on pypi, so you should be able to install it through pip:

pip install py-pde

In order to have all features of the package available, you might want to install the following optional packages manually (all or a subset of these):

pip install h5py pandas mpi4py numba-mpi py-modelrunner napari ffmpeg-python

or using the py-pde package variants mpi, io and/or interactive (any combination):

pip install py-pde[mpi]
pip install py-pde[io]
pip install py-pde[interactive]
pip install py-pde[mpi,io,interactive]

Moreover, ffmpeg needs to be installed for creating movies.

conda

As an alternative, you can install py-pde through conda using the conda-forge channel:

conda install -c conda-forge py-pde

Installation with conda includes the optional dependencies of py-pde.

Arch Linux package

py-pde is also available as an Arch package.

Usage

A simple example showing the evolution of the diffusion equation in 2d:

import pde

grid = pde.UnitGrid([64, 64])  # generate grid
state = pde.ScalarField.random_uniform(grid)  # generate initial condition

eq = pde.DiffusionPDE(diffusivity=0.1)  # define the pde
result = eq.solve(state, t_range=10)  # solve the pde
result.plot()  # plot the resulting field

PDEs can also be specified by simply writing expressions of the evolution rate. For instance, the Cahn-Hilliard equation can be implemented as

eq = pde.PDE({"c": "laplace(c**3 - c - laplace(c))"})

which can be used in place of the DiffusionPDE in the example above.

More information

Metadata

Release files for py-pde 0.60.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for py-pde 0.60.0
File Size Uploaded
py_pde-0.60.0.tar.gz 2.8 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for py-pde 0.60.0
File Interpreter ABI Platform
py_pde-0.60.0-py3-none-any.whl Python 3 none any Details

Total release size: 3.3 MB

Release files / py_pde-0.60.0.tar.gz

Download URL py_pde-0.60.0.tar.gz
Size 2.8 MB
Tags Source
SHA-256 checksum
How to use checksums
c2c1e19c60f01edb7dc57506b3ecdebe4a645dfbe51e00c02c027bd9962ac2df
BLAKE2b-256 checksum
How to use checksums
ad77328ff7b59f35801e4cea97e738da165726aa5c1c2101eb624104e5898c81
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.15

Release files / py_pde-0.60.0-py3-none-any.whl

Download URL py_pde-0.60.0-py3-none-any.whl
Size 469.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
131c998cdb7543e9f366f26dd9330e2cdbcf39d04fda688290bde8af9fe5ef27
BLAKE2b-256 checksum
How to use checksums
84eeff8502ed86fe9ebf9160e7a6cc01cfc2469075b337f7813a75fc789eee5f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.15

Release history Release notifications | RSS feed

This release

0.60.0 This release

2 release files

0.59.0

2 release files

0.58.0

2 release files

0.57.0

2 release files

0.56.1

2 release files

0.56.0

2 release files

0.54.0

2 release files

0.53.1

2 release files

0.53.0

2 release files

0.52.0

2 release files

0.50.0

2 release files

0.48.0

2 release files

0.47.2

2 release files

0.47.1

2 release files

0.47.0

2 release files

0.45.0

2 release files

0.44.0

2 release files

0.43.0

2 release files

0.42.2

2 release files

0.42.0

2 release files

0.41.1

2 release files

0.40.0

2 release files

0.39.0

2 release files

0.37.1

2 release files

0.36.0

2 release files

0.34.0

2 release files

0.33.3

2 release files

0.33.2

2 release files

0.33.0

2 release files

0.32.2

2 release files

0.32.1

2 release files

0.32.0

2 release files

0.31.0

2 release files

0.30.1

2 release files

0.30.0

2 release files

0.27.1

2 release files

0.26.0

2 release files

0.25.0

2 release files

0.24.3

2 release files

0.23.0

2 release files

0.22.6

2 release files

0.22.3

2 release files

0.22.2

2 release files

0.22.1

2 release files

0.22.0

2 release files

0.21.0

2 release files

0.19.2

2 release files

0.18.0

2 release files

0.17.2

2 release files

0.17.0

2 release files

0.16.7

2 release files

0.16.6

2 release files

0.16.5

2 release files

0.16.4

2 release files

0.16.3

2 release files

0.16.2

2 release files

0.16.1

2 release files

0.16.0

2 release files

0.15

2 release files

0.14.0

2 release files

0.13.5

2 release files

0.13.3

2 release files

0.13.2

2 release files

0.13.1

2 release files

0.12.8

2 release files

0.12.7

2 release files

0.12.6

2 release files

0.12.5

2 release files

0.12.3

2 release files

0.12.2

2 release files

0.12.1

2 release files

0.12.0

2 release files

0.10.4

2 release files

0.10.3

2 release files

0.10.2

2 release files

0.10.1

2 release files

0.9.4

2 release files

0.9.3

2 release files

0.9.2

2 release files

0.9.1

2 release files

0.9.0

2 release files

0.8.8

2 release files

0.8.7

2 release files

0.8.6

2 release files

0.8.5

2 release files

0.8.4

2 release files

0.8.3

2 release files

0.8.2

2 release files

0.8.1

2 release files

0.8.0

2 release files

0.7.4

2 release files

0.7.3

2 release files

0.7.2

2 release files

0.7.1

2 release files

0.7

2 release files

0.6.2

2 release files

0.6.1

2 release files

0.6

2 release files

0.5

2 release files

0.4

2 release files

0.3

2 release files

0.2.2

2 release files

0.2.1

2 release files

0.2

2 release files

0.1.1

2 release files

0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page