Menu

WavePacket (Matlab/Octave) / Blog: Recent posts

Version 7.2.1 released (23-Jan-2024)

This version (Git hash value bc28c89...) of WavePacket provides a tiny (but crucial) bug fix:

  • Fixed a bug occurring only for surface hopping trajectory simulations with more than two states
Posted by Burkhard Schmidt 2024-01-23

Version 7.2.0 released (18-Jan-2024)

This version (Git hash value 36a004bb...) of WavePacket provides a number of useful extensions and fixes:

  • Added several variants of FSSH, among them the FSSH-2 described here
  • Added a variant of SSSH with a different hop criterion
  • Added a variant of QTSH with a different equation of motion
  • Added the trapezoidal rule for propagating the electronic amplitudes
  • Added several potential energy models: mainly linear vibronic coupling with conical intersections
  • For momentum rescaling, simply use the norm of the NAC vectors
  • Fixed initial conditions for the splitting schemes
  • Improved bookkeeping of substeps in short time propagators
  • Minor changes of a few initial wave functions
Posted by Burkhard Schmidt 2024-01-18

Version 7.1.0 released (02-March-2023)

This version (Git hash value 5e104a9d...) provides a number of minor fixes and useful extensions as detailed in the following list of tickets:

  • #232: Iso-surface plots for 3D-wavefunctions
  • #276: Auto-detect Git version hash value
  • #277: Symmetric Euler scheme
  • #278: Components of electric field
  • #280: Code for Lyapunov solver
  • #281: Sparsity and cutoff in qm_bound
  • #283: Empty potentials, dipoles, etc ...
  • #285: Settable initial momenta
  • #286: Convergence in imaginary time... read more
Posted by Burkhard Schmidt 2023-03-02

WavePacket vs. WaveTrain (24-Jan-2023)

After our WaveTrain software (on GitHub since 28-May-2022) has been formally integrated into our WavePacket software package as the third sub-project last December, the time was ripe for a thorough comparison of the two packages. For the example of phonons in a chain-like quasi-1D setup and also for excitons coupled to phonons we have set up and described a few test calculations, along with critical discussions. The good news in short form: for short chains (up to 6 sites), the results from the two approaches are (approximately) equal, as expected. While the visualization may be more appealing with WavePacket, the transition to longer chains is only possible with WaveTrain, due to the very favorable scaling of storage requirement and numerical effort of the underlying tensor-train based techniques, thus mitigating the curse of dimensionality.

Posted by Burkhard Schmidt 2023-01-24

Version 7.0.0 released (01-Jun-2022)

This version (Git hash value 9acbbb88...) of WavePacket is the first version also running reasonably under Octave, although a lot slower than in Matlab. For a detailed list of remaining problems and restrictions, see our blog post of May 17. To circumvent the minor incompatibilities of Matlab and Octave, we had to implement a substantial number of code changes, mainly in the graphics section, all of them being of minor character.
Even though most of these modifications in Version 7.0 are under the hood, a few of them will also be visible externally, leading to minor issues with backward incompatibility of the initialization (normally provided through self-written Matlab function qm_init.m). Those changes were unavoidable because a few name clashes occured, i.e. namespaces (Matlab source folders whose names begin with +) cause problems because they are interpreted by Octave as function names.... read more

Posted by Burkhard Schmidt 2022-06-01

First Octave version ready for release

After a lot more work on the Octave branch, it is now ready for merging, and Wavepacket is ready for another major release.
Though it was altogether a lot of work, the Octave support went rather smoothly for all but a few areas.

Installation instructions

Windows

  • Download the Octave Windows installer from the official download site and run it.
  • This also contains a few packages that you will need for Wavepacket. You are done.... read more
Posted by Ulf Lorenz 2022-05-17

First successful Octave run

I thought I would announce that I just managed to hack the code together to run the first simple Wavepacket demo with Octave. It is a hack (for those interested: the branch "octavetest" contains the changes I had to do), but somewhat better than I would have imagined.

Now what are the main changes to get Wavepacket to run under Octave?

  1. Octave seems to have a parsing problem with namespaces. In particular, if you have a function log() and a namespace "log" (directory "+log"), one of these shadows the other. That is, you either get an error when calling the function log() because Octave thinks you talk about the namespace or the other way round, calling "log.somefunction" fails because Octave tries to call the log() function. That needs some further investigation about possible solutions. I only hacked my way around this issue with renamings.
  2. Potentials derive from matlab.mixin.Copyable to allow simple copying. This class does not exist under Octave, so we either need to implement it ourselves, which should be doable for the limited Wavepacket use-case without nasty edge cases, or find some other solution for copying potentials.
  3. Somewhat unsurprisingly, Octave has no license for the module "matlab". So getting the user name from that license information is bound to fail. Fortunately, there is an "octave" module that can be used instead.... read more
Posted by Ulf Lorenz 2020-09-17

More demos with surface hopping trajectories (04-May-2020)

