version 3.11-dev

A hybrid particle- and grid-based Fokker-Planck equation solver.

A particle solver for the Fokker-Planck equation.

A cloud of particles, each particle associated with a given mass \(m_i\), is evolved such that the probability density function \(\rho(\mathbf{x}, t)\) of the particle position \( \mathbf{X}_t \) approximates the solution of the Fokker-Planck equation:

\[ \frac{\partial \rho}{\partial t} + \nabla \cdot (\boldsymbol{\mu} \rho + D \nabla \rho) = 0 \]

Particles are evolved with the Dumux::Particles::FokkerPlanck::run method, which updates each particles position \(\mathbf{X}_t\) with the Euler scheme:

\[ \Delta\mathbf{X}_t = \boldsymbol{\mu}(\mathbf{X}_t, t) \Delta t + \sqrt{2 D} \Delta \mathbf{W}_t \]

The particle density on the grid can be computed with the Dumux::Particles::FokkerPlanck::computeDensity method as

\[ \rho_E = \frac{1}{|E|} \sum_{i=1}^{N_E} m_i, \]

where \(|E|\) is the volume of the grid element \(E\) and \(m_i\) is the mass of the particle \(i\) in element \(E\).

The Fokker-Planck equation for particle positions is equivalent to the advection-diffusion equation for the particle density.


🛠 Edit above doc on GitLab