CDTK.Dynamics.MINTF_ScfOrb module

CDTK.Dynamics.MINTF_ScfOrb.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_ScfOrb.getAO_NOCC(QOUT)[source]

Return the number of occupied orbitals

CDTK.Dynamics.MINTF_ScfOrb.getHFKoopmans_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_ScfOrb.getHFKoopmans_Energy(QOUT)[source]

Get HF and orbital energies from a Molcas output file

CDTK.Dynamics.MINTF_ScfOrb.getHFKoopmans_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_ScfOrb.runMolcasHFKoopmansCplmat(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 option : 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_ScfOrb.runMolcasHFKoopmansEnergy(X_au, **opts)[source]

Return the Koopmans energy of the given molecule Loading an excess electron to the neutral molecule

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_ScfOrb.runMolcasHFKoopmansGradient(X_au, **opts)[source]

Return the Hartree-Fock-Koopmans 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 option : Angstrom

  • nstates_g: number of electronic states requiring gradient

    default = 1

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

    default = None