##master-page:HelpTemplate ##master-date:Unknown-Date #format wiki #language en #Please change following line to BDF module name = tddft: time-dependent density functional theory = <> {{{ Time dependent DFT/HF calculation. Support Full TDDFT, TDA and RPA. }}} == Quick guides == The following examples give the minimal inputs for starting TD-DFT calculations. 1. [[Closed-shell Systems : R-TD-DFT]] 2. [[Open-shell Systems : U-TD-DFT and spin-adapted TD-DFT for spin-conserving excitations]] 3. [[TD-DFT with spin-flip calculations]] 4. [[Open-shell Systems : Spin-flip TD-DFT for spin-flip excitations]] 5. [[TD-DFT with SOC]] 6. [[TD-DFT with SOC: open-shell systems]] 7. [[TD-DFT with SOC: Kramers pairs]] 8. [[Excitation analyze based on molecular fragments]] 9. [[Nto analyze]] == General keywords == === imethod === {{{ imethod 1, R-TDDFT, start from RKS imethod 2, U-TDDFT, start from UKS or ROKS imethod 3, X-TDDFT, start from ROKS (deprecated; please use imethod=2, itest=1 and icorrect=1 for X-TDDFT, vide infra) }}} === isf === {{{ Spin flip TDDFT. isf 0, do not flip isf 1, spin flip up isf -1, spin flip down }}} === itda === {{{ itda 0, TDDFT, do not use TDA itda 1, TDA }}} === ialda === {{{ ialda=0: full non-collinear kernel (default; recommended for spin-conserving TD-DFT) ialda=1: non-collinear ALDA kernel ialda=2: non-collinear ALDA0 kernel (recommended for spin-flip TD-DFT) ialda=3: full non-collinear kernel but computed from spin-averaged density ialda=4: full collinear kernel (mandatory for spin-flip TD-DFT gradient and NAC) }}} === itest,icorrect === itest=1;icorrect=1 must be setted for X-TD-DFT using the U-TD-DFT subroutines. === itrans === itrans=1: transform the final eigenvector in U-TD-DFT from the spin-orbital based representation to spin-adapted basis, e.g., CV(0) and CV(1). This only makes sense when ROKS reference is used. === iact,elw,eup === iact = 1: define active space based on energy [elw,eup] elw: lower bound in eV (not in au!). eup: upper bound in eV. === idiag === idiag=1: iterative, =2 full diag, =3 iVI diag (TDA and AO-TDDFT supported) === ndiag === === aokxc === === iguess === iguess=10*x+y {{{ x=0: diagonal guess (default) x=1: read guess from file (iVI only, useful for restarting a failed calculation) x=2: tight-binding guess (usually much better than the diagonal guess). This also invokes a tight-binding preconditioner. y=0: do not save eigenvectors during the TD-DFT iterations (default) y=1: save eigenvectors at each iteration (iVI only) }}} == Convergence threshold == === crit_e === === crit_vec === == States specification == === iexit === {{{ The number of calculated excited states of each irreducible representation for a specific point group }}} === nexit === {{{ Same as above, but different numbers can be specified for different irreps. }}} == Save eigenvectors == === istore === Integer: specify the file no. to store TDDFT information === lefteig === By default, in TD-DFT the left eigenvector X-Y is also stored. == output eigenvector control == === nprt === === cthrd === == TD-DFT/SOC and Property evaluation == === nfiles === No. of TD-DFT calculations to be loaded. === isoc === =1, Only work for closed-shell case (NOT recommended!) =2, General SOC state interaction =3, just print SOC matrix elements between two spin-free states (without diagonalization Hsoc). === ifgs === =0, default for not including ground state (GS) in SOC treatment; =1, include GS. === imatsoc === Define SOC matrices need to be calculated. Input format looks like {{{ ... #SCF calculation for the ground state S0. It is a singlet. $scf spin 0 ... $end #First TDDFT, singlets S0-S9. $tddft imethod 1 isf 0 iext 10 .... $end #Second TDDFT, triplet T1-T10 $tddft imethod 1 isf 1 iexit 10 $end $tddft .... imatsoc 7 0 0 0 2 1 1 0 0 0 2 1 2 1 1 1 2 1 1 1 1 1 2 1 2 1 1 2 2 1 1 1 1 2 2 1 2 2 1 1 2 1 1 2 1 1 2 1 2 $end }}} In this input, 7 means seven of SOC matrices will be calculate '''(If the number <0, then ALL possible HSOC mat will be printed !). '''Here, it is very tricky to specify states: * The string "0 0 0" always treat as the ground state. * For other states, three numbers "n m n" represent "ith-tddft", "symmetry" and "ithstate" respectively. Therefore, the first matrix element "0 0 0 2 1 1" means SOC matrix of . The third matrix element "1 1 1 2 1 1" means SOC matrix . Here, the first "1" in bra state "1 1 1" means the state from first TDDFT calculation. The second and third "1" in the bra state "1 1 1" means this state has spatial symmetry "1" and is the first excited state. === imatrsf === Transition dipole between Spin-free states. The input is similar to '''imatsoc''' (but currently selected printing is not implemented). Simply use -1 to print all of them. === imatrso === Define transition dipole moment need to be printed between two SOC-included states. Input format looks like(notice we omit other input in TDDFT module) {{{ $TDDFT ... imatrso 5 1 1 1 2 1 3 1 4 1 5 ... $END }}} Then, "imatrso" is specified to define transition dipole moments need to be printed. The number "5" require transition dipoles between 5-pairs of states to be print. The following 5 lines define which pairs will be printed. Here, we require transition dipoles between the first state and five states are printed. === imatnso === === imatnsf === === idiag === By default, idiag=0 uses full diagonalization (preferred for small model space). If idiag=1, then TD-DFT/SOC can use Davidson's algorithm also, along with a specification for the no. of states by '''iexit'''. === iact === =1, allows to use active space specification for the projected active-orbital SOC Hamiltonian (P*HSOC*P), '''eup''' can be specified in (eV) to give a cut off to define active physically interested excited states. === ntoanalyze === Natural transition orbital analyze. {{{ ntoanalyze 2 # number of states 1 3 # list of states in NTO analyze. }}} == Stability analysis == === isab === === isave === == memory control == === memjkop === specific memory usage for ao-JK calculation (PER THREAD for imemshrink = 0) === imemshrink === imemshrink = 0: default imemshrink = 1: reduce openmp memory usage for ao-JK and ao-Kxc calculation. Will be slower due to thread lock. == Others == === isgn === === ivo === == Modified Davidson algorithm == === Eneshift === Specify an energy window. States with excitation energies close to input value will be calculate. The energy unit is eV. {{{ $TDDFT Eneshift 9.0 ... $End }}} == AO-TDDFT and AO-TDA == {{{ AO-TDDFT supports R-TDDFT, U-TDDFT, R-TDDFT-SF+1. The possible combinations are imethod=1, itda=0, isf=0 imethod=1, itda=0, isf=1 imethod=2, itda=0, isf=0 AO-TDA supports R-TDA,U-TDA, R-TDA-SF+1, R-TDA-SF-1, U-TDA-SF3. The possible combinations are imethod=1, itda=1, isf=0 imethod=1, itda=1, isf=1 imethod=2, itda=1, isf=0 imethod=2, itda=1, isf=-1 imethod=2, itda=1, isf=3 }}} == Frozen orbital == === Frzorb === Only valid for C1 symmetry. {{{ Frzorb 4 # number of orbital to be frozen 1 4 6 7 # orbital list }}} === Frzcore === {{{ Frzcore 1 2 2 1 # number of core orbitals will be frozen in each irrep }}} === Frzvirt === {{{ Frzvirt 2 2 2 2 # number of virtual orbitals will be frozen in each irrep }}} == Spin-flip Kernel == === kernelctrl === =0; (va-vb)*(rhoa-rhob)/( (rhoa-rhob)^2+thrdab) =2; old version using 2nd order derivatives Only affect GGA spin-flip TDDFT with ALDA0 === thrdab === threshold for |rhoa-rhob| == Some uncommon keywords just for testing methods == === idrpa === === ispa === === iro === === icv === === ioo === === iksf ===