Trunk Changelog

New features and major improvements to the last ADF Modeling Suite release, listing last changes first. The revision number corresponds to that of the development snapshots.

Revision Description
r96805 Added support for full electrostatic embedding to the Reaxff engine in AMS.
r95776 The Shake/Rattle algorithm for bond constraints is now available in AMS.
r95218 The initial version of the APPLE&P forcefield is now in the development version.
The forcefield is used by selecting the 'APPLE&P' type in the Forcefield engine. It requires an ff.dat file and the 'forcefield.type' atomic properties must be set for every atom in the system. To avoid errors the user should also provide bonds in the System input block. An example is available in examples/forcefield/TestApplenpGrad.
r94406 AMS2021.101 released (May 18th, 2021)
r93117 ADF: Bug fix analytical frequencies open shell PBEc
The bug affects the analytical frequency calculation of spin-polarized systems with PBE, OPBE, RPBE, revPBE, and S12g. This bug was present in all ADF releases starting from ADF2006. Analytical frequencies using LibXC are not affected.
Workaround is to use numerical frequencies.
r92667 More control for shared arrays on NUMA and multi-socket machines (Linux only).
Some time ago we've made AMS shared arrays NUMA-aware, that is each physical node gets split into sub-nodes based on the NUMA configuration to have shared arrays localized on NUMA nodes instead of being node wide. This seems to have a complication on some AMD Epyc configurations that have NUMA nodes defined per chiplet or per CCX, which results in too fine-grained sub-nodes reducing the effectiveness of shared arrays. With this change, one can set the SCM_SHAR_PER_SOCKET environment variable to a non-empty string to tell AMS to split nodes based on physical CPU sockets instead of NUMA nodes.
Please note that splitting of a node into sub-nodes works only if the core binding is used (which is usually the default with most modern batch systems and with MPI RTEs). If you run an MPI job without core binding (e.g. srun --cpu-bind=none) then a sub-node is just the physical node. The reason is that without core binding it's impossible to guarantee that a process will remain inside the same domain (core, NUMA node or socket) during its lifetime.
r91988 ForceField engine optimizations.
The ForceField engine has been substantially speeded-up by using particle mesh Ewald for electrostatics, using more typical for the MD world default non-bonded cutoffs, and by computing force components in parallel.
r91624 ADF: Modification RIHartreeFock VeryGood fit quality.
Modification of the RIHartreeFock VeryGood fit quality to improve numerical stability.
r91367 ADF: Changes in calculation of excitation energies with perturbative inclusion of spin-orbit coupling.
Changes in the way transition dipole moments and oscillator strengths are calculated. Default change: by default the singlet ground state is now included, which means that the spin-orbit matrix in this case is on basis of the ground state and the singlet and triplet excited states. Output gives more details on triplet subspecies character of excited state.
r91367 ADF: transition dipole moments (TDMs) between excited states.
These TDMs are printed only if one includes the subkey ESESTDM of the key EXCITATIONS.
r91367 ADF: excited state unrelaxed dipole moment.
r90649 Shared arrays will be limited to NUMA nodes if MPI ranks are cpu-bound. Each processor socket is usually a NUMA node.
r90365 The D4 dispersion correction is now available for systems with periodic boundary conditions and in the DFTB engine