NQCDynamics.jl

NQCDynamics.jl is a Julia package for performing nonadiabatic quantum-classical dynamics simulations. It provides implementations of various methods including ring polymer molecular dynamics (RPMD), surface hopping, and mapping approache…

6. DYNAMICS 6.2 Path Integral Quantum Dynamics VERIFIED
Back to Directory Official Website

Overview

NQCDynamics.jl is a Julia package for performing nonadiabatic quantum-classical dynamics simulations. It provides implementations of various methods including ring polymer molecular dynamics (RPMD), surface hopping, and mapping approaches for simulating quantum nuclear effects and nonadiabatic transitions.

Reference Papers

Reference papers are not yet linked for this code.

Full Documentation

Official Resources

  • Homepage: https://nqcd.github.io/NQCDynamics.jl/
  • Documentation: https://nqcd.github.io/NQCDynamics.jl/stable/
  • Source Repository: https://github.com/NQCD/NQCDynamics.jl
  • License: MIT

Overview

NQCDynamics.jl is a Julia package for performing nonadiabatic quantum-classical dynamics simulations. It provides implementations of various methods including ring polymer molecular dynamics (RPMD), surface hopping, and mapping approaches for simulating quantum nuclear effects and nonadiabatic transitions.

Scientific domain: Nonadiabatic dynamics, nuclear quantum effects, RPMD
Target user community: Researchers studying quantum dynamics and nonadiabatic processes

Theoretical Methods

  • Ring polymer molecular dynamics (RPMD)
  • Surface hopping (FSSH)
  • Ehrenfest dynamics
  • Mapping approaches (NRPMD, spin-mapping)
  • Classical molecular dynamics
  • Langevin dynamics

Capabilities (CRITICAL)

  • Ring polymer MD for nuclear quantum effects
  • Fewest switches surface hopping
  • Multiple electronic structure interfaces
  • Friction models
  • Langevin dynamics
  • Custom potentials
  • Julia performance

Key Strengths

Method Variety:

  • Multiple nonadiabatic methods
  • RPMD for quantum nuclei
  • Surface hopping variants
  • Mapping approaches

Julia Performance:

  • Fast execution
  • Easy customization
  • Modern language features
  • Composable design

Inputs & Outputs

  • Input formats:

    • Julia structures
    • Various potential interfaces
  • Output data types:

    • Trajectories
    • Observables
    • Population dynamics

Interfaces & Ecosystem

  • Julia: Native implementation
  • NQCModels.jl: Model potentials
  • NQCDistributions.jl: Initial conditions
  • ASE: Calculator interface

Advanced Features

  • RPMD: Ring polymer molecular dynamics
  • FSSH: Fewest switches surface hopping
  • NRPMD: Nonadiabatic RPMD
  • Spin-mapping: Meyer-Miller mapping
  • Friction: Electronic friction models
  • Thermostats: Various temperature control

Performance Characteristics

  • Julia JIT compilation
  • Efficient for trajectory methods
  • Good parallel scaling
  • Memory efficient

Computational Cost

  • Depends on method and system
  • RPMD scales with bead number
  • Surface hopping moderate cost
  • Overall: Efficient for trajectory methods

Best Practices

  • Choose appropriate method for problem
  • Converge number of beads for RPMD
  • Validate against known results
  • Use sufficient trajectories for statistics

Limitations & Known Constraints

  • Julia ecosystem required
  • Smaller community than Python
  • Some methods still developing
  • Documentation evolving

Application Areas

  • Proton transfer
  • Electron transfer
  • Photochemistry
  • Gas-surface dynamics
  • Quantum tunneling
  • Nonadiabatic reactions

Community and Support

  • Active development
  • GitHub issues
  • Documentation
  • Julia community

Verification & Sources

Primary sources:

  1. Documentation: https://nqcd.github.io/NQCDynamics.jl/
  2. GitHub: https://github.com/NQCD/NQCDynamics.jl

Confidence: VERIFIED

Verification status: ✅ VERIFIED

  • Source code: OPEN (GitHub, MIT)
  • Active development

Related Tools in 6.2 Path Integral Quantum Dynamics