!!! Instructions of use of the modules and subroutines of the PESs, derivatives and NACMEs of the 
!!! three lowest singlet states of H3+.
!!! Authors: Alfredo Aguado, Octavio Roncero and Cristina Sanz Sanz
!!! Title: Three states global fittings with improved long range: Singlet and Triplet states of H_3^+
!!! Publication: PCCP, XXX,XXX (2020)
!!! Contact: cristina.sanz@uam.es
!!! Date: September 2020

**********************
Description of files:
**********************

--> dim H3psnglt.f90
dim-H3psgnlt.f90: module with the diabatic matrix. The diabatic matrix can be obtained calling the subroutine poth3ps(r1,r2,r3,dia), the subroutine receives the three 
internuclear distances (r1,r2,r3) and returns an array dia(3,3) with the full diabatic matrix. In order to obtain the adiabatic states the matrix must be diagonalised, 
for example using lapack library (subroutine dsyev)

--> diat-triat-withder-snglt.f
diat-triat-withder-snglt.f: diatomic and triatomic terms of the dim matrix with derivatives. They are needed by the dim-H3psgnlt.f90 module.

--> largo-v2-withder-snglt.f90
largo-v2-withder: long range terms with derivatives. They are needed by the dim-H3psgnlt.f90 module.

--> deandnac-snglt.f90
deandnac-snglt.f90: module that computes the derivatives of the potential energy and NACMEs. The derivatives with respect to each internuclear distance (for example r1) 
are obtained calling the subroutine deandnacr1(r1,r2,r3,denac), the subroutine receives the three internuclear distances (r1,r2,r3) and returns an array denac(3,3) where 
the diagonal terms are derivatives of the adiabatic energies and the off-diagonal terms are the non-adiabatic coupling matrix elements. This module needs the 
dim-H3psnglt.f90 module and the lapack library for the diagonalisation.

**********************
Example of compilation
**********************

gfortran dim-H3psnglt.f90 diat-triat-withder-snglt.f largo-v2-withder-snglt.f90 deandnac-snglt.f90 your_main_program.f90 -llapack -lblas -o your_chosen_name.exe
