We are happy to announce the new MidasCpp 2025.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 2025.04.0
New Features
- Kinetic energy operators in general coordinate systems have been implemented. These are based on Taylor or n-mode expansions of the G-matrix and extrapotential that determine the KEO. The new KEOs can be used in ADGA calculations and vibrationally correlated calculations. Moreover, a workflow of sequential ADGA runs has been implemented which can be used to build a PES and KEO in general coordinates simultaneous and starting from a low-quality KEO.
- Implements the construction of local bond stretch coordinates and kinetic energy operators.
- There is now an option to specify a path to a scratch directory, where the singlepoint calculations are run through the #2 SinglePointScratchPrefix keyword under #1 SinglePoint.
- Update to the extended MCR input. The #N ExtMcrModes keyword can now be used to specify custum weight for use in MCR construction.
- There is now an option to add an maximally allowed MCL to add during the extended MCR setup in PES, VCC, MCTDH, and TD(m)VCC calculations
Changes
- The
--affinity
option ofmidascpp
now can take a colon-separated range with optional step, as well as a comma-seperated list of cores.midascpp_fork_server
now also has an--affinity
option. - The
midascpp_fork_server
now opens theAF_UNIX
-socket withSOCK_CLOEXEC
. - Man-pages and auto-completion scripts have been updated with new options.
- Updated the coordinate specification in the #1 PES input to use a new keyword #2 CoordinateType. This keyword takes four different options: 'Cartesian' (replaces #2 CartesianCoord keyword), 'Normal' (Default option for use with normal coordinates), 'LocalBondStretch' (Option to use the new local bond stretch coordinates), 'Curvilinear' (Replaces the #2 GeneralCoord and #2 PolysphericalCoord keywords).
- Input of coordinate scaling in the PES fitting has been updated. This is now set using the #2 ScalCoordInFit keyword which takes one of three options: Frequency (Default), File (Replaces the old #2 ScalCoordInFit options), and Off (Replaces NoScalCoordInFit).
- Updated how Tana-Tnum is used to construct n-mode expansions of the G matrix and extrapotential for curvilinear coordinate systems. There is now only one call to Tana/Tnum instead of two, and the input for the Tana/Tnum calculation is split off from the runscript for the generic singlepoint calculations. This also came with some structural changes with respect to the directories where the Tana/Tnum and electronic structure singlepoint calculations are run (see below).
- Updated the standard Tana-Tnum distribution for automatic installation to Tana-Tnum v0.8.
- The keywords for setting up an extended MCR had been streamlined across PES and WF inputs.
Bugfixes
- A bug in the output of the boundaries determined from static grid PES constructions in general and polyspherical coordinates has been fixed, so that now the correct boundaries are written to file.
- Fixed a memory error which could be encountered in VCC PT calculations.
- Fixed an error in the fit basis contruction when using an extended MCR and sppecifying one fit order to be used for all MCLs.
- Removed some PES keywords which due to previous code refactors did not have any effect on the calculation.
Source code changes
- The directories for the singlepoint calculations within the PES module are now arranged in the following way:
A general scratch directory is created as '
/scr '. Within this directory, a subdirectory 'es' is created for electronic structure/potential energy calculations. In case of curvilinear coordinates, another subdirectory called 'tana' is created for the coordinate transformations from internal to Cartesian coordinates and the calculation of the G matrix and extrapotential at displaced geometries. - The SinglePointImpl objects do not know how to find the path for the scratch directory anymore, so the full
path to 'scr
' has to be provided at construction stage. - PesCalcDef now uses the CREATE_VARIABLE macro for all members.
Let us know if you encounter any problems.