oqp.library.single_point ======================== .. py:module:: oqp.library.single_point .. autoapi-nested-parse:: .. code-block:: text OQP single point class Attributes ---------- .. autoapisummary:: oqp.library.single_point.dftd_installed oqp.library.single_point.MP2_VARIANT_SCALES Exceptions ---------- .. autoapisummary:: oqp.library.single_point.SCFnotConverged oqp.library.single_point.TDnotConverged oqp.library.single_point.ZVnotConverged Classes ------- .. autoapisummary:: oqp.library.single_point.Calculator oqp.library.single_point.LastStep oqp.library.single_point.SinglePoint oqp.library.single_point.Gradient oqp.library.single_point.Hessian oqp.library.single_point.BasisOverlap oqp.library.single_point.NACME oqp.library.single_point.NAC Functions --------- .. autoapisummary:: oqp.library.single_point.dftd4_native_disp oqp.library.single_point.grad_wrapper oqp.library.single_point.nacme_wrapper Module Contents --------------- .. py:data:: dftd_installed :value: 'dftd4 (native)' .. py:function:: dftd4_native_disp(atoms, coordinates, functional, do_grad) .. code-block:: text DFT-D4 energy (Eh) and gradient (Eh/Bohr) via liboqp's native dftd4. atoms: atomic numbers; coordinates: (natom, 3) in Bohr; functional: e.g. 'pbe0'. .. py:data:: MP2_VARIANT_SCALES .. py:class:: Calculator(mol) .. code-block:: text OQP calculator base class .. py:attribute:: mol .. py:attribute:: save_mol .. py:attribute:: export .. py:attribute:: export_title .. py:attribute:: exception .. py:attribute:: mpi_manager .. py:class:: LastStep(mol, param=None) Bases: :py:obj:`Calculator` .. code-block:: text OQP last step single point calculation class .. py:attribute:: functional .. py:attribute:: do_d4 .. py:attribute:: res :value: None .. py:attribute:: natom :value: 0 .. py:method:: get_dispersion(mol, grad_list) .. py:method:: set_param(param) .. py:method:: compute(mol, grad_list=None) .. py:method:: final_energy(d4_energy) .. py:method:: final_grad(d4_grad, grad_list) .. py:class:: SinglePoint(mol) Bases: :py:obj:`Calculator` .. code-block:: text OQP single point calculation class .. py:attribute:: mol .. py:attribute:: method .. py:attribute:: runtype .. py:attribute:: functional .. py:attribute:: basis .. py:attribute:: library .. py:attribute:: scf_type .. py:attribute:: scf_maxit .. py:attribute:: forced_attempt .. py:attribute:: alternative_scf .. py:attribute:: converger_type .. py:attribute:: stability .. py:attribute:: scf_mult .. py:attribute:: init_scf .. py:attribute:: init_it .. py:attribute:: init_basis .. py:attribute:: init_library .. py:attribute:: init_conv .. py:attribute:: conv .. py:attribute:: save_molden .. py:attribute:: td .. py:attribute:: nstate .. py:attribute:: energy_func .. py:method:: pack_molden_name(cal_type, scf_type, functional) .. code-block:: text Add information to molden file name .. py:method:: molden_unique_name(base_filename) :staticmethod: .. code-block:: text Check if the base file exists .. py:method:: ixcore_shift() .. py:method:: energy(do_init_scf=True, restore_scf_converger=True) .. py:method:: correlation(ref_energy) .. py:method:: swapmo() .. py:method:: reference(do_init_scf=True) .. py:method:: excitation(ref_energy) .. py:method:: scf() .. py:method:: tddft() .. py:class:: Gradient(mol) Bases: :py:obj:`Calculator` .. code-block:: text OQP gradient calculation class .. py:attribute:: mol .. py:attribute:: method .. py:attribute:: td .. py:attribute:: grads .. py:attribute:: natom .. py:attribute:: nstate .. py:attribute:: td_prop .. py:attribute:: zvec_func .. py:attribute:: grad_func .. py:method:: gradient() .. py:method:: scf_grad() .. py:method:: tddft_grad() .. py:class:: Hessian(mol) Bases: :py:obj:`Calculator` .. code-block:: text OQP frequence calculation class .. py:attribute:: mol .. py:attribute:: hess_type .. py:attribute:: state .. py:attribute:: read .. py:attribute:: restart .. py:attribute:: temperature .. py:attribute:: clean .. py:attribute:: native_hess_func .. py:method:: hessian(analysis=True) .. code-block:: text Compute/read the Hessian, optionally skipping vibrational analysis. Native TS and IRC drivers need only the Cartesian matrix. Passing ``analysis=False`` avoids normal modes, IR/Raman property displacements, thermochemistry, and cache output while leaving the standalone Hessian workflow unchanged. .. py:method:: analytical_hess() .. py:method:: analytical_ground_state_hess() .. code-block:: text Run the native OpenQP HF/DFT analytic Hessian kernel and return its stored matrix. .. py:method:: analytical_tddft_hess() .. py:method:: analytical_sf_hess() :abstractmethod: .. py:method:: analytical_mrsf_hess() .. py:method:: numerical_hess() .. py:function:: grad_wrapper(key_dict) .. py:class:: BasisOverlap(mol) Bases: :py:obj:`Calculator` .. code-block:: text OQP basis overlap calculation class .. py:attribute:: mol .. py:attribute:: natom .. py:attribute:: nstate .. py:attribute:: back_door .. py:attribute:: align_type .. py:attribute:: overlap_func .. py:method:: overlap() .. py:method:: dftb_overlap() .. code-block:: text Cross-geometry MO overlap + MO alignment for method=dftb. Mirrors overlap_func + align_mo: computes the column-normalized MO overlap tag from the SK cross overlap, sign-fixes (and optionally reorders) the current MOs blockwise against the previous step, and recomputes the overlap with the aligned MOs. .. py:method:: load_previous_data() .. py:method:: align_mo() .. py:method:: find_vec_order(overlap_matrix) :staticmethod: .. py:class:: NACME(mol) Bases: :py:obj:`BasisOverlap` .. code-block:: text Class to calculate Non-Adiabatic Coupling (NAC) matrix elements .. py:attribute:: mol .. py:attribute:: dt .. py:attribute:: nac_dim .. py:method:: align_x() .. py:method:: dftb_states_overlap() .. code-block:: text DFTB state overlap from the ALIGNED MO/X tags (native tag layout). .. py:method:: nacme() .. code-block:: text Calculates the non-adiabatic coupling (NAC) matrix elements between the two geometries. Currently, adapted only for MRSF-TDDFT approach .. py:class:: NAC(mol) Bases: :py:obj:`Calculator` .. code-block:: text Class to calculate Non-Adiabatic Coupling (NAC) vector .. py:attribute:: mol .. py:attribute:: nac_type .. py:attribute:: natom .. py:attribute:: nstate .. py:attribute:: restart .. py:attribute:: clean .. py:attribute:: nac_states .. py:attribute:: bp .. py:attribute:: nac_func .. py:method:: nac() .. py:method:: compute_bp(h, g1, g2) :staticmethod: .. py:method:: analytical_nac() .. py:method:: numerical_nac() .. py:function:: nacme_wrapper(key_dict) .. py:exception:: SCFnotConverged Bases: :py:obj:`Exception` .. code-block:: text Common base class for all non-exit exceptions. .. py:exception:: TDnotConverged Bases: :py:obj:`Exception` .. code-block:: text Common base class for all non-exit exceptions. .. py:exception:: ZVnotConverged Bases: :py:obj:`Exception` .. code-block:: text Common base class for all non-exit exceptions.