After having added comparisons between fully quantum-mechanical wavepacket propagations and surface hopping trajectories for the Berlin crossing examples already with version 6.1.2, this has now also been implemented for the Tully crossing examples from J. C. Tully's famous 1990 paper.

Posted by Burkhard Schmidt 2020-05-04

Version 6.1.2 released (05-Mar-2020)

This version (Git hash value 68162c4c...) is a maintenance release, but it also serves to provide a few minor fixes and/or extensions:

  • Most notably there is an improved treatment of non-existing pot|amo|sbc|nip|dip|pol function entries in the respective Matlab cell vectors or cell arrays. By setting up dummy classdef's "pot.empty.m," etc, it is now much easier to find out whether a certain function exists or not. Note, however, that a few problems with the dia→adi transformation are still unsolved, see also ticket #233.
  • Among others, the above changes also serve to fix a non-trivial bug that, however, occurred ONLY if vanishing potentials "free particle" are involved AND if external electric pulses are used AND if more than one time step is to be calculated. That bug affected two things: Wrong graphical representation of field-dressed potentials, wrong calculation of expectation value field-dressed potentials, in both cases too large by a factor of two. Note, however, that the propagations as such were always (and still are!) correct.
  • Adding new demonstration examples for electronic dynamics, namely ICD (interatomic Coulombic decay) and ICEC (together with Federico Pont from UNC, Argentina).
  • Adding trajectory and/or surface hopping simulations to several of the demonstration examples.
  • Extending the potential energy classdef for a chain of harmonic oscillators: Now also including two different electron-phonon coupling models.
  • Adding possibility for 2D-reduced density representations; up to now for two, four, or six degrees of freedom.
Posted by Burkhard Schmidt 2020-02-21

Version 6.1.1 released (05-Sep-2019)

This version (Git hash value e2f9cd54...) is mainly a maintenance release, but it also serves to provide a few minor extensions:

  • The Chebychev propagator has been extended such that in "relaxation" simulations (propagations in imaginary time) also excited states can be calculated. Note that this approach is usually restricted to the lowest few excited states. Beyond this, the method will eventually become unstable
  • Added/modified a few examples to demonstrate the calculation of excited states by "relaxation" simulations (propagations in imaginary time)
  • Added a potential energy classdef for a chain of harmonic oscillators (model for phonons in 1D)
Posted by Burkhard Schmidt 2019-09-05

Third WavePacket publication (14-Aug-2019)

Our third publication of the WavePacket software appears in Journal of Computational Chemistry, see here

Posted by Burkhard Schmidt 2019-08-14

Updating Wiki pages to version 6.1 (14-Aug-2019)

Again, the changes in the codes upon evolving from V6.0 to V6.1 made a number of changes in the Wiki pages necessary . Should you still encounter any inconsistencies (between the codes and their description in the Wiki pages), please don't hesitate to contact us.

Posted by Burkhard Schmidt 2019-08-14

Version 6.1.0 released (01-Aug-2019)

This version (Git hash value 9c8534e0...) further extends the object-oriented concepts introduced with version 6.0.x along the following lines:

  • Now the function 'qm_propa' propagates not only objects of class 'wave' (wavefunctions represented on grids) and class 'traj' (densities sampled by bundles of classical trajectories) but also objects of class 'ket' (quantum state vectors in energy representation) and class 'rho' (quantum density matrices in energy representation) which has made the function 'qm_control' obsolete. Note that 'rho' is a subclass of 'ket'.
  • Now there are also (2D and 3D) bar graph visualizations available for propagations of objects of class 'ket' or class 'rho', respectively.
  • Now also the functions for model order reduction ('qm_matrix', 'qm_balance', 'qm_truncate', 'qm_H2model') work with objects of class 'ket' and/or class 'rho' .
  • Now also the function for optimal control ('qm_optimal') works with objects of class 'ket' and/or class 'rho'. (A generalized version that also works with objects of class 'wave' would be desirable but is certainly not easy to realize.)
  • Now the three versions of surface hopping trajectories ('mssh', 'fssh', 'sssh') are implemented as main classes. They inherit from superclass 'traj' and partly also from each other.
  • Now there is also a SSSH version available that uses gradient descent (GD) to exactly determine the loci of the minimal energy gap condition.... read more
Posted by Burkhard Schmidt 2019-07-24

Version 6.0.3 released (07-May-2019)

This version (Git hash value 70ae1cee...) is mainly a maintenance release, serving to provide a few rather minor extensions. Among others, we added reduced density representations of wavefunctions for n_dim=6, and we changed qm_bound to avoid saving unnecessary, large matrices to data file.
Hence, this version can routinely solve time-dependent Schrödinger equations up to six dimensions and time-independent Schrödinger equations up to three dimensions on a standard office PC. Well, at least if not too large grids along each of the dimension are used.

Posted by Burkhard Schmidt 2019-05-07

