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 details)

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

Details for the file py-pde-0.2.tar.gz.

File metadata

  • Download URL: py-pde-0.2.tar.gz
  • Upload date:
  • Size: 192.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.4.2 requests/2.23.0 setuptools/45.2.0 requests-toolbelt/0.9.1 tqdm/4.42.1 CPython/3.7.6

File hashes

Hashes for py-pde-0.2.tar.gz
Algorithm Hash digest
SHA256 374380dcdb5452622014a8efe7f045a4845bc825ad22de40fcc4c449cffc7bfc
MD5 5b8b1a552bd4abba9227418da465a0a0
BLAKE2b-256 89e0f514135d630d895988a350b7417de185d5abefb571b25d16ed7767d41387

See more details on using hashes here.

File details

Details for the file py_pde-0.2-py3-none-any.whl.

File metadata

  • Download URL: py_pde-0.2-py3-none-any.whl
  • Upload date:
  • Size: 223.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.4.2 requests/2.23.0 setuptools/45.2.0 requests-toolbelt/0.9.1 tqdm/4.42.1 CPython/3.7.6

File hashes

Hashes for py_pde-0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 a6798b6c55d9b83916653a8a1c9d3369d30222c0a6aed743a6e17d88712a8e70
MD5 83f3aef2f981d22588ea09c358be6633
BLAKE2b-256 80f43c524e544aa616617d9ef6e2558111cb4f499d6dada8874c34b6e1ade591

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