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
, andmidasdynlib
) now have bash autocompletion, which can either be installed locally withmidasutil
or loaded when sourcing amidascpp.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.
- Added new
-
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 from0
, e.g.frq_0=0.0
.
- Kinetic energy terms are no longer added to operators, unless it has type
-
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).
- Added optional
-
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
andMPI_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.