Modules of OpenQP - Open-Quantum-Platform/openqp GitHub Wiki
Building on the OpenQP base library, specialized quantum chemistry functions, referred to as modules in this document, have been developed. These modules include energy and gradient calculations for HF, DFT, TDDFT, SF-TDDFT, and MRSF-TDDFT theories, along with their associated routines. Detailed descriptions of these representative modules can be found in the OpenQP manuals [OQP]. They are directly accessible through scripting languages, allowing for seamless integration with third-party modules and software with minimal customization.
Below are Workflows for (a) an MRSF-TDDFT calculation, (b) branching into three different MRSF-TDDFT calculations with varying spin states derived from the same KS orbitals, and (c) branching into gradient calculations for two different electronic states based on the same MRSF-TDDFT energy calculations, all utilizing Python-accessible modules.
Fortran | Python | Description |
---|---|---|
apply_basis | oqp.apply_basis | Sets up the basis sets for all calculations. The basis set data are located in the basis_sets subdirectory, with each set in its own .bas file. |
electric_moments | oqp.electric_moments | Computes electric moments for any electronic state. |
guess_hcore | oqp.guess_hcore | Generates an initial guess based on the H core. |
guess_huckel | oqp.guess_huckel | Generates an initial guess using the Huckel method. |
hf_dft_energy | oqp.hf_dft_energy | The main SCF driver for both Hartree-Fock (HF) and Density Functional Theory (DFT) calculations. |
hf_dft_gradient | oqp.hf_dft_gradient | Computes the gradient for both HF and DFT calculations. |
tdhf_energy | oqp.tdhf_energy | The main driver for the energy calculations of Time-Dependent DFT (TDDFT). |
sf_tdhf_energy | oqp.sf_tdhf_energy | The main driver for the energy calculations of Spin-Flip TDDFT (SF-TDDFT). |
mrsf_tdhf_energy | oqp.mrsf_tdhf_energy | The main driver for the energy calculations of Mixed-Reference SF-TDDFT (MRSF-TDDFT). |
tdhf_grad | oqp.tdhf_grad | Computes the gradient for TDDFT. |
sf_grad | oqp.sf_grad | Computes the gradient for SF-TDDFT. |
mrsf_grad | oqp.mrsf_grad | Computes the gradient for MRSF-TDDFT. |
tdhf_z_vector | oqp.tdhf_z_vector | Solves the Z-Vector equations for TDDFT. |
sf_tdhf_z_vector | oqp.sf_tdhf_z_vector | Solves the Z-Vector equations for SF-TDDFT. |
mrsf_tdhf_z_vector | oqp.mrsf_tdhf_z_vector | Solves the Z-Vector equations for MRSF-TDDFT. |
population_analysis | oqp.population_analysis | Performs Mulliken and Löwdin population analysis. |
resp | oqp.resp | Computes ESP charges using the modified Merz-Kollman method. |
The modules in OpenQP exhibit polymorphism, meaning they can serve as subroutines in external programs written in various languages, including Python, Fortran, C, and C++. This versatility is made possible through the standalone library liboqp.so
, enabling seamless integration into diverse computational workflows.