Closed bodomartin closed 7 years ago
This is not a trivial problem to solve.
In your example, I would be seriously worried about the reliability of the Gaussian result. ANO-RCC is meant to be used with relativistic corrections, if I'm not mistaken. Combining such a basisset of a non-relativistic level of theory is not something I would trust. (Also, using the full ANO-RCC basisset is overkill in most cases.)
Alternatively, you could use the def2TZVP basis, which comes with pseudopotentials for heavier elements, which implicitly account for relativistic effects. In this case, the integration grids in HORTON will also work, solving the problem you mentioned.
Thanks for the quick reply. Yes, ANO-RCC is meant to be used with relativistic corrections; in my strcuture(s) there is only one heavy atom (the rest is calculated with cc-pvtz), so I thought that the error would be acceptable - but I now see that calculating an atomic density without corrections is indeed a problem. Def2-TZVP would work for In, but not for La (and lanthanoids) I also want to investigate. Would using an ECP basis (in Gaussian eg. SDD/MWB) work with Horton for the AIM analysis ? - or possibly the UGBS type basis sets? Would a ANO-RCC DKH2 work for e.g. the Hirshfeld analysis in Horton?
Thanks
We don't cover the entire periodic table with our integration grids. This is the list of available atomic grids, which are also used in numerical integrations of molecular systems: http://theochem.github.io/horton/2.1.0b1/tech_ref_grids.html
If the built-in grids are not available, you can always fall back to gigantic atomic integration grids for all atoms but that requires some experimentation and it is generally slow. See option four in the following part of the documentation: http://theochem.github.io/horton/2.1.0b1/tech_ref_grids.html#the-grid-option
UGBS is a pain to converge but may work. I'm not sure if it is even meant to be used with relativistic corrections. I believe Gaussian cannot write out densities with DKH2. Use the option density=current
to force Gaussian to write out the density that corresponds to the LOT used. Sometimes it fails silently though. Be careful.
Also, I would advise to take DFT results for rare earths for a grain of salt. These are often difficult electron correlation problems and you'd certainly have to consult some validation work in the literature to find out which functional may be trustworthy. I'm not experienced enough with these to give solid recommendations. PBE seems to be to method of choice in the solid state community for about just anything but I'm not sure if that is due to its reliability.
Thanks
Hi,
first of all, thanks for this program! - of which I apparently have only scratched the surface. My problem: AIM analysis of In fails. (using horton 2.1.0b1) steps:
horton-atomdb.py input --max-cation 4 --max-anion 2 --overwrite g09 49 template-bm-gen.com
works, with ANO-RCC basis set from the basis set exchange (supplied in basis.049_000_00) contents of template-bm-gen.com
%chk=atom.chk %nproc=20 %mem=80GB
p B3LYP/gen sp NAME=martin scf(xqc)
horton input for charge calcs 2017-06
${charge} ${mult} ${element} 0.0 0.0 0.0
${file:basis}
which works. (running run_g09.sh)
Errors out on the next step:
horton-atomdb.py convert --grid=veryfine
(or any other grid setting)
traceback is:
Loading from 049_in_045_q+04/mult04 Initialized: <horton.gbasis.cext.GOBasis object at 0x7fbabedfe2c0> Number of basis functions : 139 Number of normalization constants : 757 Maximum shell type : 4 Center 0 : S13 S12 S9 S7 S7 S8 S8 S8 S10 S11 P11 P10 P8 P8 P6 P8 P8 P7 P11 Dp6 Dp6 Dp6 Dp6 Dp6 Dp6 Dp6 Dp6 Fp2 Fp2 Fp2 Fp2 Fp2 Gp1 Gp1 Gp1
Traceback (most recent call last): File "/home/martin/.local/bin/horton-atomdb.py", line 211, in
main()
File "/home/martin/.local/bin/horton-atomdb.py", line 204, in main
main_convert(parsed)
File "/home/martin/.local/bin/horton-atomdb.py", line 167, in main_convert
records.append(ProAtomRecord.from_iodata(data, agspec))
File "/home/martin/.local/lib64/python2.7/site-packages/horton/part/proatomdb.py", line 65, in from_iodata
return cls.from_dm(center, number, pseudo_number, iodata.obasis, dm_full, energy, agspec)
File "/home/martin/.local/lib64/python2.7/site-packages/horton/part/proatomdb.py", line 104, in from_dm
atgrid = AtomicGrid(number, pseudo_number, center, agspec)
File "/home/martin/.local/lib64/python2.7/site-packages/horton/grid/atgrid.py", line 78, in init
self._rgrid, self._nlls = self._agspec.get(number, pseudo_number)
File "/home/martin/.local/lib64/python2.7/site-packages/horton/grid/atgrid.py", line 398, in get
raise ValueError('The atomic grid specification "%s" does not support element %i with effective core %i' % (self.name, number, pseudo_number))
ValueError: The atomic grid specification "fine" does not support element 49 with effective core 49
Thanks for looking into this