Combine Spin-Flip TDDFT with Surface-Hopping

Dear all,

As is shown in the title, I tried to combine SF-TDDFT with FSSH to investigate S1->S0 process. For example, I tried this for ethylene.

Firstly, I performed a single point SF-TDDFT job to find singlet states. Below text is copied from output.

 Excited state   1: excitation energy (eV) =   -4.1688
 Total energy for state  1:                   -78.52970653 au
    <S**2>     :  0.0130
    S(    2) --> S(    1) amplitude =  0.9900 alpha

 Excited state   2: excitation energy (eV) =    0.9231
 Total energy for state  2:                   -78.34258383 au
    <S**2>     :  2.0177
    S(    1) --> S(    1) amplitude =  0.7099 alpha
    S(    2) --> S(    2) amplitude = -0.6948 alpha

 Excited state   3: excitation energy (eV) =    3.9334
 Total energy for state  3:                   -78.23195701 au
    <S**2>     :  1.0132
    D(    7) --> S(    1) amplitude =  0.9888

 Excited state   4: excitation energy (eV) =    4.2523
 Total energy for state  4:                   -78.22023620 au
    <S**2>     :  0.0210
    S(    1) --> S(    1) amplitude =  0.6990 alpha
    S(    2) --> S(    2) amplitude =  0.7138 alpha

 Excited state   5: excitation energy (eV) =    5.0981
 Total energy for state  5:                   -78.18915523 au
    <S**2>     :  1.0067
    S(    2) --> V(    1) amplitude =  0.9903 alpha

Hence, I hope to choose state 1 and 4 as states that to be considered in FSSH job. By applying “CIS_S2_Thresh 50”, it printed below error:

namdMethods: unable to find the active surface (2)
               within the states used for this calculation
               (below).
               states = {1, 4}

It seemed that correct singlet states were selected, however, the keyword “FSSH_INITIALSURFACE 2” ordered the program to use state 2 as initial surface, not the second state used for this calculation.

I thought “FSSH_INITIALSURFACE 4” may solve this error, however, due to crossing points may (and surely) exist on the relaxation path, the state number may change.

I wonder if there is any method can order the program to use “second in selected states” instead of “second in all states”.

Below is my FSSH input:

$molecule
0 3
      C         0.6690712511   -0.0268376644    0.0050315169
      C        -0.6396456893   -0.1886733266   -0.0420316825
      H         1.1181981658    0.8267926667    0.4872420937
      H         1.3455134717   -0.7411370258   -0.4366902395
      H        -1.0897934715   -1.0416754444   -0.5243097601
      H        -1.3163849942    0.5252327237    0.4000552941
$end

$rem
JOBTYPE aimd
METHOD BHHLYP
BASIS 6-31G(d,p)
SCF_MAX_CYCLES 128
CIS_N_ROOTS 5
CIS_MAX_CYCLES 128
SPIN_FLIP True
CIS_S2_Thresh 50
SYMMETRY off
SYM_IGNORE true
PROJ_TRANSROT true
FSSH_LOWESTSURFACE 1
FSSH_NSURFACES 2
FSSH_INITIALSURFACE 2
AFSSH 0
CALC_NAC true
AIMD_STEPS 1000
TIME_STEP 21
AIMD_SHORT_TIME_STEP 3
AIMD_TIME_STEP_CONVERSION 1
AIMD_PRINT 1
AIMD_INIT_VELOC thermal
AIMD_TEMP 300 # K
AIMD_INTEGRATION vverlet
FOCK_EXTRAP_ORDER 6
FOCK_EXTRAP_POINTS 12
$end

Hi kalinite,

While it is possible in principle, functionality to do what you request is not currently implemented in Q-Chem.

-vale