KIDS  ver-0.0.1
KIDS : Kernel Integrated Dynamics Simulator
Loading...
Searching...
No Matches
KIDS: Kernel Integrated Dynamics Simulator

version language wrapper platform cmake status uptime coverage codecy

Introduction

KIDS (Kernel Integrated Dynamics Simulator) is an open-source framework specifically designed for simulating chemical and physical dynamics at atomic and molecular scales in condensed matter. It excels in classical and quantum dynamics simulations, accommodating small systems, few-body systems, reduced systems, and large many-particle systems such as molecules and condensed matter. KIDS offers a robust, versatile platform with multiple interfaces for developing advanced algorithms, ensuring ease of use and accessibility with third-party language wrappers, such as Python.

KIDS features a comprehensive array of models and solvers, including harmonic models, forcefield models, and ab initio interfaces, meeting diverse simulation needs. It supports a wide range of computational approaches, from classical dynamics based on Newtonian and Hamiltonian mechanics to sophisticated quantum dynamics incorporating quantum phase space approximations, quantum trajectories, path integral techniques, influence functional methods, and semi-classical wavepackets.

Continual development efforts focus on expanding the library of models and solvers, with community contributions highly encouraged. To further extend its accessibility, KIDS is now available as a Python package (PyKIDS) and a Rust crate (rust-KIDS).

License

The KIDS framework is free of use and integration, while some algorithms may be used with proper guarantee.

Support

Author: Xin He(xshin.nosp@m.he@p.nosp@m.ku.ed.nosp@m.u.cn)

Contributors:

The project is maintained under Jian Liu group, CCME, PeKing University.

Features

  • Utilizes high-performance and parallelized code written in modern C++ (-std=11 or later), well compiled with C-style APIs. Parallelization with MPI (Intel OneAPI MPI), OpenMP and SIMD techniques. For some functions, a GPU acceleration is also on-going and optional. Many thirdpart matrix/tensor libraries are well compiled and integrated, such as Eigen, Intel OneAPI MKL, xtensor, libtorch and python's numpy etc.
  • Functions are modular and separable, all of which are intepreted as Kernel, encompassing models, solvers, and more. KIDS offers a variety of intrinsic models for testing and exploring new dynamics approaches, such as harmonic (quadratic / quartic / Morse) PES, system-bath models (e.g. spin-boson and FMO), LCVM models, light-matter models etc. KIDS also involves versatile solvers, including both Born-Oppenheimer Statistics & Dynamics and Non-adiabatic Statistics & Dynamics. See list of what KIDS does, while for more detail documention, refer to intrinsic models and intrinsic solvers, respectively.
  • Well-organized/seperate code is potential for custom use (most are head-only), please see how to use KIDS code under proper LICNESE in a custom project.
  • A standalone dynamic library, such as libkids.so, is seperate with C++'s Handler and provides various useful APIs, which can be integrated into other langauges like python/rust. See Python APIs and rust APIs, respectively.
  • It is clear and convenient for user to construct and manage the flow of the simulation. See more about the control the flow of the simulation.
  • It is friendly for developer to add more advanced algorithms and organize the different versions. For integrating more models, see how to develop models, while for developing methods, see how to add new solvers
  • Diverse intrinsic interfaces support external force fields and ab initio calculations (as well as QM/MM). It can be interfaced to few-bodies force fields for small molecules in Fortran90 (i.e., potlib) as well as general molecular forcefield with OpenMM. Interfaces with Gaussian16 and MNDO99 for on-the-fly calculation are supported. Additionally, KIDS allows user add custom interface to any other software only based python script, without modifying the c++ code!

What KIDS does

  • MD and MD-based techniques (i.e., enhenced sampling) for classical and molecular dynamics.
  • PIMD (techniques) for statistics for Boltzman particle, Boson/Fermion, and multi-electronic-state systems.
  • Real-time dynamics: Full semi-classical dynamics up to the HK-IVR and LCSIVR(classical Wigner). Path-integral based RPMD, CMD, and PILD-variants.
  • Quantum dynamics built on discrete basis with a dirty realization, such as DVR, multi-configuration time-dependent Hartree (MCTDH), and tensor decomposition methods.
  • Quantum dynamics for system-bath problem built on influence functional, including Hierarchy equation of motion (HEOM), Stochastic Schrödinger equation (SSE), Path integral techniques (QCPI). Some approximation like Redfield equation is also supported.
  • Featured: Quantum phase space approximation, classical-wavepackets and quantum hydrodynamics (TODO).
  • Featured: Mixed quantum-classical dynamics based on phase-space mapping methods (CMM/NaF) and its extensions. Other approximation like Ehrenfest dynamics, multiple versions of surface hopping-based method are also available.
  • Further to support ab initio calculation like Hartree-Fock/DFT realization.
Read Next
Installation