LDDS

Dynamics using Potential Energy Surface (PES) data

So far, we have dealt with analytical models of the dynamics of systems that can relate to realistic systems.

However, for more realistic dynamical systems, it is not always possible to have an analytical expression for the Potential Energy Surface (PES) where the dynamics take place.

Instead, energy measurements from a sampled portion of a parameter space may be only available.

In this tutorial, we will illustrate the setup for computing the LDs for the dynamics of a system where the PES is only available as a dataset. We will deal with a discretised version of the PES of the Hénon-Heiles system, that we studied in Tutorial 5.

Discretised Hénon-Heiles

Energy

\begin{equation*} H(x, p_x) = K + V = \frac{1}{2} (p_x^2 + p_y^2) + \frac{1}{2} (x^2 + y^2) + x^2 y - \frac{1}{3} y^3 \end{equation*}

Vector field

\begin{align*} \dot{x} &= \frac{\partial H}{\partial p_x} = p_x \\ \dot{y} &= \frac{\partial H}{\partial p_y} = p_y \\ \dot{p}_x &= -\frac{\partial H}{\partial x} = -x - 2 x y \\ \dot{p}_y &= -\frac{\partial H}{\partial y} = -x^2 -y + y^2 \\ \end{align*}

As before, we call all the necessary functions first

For this example, we sampled potential energy data using its analytical expression to illustrate the LDDS setup. Then, we compare the LD outputs from when analytical or the numerical inputs of the potential energy are employed.

We sampled the potential energy from a uniform grid in the $XY$ plane, and save this as a datafile.

Once the file is generated, the LDDS setup proceeds as usual for any system.

BUT with the difference that the potential_energy is defined as below.

The function fit_pes will fit the PES dataset provided its filename, outputing a Python function. Currently, only possible for HDF5 files. This function will take by default files from the folder ldds/pes_files

See help(fit_pes) for details of the fitting method or check the documentation.

Then, we execute the cells below as before, for a high-dimensional system as in Tutorial 5.

And we're done!