Quantum dynamics in 6D and 7D (15-Apr-2019)

Today I gave WavePacket - or rather my office-PC which is equipped with Intel Xeon CPU E3-1241 and 32 GB memory - a hard time. Running six-dimensional simulations using a grid of 166 ≈ 16.8 M points and even seven-dimensional simulations using a grid of 127 ≈ 35.8 M points for the first time ever. For a simple model of phonons in 1 dimension (i.e. a chain of harmonic oscillators with periodic boundary conditions), imaginary-time propagations (Chebychev polynomial method) with qm_propa reproduced the known ground state energy with several digits precision within few hours.

Posted by Burkhard Schmidt 2019-04-15

Version 6.0.2 released (25-Mar-2019)

This version (Git hash value a2be329...) is mainly a maintenance release, serving to fix a few rather minor bugs. Among others, we fixed some inconsistencies in qm_bound (n_dim>1, n_eqs>1, symmetries), and improved the vibronic coupling Hamiltonian (file: +pot/vibronic.m). Further, we added a classdef for (conditionally exact, quasi-exact) stationary states of a generalized planar pendulum, to be used as initial wavefunctions (file: +init/pendulum2).

Posted by Burkhard Schmidt 2019-03-19

Updating wiki pages to version 6 (04-Mar-2019)

The numerous (and fundamental!) changes in the codes upon changing from V5 to the object-oriented V6 (which was essentially not much less than a rewrite) made many changes in the Wiki pages necessary. After not having updated these pages since May 2017, we have recently worked very hard and eventually caught up.

Posted by Burkhard Schmidt 2019-02-28

Version 6.0.1 released (21-Feb-2019)

This version (Git hash value 87b7556...) is mainly a maintenance release, serving to fix a few minor bugs. Among others, we fixed some inconsistencies wrt the order of some of the numerical propagation schemes. Unfortunately, this leads to minor issues with backward incompatibility. As of now, the choice of propagators is based on the local discretization error of the positions. In the table below, the third and fourth columns refer to objects of class "wave" and class "traj", respectively ... read more

Posted by Burkhard Schmidt 2019-02-19

Third WavePacket publication prepared (15-Feb-2019)

The third publication of our WavePacket software is available as a preprint, see here

Posted by Burkhard Schmidt 2019-02-19

Version 6.0.0 released (20-Dec-2018)

This version (Git hash value 3ce026a...) of WavePacket features major code extensions for fully classical as well as quantum-classical (e.g. surface hopping trajectory) propagations. Thus, it is now possible to compare fully quantum versus quantum-classical versus fully classical dynamics for exactly the same physical system (kinetic and potential energy, initial conditions, time stepping, etc.), specified by the same initialization file qm_init.m. Then a typical workflow for a quantum (wavefunction based) propagation may look as follows... read more

Posted by Burkhard Schmidt 2019-02-19

Migrating from SVN to Git (06-Sep-2018)

After having used the SVN version control system for (almost exactly) 10 years, time was ripe for a change: To benefit from the concept of a distributed version control system, and also to keep up with the general trends in the community, we decided to migrate the Matlab version of our WavePacket software from SVN to Git version control. Version 3218 (16-Aug-2018) was the last one to be checked into the SVN repository which should be considered deprecated as of now. The newly created Git repository starts from previous SVN version 2238 (07-Jun-2017), i.e. shortly after the official release of WavePacket 5.3.0.

Posted by Burkhard Schmidt 2019-02-19

Second WavePacket publication (July 2018)

Our second publication of the WavePacket software appears in Computer Physics Communications, see here

Posted by Burkhard Schmidt 2019-02-19

Version 5.3.0 released (30-May-2017)

This version (SVN revision 2228) contains a few extensions and revisions, mainly in the setup (qm_matrix.m and qm_abncd.m) of TDSE/LvNE simulations as well as in the (optimal) control functions (qm_control.m and qm_optimal.m) of the WavePacket program package. Among others there are the following changes... read more

Posted by Burkhard Schmidt 2019-02-19

First WavePacket publication (April 2017)

Our first publication of the WavePacket software appears in Computer Physics Communications, see here

Posted by Burkhard Schmidt 2019-02-19

Version 5.2.3 released (03-Mar-2017)

This version (SVN revision 1927) contains a few minor bug fixes and revisions, mainly in the older parts of the WavePacket program package. Among others there are the following changes

  • Adding polarizabilities to account for 2nd order (induced dipole) interaction between quantum system and external electric field
  • Using unit conversions (between atomic and SI units) throughout the demo examples
  • Adding new demo example: Razavy potential (conditionally quasi-exactly solvable)
  • Adding new demo example: Generalized pendulum (conditionally quasi-exactly solvable)
  • Adding spherical harmonics (∝ associated Legendre polynomials) to the choice of initial wavefunctions
  • Minor tweaks of graphical output... read more
Posted by Burkhard Schmidt 2019-02-19
Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.