Skip to content

[SDE] Port ABOBA and OBABO dynamical integrators from StochasticDiffEq.jl#545 #3187

@ChrisRackauckas

Description

@ChrisRackauckas

Migrated from PR: SciML/StochasticDiffEq.jl#545
Author: @HadrienNU

Implementation of ABOBA and OBABO Langevin integrators (GJ family), plus enhancements to the existing BAOAB integrator to support matrix-valued friction (gamma parameter). This was a substantial PR with new caches, perform_step implementations, and convergence tests.

Key changes:

  • New ABOBA and OBABO algorithm structs (weak order 2)
  • ABOBAConstantCache / ABOBACache, OBABOConstantCache / OBABOCache
  • perform_step! implementations in src/perform_step/dynamical.jl
  • BAOAB refactored to support gamma::AbstractMatrix (matrix friction) via Cholesky decomposition
  • Weak convergence tests in test/weak_convergence/sde_convergence_dynamical.jl
  • OBABO requires an extra noise process (alg_needs_extra_process)

Files changed: src/StochasticDiffEq.jl, src/alg_utils.jl, src/algorithms.jl, src/caches/dynamical_caches.jl, src/perform_step/dynamical.jl, src/solve.jl, test/runtests.jl, test/sde/sde_dynamical.jl, test/weak_convergence/sde_convergence_dynamical.jl

Full diff preserved at: https://github.com/SciML/StochasticDiffEq.jl/pull/545.diff

References:

  • Leimkuhler B., Matthews C., "Robust and efficient configurational molecular sampling via Langevin dynamics", J. Chem. Phys. 138, 174102 (2013)
  • Leimkuhler B., Matthews C., "Molecular Dynamics With Deterministic and Stochastic Numerical Methods", Springer (2015)

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions