pyscf.pbc.tdscf package#
Submodules#
pyscf.pbc.tdscf.krhf module#
- class pyscf.pbc.tdscf.krhf.KTDBase(mf, kshift_lst=None)[source]#
Bases:
TDBase
- Attributes:
- kshift_lstlist of integers
Each element in the list is the index of the k-point that represents the transition between k-points in the excitation coefficients. For excitation amplitude T_{ai}[k] at point k, the kshift connects orbital i at k and orbital a at k+kshift
- check_sanity()[source]#
Check input of class/object attributes, check whether a class method is overwritten. It does not check the attributes which are prefixed with “_”. The return value of method set is the object itself. This allows a series of functions/methods to be executed in pipe.
- conv_tol = 0.0001#
- get_nto(*args, **kwargs)#
Natural transition orbital analysis.
The natural transition density matrix between ground state and excited state \(Tia = \langle \Psi_{ex} | i a^\dagger | \Psi_0 \rangle\) can be transformed to diagonal form through SVD \(T = O \sqrt{\lambda} V^\dagger\). O and V are occupied and virtual natural transition orbitals. The diagonal elements \(\lambda\) are the weights of the occupied-virtual orbital pair in the excitation.
Ref: Martin, R. L., JCP, 118, 4775-4777
Note in the TDHF/TDDFT calculations, the excitation part (X) is interpreted as the CIS coefficients and normalized to 1. The de-excitation part (Y) is ignored.
- Args:
tdobj : TDA, or TDHF, or TDDFT object
- stateint
Excited state ID. state = 1 means the first excited state. If state < 0, state ID is counted from the last excited state.
- Kwargs:
- thresholdfloat
Above which the NTO coefficients will be printed in the output.
- Returns:
A list (weights, NTOs). NTOs are natural orbitals represented in AO basis. The first N_occ NTOs are occupied NTOs and the rest are virtual NTOs.
- class pyscf.pbc.tdscf.krhf.TDA(mf, kshift_lst=None)[source]#
Bases:
KTDBase
- gen_vind(mf=None, kshift=0)[source]#
Compute Ax
- Kwargs:
- kshiftinteger
The index of the k-point that represents the transition between k-points in the excitation coefficients.
- get_ab(mf=None, kshift=0)[source]#
A and B matrices for TDDFT response function.
A[i,a,j,b] = delta_{ab}delta_{ij}(E_a - E_i) + (ai||jb) B[i,a,j,b] = (ai||bj)
Ref: Chem Phys Lett, 256, 454
- Kwargs:
- kshiftinteger
The index of the k-point that represents the transition between k-points in the excitation coefficients.
- class pyscf.pbc.tdscf.krhf.TDHF(mf, kshift_lst=None)[source]#
Bases:
KTDBase
- get_ab(mf=None, kshift=0)#
A and B matrices for TDDFT response function.
A[i,a,j,b] = delta_{ab}delta_{ij}(E_a - E_i) + (ai||jb) B[i,a,j,b] = (ai||bj)
Ref: Chem Phys Lett, 256, 454
- Kwargs:
- kshiftinteger
The index of the k-point that represents the transition between k-points in the excitation coefficients.
- get_precond(hdiag)#
- pyscf.pbc.tdscf.krhf.get_ab(mf, kshift=0)[source]#
A and B matrices for TDDFT response function.
A[i,a,j,b] = delta_{ab}delta_{ij}(E_a - E_i) + (ai||jb) B[i,a,j,b] = (ai||bj)
Ref: Chem Phys Lett, 256, 454
- Kwargs:
- kshiftinteger
The index of the k-point that represents the transition between k-points in the excitation coefficients.
pyscf.pbc.tdscf.krks module#
pyscf.pbc.tdscf.kuhf module#
- class pyscf.pbc.tdscf.kuhf.TDA(mf, kshift_lst=None)[source]#
Bases:
KTDBase
- gen_vind(mf, kshift=0)[source]#
Compute Ax
- Kwargs:
- kshiftinteger
The index of the k-point that represents the transition between k-points in the excitation coefficients.
- class pyscf.pbc.tdscf.kuhf.TDHF(mf, kshift_lst=None)[source]#
Bases:
KTDBase
- get_ab(mf=None, kshift=0)#
A and B matrices for TDDFT response function.
A[i,a,j,b] = delta_{ab}delta_{ij}(E_a - E_i) + (ai||jb) B[i,a,j,b] = (ai||bj)
Ref: Chem Phys Lett, 256, 454
- get_precond(hdiag)#
- pyscf.pbc.tdscf.kuhf.get_ab(mf, kshift=0)[source]#
A and B matrices for TDDFT response function.
A[i,a,j,b] = delta_{ab}delta_{ij}(E_a - E_i) + (ai||jb) B[i,a,j,b] = (ai||bj)
Ref: Chem Phys Lett, 256, 454
- Kwargs:
- kshiftinteger
The index of the k-point that represents the transition between k-points in the excitation coefficients.
pyscf.pbc.tdscf.kuks module#
pyscf.pbc.tdscf.rhf module#
- class pyscf.pbc.tdscf.rhf.TDA(mf)[source]#
Bases:
TDBase
- class pyscf.pbc.tdscf.rhf.TDBase(mf)[source]#
Bases:
TDBase
- analyze(*args, **kwargs)#
- get_ab(mf=None)[source]#
A and B matrices for TDDFT response function.
A[i,a,j,b] = delta_{ab}delta_{ij}(E_a - E_i) + (ai||jb) B[i,a,j,b] = (ai||bj)
Ref: Chem Phys Lett, 256, 454
- get_nto(state=1, threshold=0.3, verbose=None)#
Natural transition orbital analysis.
The natural transition density matrix between ground state and excited state \(Tia = \langle \Psi_{ex} | i a^\dagger | \Psi_0 \rangle\) can be transformed to diagonal form through SVD \(T = O \sqrt{\lambda} V^\dagger\). O and V are occupied and virtual natural transition orbitals. The diagonal elements \(\lambda\) are the weights of the occupied-virtual orbital pair in the excitation.
Ref: Martin, R. L., JCP, 118, 4775-4777
Note in the TDHF/TDDFT calculations, the excitation part (X) is interpreted as the CIS coefficients and normalized to 1. The de-excitation part (Y) is ignored.
- Args:
tdobj : TDA, or TDHF, or TDDFT object
- stateint
Excited state ID. state = 1 means the first excited state. If state < 0, state ID is counted from the last excited state.
- Kwargs:
- thresholdfloat
Above which the NTO coefficients will be printed in the output.
- Returns:
A list (weights, NTOs). NTOs are natural orbitals represented in AO basis. The first N_occ NTOs are occupied NTOs and the rest are virtual NTOs.
- oscillator_strength(*args, **kwargs)#
- transition_dipole(*args, **kwargs)#
Transition dipole moments in the length gauge
- transition_magnetic_dipole(*args, **kwargs)#
Transition magnetic dipole moments (imaginary part only)
- transition_magnetic_quadrupole(*args, **kwargs)#
Transition magnetic quadrupole moments (imaginary part only)
- transition_octupole(*args, **kwargs)#
Transition octupole moments in the length gauge
- transition_quadrupole(*args, **kwargs)#
Transition quadrupole moments in the length gauge
- transition_velocity_dipole(*args, **kwargs)#
Transition dipole moments in the velocity gauge (imaginary part only)
- transition_velocity_octupole(*args, **kwargs)#
Transition octupole moments in the velocity gauge (imaginary part only)
- transition_velocity_quadrupole(*args, **kwargs)#
Transition quadrupole moments in the velocity gauge (imaginary part only)
pyscf.pbc.tdscf.rks module#
- class pyscf.pbc.tdscf.rks.CasidaTDDFT(mf)[source]#
Bases:
TDHF
- gen_vind(mf=None)#
- init_guess(mf, nstates=None, wfnsym=None, return_symmetry=False)#
Generate initial guess for TDA
- Kwargs:
- nstatesint
The number of initial guess vectors.
- wfnsymint or str
The irrep label or ID of the wavefunction.
- return_symmetrybool
Whether to return symmetry labels for initial guess vectors.
- pyscf.pbc.tdscf.rks.TDDFTNoHybrid#
alias of
CasidaTDDFT
pyscf.pbc.tdscf.uhf module#
- class pyscf.pbc.tdscf.uhf.TDA(mf)[source]#
Bases:
TDBase
- get_ab(mf=None)[source]#
A and B matrices for TDDFT response function.
A[i,a,j,b] = delta_{ab}delta_{ij}(E_a - E_i) + (ai||jb) B[i,a,j,b] = (ai||bj)
Ref: Chem Phys Lett, 256, 454
- singlet = None#
- class pyscf.pbc.tdscf.uhf.TDHF(mf)[source]#
Bases:
TDBase
- gen_vind(mf=None)#
- get_ab(mf=None)#
A and B matrices for TDDFT response function.
A[i,a,j,b] = delta_{ab}delta_{ij}(E_a - E_i) + (ai||jb) B[i,a,j,b] = (ai||bj)
Ref: Chem Phys Lett, 256, 454
- singlet = None#
- pyscf.pbc.tdscf.uhf.get_ab(mf)[source]#
A and B matrices for TDDFT response function.
A[i,a,j,b] = delta_{ab}delta_{ij}(E_a - E_i) + (ai||jb) B[i,a,j,b] = (ai||bj)
Spin symmetry is considered in the returned A, B lists. List A has three items: (A_aaaa, A_aabb, A_bbbb). A_bbaa = A_aabb.transpose(2,3,0,1). B has three items: (B_aaaa, B_aabb, B_bbbb). B_bbaa = B_aabb.transpose(2,3,0,1).
pyscf.pbc.tdscf.uks module#
- class pyscf.pbc.tdscf.uks.CasidaTDDFT(mf)[source]#
Bases:
TDHF
- gen_vind(mf=None)#
- init_guess(mf, nstates=None, wfnsym=None, return_symmetry=False)#
- pyscf.pbc.tdscf.uks.TDDFTNoHybrid#
alias of
CasidaTDDFT
Module contents#
- pyscf.pbc.tdscf.KTD(mf)#