MolSSI-BSE/basis_set_exchange

Molcas output does not specify Cartesian functions

Jellby opened this issue · 7 comments

For instance, exporting 6-31G in Molcas format gives only exponents and coefficients, which by default corresponds to pure spherical functions (if it ends up with Cartesian, it's only because of some hack in OpenMolcas that toggles Cartesian functions for x-yG basis sets, change the name or take another family that uses Cartesian, if any, and the result should be wrong).

Unfortunately, this is not the first format that lacks the distinction...

Should be an easy fix, according to manual

Spherical [option] -Specifying which shells will be in real spherical Gaussians. Valid options are "all" or a list of the shell characters separated by a blank. The shell characters are s, p, d, f, etc. All shells after p are by default in real spherical Gaussians, except for the d-functions in the 6-31G family of basis sets which are in Cartesian. The Spherical card is optional. The s and p shells and the d-functions of the 6-31G family of basis sets are by default in Cartesian Gaussians.
Cartesian [option] -Specifying which shells will be in a Cartesian Gaussian representation. For syntax consult the corresponding Spherical keyword.

Fixed in #217

I'm not sure what OpenMolcas actually expects, it just keeps throwing User input error.

So this is what I expect should work for 6-31G** on Ne:

&GATEWAY
  ricd
  accd
  cdthreshold=1.0d-4
Basis set
* NEON  (10s,4p,1d) -> [3s,2p,1d]
 Ne    / inline
     10.00   2
cartesian d
* S-type functions
    10    3
               0.8425851530E+04
               0.1268519400E+04
               0.2896214140E+03
               0.8185900400E+02
               0.2653213100E+02
               0.2625150790E+02
               0.9094720510E+01
               0.6101755010E+01
               0.1696271530E+01
               0.4458187000E+00
      0.1884348050E-02       0.00000000             0.00000000
      0.1433689940E-01       0.00000000             0.00000000
      0.7010962331E-01       0.00000000             0.00000000
      0.2373732660E+00       0.00000000             0.00000000
      0.00000000            -0.1071182872E+00       0.00000000
      0.4730071261E+00       0.00000000             0.00000000
      0.3484012410E+00       0.00000000             0.00000000
      0.00000000            -0.1461638213E+00       0.00000000
      0.00000000             0.1127773503E+01       0.00000000
      0.00000000             0.00000000             0.1000000000E+01
* P-type functions
     4    2
               0.2653213100E+02
               0.6101755010E+01
               0.1696271530E+01
               0.4458187000E+00
      0.7190958851E-01       0.00000000
      0.3495133720E+00       0.00000000
      0.7199405121E+00       0.00000000
      0.00000000             0.1000000000E+01
* D-type functions
     1    1
               0.8000000000E+00
      1.0000000
Ne 0.0 0.0 90.0
End of basis set

but what it tells me is

()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()

                                              &GATEWAY

                                   only a single process is used
                       available to each process: 2.0 GB of memory, 4 threads
                                            pid: 235979
()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()

 >>>>> Input file for module GATEWAY  <<<<<
[ process      0]: xquit (rc =    112): _INPUT_ERROR_
ricd                                                                                                                                                                                
accd                                                                                                                                                                                
cdthreshold                                                                                                                                                                         
1.0d-4                                                                                                                                                                              
Basis set                                                                                                                                                                           
Ne    / inline                                                                                                                                                                      
10.00   2                                                                                                                                                                           
cartesian d                                                                                                                                                                         
10    3                                                                                                                                                                             
 ******   Error  *******
0.8425851530E+04                                                                                                                                                                    

 ###############################################################################
 ###############################################################################
 ###                                                                         ###
 ###                                                                         ###
 ###    ERROR: Error in FindErrorLine                                        ###
 ###                                                                         ###
 ###                                                                         ###
 ###############################################################################
 ###############################################################################
--- Stop Module: gateway at Fri May 21 14:00:35 2021 /rc=_RC_INPUT_ERROR_ ---
*** files: xmldump
    saved to directory /tmp

.####################.
.# User input error #.
.####################.

It's usually right before End of basis, even after the nuclear coordinates.

okay yeah that seems to work