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
andclang/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 usingBsplGenInt
) 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 theVscfRspTransformer
. - The class
DeltaFunctionOneModeOper
and functions associated with its usage have been removed. Dirac delta functions are now handled forSimpleOneModeOper
andFunctionOneModeOper
objects through a class memberOneModeOperBase<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
andBsplcorInt
have been merged. The resulting function is structured analogously toBsplGenInt
. - Likewise, the calculation of primitive one-mode operator integrals with distributed Gaussian basis functions has been restructured.
The functions
GaussqiInt
andGausscorInt
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.