Skip to main content

Langevin integrator for SDEs with constant drift and diffusion on continuous intervals with circular boundary conditions.

Project description

Build Status

CILES: Continuous Interval Langevin Equation Simulator

Langevin integrator for SDEs with constant drift and diffusion on continuous intervals with circular boundary conditions.

CILES is written in Cython and uses GSL for interpolation of drift & diffusion fields, to be able to simulate continuous variables.

Description

Given a discretized drift field A(x) and a (position dependent) diffusion coefficient B(x) this tool performs simple time-forward integration of the SDE:

dx(t)/dt = A(x(t)) + sqrt(B(x(t))) * eta(t)

where eta(t) is a gaussian white noise term and x is a variable on an interval with circular boundaries (commonly 0 <= x < 2PI).

Both drift field A and diffusion B need to be arrays of the same dimension. They are internally interpolated (using gsl_interp_cspline_periodic) to provide continuous fields, which are then used in the forward integration.

Forward integration is performed with the Euler-Murayama scheme: x(t+dt) = x(t) + dt * A(x(t)) + r * sqrt(dt * B(x(t))), where r is a normally distributed random number with zero mean and unit variance.

Dependencies

Installation

  • Clone repository

  • python setup.py install

  • To test (using nosetests): nosetests

Example use

from ciles.integrator import LangevinIntegrator as LI
import numpy as np

drift = np.zeros(100)  # no drift field
diff = np.ones(100)  # constant diffusion with 1 deg^2/s

dt = 1e-3  # 1 ms timestep
tmax = 1.  # simulate until 1s

# initialize the integrator
li = LI(drift, diff, dt=dt, tmax=tmax)

# simulate a single trajectory
li.run()
out = li.out

More examples

Below are the plot results of the currently available examples from ciles.examples.

Final distributions after 2s diffusion

See the source

Diffusion for 2 seconds

Trajectories for drift-field with 2 fixed points

See the source

Plotting trajectories

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

ciles-0.1.0.tar.gz (61.4 kB view details)

Uploaded Source

Built Distribution

ciles-0.1.0-cp27-cp27m-macosx_10_11_x86_64.whl (32.5 kB view details)

Uploaded CPython 2.7m macOS 10.11+ x86-64

File details

Details for the file ciles-0.1.0.tar.gz.

File metadata

  • Download URL: ciles-0.1.0.tar.gz
  • Upload date:
  • Size: 61.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for ciles-0.1.0.tar.gz
Algorithm Hash digest
SHA256 f9a8eb5749285cec0542ac083d6331163f05e48138d20bf33f111e216eb58d31
MD5 dadfae809b0476a272ebc2736ef1380e
BLAKE2b-256 4e32b95462360f49519064f6487f9e9fff9c99461208402b862c04a6e63449aa

See more details on using hashes here.

File details

Details for the file ciles-0.1.0-cp27-cp27m-macosx_10_11_x86_64.whl.

File metadata

File hashes

Hashes for ciles-0.1.0-cp27-cp27m-macosx_10_11_x86_64.whl
Algorithm Hash digest
SHA256 6f762e9f76762bf003278b2ff24825bfe239d2667a14a9c20278752229b3247b
MD5 e540ce430d9b7bf8752542c1d81d549b
BLAKE2b-256 353d7970983bdc4acf325458114d8c7345b4364ebf8741d134a0bf5427029dcc

See more details on using hashes here.

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