First-order nonadiabatic couplings
The calculations of first-order nonadiabatic couplings between ground and excited-states (<0|Dx|Sn>), and those between the excited-states (<Sm|Dx|Sn> or <Tm|Dx|Tn>) at the TD-DFT/TDA level can be achieved by generalizing the standard linear and quadratic response theories, for details, see
Zhendong Li and Wenjian Liu, "First-order nonadiabatic coupling matrix elements between excited states: A Lagrangian formulation at the CIS, RPA, TD-HF, and TD-DFT levels", J. Chem. Phys. 141, 014110 (2014).
Analytic derivative approach
Finite-difference approach
$COMPASS Title nh3 Basis sto-3g Geometry C 0.00000000 -1.20809142 -1.14173975 C 0.00000000 -1.20797607 0.25342015 C 0.00000000 0.00000000 0.95085852 C -0.00000000 1.20797607 0.25342015 C -0.00000000 1.20809142 -1.14173975 C 0.00000000 0.00000000 -1.83922155 H 0.00000000 -2.16045397 -1.69142002 H 0.00000000 -2.16044427 0.80300713 H -0.00000000 2.16044427 0.80300713 H -0.00000000 2.16045397 -1.69142002 H 0.00000000 0.00000000 -2.93882555 F 0.00000000 0.00000000 2.30085848 End geometry skeleton group c(1) nosym $END $xuanyuan direct schwarz $end $scf RHF charge 0 spin 1 THRESHCONV 1.d-10 1.d-8 OPTSCR 1 iaufbau 0 $end $tddft imethod 1 isf 0 iexit 2 itda 1 idiag 1 istore 1 crit_e 1.d-10 crit_vec 1.d-8 lefteig AOKXC DirectGrid $end $resp iprt 1 QUAD FNAC single states 1 1 1 2 double pairs 1 1 1 1 1 1 2 norder 1 method 2 nfiles 1 FDIF step 0.001 ignore 1 noresp $end
To use finite-difference, a script fdiff.py should be used as
./fbdiff.py run.sh input.inp > log
After the calculation is done, an output file input.out will present in the current directory. The log file saves the information during the calculations.
Note: If FDIF is omitted, the analytic calculation will be carried out by simply using the run.sh script.