Example (XMOLECULE): H2O exposed to x-ray pulse
This examples propagates a water molecule using the xmolecule electronic structure toolkit. The first set of examples employs the Hartree-Fock-Slater electronic structure model and numerical atomic orbitals that are automatically generated based on atomic electronic structure calculations using XATOM. This example combines ab-initio molecular dynamics and Monte-Carlo-based electronic population dynamics.
In the second set of examples, the same calculations are conducted using the Hartree-Fock method and a Gaussian basis set [6-31G(d,p)] is used.
See:
Examples/xpyder/h2o_xmol/
Preparation
Make sure you have installed XMOLECULE and XATOM. Make sure that the XATOM_PATH environment variable is set to the the path of the xatom binary, for example using:
export XATOM_PATH=$HOME/XATOM/build/src/xatom
Details of the Inputfile input_gs
The file input_gs
is the input file used for the calculation:
$SYSTEM
qchemistry = xmolecule
xunit = bohr
$END
$trajectory
dt = 0.5 fs
tf = 80.0 fs
rrot = True
rcom = True
$end
$quantum
type = gs
$end
$cartPOS
O -0.000000 -0.000000 0.116743
H -0.000000 -1.498103 1.205793
H -0.000000 1.498103 1.205793
$end
$cartVEL
O 0.000000 0.000000 0.000000
H 0.000000 0.000000 0.000000
H 0.000000 0.000000 0.000000
$end
$SYSTEM
qchemistry = xmolecule
indicates that xmolecule is used for quantum chemistry engine.
$trajectory
“dt” is the time step used for the calculation (in fs).
“tf” is the time of the last time step (in fs).
rrot = True
indicates that overall rotation is removed during the simulation.rcom = True
indicates that overall momentum is removed during the simulation.
quantum
type = bo
specifies Born-Oppenheimer dynamics. That means we stay at a fixed surface
cartPOS
andcartVEL
. These give the intial positions and velocities of the atoms.
Running ground state dynamics
To run the first example (neutral ground state water), execute:
xpyder -i input_gs -d gs
Output data for ground state dynamics
The folder gs
contains output files for the ground state calculation without any electron dynamics.
R.log
contains the position of the atoms for each time step.V.log
contains the velocity of the atoms.E.log
contains the potential energy, kinetic energy and total energy of the trajectory.partial.log
shows partial charges (Mulliken charges) for different time steps.
Details of the Inputfile input_core
The file input_core
adds the following sections to the earlier input file:
$xmolecule
MOM=yes
occupation=12222
$end
$mced
dte = 0.01 fs
ratio = 0.1
$end
The additional section $xmolecule
conains input parameters for the electronic structure calculation:
MOM
switches on the maximum-overlap method, occupation
describes the electronic configuration as string of occupation numbers.
The additional section $mced
indicates that electronic state populations are supposed to be propagated.
The electronic populations are integrated using an adaptive time step.
The option dte
gives the smallest possible time step.
The option ratio
gives the maximal ratio between the MD (section $trajectory
parameter “dt”) time step and electronic population integration.
Running the decaying core ionized dynamics
To run the second example (core ionized water decaying), execute:
xpyder -i input_core -d core
Output data for core-ionized state dynamics
The folder core
contains output files for the core ionized state calculation.
The following additional files appear:
1. event.log
protocols photoionization/ decay events
2. charge.log
shows total charge for different time steps
4. occupation.log
shows electronic configuration for different time steps
Details of the Inputfile input_pulse
The file input_pulse
adds/modifies the following sections compared to the earlier input files:
$xmolecule
PE = 1000.0 # photon energy in eV
MOM=yes
$end
$efield
envelope = gaussian-fluence
center = 20.0 fs
fwhm = 10.0 fs
amplitude = 1.0e14 ppmum
$end
The additional parameter PE = 1000.0
specifies the photon energy (in eV) to be considered. Here a pulse of 1000 eV is employed.
The additional section $efield
specifies the x-ray pulse.
The parameter evelope = gaussian-fluence
indicates that in fact not field parameters are given, but fluence parameters for a temporally Gaussian shaped pulse. The temporal center of the pulse and its full width at half maximum are specified by center
and fwhm
.
The amplitude (amplitude
) is given in units photons per micro meter (“ppmum”).
Running the dynamics: water exposed to intense x-ray pulse
To run the third example (water exposed to massive ionizing x-ray pulse), execute:
xpyder -i input_pulse -d pulse
Output data: water exposed to intense x-ray pulse
In the folder pulse
the additional file pulse.log
appears containing the temporal pulse envelope.
Details of the Inputfile input_pulse_fixed
The file input_pulse_fixed
adds the parameter fix_geom = yes
in the $xmolecule
section
$xmolecule
PE = 1000.0 # photon energy in eV
MOM = yes
fix_geom = yes
$end
The option fix_geom = yes
keeps the geometry fixed through the whole calculation.
Details of the Inputfiles for Hartree-Fock and Gaussian orbital sets
The files input_gs_gto
, input_core_gto
, and input_pulse_gto
contain the following additional parameters in the $xmolecule
section:
gto = 6-31G_star_star
HF = yes
ionization_dynamics = yes
openshell = yes
These options specify the usage of Hartree-Fock and a Gaussian basis set.
The option ionization_dynamics = yes
is required for the ad-hoc calculation of photoionization cross sections and fluorescence/Auger-Meitner decay rates.
The option openshell = yes
becomes necessary to indicate that for open-shell configurations, energies and gradients are calculated for the high-spin configuration
employing restricted open-shell Hartree-Fock.