{"id":21926908,"url":"https://github.com/johnaparker/fplanck","last_synced_at":"2025-08-20T16:32:34.493Z","repository":{"id":45038458,"uuid":"196095612","full_name":"johnaparker/fplanck","owner":"johnaparker","description":"Numerically solve the Fokker-Planck equation in N dimensions","archived":false,"fork":false,"pushed_at":"2023-11-20T06:16:34.000Z","size":893,"stargazers_count":82,"open_issues_count":7,"forks_count":27,"subscribers_count":8,"default_branch":"master","last_synced_at":"2024-12-12T07:35:44.454Z","etag":null,"topics":["physics","statistics","stochastic"],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/johnaparker.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-07-09T23:03:38.000Z","updated_at":"2024-11-08T22:58:34.000Z","dependencies_parsed_at":"2022-09-14T01:13:52.919Z","dependency_job_id":null,"html_url":"https://github.com/johnaparker/fplanck","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/johnaparker%2Ffplanck","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/johnaparker%2Ffplanck/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/johnaparker%2Ffplanck/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/johnaparker%2Ffplanck/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/johnaparker","download_url":"https://codeload.github.com/johnaparker/fplanck/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":230438185,"owners_count":18225870,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["physics","statistics","stochastic"],"created_at":"2024-11-28T22:12:14.181Z","updated_at":"2024-12-19T13:08:16.606Z","avatar_url":"https://github.com/johnaparker.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![PyPi Version](https://img.shields.io/pypi/v/fplanck)](https://pypi.org/project/fplanck/)\n[![Conda Version](https://img.shields.io/conda/v/japarker/fplanck)](https://anaconda.org/japarker/fplanck)\n[![tests](https://github.com/johnaparker/fplanck/actions/workflows/github-actions-pytest.yml/badge.svg)](https://github.com/johnaparker/fplanck/actions/workflows/github-actions-pytest.yml)\n\n# FPlanck\nFPlanck is a Python library for numerically solving the Fokker-Planck partial differential equation (also known as the Smoluchowski equation) in N dimensions using a matrix numerical method:\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://github.com/johnaparker/fplanck/blob/master/img/fokker_planck.svg\"\u003e\n\u003c/p\u003e\n\nThe method is based on the paper *\"Physically consistent numerical solver for time-dependent Fokker-Planck equations\"* by V. Holubec, K. Kroy, and S. Steffenoni, available on [arXiv](https://arxiv.org/pdf/1804.01285.pdf) and published in [APS](https://journals.aps.org/pre/abstract/10.1103/PhysRevE.99.032117).\n\n## Features\n+ Can specify an external potential (conservative) and force field (non-conservative) in N-dimensions\n+ Solve for the steady-state probability distribution and probability currents\n+ Propagate any initial probability distribution to the solution at any later time\n+ Periodic and reflecting boundary conditions (can be mixed along different dimensions)\n\n## Installation\nFPlanck can be installed with pip\n```shell\npip install fplanck\n```\nor conda\n```shell\nconda install -c japarker fplanck\n```\n\n## Examples\n![](https://github.com/johnaparker/fplanck/blob/master/img/ratchet.gif)\n![](https://github.com/johnaparker/fplanck/blob/master/img/harmonic.gif)\n\n**On the left**: a single particle in a titled periodic potential with periodic boundary conditions.\nThe animation shows the time evolution of the probability distribution for the particle location.\nThe PDF is driven in the positive direction due to the tilted potential.\n\n**On the right**: a single particle in a 2D harmonic potential.\nThe particle is initially away from the center of the harmonic well, and over time is restored to the center.\n\n## Usage\nSee the examples folder for how to use FPlanck.\n\n## License\nFPlanck is licensed under the terms of the MIT license.\n\n\n---\n\n#### References\n[1] Wikipedia contributors, \"Fokker–Planck equation,\" Wikipedia, The Free Encyclopedia, https://en.wikipedia.org/w/index.php?title=Fokker%E2%80%93Planck_equation\u0026oldid=906834519\n\n[2] Holubec, V., Kroy, K. and Steffenoni, S., 2019. Physically consistent numerical solver for time-dependent Fokker-Planck equations. Physical Review E, 99(3), p.032117.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjohnaparker%2Ffplanck","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjohnaparker%2Ffplanck","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjohnaparker%2Ffplanck/lists"}