Open c00jsw00 opened 4 years ago
Hello Phil! Please refer to our wiki for LIO installation. You'll want to have a CUDA-enabled gpu in order to take advantage of our full parallelization.
Once installed, obtaining UV/VIS spectra should be fairly easy to do with RT-TDDFT. To run lio, you should execute:
source PATH/TO/LIO/liohome.sh
liosolo -i inputfile -c coordinates.xyz
Where inputfile is a file containing LIO options, and coordinates.xyz is an XYZ file with atomic coordinates. Both can be named in any way you like, please refer to the tests in /test/LIO_test for sample runs.
In order to get the spectrum of a molecule, you will need to run RT-TDDFT calculations (timedep = 1) adding a small electric perturbation in the X, Y and Z axis (i.e. you need three runs, one for each). You can achieve this by adding the following options to the &lio namelist:
timedep = 1
field = t
Fx = 0.05
Fy = 0.00
Fz = 0.00
You should exchange the values of Fx-Fy-Fz accodingly for each run. How many steps to run (ntdstep) may depend on your system, usually 100000 steps is more than enough. A word of warning though, the output you need is in a file called "dipole_moment_td", which might get overwritten if you run all XYZ perturbations in the same folder.
After getting all three dipole_moment_td files, you should analyze them with the tdanalyze tool (included in the regular LIO installation) for all three of them by executing:
tdanalyze dipolefile lambda_min lambda_max damp_factor x/y/z
The dipole_file is the output you obtained previously, lambda_min/_max refer to the bounds of the spectra you want to get (in nm). damp_factor smoothes the spectrum obtained, but leave it to 0 unless you know what you're doing. Finally x/y/z should be a single-digit number indicating the direction of the field (1 for X, 2 for Y, 3 for Z). For example, in the case of a perturbation in the X axis:
tdanalyze dipole_moment_td 100.0 1000.0 0.0 1
And to get the full spectrum, you finally average the spectrums in the X, Y, and Z directions.
How to use the code and analyze the UV/VIS spectrum ?