CDTK.Dynamics.MINTF_DH module

CDTK.Dynamics.MINTF_DH.Idx2Str(idx)[source]
CDTK.Dynamics.MINTF_DH.flatten_list(list)[source]

Return flattened list

CDTK.Dynamics.MINTF_DH.getAO_Coeff(QOUT, NOCC, orbital_current)[source]

Return coefficients of atomic orbitals for the molecular orbital of current electronic state [NOCC - state_current]. Koopmans theorem.

CDTK.Dynamics.MINTF_DH.getAO_NOCC(QOUT)[source]

Return the number of occupied orbitals

CDTK.Dynamics.MINTF_DH.getCI_Cplmat(QOUT, DT, phase_track, idx_block_init, **opts)[source]

Return the non-adiabatic coupling matrix at T+DT/2 calculated from overlap of wavefunctions at T and T+DT

Input: - QOUT: Molcas output of wavefunction overlap calculation - DT: Classical time-step - phase_track: track of electronic wavefunction phase - idx_block_init: the initial state of the block

optional arguments: - nstates_block: number of electronic states in the block. default = 2 - nstates: number of electronic states. default = 1

CDTK.Dynamics.MINTF_DH.getCI_Energy(QOUT)[source]

Get HF and CASSCF orbital energies from a Molcas output file

CDTK.Dynamics.MINTF_DH.getCI_Gradient(QOUT, nstates_g)[source]

Get analytical gradients for a given ROOT from Molcas output file

For the case of simultaneous computation of [gradient]s for [mult]i-[elec]tronic [s]tates.

Input:
nstates_g - number of electronic states requiring gradient

default = 1

CDTK.Dynamics.MINTF_DH.getCharge_onAtom(state)[source]

Return positive charge on atoms for the given CI [state]

Input state - given CI state

Output charge - positive charge on each atom

CDTK.Dynamics.MINTF_DH.runMolcasDHCplmat(X_au_T, X_au_TpDT, DT, phase_track, state_block, **opts)[source]

Return the non-adiabatic coupling matrix of the given molecule

Run Molcas for given molecular coordinates.

Input:
  • X_au_T: 3N array, molecular coordinates in bohr at T

  • X_au_TpDT: 3N array, molecular coordinates in bohr at T+DT

  • DT: Classical time-step

  • phase_track: track of electronic wavefunction phase

  • state_block: block of states to be considered for overlap

Output: VD - The non-adiabatic coupling matrix

optional arguments: - unit: Unit of coordinates, default: ‘Bohr’ alternative : ‘Angstrom’ - nstates: number of electronic states. default = 1 - is_init: whether to be the initializing classical step

for wavefunction overlap calculation of non-adiabatic coupling default: False

  • is_reinit: whether to be the re-initializing classical step for wavefunction overlap calculation of non-adiabatic coupling applied for Hartree-Fock-Koopmans method default: False

CDTK.Dynamics.MINTF_DH.runMolcasDHEnergyGradient(X_au, **opts)[source]

Return the CI energy of the given molecular dication

Run Molcas for given molecular coordinates.

Input:
  • X_au: 3N array, molecular coordinates in bohr

Output: if state == 0, EHF (Hartree Fock)

if state == 1, ECAS …

optional arguments:
  • unit: Unit of coordinates default: ‘Bohr’, option : ‘Angstrom’

CDTK.Dynamics.MINTF_DH.runMolcasDHGradient(X_au, **opts)[source]

Return the CI energy gradient of given molecule Run Molcas for given molecular coordinates. For the case of simultaneous computation of [gradient]s for [mult]i-[elec]tronic [s]tates. Input:

  • X_au: 3N array, molecular coordinates in bohr

Output:
  • GCAS: The analytical gradient

optional arguments: - unit: Unit of coordinates default: ‘Bohr’, optional: ‘Angstrom’ - nstates_g: number of electronic states requiring gradient

default = 1

  • state_g: the certain electronic state(s) requiring gradient

    default = None

CDTK.Dynamics.MINTF_DH.runMolcasHFKoopmansAOCoeff(X_au, state_current, **opts)[source]

Return the coefficients of atomic orbitals for the molecular orbital of current electronic state

Input:
  • X_au: 3N array, molecular coordinates in bohr

  • state_current: current electronic state