GBTOlib: library for evaluation of molecular integrals in mixed Gaussian / B-spline basis  111
Functions/Subroutines
ukrmol_routines Module Reference

This module contains some routines taken from the UKRmol-in code GAUSPROP. These routines read the basis set from the integral files. More...

Functions/Subroutines

subroutine PRTINF (ITAPE, IWRITE, NSYMT, NBFT, CLMQTYPE, jsum)
 
subroutine GTGETAB (IWRITE, ITAPE, NCONTRAS, NPRCONT, ICONTRNO, CSYMBOL, ISYMBNUM, ngnuc, CANGULAR, cscatter, nnuc, cnucname, XPONENT, XCONTCOF, XCONTCOFNN, NSYMABF, ISYMABF, ITRAN, CTRAN, LTRAN, LSABFTAB, ZSCATCFN, ZSCATSFN, MAXSFN)
 
subroutine GPSPLIT (NBFT, NRI, NSM, ZSCATSFN, NBFTARG, NSYM)
 
subroutine NORMAL (NSYM, NBFT, XNORM, IWRITE, NORDINTS, LTRI, ITAPE, NFTTAIL, ZTAIL)
 
subroutine READ_MOLECULE_BASIS (iunit, nfttail, ztail, CANGULAR, CHARGNUC, CNUCNAME, CONTCOFNN, CTRANNN, EXPONT, IC, ICONTNO, IPRCNPT, ITRAN, LSABFTAB, MAX_L, NCONTRAS, NGREAD, NNUC, NSYMABF, NUCIND, XNUC, YNUC, ZNUC)
 This routine reads-in the MOLECULE basis set of symmetry adapted contracted spherical GTOs. The type and amount of output data has been chosen to allow (in ukrmol_basis_data) the conversion of molecular orbital coefficients from the MOLECULE format to any other format (in our case we convert to the basis of contracted spherical GTOs). However, this routine performs more than just reading of the MOLECULE basis set. It also normalizes the coefficients for the symmetry adapted functions calculating the self-overlaps of the symmetry-adapted functions. These self-overlaps take into account the possible presence of tails which are subtracted in that case. It is these normalized symmetry-adapted coefficients which together with the GTO basis set data allow for the conversion of molecular orbital coefficients between MOLECULE and any other basis. This routine has been written assembling together some routines taken from SWORD and GAUSPROP. More...
 

Detailed Description

This module contains some routines taken from the UKRmol-in code GAUSPROP. These routines read the basis set from the integral files.

Function/Subroutine Documentation

◆ GPSPLIT()

subroutine ukrmol_routines::GPSPLIT ( integer, dimension(*), intent(in)  NBFT,
integer, dimension(*), intent(out)  NRI,
integer, dimension(*), intent(out)  NSM,
logical, dimension(*), intent(in)  ZSCATSFN,
integer, dimension(*), intent(out)  NBFTARG,
integer, intent(in)  NSYM 
)

◆ GTGETAB()

subroutine ukrmol_routines::GTGETAB ( integer, intent(in)  IWRITE,
integer, intent(in)  ITAPE,
integer, intent(in)  NCONTRAS,
integer, dimension(ncontras)  NPRCONT,
integer, dimension(*), intent(out)  ICONTRNO,
character(len=4), dimension(*), intent(inout)  CSYMBOL,
integer, dimension(*), intent(out)  ISYMBNUM,
integer, dimension(*), intent(out)  ngnuc,
character(len=4), dimension(*)  CANGULAR,
character(len=4), intent(in)  cscatter,
integer, intent(in)  nnuc,
character(len=4), dimension(nnuc), intent(in)  cnucname,
real(kind=wp), dimension(*)  XPONENT,
real(kind=wp), dimension(*)  XCONTCOF,
real(kind=wp), dimension(*)  XCONTCOFNN,
integer, intent(inout)  NSYMABF,
integer, dimension(*), intent(out)  ISYMABF,
integer, dimension(*), intent(inout)  ITRAN,
real(kind=wp), dimension(*), intent(out)  CTRAN,
integer, intent(in)  LTRAN,
integer, intent(out)  LSABFTAB,
logical, dimension(ncontras), intent(inout)  ZSCATCFN,
logical, dimension(maxsfn), intent(out)  ZSCATSFN,
integer, intent(in)  MAXSFN 
)

◆ NORMAL()

subroutine ukrmol_routines::NORMAL ( integer, intent(in)  NSYM,
integer, dimension(*), intent(in)  NBFT,
real(kind=wp), dimension(maxsym,*), intent(inout)  XNORM,
integer, intent(in)  IWRITE,
integer, intent(in)  NORDINTS,
integer, intent(in)  LTRI,
integer  ITAPE,
integer  NFTTAIL,
logical, intent(in)  ZTAIL 
)

◆ PRTINF()

