Example (GAMESSUS): Dynamics of H2+ Fewest Switches Surface Hopping.
This is an example of a fewest-switches-surface-hopping calculation for an ionized hydrogen molecule (H2+). See the directory:
Examples/xpyder/h2+/
Preparation
set your environment variable CDTK_GAMESSUS to the path of the gamessus directory. For example:
export CDTK_GAMESSUS=$HOME/gamess/
Instead of ‘$HOME/gamess/’ insert the actual path of your gamess installation.
Depending on your gamess installation, output is written to the scratch file folder. This is configured in the
rungms
script in your gamess installation. Edit the scriptrungms
accordingly so that the output is written in the current working directory. You may want to comment out the linesset SCR=~/gamess/restart
and#set USERSCR=~/gamess/restart
, instead, set the SCR and USERSCR environment variables to.
. For example:export SCR=. export USERSCR=.
Note that the local directory in which the simulation is run should be a rapidly accessible disk (i.e., a local folder or ramdisk) - otherwise there will be huge performance losses.
Running
To run the example, execute:
xpyder -i input_h2+_dynamics_no_field -d H2+_dynamics_no_field
Details of the Inputfile
The file input_h2+_dynamics_no_field
is the input file used for the calculation:
$SYSTEM
qchemistry = gamess
xunit = an
rseed = 1
keepinp
keeplog
$END
$gamess
memddi = 2
mwords = 2
gbasis = TZV
icharg = 1
mult = 2
ncore = 0
nact = 2
nels = 1
wstate = 1.0,1.0
nstate = 2
sz = 0.5
mxxpan = 100
fullnr = .true.
$end
$trajectory
dt = 0.01 fs
tf = 6.0 fs
$end
$quantum
type = fssh
rescaling = nac
istate = 1
nstates = 2
first_step = 1.0
$end
$cartPOS
H 0.0 0.0 -0.5292344732
H 0.0 0.0 0.5292344732
$end
$cartVEL
H 0.0 0.0 0.00
H 0.0 0.0 -0.00
$end
$SYSTEM
qchemistry = gamess
specifies the quantum chemistry tool.xunit = an
specifies the unit in the coordinates of the atom is specified. “an” refers to Angstromrseed = 1
gives the initial seed value for the random number generator used for the calculations.keepinp
andkeeplog
will keep the input and the outputput files of the quatum chemistry tool. (If you do not give this option, then it will remove the files)
$gamess
this gives the input detials such as the basis used, active space etc., for the electronic structure calculation.
$trajectory
- “dt” is for the time step used for the calculation (in fs). - “tf” is the final time ie., the time till the calculation will last (in fs).cartPOS
andcartVEL
- this gives the intial position and velicity of the atoms.quantum
type = fssh
specifies the type of surface hopping. “fssh” denotes Tully’s Fewest Switches Surface hoping. (one can give “nohop” to avoid the surface hopping dynamics).istate
andnstate
gives the initial state at which the trajectory present and no. of states respectively.rescaling
specifies the type of rescaling when a hop is performed. The parameternac
specifies rescaling based on non-adiabatic coupling vectors, commonly used for surface hopping. Alternatively, one can givegrd
for rescaling based on the gradiant.
Output data
The folder H2+_dynamics_no_field
contains all the output files.
P.log
gives the population of the states by solving the time dependent Schroedinger equation.C.log
gives the co-efficients for the electronic states.V_ad.log
gives the adiabatic potential energies for all the states.R.log
gives the position of the atoms at the end of the calculation.V.log
gives the velocity of the atoms.S.log
gives the active surface of the trajectory.NAC.log
gives the coupling terms, i.e., the off diagonal terms of the Hamiltonian.E.log
gives the potential energy, kinetic energy and totol energy of the trajectory.Switch.log
gives the details of the hopping, its probability, the random number used and also the reason for the hopping.
Note: apart from all the above files, there will be output and input files of the eletronic structure calculations based on the input option.