The classdef "traj" deals with classical densities and numerical solution of the classical Liouville equation. To this end, densities are representation in terms of bundles of trajectories (point particles in phase space). Using such a sampling technique, the transport of a density governed by a classical Liouville equation is approximated by the transport of (typically many!) independent trajectories governed by Newton equations. The low computational costs make such simulations appealing for high-dimensional problems provided the classical approximation to quantum dynamics can be justified.
In order to reach compatibility with wavepacket propagation using objects of class "wave", the initial wavefunction is Wigner transformed and then sampled by points in phase space which serve to initialize the trajectory propagations. So far (summer 2019), only the sampling of Gaussians in phase space (Wigner transforms of Gaussian wavefunctions) is available which is realized by using normally distributed initial values for positions and momenta. Generalization to other initial distributions will be implemented soon. However, then the trajectories should carry statistical weights which can also be negative.
First implemented during the object-oriented rewrite that led to the development of version 6.0 in late 2018, the classdef "traj" represents one of the younger layers of the Matlab version of WavePacket. For the source codes of the classdef "wave" see here.
In addition to the methods that are required for each and every of the WavePacket main classes, the classdef "traj" contains the following public methods:
| method | explanation | to be used when/where |
|---|---|---|
| eval_ham | evaluate Hamiltonian matrices to trajectories | all surface hopping methods (except lz_2!) |
| eval_V_F | evaluate potential energy and forces for trajectories | all trajectory propagators |