Skip to content

Open-Quantum-Platform/openqp

Repository files navigation

Open Quantum Platform: OpenQP

Open Quantum Platform (OpenQP) is a quantum chemical platform built around Mixed-Reference Spin-Flip (MRSF)-TDDFT with an emphasis on an open-source ecosystem. It combines conventional HF/DFT, MP2 correlation, and TDHF/TDDFT with MRSF-TDDFT to treat multiconfigurational ground and excited states — diradicals, bond breaking, conical intersections, nonadiabatic dynamics, and spin-orbit coupling — through autonomous, interoperable modules. Learn it through the OpenQP manual (reference documentation for every method, workflow, and keyword; source: openqp-docs) and the hands-on OpenQP tutorials (guided, runnable end-to-end walkthroughs).

MRSF-TDDFT is the central scientific feature of OpenQP: it retains the practical linear-response structure of TDDFT while removing the spin contamination that limits conventional spin-flip TDDFT, making it useful for multiconfigurational ground-state surfaces as well as excited-state and photochemical workflows.

Functionality

Electronic-Structure Methods

Method References / variants Notes
Hartree–Fock RHF, ROHF, UHF Closed- and open-shell SCF foundations
DFT RKS / UKS / ROKS via LibXC Hundreds of LCAO functionals; range-separated (CAM/LRC) support
MP2 RHF, UHF, and ROHF references; MP2, SCS-MP2, SOS-MP2, OS/SS-MP2, SCS-MI-MP2, and custom spin scaling Energy-only post-SCF correlation with spin-component-scaled variants
TDHF / TDDFT RPA, TDA Conventional linear-response excited states
SF-TDDFT Spin-flip TDA Spin-flip excited states from a high-spin reference
MRSF-TDDFT Mixed-Reference Spin-Flip + DTCAM-series functionals Main production method; multireference accuracy with LR practicality
UMRSF-TDDFT MRSF excitation energies from a UHF reference Energy-only
MRSF-EKT IP/EA via Extended Koopmans' Theorem Dyson orbitals and pole strengths (runtype=ekt)

Tutorials: Hartree–Fock & DFT · MP2 & spin-scaled MP2 · TDDFT/TDHF · Spin-flip TDDFT · MRSF-TDDFT · UMRSF-TDDFT

Properties & Spectroscopy

Capability Scope Notes
Analytic gradients HF, DFT, TDDFT, SF/MRSF-TDDFT State-specific gradients for optimization and dynamics
Hessians Native analytic HF/DFT Hessians + numerical Hessians Covers UHF/ROHF references, ECPs, and CAM/LRC functionals
Vibrational analysis Frequencies, normal modes, thermochemistry, IR and Raman intensities Native dipole / CPHF-polarizability kernels
NMR shieldings CGO and GIAO (London-orbital) gauges HF and DFT, closed- and open-shell
Nonadiabatic couplings NAC / NACME between MRSF-TDDFT states TLF technology for dynamics workflows
Spin-orbit coupling SOC between MRSF-TDDFT states One- and two-electron contributions (Relativistic MRSF-TDDFT)
X-ray absorption XAS / core-excitation workflows (incl. ΔCHP-MRSF) Core-level excited states
Implicit solvation PCM via the ddX backend (ddCOSMO / ddPCM / ddLPB) Energy-only continuum solvent on RHF/ROHF references
Population & moments Mulliken, Löwdin, RESP charges; electric multipole moments runtype=prop
Dispersion DFT-D4 correction

Tutorials: Hessians, frequencies & IR/Raman · NMR shielding · Spin–orbit coupling · Population, moments & charges · PCM/ddX solvation

Geometry & Reaction Paths

Workflow runtype Default execution
Energy / gradient / Hessian energy, grad, hess native
Minimization & transition states optimize, ts native OQP
Conical intersections meci, mecp, tci native OQP
Reaction paths irc, mep, neb native OQP
Nonadiabatic data nac, nacme native

The built-in optimizer uses redundant-internal / DLC / TRIC coordinates with restricted-step RFO/P-RFO and needs no external optimizer package. It covers all primary geometry and reaction-path workflows above, including aligned, endpoint-optimized climbing-image NEB and optional numerical/analytical initial Hessians for transition-state searches. Traditional sectioned .inp files may still select SciPy or geomeTRIC; geomeTRIC remains an optional compatibility backend for advanced constrained optimization.

Tutorials: Geometry optimization & TS · Conical intersections

Dynamics & QM/MM

Nonadiabatic molecular dynamics (runtype=namd) with Tully fewest-switches surface hopping on MRSF-TDDFT states, spin-orbit-coupled intersystem crossing, and ESPF QM/MM embedding. These compose into SOC-NAMD-QMMM: excited-state surface-hopping dynamics of an MRSF-TDDFT chromophore, with singlet/triplet intersystem crossing, embedded in an explicit (OpenMM) MM solvent.

  • Native fewest-switches surface hopping (runtype=namd) for gas-phase MRSF-TDDFT internal conversion.
  • SOC-NAMD for intersystem crossing: SHARC-like spin-adiabatic propagation and an MCH-basis mode with exact active-root MCH gradients ([md] soc_basis=mch).
  • ESPF electrostatic QM/MM via OpenMM (PME periodic electrostatics, smooth ESPF grid forces, rigid-water constraints); QM/MM composes with both FSSH and SOC-NAMD to give SOC-NAMD-QMMM.
  • Overlap-based MRSF state tracking, finite-difference NAC/TDC propagation, and energy-based decoherence (EDC).

