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