welcome: please sign in
location: Diff for "tddft"
Differences between revisions 94 and 96 (spanning 2 versions)
Revision 94 as of 2017-11-26 06:01:17
Size: 6945
Editor: huangc
Comment:
Revision 96 as of 2018-05-24 18:11:38
Size: 6991
Editor: lzd
Comment:
Deletions are marked like this. Additions are marked like this.
Line 27: Line 27:
6. [[TD-DFT with SOC: Kramers pairs]]

7. [[Excitation analyze based on molecular fragments]]
6. [[TD-DFT with SOC: open-shell systems]]

7
. [[TD-DFT with SOC: Kramers pairs]]

8. [[Excitation analyze based on molecular fragments]]

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

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

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

The recommended value for ialda is 2 (ALDA0) for spin-flip TDDFT.

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

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 (nreps)

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 <S0|HSOC|T1>. The third matrix element "1 1 1 2 1 1" means SOC matrix <S1|HSOC|T1>. 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

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

tddft (last edited 2022-10-28 13:20:58 by bsuo)