Tutorials: SOC-NAMD-QMMM · ESPF QM/MM embedding

See the SOC-NAMD-QMMM guide and the [md] / [qmmm] keyword pages in the manual for complete input decks and the compact job.qmmm(...) / job.workflow.namd(...) Python API.

SCF, Initial Guesses & Performance

Area What OpenQP provides
Initial guesses Native hcore, huckel, modhuckel, minao, sap; json restart and auto; optional PySCF (sad/sap/pyscf) guesses
SCF convergence DIIS family (C/E/A/V-DIIS), SOSCF, and OpenQP's own native TRAH (Trust-Region Augmented Hessian) solver, with the external OpenTrustRegion library as an optional alternative
Symmetry Point-group detection; MO/state/mode labels; petite-list reductions accelerating integrals, XC, gradients, and response
DFT grids Lebedev plus SG-0/SG-1/SG-2/SG-3 pruned grids with per-element DE2 radial quadrature; OpenMP-parallel XC kernels
Excited-state robustness Davidson auto-restart; MINRES/AUTO Z-vector fallbacks
Parallelism & deployment OpenMP and MPI; BLAS/LAPACK optimization; pip install and Docker images

Tutorials: SCF convergence & guesses · Effective core potentials

Ecosystem & Integrations

Integration Purpose
LibXC Wide library of exchange-correlation functionals
basis_set_exchange Standard basis sets
libecpint Effective Core Potentials
DFT-D4 Dispersion correction
PyRAI2MD AI-driven ab initio molecular dynamics
Molden format Visualization compatible with common graphics tools
OpenqpView Browser-based inspection of log, JSON, Molden, cube, and XYZ outputs
Optional DFTB+ backend Ground-state energy, gradient, and geometry optimization
Optional MOKIT Broader external wavefunction conversion workflows

Upcoming Features

  • Full analytic spin-adiabatic SOC gradients, requiring MCH derivative-coupling vectors and SOC-gradient matrix elements.
  • Scalar-relativistic (X2C) framework extending the relativistic MRSF-TDDFT treatment

Install

pip install openqp

The native optimizer is included by default. Install the optional legacy geomeTRIC backend only when it is needed:

pip install 'openqp[geometric]'

For a source checkout:

git clone https://github.com/Open-Quantum-Platform/openqp.git
cd openqp
pip install .

The package install keeps the Python wrapper, native library, headers, and data files together for normal openqp command-line use. A ready-to-use Docker image is also available. Build options (MPI, LibXC/ERI backends, BLAS/LAPACK selection) are documented in the Build options guide.

First Run

openqp examples/HF/H2O_RHF-HF_ENERGY.inp          # OpenMP / sequential run
mpirun -np <n> openqp any_example_file.inp        # MPI run
openqp --run_tests all                            # default mixed regression suite

Every legacy example has a concise .oqp companion. Select which input syntax the regression runner uses with --input-format:

openqp --run_tests all --input-format inp         # standard suite through .inp
openqp --run_tests all --input-format oqp         # standard suite through .oqp
openqp --run_tests all --input-format both        # both syntaxes in that suite

Omitting the selector uses auto: it prefers .oqp, retains any legacy-only .inp, and keeps a small representative .inp compatibility set. The historical all scope still excludes unusually slow or non-self-contained examples; selecting an explicit directory applies the requested format to every input in that directory. Each calculation receives an isolated output folder, so paired optimization artifacts cannot overwrite one another.

Control OpenMP threads per process or MPI rank with --omp 16 or [input] omp_threads=16.

Documentation

Graphic Web Tools

  • OpenQP Web — prepare inputs and preview structures locally in the browser.
  • OpenQP Input Generator — browser-based input builder.
  • OpenqpView — inspect OpenQP log, JSON, Molden, cube, and XYZ outputs in the browser; files are processed locally and never uploaded.

Citing OpenQP

If you use OpenQP in your research, please cite the OpenQP platform paper:

  • Mironov V, Komarov K, Li J, Gerasimov I, Mazaheri M, Park W, Lashkaripour A, Oh M, Nakata H, Ishimura K, Huix-Rotllant M, Lee S, and Choi CH. "OpenQP: A Quantum Chemical Platform Featuring MRSF-TDDFT with an Emphasis on Open-source Ecosystem" Journal of Chemical Theory and Computation, 2024

Original MRSF-TDDFT theory and analytic-gradient papers:

Recent MRSF-TDDFT accounts and overview papers:

Contributors

Principal Investigator

Development team

Legal Notice

See the separate LICENSE file.