Many physical phenomena in liquids and soft matter are multiscale
+ by nature and can involve processes with quantum and classical degrees
+ of freedom occurring over a vast range of length- and timescales.
+ Examples range from structure formation processes of complex polymers
+ or even polymer blends
+ (
The Versatile Object-oriented Toolkit for Coarse-graining + Applications (VOTCA) provides multiscale frameworks built on a + comprehensive set of methods for the development of classical + coarse-grained potentials (VOTCA-CSG) as well as state-of-the art + excited state electronic structure methods based on density-functional + and many-body Green’s function theories, coupled in mixed + quantum-classical models and used in kinetic network models + (VOTCA-XTP).
+Overview of the different VOTCA modules and external
+ interfaces. The trajectory reader of VOTCA-CSG in the dashed line
+ box are reused by
+ VOTCA-XTP.
VOTCA was originally developed as a platform for development and
+ comparison of coarse-graining (CSG) methods. Since the last software
+ publication in 2015, VOTCA-CSG was strengthened by adding more
+ methods, more examples, and involving more developers. Many users have
+ used VOTCA to compare different coarse-graining strategies on a
+ neutral ground and, if needed, proceeded with a more specialized
+ package based on the gained insight
+ (
Next to strengthening the coarse-graining functionality of VOTCA,
+ another major development direction taken since 2015 is the addition
+ of explicit quantum-mechanical modules aiming at the simulation of
+ static and dynamic properties of electronically excited states in
+ complex molecular environments using multiscale frameworks.
+ Specifically, the VOTCA-XTP part provides an open-source
+ implementation of many-body Green’s functions methods (known as
+
In the coarse-graining part of VOTCA, VOTCA-CSG, we made a lot of + improvements to the inverse Monte Carlo (IMC) method and have added + a new iterative approach, the so-called iterative integral equation + (IIE) method, which are both described in detail below and in + reference therein.
+The inverse Monte Carlo Method introduced by Lyubartsev &
+ Laaksonen
+ (
Rosenberger et al.
+ (
The iterative integral equation methods are similar to IMC in
+ that they also aim at reconstructing the RDF of a fine-grained
+ reference system with an effective pair potential. The main
+ difference is in the construction of the Jacobian, which is
+ approximated in IIE methods from integral equation theory
+ (
When using the IMC or IIE methods described above to find pair
+ potentials, that best reproduce a reference RDF, one can use the
+ Gauss-Newton algorithm and formulate the problem of finding a
+ potential update
The most substantial new feature in the VOTCA package is the + addition of explicit quantum-mechanical functionalities in the + VOTCA-XTP part. The added methods aim at a first-principles-based + multiscale modeling of electronically excited states and their + dynamics in complex molecular systems. We very briefly describe the + three main modules of XTP in the following.
+Excited state calculations require a reference ground state
+ calculation within density-functional theory. VOTCA-XTP provides
+ both an automated interface to the ORCA package
+ (
Using the ground-state reference, many-body Green’s functions
+ theory with the
Neutral excitations with a conserved number of electrons can be
+ obtained from the Bethe-Salpeter Equation (BSE) by expressing
+ coupled electron-hole amplitudes of excitation
+
Specifically, the matrix elements of the blocks
+
Polarization effects of an environment can have significant
+ impact on electronic excitations. As polarization effects are
+ long-ranged accounting for them requires the treatment of large
+ systems which is infeasible with explicit quantum methods such as
+ DFT-
For the last couple of years, we have also focused on code + hardening and the introduction of better software engineering + practices. Original VOTCA was designed as modules in separate + repositories, but as many other projects, this turned out to be quite + cumbersome hence we switched to a mono-repo. With recent performance + improvements in the git tools, the benefits of a single repository by + far out-weigh the downside of the very complex workflow of multiple + repositories. The module structure still exists in the source + code.
+Additionally, we have added continuous integration testing through + GitHub action for 50+ different compiler and operating system + combinations. The also perform continous deployment to the GitHub + Docker registry. And releases get rolled into all major linux + distributions, HomeBrew, Spack and FreeBSD.
+We did a lot of code refactoring and bumped the C++ standard to
+ 17. We also modernized our usage of CMake and switched to a mostly
+ target-base scheme. An attempt to port our particle structure on top
+ of Cabana
+ (
The particle and molecule data structure were refactored, and we + add support of the H5MD format, which is described below in + details.
+The recent version of VOTCA supports the
+
Data structures related to atomistic properties (topology,
+ molecules, segments, fragments, atoms) in XTP are reused or build
+ upon those of CSG. Linear algebra related structures and
+ functionalities are handled by Eigen
+ (
VOTCA–XTP is designed as a library, which is linked to very thin
+ executables. These executables provide a variety of calculators by
+ adding keywords on the command line. Virtual interfaces and factory
+ patterns make the addition of new calculators simple. The same
+ architecture is used for external DFT and MD codes, making VOTCA–XTP
+ easily extensible. Lower-level data structures make use of template
+ metaprogramming to support a variety of data types. VOTCA-XTP
+ provides different functionalities in three types of
+
-
+
a collection of tools that do not require information of a
+ mapped MD trajectory, including a specific
+ DFT-
analysis and not-high-throughput applications that require a
+ mapped MD trajectory in
high-throughput, high-performance applications that require a
+ mapped MD trajectory in
In general, VOTCA-XTP uses shared-memory parallelization in the
+ heavy calculations involving the quantum methods, with the
+ possibility to seamlessly offload matrix-matrix and matrix-vector
+ operations to GPU via
The PyXTP python package distributed with VOTCA, contains
+ python bindings to the main functionalities of VOTCA-XTP. These
+ python bindings were created using pybind11
+ (
The following snippet of code illustrate the use of PyXTP. This + small code optimize the geometry of a CO molecule in the first + excited singlet states. As seen in the code, the XTP calculator is + used to compute the forces on the nuclei while the geometry + optimization itself is driven by ASE functionalities.
+from pyxtp import xtp
+from ase.io import write
+from ase.build import molecule
+from ase.optimize import QuasiNewton
+
+# create a distorted CO molecule
+atoms = molecule('CO')
+atoms.rattle()
+
+# instantiate the calculator
+calc = xtp(nthreads=2)
+
+# select the state for which to compute the forces
+calc.select_force(energy='singlets', level=0, dynamic=False)
+
+# this allows to change all options
+calc.options.dftpackage.functional = 'PBE'
+calc.options.dftpackage.basisset = 'def2-svp'
+calc.options.dftpackage.auxbasisset = 'aux-def2-svp'
+
+# set up the logger
+calc.options.logging_file = 'CO_forces.log'
+
+# set the calculator
+atoms.calc = calc
+
+# optimize the geometry
+dyn = QuasiNewton(atoms, trajectory='test.traj')
+dyn.run(fmax=0.01)
+write('final.xyz', atoms)
+ We acknowledge contributions from Brigitta Sipocz, Syrtis Major, + and Semyeong Oh, and support from Kathryn Johnston during the genesis + of this project. We acknowledge support by the Innovational Research + Incentives Scheme Vidi of the Netherlands Organisation for Scientific + Research (NWO) with project number 723.016.002. Funding is also + provided by NWO and the Netherlands eScience Center for funding + through project number 027.017.G15, within the Joint CSER and eScience + program for Energy Research (JCER 2017). Los Alamos National + Laboratory (LANL) is operated by Triad National Security, LLC, for the + National Nuclear Security Administration of US Department of Energy + (Contract No. 89233218CNA000001). This work is approved for unlimited + release with report number LA-UR-24-25313.
+