diff --git a/Quantum-Dynamics-Modules/index.rst b/Quantum-Dynamics-Modules/index.rst index a4d572e1b38dba08dc597ac87e7d4367a2a73eab..07895a8b8e00a8f706766529965a65302d314f74 100644 --- a/Quantum-Dynamics-Modules/index.rst +++ b/Quantum-Dynamics-Modules/index.rst @@ -31,19 +31,24 @@ In the context of E-CAM, the definition of a software module is any piece of sof community and that encapsulates some additional functionality, enhanced performance or improved usability for people performing computational simulations in the domain areas of interest to the project. -This definition is deliberately broader than the traditional concept of a module as defined in the semantics of most -high-level programming languages and is intended to capture internal workflow scripts, analysis tools and test suites -as well as traditional subroutines and functions. Because such E-CAM modules will form a heterogeneous collection we -prefer to refer to this as an E-CAM software repository rather than a library (since the word library carries a -particular meaning in the programming world). The modules do however share with the traditional computer science -definition the concept of hiding the internal workings of a module behind simple and well-defined interfaces. It is -probable that in many cases the modules will result from the abstraction and refactoring of useful ideas from existing -codes rather than being written entirely de novo. - -Perhaps more important than exactly what a module is, is how it is written and used. A final E-CAM module adheres to -current best-practice programming style conventions, is well documented and comes with either regression or unit tests -(and any necessary associated data). E-CAM modules should be written in such a way that they can potentially take -advantage of anticipated hardware developments in the near future (this is one of the training objectives of E-CAM). +This definition is deliberately broader than the traditional concept of a module as +defined in the semantics of most high-level programming languages and is intended +to capture internal workflow scripts, analysis tools and test suites +as well as traditional subroutines and functions. Because such E-CAM modules +will form a heterogeneous collection we prefer to refer to this as an E-CAM +software repository rather than a library (since the word library carries a +particular meaning in the programming world). The modules do however share with +the traditional computer science definition the concept of hiding the internal +workings of a module behind simple and well-defined interfaces. +It is probable that in many cases the modules will result from the abstraction +and refactoring of useful ideas from existing codes rather than being written entirely de novo. + +Perhaps more important than exactly what a module is, is how it is written and used. +A final E-CAM module adheres to current best-practice programming style conventions, +is well documented and comes with either regression or unit tests +(and any necessary associated data). E-CAM modules should be written in such a way +that they can potentially take advantage of anticipated hardware developments in the +near future (this is one of the training objectives of E-CAM). @@ -479,6 +484,18 @@ as well as a set of examples that can also be used for testing. The **Spin orbit coupling smoothing** module is to smooth spin orbit couplings along internuclear distance. +.. toctree:: + :glob: + :maxdepth: 1 + + ./modules/Direct_Dynamics_Database/readme + +The **Direct Dynamics Database** The Direct Dynamics Database module is an improved, +more efficient version of the database used to provide the potential energy surfaces +in the Direct Dynamics variational multi-configuration Gaussian wavepacket (DD-vMCG) +method [Wor1]_ which is included in the powerful and flexible Quantics_ package +program [Wor2]_. + References ---------- @@ -503,4 +520,7 @@ References .. [Mey] H.-D. Meyer, G. A. Worth *Theor. Chem. Acc.* **109** (2003) 251 `DOI: 10.1007/s00214-003-0439-1 `_ .. [Ric] G. W. Richings, I. Polyak, K. E. Spinlove, G. A. Worth, I. Burghardt, B. Lasorne *Int. Rev. Phys. Chem.* **34** (2015) 269 `DOI: 10.1080/0144235X.2015.1051354 `_ - +.. [Wor1] G. A. Worth, M. A. Robb, B. L. Lasorne + *Mol. Phys.* **106** (2008) 2077–2091 `DOI: 10.1080/00268970802172503 `_ +.. [Wor2] G. A. Worth, K. Giri, G. W. Richings, M. H. Beck, A. Jäckle, H.-D. Meyer + Quantics package, version 1.1, (2015) diff --git a/Quantum-Dynamics-Modules/modules/Direct_Dynamics_Database/.gitkeep b/Quantum-Dynamics-Modules/modules/Direct_Dynamics_Database/.gitkeep new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/Quantum-Dynamics-Modules/modules/Direct_Dynamics_Database/readme.rst b/Quantum-Dynamics-Modules/modules/Direct_Dynamics_Database/readme.rst new file mode 100644 index 0000000000000000000000000000000000000000..298a74e9b1e040b3bb6b538439aed04e7c2728fe --- /dev/null +++ b/Quantum-Dynamics-Modules/modules/Direct_Dynamics_Database/readme.rst @@ -0,0 +1,94 @@ +.. + +.. _Direct_Dynamics_Database: + +########################################### +Direct Dynamics Database improvements 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 `_ + + + Relevant Training Material + Training material is available through the test examples + + Software Module Developed by + Quantics code: G. A. Worth, K. Giri, G. W. Richings, M. H. Beck, A. J ̈ackle, and H.-D. Meyer. Module: Georgia Christopoulou and Graham Worth. + +.. contents:: :local: + +Purpose of Module +_________________ + +The module focuses on improving the efficiency of Direct Dynamics variational +multi-configuration Gaussian wavepacket (DD-vMCG) method. During every +Direct Dynamics propagation step the calculated energies, gradients and +hessian matrix are stored in a database. One important challenge of this +method is the time needed to continually reread, sort and analyze this +database which makes the calculation of a large system very expensive. +Employing a dynamic and smaller version of the database with selected +points only relevant to each basis function, each time the program +needs to use stored data points, reduces massively the cost of the +calculation. Thus, treatment of larger systems is now possible. +The module has been added and tested within the Quantics quantum +dynamics package which is available on Gitlab and at the same +time the code benefits from parallel running. + +Background Information +______________________ + + +The latest version of quantics package and the code developed +related to this module within the Quantics +software package are merged and available through Quantics.gitlab_. + +.. _Quantics.gitlab: https://gitlab.com/quantics + + +Application +______________________ + +This module will be extensively used in the near future to study the +photochemistry of large systems, whose size limited the application +of the previous version of the DD-vMCG code. + + +Testing +_______ + +After Quantics code has been successfully installed. The Quantics +README file will help you to install the Quantics code. +All the tests available for Direct Dynamics are suitable to test +this module and can be found at ``inputs/``. A good and quick +example is Butatriene. After you have copied the ``but_dd.inp`` +file and the ``but_dddata`` directory, the test can be done +through the following command:: + + $ quantics but_dd.inp + + +Source Code +___________ + +The source code for this module can be found within the +Quantics software which can be downloaded via Quantics.gitlab_. +You firstly need to make an account (gitlab). The quantics +project has a private repository so you also need to ask +for access by emailing Graham Worth (g.a.worth@ucl.ac.uk). +In order to clone it into your computer, then type:: + + $ git clone https://gitlab.com/quantics/quantics.git + +.. _Quantics.gitlab: https://gitlab.com/quantics