Release of MidasCpp 2024.04.0

We are happy to announce the new MidasCpp 2024.04.0 release. Just follow the instruction in the manual or directly go to our GitLab page to clone the git repository or to download the source code.

Midas 2024.04.0 (5-year release anniversary)

This release marks the 5th year release anniversary of MidasCpp. MidasCpp was developed internally for many years, but 5 years ago it was released to the public for the first time, distributed as open-source through GitLab. In the course of these 5 years MidasCpp has undergone many changes and numerous new methods have been developed and implemented, including Time-dependent wavefunction methods, GPR-ADGA, and TD-ADGA just to name a few. In this period MidasCpp has been run on many different computer systems, including the LUMI SuperComputer, located in Kaajani Finland, the current top-5 machine in world (as of this writing). The future of MidasCpp is bright, and we, the development team, have no intention of slowing down, and will work to add more new and novel methods in the coming 5 years.

Here is to another 5 great years of MidasCpp development!

New Features

  • The Time-Dependent Adaptive Density-Guided Approach (TD-ADGA) has been implemented for the time-dependent wave function methods: TDH, MCTDH, and TD(M)VCC.
  • The reading of MidasCpp input files has been updated to allow C++ style comments (and the "!" Fortran comment) in all input files (not just .minp). All files now also allow proper indentation of input.
  • The ADGA data for plotting (calculated single points, evaluated potential, and the used density), has been reformattet and is now outputted as a single file in the TOML file format.
  • A split unitary/non-unitary modal parameterization has been introduced for TDMVCC and is now the default. The so-called split TDMVCC (sTDMVCC) method is fully bivariational, numerically stable, and convergent to MCTDH.

Minor Features

  • Implemented the possibility to use an input density on file to set the initial SPs. This results in 3 or 4 initial SPs: One SP is placed at the reference structure, two SPs are placed such that the all wave function density is contained within the SP boundaries (using the residual density threshold), and a fourth SP is placed at the max value of the density if this is not at the reference structure.
  • Implement a SplitBasis option for VSCF calculations using a B-spline basis.
  • When creating .mmol files using MidasCpp, a comment with the mode label will now be added after all #2COORDINATE keys in the .mmol file. This is purely for user convenience and has no other practical effects.
  • A convergence banner has been added to the HOLC module, such that the output file clearly states convergence status.
  • The Vcc2H2 transformer option has been thoroughly updated to be even more efficient and parallelised using OMP. This affects time-independent Vcc2H2 aswell as TDVCC and TDMVCC using the Vcc2H2 transformer.
  • Default settings for the time integration of the TD-WF methods has been updated: The Midas ODE driver and the DOPR853 stepper has been set as the default driver and stepper. The absolute and relative error tolerances have both been changed to 1.0e-12. In MCTDH, the VMF scheme is now the default scheme.

Minor Bugfixes

  • Fix ReadRotatedStructureImpl for GenericSinglePoint and DaltonSinglePoint to use the correct mass of each read atom when a default mass is given.
  • Fix provoked MIDASERROR in integral evaluation in ItGrid when calculating integrals for MCs where there is no coupling. It is fixed by detecting the case where no fit functions are present for a MC and setting the integrals to zero.
  • Fixed a case where the ADGA would request 0 new single points during extension of the boundaries if the requested extension was larger than the max boundaries.
  • Fixed an out-of-range error that could occur when the printing of the ADGA box boundaries.
  • Fixed a memory leak arising from fftw leaving some persistent data. This is now properly cleaned up.
  • Fixed a segmentation fault for Matrep TDMVCC that occurred when using "MaxExci 1".

Let us know if you encounter any problems.

social