subroutine ukrmol_routines::PRTINF ( integer  ITAPE,
integer, intent(in)  IWRITE,
integer, intent(inout)  NSYMT,
integer, dimension(*), intent(inout)  NBFT,
character(len=4), dimension(*), intent(in)  CLMQTYPE,
integer, intent(inout)  jsum 
)

◆ READ_MOLECULE_BASIS()

subroutine ukrmol_routines::READ_MOLECULE_BASIS ( integer, intent(in)  iunit,
integer, intent(in)  nfttail,
logical, intent(in)  ztail,
character(len=4), dimension(:), intent(out), allocatable  CANGULAR,
real(kind=wp), dimension(:), intent(out), allocatable  CHARGNUC,
character(len=4), dimension(:), intent(out), allocatable  CNUCNAME,
real(kind=wp), dimension(:), intent(out), allocatable  CONTCOFNN,
real(kind=wp), dimension(:), intent(out), allocatable  CTRANNN,
real(kind=wp), dimension(:), intent(out), allocatable  EXPONT,
integer, dimension(:), intent(out), allocatable  IC,
integer, dimension(:), intent(out), allocatable  ICONTNO,
integer, dimension(:), intent(out), allocatable  IPRCNPT,
integer, dimension(:), intent(out), allocatable  ITRAN,
integer, intent(out)  LSABFTAB,
integer, intent(out)  MAX_L,
integer, intent(out)  NCONTRAS,
integer, intent(out)  NGREAD,
integer, intent(out)  NNUC,
integer, intent(out)  NSYMABF,
integer, dimension(:), intent(out), allocatable  NUCIND,
real(kind=wp), dimension(:), intent(out), allocatable  XNUC,
real(kind=wp), dimension(:), intent(out), allocatable  YNUC,
real(kind=wp), dimension(:), intent(out), allocatable  ZNUC 
)

This routine reads-in the MOLECULE basis set of symmetry adapted contracted spherical GTOs. The type and amount of output data has been chosen to allow (in ukrmol_basis_data) the conversion of molecular orbital coefficients from the MOLECULE format to any other format (in our case we convert to the basis of contracted spherical GTOs). However, this routine performs more than just reading of the MOLECULE basis set. It also normalizes the coefficients for the symmetry adapted functions calculating the self-overlaps of the symmetry-adapted functions. These self-overlaps take into account the possible presence of tails which are subtracted in that case. It is these normalized symmetry-adapted coefficients which together with the GTO basis set data allow for the conversion of molecular orbital coefficients between MOLECULE and any other basis. This routine has been written assembling together some routines taken from SWORD and GAUSPROP.

Parameters
[in]iunitUnit number for the unformatted file containing the basis set and raw integrals produced by swmol3 (typically fort.2).
[in]nfttailUnit number for the tail integrals produced by gaustail (typically fort.96).
[in]ztailLogical variable indicating whether we need to subtract tails or not.
[out]CANGULARCharacter array specifying the angular type of each primitive GTO in the basis.
[out]CHARGNUCReal array containing the charge on each nucleus.
[out]CNUCNAMECharacter array containing the name of the atom and other data concerning the symmetry.
[out]CONTCOFNNUnnormalized contraction coefficients for each primitive GTO in the basis.
[out]CTRANNNNormalized symmetry-adapted coefficients for the transformation from the contracted GTO basis to the basis of symmetry-adapted functions. See IC for details.
[out]EXPONTExponents of each primitive GTO in the basis.
[out]ICInteger array of length LSABFTAB. MOLECULE specifies the transformation from the contracted GTO basis to the basis of symmetry-adapted functions in terms of a table of length LSABFTAB. Each row of this table gives the index of the symmetry adapted function (IC), the index of the contracted cartesian GTO contributing to this function (ITRAN) and the coefficient with which the GTO contributes to the symmetry adapted function (CTRANNN). This table is printed by the routine GTGETAB.
[out]ICONTNOFor each primitive GTO this array gives the index of the contracted GTO to which the primitive belongs.
[out]IPRCNPTFor each contracted GTO this array gives the number of primitive GTOs.
[out]ITRANInteger array of length LSABFTAB. See IC for details.
[out]LSABFTABInteger value giving the dimensions of the arrays IC, ITRAN, CTRANNN.
[out]MAX_LMaximum GTO L in the basis.
[out]NCONTRASNumber of contracted GTOs in the basis.
[out]NGREADNumber of primitive GTOs in the basis.
[out]NNUCTotal number of nuclei.
[out]NSYMABFTotal number of symmetry-adapted functions in the basis.
[out]NUCINDFor each primitive GTO this array gives the index of the nucleus on which the GTO is sitting.
[out]XNUCX-coordinate for each nucleus.
[out]YNUCY-coordinate for each nucleus.
[out]ZNUCZ-coordinate for each nucleus.