Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Fokker-Planck Decapode #137

Open
wants to merge 3 commits into
base: main
Choose a base branch
from
Open

Add Fokker-Planck Decapode #137

wants to merge 3 commits into from

Conversation

lukem12345
Copy link
Member

@lukem12345 lukem12345 commented Aug 5, 2023

There is growing interest in supporting stochastic differential equations in the Decapodes framework.

Although directly supporting such equations will require further work, we can for the time being look at some ordinary and partial differential equations that are closely related to such. (For the relation between SDEs and Fokker-Planck, see the Wikipedia write-up.)

So, we introduce here the Fokker-Planck Decapode. In particular, we use the formulation given by Jordan, Kinderlehrer, and Otto in "The Variational Formulation of the Fokker-Planck Equation" (1996) [0]. This formulation is nice due to its plain notation, and clear exposition in the rest of the document.

IMG_0624
IMG_0623

The Focker-Planck Equation itself is particularly well-suited to this framework for reasons explained by Garrido in their “ON THE COVARIANCE OF THE FOKKER-PLANCK EQUATION” (1979) [1]. Graham’s “Covariant Formulation of Non-Equilibrium Statistical Thermodynamics” (1976) [2] provides a some background justifications for Garrido’s work, but I have not been able to read to deeply into this paper yet.

This Decapode ought to be refactored such that one composes with a Drift (or Jordan) Decapode - that defines drift as the gradient of Psi - with a Fokker-Planck Decapode - that defines drift as merely a 1-Form - to produce the Jordan-Fokker-Planck Decapode. This is for the usual reason of using composition to make explicit some assumption made in a model.

References

GitHub might replace these with hyperlinks.
[0]: https://francahoffmann.files.wordpress.com/2018/07/302ca7465ae824f3d2d629bfeaacfb56b4b8.pdf
[1]: https://www.sciencedirect.com/science/article/abs/pii/0378437180901557
[2]: https://www.semanticscholar.org/paper/Covariant-formulation-of-non-equilibrium-Graham/ba7dabb057ac972df2787e5fdcce53b9be8720ad

@lukem12345 lukem12345 self-assigned this Aug 5, 2023
@codecov
Copy link

codecov bot commented Aug 5, 2023

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 88.70%. Comparing base (ad726ec) to head (2ab4362).

❗ Current head 2ab4362 differs from pull request most recent head 70c7efa. Consider uploading reports for the commit 70c7efa to get more accurate results

Additional details and impacted files
@@             Coverage Diff             @@
##             main     #137       +/-   ##
===========================================
+ Coverage   77.75%   88.70%   +10.94%     
===========================================
  Files           5        9        +4     
  Lines         562     1036      +474     
===========================================
+ Hits          437      919      +482     
+ Misses        125      117        -8     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@lukem12345
Copy link
Member Author

When I last left off on this problem, I was using a potential function that was not smooth,a PDF with integral not equal to 1, and a negative temperature parameter.

Amending these ICs has resulted in smoother dynamics:

fp

@lukem12345
Copy link
Member Author

lukem12345 commented May 13, 2024

This PR now needs to:

  • Make use of the Fokker-Planck Decapode in the canon
  • Perhaps be a docs page

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant