Flux-Corrected Diagonal Frog: second order and positivity at all time steps
2026-07-22 • Computational Engineering, Finance, and Science
Computational Engineering, Finance, and Science
AI summaryⓘ
The authors address a challenge in solving the Fokker-Planck equation, where traditional second-order methods can't guarantee positive solutions. They improved an earlier approach called Diagonal Frog by introducing a nonlinear method that keeps solutions positive no matter the time step size. Their method, named Flux-Corrected DF, uses a special limiter that acts only where needed, preserving accuracy and exact mass conservation. They also developed efficient algorithms to handle large time steps and verified their approach with standard test problems.
Fokker-Planck equationpositivity preservationfinite-difference schemesFlux-Corrected TransportM-matrixZalesak limiterPicard iterationsemismooth Newton methodOrnstein-Uhlenbeck processadvection-dominated problems
Authors
Andrey Itkin
Abstract
By Godunov's theorem, linear second-order finite-difference schemes for the Fokker-Planck equation cannot preserve positivity. The Diagonal Frog (DF) framework previously bypassed this barrier using eventual positivity, but required a strict minimum time step. This paper resolves the small-step limitation using a nonlinear extension of the DF solvers. We split the second-order directional operator into a monotone M-matrix core and an antidiffusive flux correction. A Zalesak-type limiter is then applied iteratively within the implicit banded solve. The resulting Flux-Corrected DF (FCDF) schemes (variants A and B) are unconditionally positive across all time steps. Because the limiter acts on fluxes rather than point values, these schemes conserve discrete mass exactly and maintain second-order accuracy. Crucially, the limiter activates only within unresolved layers. This ensures the global $L_1$ convergence remains second-order uniformly in the cell Péclet number, avoiding the first-order degradation seen in the Chang-Cooper scheme. The method's Picard iteration is contractive under a purely convective step restriction. To support arbitrary step sizes, we develop an active-set reformulation. This solves the system using a semismooth Newton iteration, where computational cost scales only with the number of nodes where positivity binds. Finally, we introduce a defect-corrected time stepping approach that restores second-order time accuracy. Numerical experiments on Ornstein-Uhlenbeck and advection-dominated benchmarks confirm our claims.