Release of MidasCpp 2020.04.0

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

The release contains a few bug-fixes and as new features we include

New Features

  • General

    • Added new midastools tool which provides access to some data analysis tools.
    • Added new midasdynlib tool for PES dynamic library introspection.
    • All executables (midascpp, midastools, midasutil, and midasdynlib) now have bash autocompletion, which can either be installed locally with midasutil or loaded when sourcing a midascpp.source_me (preferred).
    • For reproduceability of results, MidasCpp now writes which compiler and what version was used to compile the program in the .mout header.
  • Operators:

    • Kinetic energy terms are no longer added to operators, unless it has type energy, or set explicitly with #3 KineticEnergy.
    • Adds option USER_DEFINED for #3 KineticEnergy, which should be used if kinetic terms are explicitly typed as operator terms in the operator file or definition.
    • Add keyword #1 SetInfo to .mop files. This works as #3 SetInfo in the #2 Operator block of .minp input.
    • Types can now be defined for properties in midasifc.mpropinfo when creating a PES/property-surface. Types defined here will be included in the corresponding .mop files.
    • All operator types that take frequency input under #3 SetInfo, will now have frequencies indexed, starting from 0, e.g. frq_0=0.0.
  • MidasPot^(tm)

    • Added optional #2 REFERENCEVALUE keyword to operator input. This allows directly connecting an operator with a reference value and avoiding the .mrefval file, e.g. for MidasPot generation.
    • New keyword for creating MidasPot #2 TENSOROPERATOR. Will take a set/tensor of operators to be rotated together when rotations occur (e.g. kabsch rotation).
  • New wave-function methods

    • Added TDVCC[2] method with time-independent modals (for 2-mode-coupled Hamiltonians)
    • Added TDEVCC[k] method with time-independent modals (using full-space matrix implementation)
    • Added EVCC[k] ground state solver (using full-space matrix implementation)
    • Added MCTDH and MCTDH[n] methods
  • Machine-Learning options:

    • Added Sparse Gaussian Process Regression
    • Added kernel based Farthest point sampling
    • Added kernel normalization to increase numerical stability
    • Added Multilayer Gaussian Process Regression
  • ADGA PES construction

    • Double incremental expansion in Falcon coordinates (DIF)



Bugfixes

  • Fixed some clang++ compilation warnings (tested with versions 5.0.1 and 6.0.0)
  • Fixed a bug where operators where sorted alphabetically when merging multi-level surfaces. This meant that one could end up calculating VSCF energies with a non-energy operator, if the energy operators name was not alphabetically first. Operators are no longer sorted, and the order will be taken from midasifc.mpropinfo.
  • Fixed the Makefile system to better work on Mac. Some commands did not work properly on Mac OS, but these have now been generalized.
  • Fixed an issue where compilation with MPI would fail if MPI_Comm and MPI_Datatype had the same underlying type.
  • Fixed bug when using MPI_Bcast with tensors of size 1



Let us know if you encounter any problems.

social