Release of MidasCpp 2024.10.0

We are happy to announce the new MidasCpp 2024.10.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.10.0

New Features

  • The unitary vibrational coupled cluster (UVCC) wavefunction Ansatz has been implemented.
  • Integration with Dirac delta and Heaviside step functions combined with general functions has been implemented.

Changes

  • Default LAPACK is now version 3.8.0.
  • MidasCpp now works with newer versions of Dalton for generating PES (tests are validated using Dalton 2020.1).
  • Dalton should now be enabled by providing a path to a Dalton install folder, instead of the path to dalton.x. Now configure only prints a message if Dalton is enabled and not found (and does not mention Dalton if not enabled).
  • The I/O level for printing the potential bounds in an ADGA calculation has been lowered to 8.
  • The ADGA toml files now overwrites any old toml files in the analysis folder in the case of a restart calculation.

Bugfixes

  • Fixing a bug in ADGA calculations using the #2 DynamicAdgaExt keyword which resulted in the constructed PESs not being invariant to the sign of the displacement vectors. This change means that ADGA calculations using #2 DynamicAdgaExt from older releases of Midas cannot be expected to be reproduced by equivalent calculations with this release and newer versions.
  • Fixing a bug in the dynamic extension scheme of ADGA where the extended bounds would be one extension shorter that required for containing the density.
  • Fixed an issue where running a MatRep TD-wavefunction calculation with MPI would result in a segmentation fault.
  • Removed possiblility of the Barzilai-Borwein step for steepest descent becoming NaN.
  • Fixed a bug in ADGA printing where the EsPoint data would not be saved to the toml file even though the keyword #2 PesPlotRealEsp was set.
  • Fixed a toml bug, where the mode labels were not printed as a part of the displacement in ND cuts, leading to an invalid toml document.
  • Fixed an issue where configure would link in the wrong libraries when using MKL with GCC.
  • Fixed bug when using polyspherical coordinates and the keyword #1 InactiveModes, where the resulting kinetic energy operator would not be correct.

Minor enhancements

  • MidasCpp now compiles Warning Free^tm with both gcc/11.4.0 and clang/18.1.5.

Changed defaults

  • Changed the default method for determining the amount of vibrational density to the left/right of the potential bounds when doing an ADGA extension. Now a proper integration is carried out (similar to TD-ADGA behavoiur) instead. To change to the old method, use the keyword #2 AdgaExtendIntegrationMethod with TRIANGE as input (INTEGRATION) is the default.
  • In the function BsplGenInt of OneModeInt.cc, the way the one-mode integrals are calculated has been changed slightly. The particular change is that contributions to a matrix element are now summed in a different order, which leads to slightly different round-off errors. As a result, certain calculations (those using BsplGenInt) with older releases may not be reproduced exactly in equivalent calculations with this release and future versions.

Source code structural changes

  • All MidasCpp source code has now been moved to a folder called src.
  • All autoconf files have been moved to a folder called autoconf.
  • The class RspTransOneModeOper and functions associated with its usage have been removed. This class was only used to keep track of local operator numbers (LocalOperNr) in the VSCF response transformer, which is now done locally in the VscfRspTransformer.
  • The class DeltaFunctionOneModeOper and functions associated with its usage have been removed. Dirac delta functions are now handled for SimpleOneModeOper and FunctionOneModeOper objects through a class member OneModeOperBase<T>::IntegralType, which is used to modify operator string output, function evaluations and numerical integration of the one-mode operators.
  • The calculation of primitive one-mode operator integrals with B-spline basis functions has been restructured. The functions BsplqiInt and BsplcorInt have been merged. The resulting function is structured analogously to BsplGenInt.
  • Likewise, the calculation of primitive one-mode operator integrals with distributed Gaussian basis functions has been restructured. The functions GaussqiInt and GausscorInt have been merged.
  • Generalised the subspace solver factory to a hierarchy of matrep solvers that need not be subspace solvers.

Let us know if you encounter any problems.

social