Skip to main content

Python package for solving partial differential equations

Project description

py-pde

Build Status codecov PyPI version Documentation Status Binder

py-pde is a Python package for solving partial differential equations (PDEs). The package provides classes for scalar and tensor fields discretized on grids as well as associated differential operators. This 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 for speed.

Try it out online!

Installation

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 also want to install the following optional packages:

pip install h5py pandas tqdm

Moreover, ffmpeg needs to be installed and for creating movies.

Usage

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

from pde.common import *

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

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

More examples illustrating the capabilities of the package can be found in the examples folder. A detailed documentation is available on readthedocs and as a single PDF file.

Project details


Release history Release notifications | RSS feed

This version

0.2

Download files

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

Source Distribution

py-pde-0.2.tar.gz (192.3 kB view hashes)

Uploaded Source

Built Distribution

py_pde-0.2-py3-none-any.whl (223.4 kB view hashes)

Uploaded Python 3

Supported by

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