Commit ee805ab8 authored by Momir Malis's avatar Momir Malis

Merge branch 'zagreb_sh' into 'master'

Initialization of Zagreb surface hoping code

Closes #19

See merge request e-cam/E-CAM-Library!30
parents cf300779 6ae68cdc
Pipeline #2918 passed with stages
in 1 minute and 24 seconds
......@@ -209,7 +209,9 @@ The **PhysConst** enables the use of physical constants and the correct isotopic
./modules/CTMQC/readme
The **CTMQC** module allows to simulate excited-state dynamics in model systems of one to three spatial (nuclear) dimensions, with an arbitrary number of electronic states. The algorithm is based on the quantum-classical approximation of the equations of motion derived in the framework of the exact factorization of the electron-nuclear wavefunction. In practice, trajectories are used to mimic the nuclear evolution, that is, in turn, coupled to the quantum evolution of the electronic degrees of freedom.
The **CTMQC** module allows to simulate excited-state dynamics in model systems of one to three spatial (nuclear) dimensions, with an arbitrary number of electronic states. T
he algorithm is based on the quantum-classical approximation of the equations of motion derived in the framework of the exact factorization of the electron-nuclear wavefuncti
on. In practice, trajectories are used to mimic the nuclear evolution, that is, in turn, coupled to the quantum evolution of the electronic degrees of freedom.
.. toctree::
:glob:
......@@ -219,7 +221,6 @@ The **CTMQC** module allows to simulate excited-state dynamics in model systems
The **QuantumModelLib** use potential energy surfaces extracted from the literature and can be linked to quantum dynamics codes.
.. toctree::
:glob:
:maxdepth: 1
......@@ -228,6 +229,13 @@ The **QuantumModelLib** use potential energy surfaces extracted from the literat
The **Quantics-QChem-Interface** is an interface between Quantics and QChem. The DFT algorithm implemented in QChem can be used to provide electronic structure information for direct dynamics simulations using the Quantics program package.
.. toctree::
:glob:
:maxdepth: 1
./modules/zagreb_sh/zagrebsh_readme.rst
The **Zagreb_sh** module is an interface between between QUANTICS package and the Tully's surface hoping code provided by the group of Nadja Doslic in Zagreb.
PaPIM
-----
......
This source diff could not be displayed because it is too large. You can view the blob instead.
2001
0.45838280385043033149E+01 0.00000000000000000000E+00 0.00000000000000000000E+00
0.00000000000000000000E+00 0.00000000000000000000E+00 0.00000000000000000000E+00
-0.70375259001505545593E-03 0.00000000000000000000E+00 0.00000000000000000000E+00
0.00000000000000000000E+00 0.00000000000000000000E+00 0.00000000000000000000E+00
0.31735020160280000279E-01 0.00000000000000000000E+00 0.00000000000000000000E+00
0.00000000000000000000E+00 0.00000000000000000000E+00 0.00000000000000000000E+00
3
-0.13308719222539000526E+00 0.34427674540500000783E-02 0.35177787614329998622E-01
0.00000000000000000000E+00 0.00000000000000000000E+00
0.00000000000000000000E+00 0.00000000000000000000E+00
-0.99198213134716362038E+00 -0.12637820653870152077E+00
0.00000000000000000000E+00 0.00000000000000000000E+00 0.00000000000000000000E+00
0.00000000000000000000E+00 0.00000000000000000000E+00 0.00000000000000000000E+00
0.00000000000000000000E+00 0.00000000000000000000E+00 0.00000000000000000000E+00
$system
nstate 3
istate 3
$surfhop
coupling nadvec
$dynamics
tstep = 0.1
nstep = 2001
$method
qm /home/cris/quantics/bin/shzagreb_inter ../..
$end
x 10.971598 2.000000000000 0.000000000000 0.000000000000 q
y 3.657382 0.000000000000 0.000000000000 0.000000000000 q
**** Reading OPER file ****
Created on:
------ Host: "yulipukito" ----------Sun Nov 18 14:29:59 2018
**** Reading OPER file ****
Created on:
------ Host: "yulipukito" ----------Sun Nov 18 14:29:59 2018
0.000000000000 0.000000000000 0.000000000000
0.000000000000 0.000000000000 0.000000000000
This source diff could not be displayed because it is too large. You can view the blob instead.
.. _zagrebsh:
###########################
Zagreb surface hopping code
###########################
.. sidebar:: Software Technical Information
Language
Fortran 2003
Licence
GNU General Lesser Public License
Documentation Tool
Documentation provided as in-line comments within the source code
Application Documentation
Useful documentation can be found `here <http://chemb125.chem.ucl.ac.uk/worthgrp/quantics/doc/>`_
Relevant Training Material
Training material is available through the test examples
Software Module Developed by
Surface hopping code: Nadja Doslic, Marin Sapunar and Momir Malis. Module: Graham Worth, Cristina Sanz-Sanz.
.. contents:: :local:
.. Add technical info as a sidebar and allow text below to wrap around it
Purpose of Module
_________________
This module implements an interface between the Tully's fewest switch surface hopping code, written and mantained by the group of Nadja Doslic in Zagreb, and Quantics code. The module has been added and tested within the Quantics quantum dynamics package which is available on Gitlab. The purpose of the module is to add the solution of Hamilton classical equation using the surface hopping approach into Quantics code, at the same time as Zagreb code benefits from all functionalities implemented in Quantics as input definitions, Hamiltonian operator description, direct dynamics calculations and parallel running.
Background Information
______________________
Currently, the Zagreb surface hopping quasiclassical trajectory code resides within the Quantics software package available through gitlab_.
.. _GITLAB: https://gitlab.com/quantics/quantics.git
The module consists of an interface between Quantics package and Zagreb surface hopping code. The module is fully integrated into Quantics code so that initial conditions, wavefunction definition, analysis programs, direct dynamics etc... can be used in the usual way described in Quantics documentation. The interface creates the required input files to run separate trajectories using the Zagreb surface hopping code. Although the module is implemented and run under Quantics, the Zagreb code requires some directives that must be given in the input file under the SH_ZAGREB_SECTION. This directives are described in the Zagreb code input manual which can be found in a separate pdf file in the Quantics documentation under the Zagreb surface hopping program.
Application
______________________
The Tully's surface hopping technique has been widely used in molecular dynamics simulations to incorporate the non-adiabatic effects.
The module can be apply to all classical propagations in multistate systems, specially in thoses systems where the dynamics cannot be explained using only one electronic state.
Testing
_______
A test example is provided for the excitation of an initial wavepacket into an excited state that is coupled with another excited state. The relevant input file is 'ferrety_tsh.inp' (which can be found in the 'inputs' subdirectory of the sources) and corresponding operator file is 'ferreti.op' (found in the 'operators' subdirectory). The test example is a simple analytical model provided by Ferreti et al. (JCP, 104,5517 (1996), https://doi.org/10.1063/1.471791). The documentation under the Zagreb surface hopping code will help you to install the Zagreb code. The test can be done through the following command::
$ quantics -mnd ferretti_tsh
A more detailed test documentation file 'sh_zagreb.html' can be found in the subdirectory 'sh_zagreb' of the documentation subdirectory 'doc' of the sources. The html file has been provided by the Zagreb code developers.
An output directory is provided for testing and comparison (it is available to download as a tarball, :download:'output.tgz<./output.tgz>'). The output directory includes the output file (Quantics common output file) and the zagreb_trj directory. This directory only includes the first trajectory directory (traj.1 directory) of a run of a total of 5 trajectories, for space saving reasons.
The run of this test would produce a directory called 'ferretti_tsh' in which there are the typical output files produced by Quantics program run, plus a directory 'zagreb_trj' in which all the individual trajectories appear (traj.1, traj.2, etc...) as independent directories. Inside any of the trajectory directory, there are the output files of the classical trajectories run for this test. In order to compare that the run of the test has gone well the file 'dynamics.out' inside the 'traj.1' directory should be compared. After the propagation of the total number of trajectories the output file inside the 'ferretti_tsh' directory is written and this output file should be as well compared. Please notice that, due to the random number generation, required by the algorithms of classical trajectories, some numerical deviation should be expected in both output files.
Source Code
___________
The source code for the Zagreb surface hopping code can be found within the Quantics software which can be downloaded via gitlab_. You firstly need to make an account (at gitlab). The Quantics project has a private repository so you also need to be a member of the project to clone it into your computer, then type:
git clone https://gitlab.com/quantics/quantics.git
.. _gitlab: https://gitlab.com/quantics/quantics.git
Within the Quantics program, explicit code for the Zagreb surface hopping code is located in the subdirectory 'sh_zagreb' into the subdirectory 'source' of the sources.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment