This repository contains the implementation of paper Optimal control for sampling the transition path process and estimating rates.
We consider Ito's diffusion process with rare transitions between two predefined sets
In particular, we focus on two instances of it: Langevin dynamics and overdamped Langevin dynamics in Collective Variables(CVs) governed by SDEs shown as follows
Langevin dynamics:
Overdamped Langevin dynamics in CVs:
Under the optimally controlled process
such that
trajectories starting from boundary of
The transition rate from
where
where
The forward committor function
Committor functions are solved using NN-based solvers that are adapted from methods in the following papers:
Qianxiao Li, Bo Lin, and Weiqing Ren, Computing committor functions for the study of rare events using deep learning. In: The Journal of Chemical Physics 151 (2019)
M. Raissi, P. Perdikaris, and G.E. Karniadakis. Physics-informed neural networks: A deep learning framework for solving forward and inverse problems involving nonlinear partial dif- ferential equations. In: Journal of Computational Physics 378 (2019).
George Em Karniadakis, Ioannis G. Kevrekidis, Lu Lu 5, Paris Perdikaris, Sifan Wang, and Liu Yang. [Physics-informed machine Learning](https://www.nature. com/articles/s42254-021-00314-5). In: Nature (2021).
FEM are also used as a comparison for the committor functions. For more details of the implementation, see https://github.com/mar1akc/transition_path_theory_FEM_distmesh
- python 3.7
- Train NN-solver for committor function: Mueller/train_NN.py
- Compare results of committor using NN-solver and FEM; generate figures of committor values using NN: Mueller/evaluation_file.ipynb
- Compute transition rate and plot sampled trajectories under control: Mueller/nu_AB-optimal_control.ipynb
- Train NN-solver for committor function: LJ7_2D/train_NN.py
- Compare results of committor using NN-solver and FEM; generate figures of committor values using NN: LJ7_2D/evaluation.ipynb
- Compute transition rate with controlled dynamics; sample trajectories under control: LJ7_2D/nu_AB-optimal_control.ipynb
- Generate sampled trajectories under control: LJ7_2D/graph.ipynb
- Compute transition rate with unbiased dynamics in 14D: LJ7_2D/MALA_transitio_rate.py
- Train PINN-solver for committor function: Duffing/PINN_train.py
- Compare results of committor using NN-solver and FEM: Duffing/evaluation_PINN.ipynb
- Compute transition rate with controlled dynamics: Duffing/Enu_AB-optimal_control.ipynb
- Compute transition rate with unbiased dynamics: Duffing/nu_unbiased.py